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