From 576ca6b4b1931a5de1d393b30814b2264757b07a Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 20 Aug 2024 18:25:45 +0800 Subject: [PATCH] bugfix --- bricks/menu.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bricks/menu.js b/bricks/menu.js index 97aa459..7e66e20 100755 --- a/bricks/menu.js +++ b/bricks/menu.js @@ -12,7 +12,7 @@ bricks.Menu = class extends bricks.VBox { this.dom_element.style.display = ""; this.dom_element.style.backgroundColor = options.bgcolor || "white"; this.create_children(this, this.opts.items); - this.bind('click', this.menu_clicked); + this.bind('click', this.menu_clicked.bind(this)); } create_submenu_container(){ let cp = new bricks.VBox({}); @@ -22,11 +22,12 @@ bricks.Menu = class extends bricks.VBox { } async menu_clicked(event){ let e = event.target; - var item = e.bricks_widget; - console.log('menu_clicked(): item=', item, item.opts, item.url); - if (!item.url){ + let opts = event.params.opts; + var menu = e.bricks_widget; + console.log('menu_clicked(): item=', item, item.opts, opts); + if (! opts.url){ console.log('itme.url is null'); - this.dispatch('command', item.opts); + this.dispatch('command', opts); return; } var t = bricks.getWidgetById(this.target); @@ -34,7 +35,7 @@ bricks.Menu = class extends bricks.VBox { var desc = { "widgettype":"urlwidget", "options":{ - "url":item.url + "url":opts.url } } var w = await bricks.widgetBuild(desc, this); @@ -97,7 +98,7 @@ bricks.Menu = class extends bricks.VBox { } regen_menuitem_event(item, event){ console.log('regen_menuitem_event()', item); - item.dispatch('click', item); + this.dispatch('click', item); event.stopPropagation(); } }