bugfix
This commit is contained in:
parent
2cdac6e815
commit
f9184da720
@ -14,9 +14,13 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
|||||||
this.dom_element.style.backgroundColor = options.bgcolor || "white";
|
this.dom_element.style.backgroundColor = options.bgcolor || "white";
|
||||||
this.build_title();
|
this.build_title();
|
||||||
this.build_description();
|
this.build_description();
|
||||||
this.create_children(this, this.opts.items);
|
// this.create_children(this, this.opts.items);
|
||||||
this.user_data = opts;
|
this.user_data = opts;
|
||||||
this.bind('item_click', this.menu_clicked.bind(this));
|
this.bind('item_click', this.menu_clicked.bind(this));
|
||||||
|
this.container = new bricks.VBox({});
|
||||||
|
this.container.user_data = opts;
|
||||||
|
this.add_widget(this.container);
|
||||||
|
this.schedule_once(this.create_children.bind(this.container, this.opts.items), 0.1);
|
||||||
}
|
}
|
||||||
create_submenu_container(){
|
create_submenu_container(){
|
||||||
let cp = new bricks.VBox({});
|
let cp = new bricks.VBox({});
|
||||||
@ -84,7 +88,7 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
|||||||
}
|
}
|
||||||
this.dispatch('command', opts);
|
this.dispatch('command', opts);
|
||||||
}
|
}
|
||||||
create_children(w, items){
|
async create_children(w, items){
|
||||||
for (let i=0;i<items.length;i++){
|
for (let i=0;i<items.length;i++){
|
||||||
let item = items[i];
|
let item = items[i];
|
||||||
let subw = this.create_menuitem(item);
|
let subw = this.create_menuitem(item);
|
||||||
@ -93,12 +97,13 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
|||||||
}
|
}
|
||||||
if (item.hasOwnProperty('items')){
|
if (item.hasOwnProperty('items')){
|
||||||
var itw = new bricks.VBox({});
|
var itw = new bricks.VBox({});
|
||||||
itw.user_data = item;
|
|
||||||
let w1 = this.create_submenu_container();
|
let w1 = this.create_submenu_container();
|
||||||
itw.add_widget(subw);
|
itw.add_widget(subw);
|
||||||
itw.add_widget(w1);
|
itw.add_widget(w1);
|
||||||
this.create_children(w1, item.items);
|
this.create_children(w1, item.items);
|
||||||
subw.bind('click', this.items_toggle_hide.bind(this, w1));
|
subw.bind('click', this.items_toggle_hide.bind(this, w1));
|
||||||
|
itw.container = w1;
|
||||||
|
itw.user_data = item;
|
||||||
w.add_widget(itw);
|
w.add_widget(itw);
|
||||||
} else {
|
} else {
|
||||||
subw.bind('click', this.regen_menuitem_event.bind(this, item))
|
subw.bind('click', this.regen_menuitem_event.bind(this, item))
|
||||||
@ -115,7 +120,7 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
|||||||
get_container(w, mpath){
|
get_container(w, mpath){
|
||||||
var x = mpath.split('/');
|
var x = mpath.split('/');
|
||||||
var name = x.shift()
|
var name = x.shift()
|
||||||
var container = w.children[w.children.length - 1];
|
var container = w.container;
|
||||||
var fc;
|
var fc;
|
||||||
containers.children.forEach(c=>{
|
containers.children.forEach(c=>{
|
||||||
if (c.user_data){
|
if (c.user_data){
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user