Compare commits

..

No commits in common. "a0c1613d4887340c41c86164c96488b537f563f9" and "2cdac6e8154c2d47eb0cca8843f99adf47bea98e" have entirely different histories.

View File

@ -14,13 +14,9 @@ bricks.Menu = class extends bricks.VScrollPanel {
this.dom_element.style.backgroundColor = options.bgcolor || "white";
this.build_title();
this.build_description();
// this.create_children(this, this.opts.items);
this.create_children(this, this.opts.items);
this.user_data = opts;
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(){
let cp = new bricks.VBox({});
@ -88,7 +84,7 @@ bricks.Menu = class extends bricks.VScrollPanel {
}
this.dispatch('command', opts);
}
async create_children(w, items){
create_children(w, items){
for (let i=0;i<items.length;i++){
let item = items[i];
let subw = this.create_menuitem(item);
@ -97,13 +93,12 @@ bricks.Menu = class extends bricks.VScrollPanel {
}
if (item.hasOwnProperty('items')){
var itw = new bricks.VBox({});
itw.user_data = item;
let w1 = this.create_submenu_container();
itw.add_widget(subw);
itw.add_widget(w1);
this.create_children(w1, item.items);
subw.bind('click', this.items_toggle_hide.bind(this, w1));
itw.container = w1;
itw.user_data = item;
w.add_widget(itw);
} else {
subw.bind('click', this.regen_menuitem_event.bind(this, item))
@ -120,9 +115,8 @@ bricks.Menu = class extends bricks.VScrollPanel {
get_container(w, mpath){
var x = mpath.split('/');
var name = x.shift()
var container = w.container;
var container = w.children[w.children.length - 1];
var fc;
if (! container) return null;
containers.children.forEach(c=>{
if (c.user_data){
if (c.user_data.name == name) fc = c;
@ -140,12 +134,12 @@ bricks.Menu = class extends bricks.VScrollPanel {
hide_item(menu_path, event){
var w = this.get_container(this, mpath);
if (w) w.hide();
w.hide();
event.stopPropagation();
}
show_item(menu_path, event){
var w = this.get_container(this, mpath);
if (w) w.show();
w.show();
event.stopPropagation();
}
items_toggle_hide(w, event){