bugfix
This commit is contained in:
parent
81a82f46df
commit
638e629cf1
@ -91,11 +91,12 @@ bricks.widgetBuild = async function(desc, widget){
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
desc.options.baseURI = base_url;
|
desc.options.baseURI = base_url;
|
||||||
let w = new klass(desc.options);
|
var options = desc.options || {};
|
||||||
if (desc.hasOwnProperty('id')){
|
let w = new klass(options);
|
||||||
|
if (desc.id){
|
||||||
w.set_id(desc.id);
|
w.set_id(desc.id);
|
||||||
}
|
}
|
||||||
if (desc.hasOwnProperty('subwidgets')){
|
if (desc.subwidgets){
|
||||||
for (let i=0; i<desc.subwidgets.length; i++){
|
for (let i=0; i<desc.subwidgets.length; i++){
|
||||||
let sdesc = desc.subwidgets[i];
|
let sdesc = desc.subwidgets[i];
|
||||||
let sw = await (bricks.widgetBuild(sdesc, w));
|
let sw = await (bricks.widgetBuild(sdesc, w));
|
||||||
@ -213,6 +214,23 @@ bricks.getRealtimeData = function(w, desc){
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _buildWidget = async function(from_widget, target, mode, options){
|
||||||
|
console.log('target=', target, 'mode=', mode, 'options=', options);
|
||||||
|
var w = await (bricks.widgetBuild(options, from_widget));
|
||||||
|
if (!w){
|
||||||
|
console.log('options=', options, 'widgetBuild() failed');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (mode == 'replace'){
|
||||||
|
target.clear_widgets();
|
||||||
|
target.add_widget(w);
|
||||||
|
} else if (mode == 'insert'){
|
||||||
|
target.add_widget(w, 0);
|
||||||
|
} else {
|
||||||
|
target.add_widget(w);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bricks.buildUrlwidgetHandler = function(w, target, rtdata, desc){
|
bricks.buildUrlwidgetHandler = function(w, target, rtdata, desc){
|
||||||
var f = async function(target, mode, options){
|
var f = async function(target, mode, options){
|
||||||
console.log('target=', target, 'mode=', mode, 'options=', options);
|
console.log('target=', target, 'mode=', mode, 'options=', options);
|
||||||
@ -223,16 +241,20 @@ bricks.buildUrlwidgetHandler = function(w, target, rtdata, desc){
|
|||||||
}
|
}
|
||||||
if (mode == 'replace'){
|
if (mode == 'replace'){
|
||||||
target.clear_widgets();
|
target.clear_widgets();
|
||||||
|
target.add_widget(w);
|
||||||
|
} else if (mode == 'insert'){
|
||||||
|
target.add_widget(w, 0);
|
||||||
|
} else {
|
||||||
|
target.add_widget(w);
|
||||||
}
|
}
|
||||||
target.add_widget(w);
|
|
||||||
}
|
}
|
||||||
var options = objcopy(desc.options);
|
var options = objcopy(desc.options||{});
|
||||||
bricks.extend(options.params, rtdata);
|
bricks.extend(options.params, rtdata);
|
||||||
var opts = {
|
var opts = {
|
||||||
"widgettype":"urlwidget",
|
"widgettype":"urlwidget",
|
||||||
"options":options
|
"options":options
|
||||||
}
|
}
|
||||||
return f.bind(target, target, desc.mode || 'replace', opts);
|
return _buildWidget.bind(w, target, target, desc.mode || 'replace', opts);
|
||||||
}
|
}
|
||||||
bricks.buildBricksHandler = function(w, target, rtdata, desc){
|
bricks.buildBricksHandler = function(w, target, rtdata, desc){
|
||||||
var f = async function(target, mode, options){
|
var f = async function(target, mode, options){
|
||||||
@ -247,9 +269,9 @@ bricks.buildBricksHandler = function(w, target, rtdata, desc){
|
|||||||
}
|
}
|
||||||
target.add_widget(w);
|
target.add_widget(w);
|
||||||
}
|
}
|
||||||
var options = objcopy(desc.options);
|
var options = objcopy(desc.options||{});
|
||||||
bricks.extend(options.options, rtdata);
|
bricks.extend(options.options, rtdata);
|
||||||
return f.bind(target, target, desc.mode || 'replace', options);
|
return _buildWidget.bind(w, target, target, desc.mode || 'replace', options);
|
||||||
}
|
}
|
||||||
bricks.buildRegisterFunctionHandler = function(w, target, rtdata, desc){
|
bricks.buildRegisterFunctionHandler = function(w, target, rtdata, desc){
|
||||||
var f = objget(registerfunctions, desc.rfname);
|
var f = objget(registerfunctions, desc.rfname);
|
||||||
@ -269,7 +291,7 @@ bricks.buildRegisterFunctionHandler = function(w, target, rtdata, desc){
|
|||||||
bricks.buildMethodHandler = function(w, target, rtdata, desc){
|
bricks.buildMethodHandler = function(w, target, rtdata, desc){
|
||||||
var f = target[desc.method];
|
var f = target[desc.method];
|
||||||
if (! f){
|
if (! f){
|
||||||
console.log('method:', desc.method, 'not exists in', target, 'w=', w);
|
console.log('desc:', 'not exists in', target, 'w=', w);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var params = {};
|
var params = {};
|
||||||
|
@ -60,6 +60,7 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render(params) {
|
render(params) {
|
||||||
|
console.log('params=', params, 'render() called');
|
||||||
this.clear_widgets();
|
this.clear_widgets();
|
||||||
this.pages = new Map(); // 用于存储已加载的页面数据
|
this.pages = new Map(); // 用于存储已加载的页面数据
|
||||||
this.pageContents = new Map(); // 用于存储已加载的页面内容
|
this.pageContents = new Map(); // 用于存储已加载的页面内容
|
||||||
@ -143,7 +144,7 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
});
|
});
|
||||||
content.set_css('accordion-item-content');
|
content.set_css('accordion-item-content');
|
||||||
content.hide();
|
content.hide();
|
||||||
header.bind('click', this.toggle_content.bind(this, content, record));
|
header.bind('click', this.toggle_content.bind(this, header, content, record));
|
||||||
item.add_widget(header);
|
item.add_widget(header);
|
||||||
item.add_widget(content);
|
item.add_widget(content);
|
||||||
pageContent.add_widget(item);
|
pageContent.add_widget(item);
|
||||||
@ -157,7 +158,9 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
this.add_widget(pageContent);
|
this.add_widget(pageContent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async toggle_content(content, record, event){
|
async toggle_content(header, content, record, event){
|
||||||
|
var h = this.dom_element.offsetHeight - 3 * header.dom_element.offsetHeight;
|
||||||
|
content.set_style('height', h + 'px');
|
||||||
if (this.active_content){
|
if (this.active_content){
|
||||||
if (this.active_content != content){
|
if (this.active_content != content){
|
||||||
this.active_content.clear_widgets();
|
this.active_content.clear_widgets();
|
||||||
|
@ -123,16 +123,13 @@ bricks.UiStr =class extends bricks.UiType {
|
|||||||
return v[0];
|
return v[0];
|
||||||
}
|
}
|
||||||
set_value_from_input(event){
|
set_value_from_input(event){
|
||||||
|
var oldv = this.value;
|
||||||
|
var changed = false;
|
||||||
var e = event.target;
|
var e = event.target;
|
||||||
if (e.value == ''){
|
var v = e.value;
|
||||||
this.value = '';
|
if (e.value!='' && e.type != 'file'){
|
||||||
return
|
v = this.check_pattern(e.value);
|
||||||
}
|
|
||||||
if (e.type == 'file'){
|
|
||||||
this.value = e.value;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
var v = this.check_pattern(e.value);
|
|
||||||
if (v == null){
|
if (v == null){
|
||||||
e.value = this.value;
|
e.value = this.value;
|
||||||
return
|
return
|
||||||
|
@ -31,15 +31,30 @@ bricks.Video = class extends bricks.Layout {
|
|||||||
e.controls = true;
|
e.controls = true;
|
||||||
this.dom_element = e;
|
this.dom_element = e;
|
||||||
}
|
}
|
||||||
|
disable_captions(){
|
||||||
|
this.player.nativeTextTracks = false;
|
||||||
|
var tt = this.player.textTracks()
|
||||||
|
console.log('textTracks=', tt);
|
||||||
|
if (tt){
|
||||||
|
for(var i=0;i<tt.length;i++){
|
||||||
|
tt[i].mode = 'disabled';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
auto_play(){
|
auto_play(){
|
||||||
this.hidedbtn.dispatch('click');
|
this.hidedbtn.dispatch('click');
|
||||||
|
schedule_once(this.disable_captions.bind(this), 2);
|
||||||
}
|
}
|
||||||
play(){
|
play(){
|
||||||
this.player.play();
|
this.player.play();
|
||||||
}
|
}
|
||||||
create_player(){
|
create_player(){
|
||||||
console.log('here2');
|
console.log('here2');
|
||||||
this.player = videojs(this.dom_element);
|
this.player = videojs(this.dom_element, {
|
||||||
|
textTrackSettings: false
|
||||||
|
});
|
||||||
|
|
||||||
|
this.player.ready(this.auto_play.bind(this));
|
||||||
this._set_source();
|
this._set_source();
|
||||||
if (this.opts.autoplay){
|
if (this.opts.autoplay){
|
||||||
// schedule_once(this.auto_play.bind(this), 0.1);
|
// schedule_once(this.auto_play.bind(this), 0.1);
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user