You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2022/04/04 11:48:40 UTC
[royale-asjs] branch develop updated: Nested menus should fire selection event from root menu
This is an automated email from the ASF dual-hosted git repository.
yishayw pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new abc3bf8369 Nested menus should fire selection event from root menu
abc3bf8369 is described below
commit abc3bf836903217d0e6e0770f519cadc233ef99f
Author: Yishay Weiss <yi...@hotmail.com>
AuthorDate: Mon Apr 4 14:47:48 2022 +0300
Nested menus should fire selection event from root menu
---
.../beads/controllers/CascadingMenuSelectionMouseController.as | 8 +++++++-
.../beads/controllers/CascadingMenuSelectionMouseController.as | 8 ++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/CascadingMenuSelectionMouseController.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/CascadingMenuSelectionMouseController.as
index d2590069e2..e6d6f88073 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/CascadingMenuSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/CascadingMenuSelectionMouseController.as
@@ -36,6 +36,7 @@ package org.apache.royale.html.beads.controllers
import org.apache.royale.events.BrowserEvent;
}
import org.apache.royale.core.IStrandWithModel;
+ import org.apache.royale.events.IEventDispatcher;
/**
* The CascadingMenuSelectionMouseController does the same job as the MenuSelectionMouseController
@@ -87,7 +88,7 @@ package org.apache.royale.html.beads.controllers
var menu:IMenu = new c() as IMenu;
menu.dataProvider = getSubMenuDataProvider(node, model);
menu.labelField = model.labelField;
- menu.parentMenuBar = (_strand as IMenu).parentMenuBar;
+ menu.parentMenuBar = getParentMenuBar();
// selected item holds the currently open submenu data
// check to see if that exists and hide it if it does
if (model.selectedItem)
@@ -111,6 +112,11 @@ package org.apache.royale.html.beads.controllers
}
}
+ protected function getParentMenuBar():IEventDispatcher
+ {
+ return (_strand as IMenu).parentMenuBar;
+ }
+
private function clearSubmenusOnSameLevel(menuToBeRemoved:UIBase, model:ISelectionModel):void
{
var selectedItem:Object = model.selectedItem;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/controllers/CascadingMenuSelectionMouseController.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/controllers/CascadingMenuSelectionMouseController.as
index 74a0c7d458..424ae6b97b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/controllers/CascadingMenuSelectionMouseController.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/controllers/CascadingMenuSelectionMouseController.as
@@ -29,6 +29,7 @@ package mx.controls.beads.controllers
import mx.events.MenuEvent;
import org.apache.royale.core.UIBase;
+ import org.apache.royale.events.IEventDispatcher;
/**
* The CascadingMenuSelectionMouseController is the default controller for emulation cascading menu
@@ -119,6 +120,13 @@ package mx.controls.beads.controllers
}
return null;
}
+
+ override protected function getParentMenuBar():IEventDispatcher
+ {
+ var parentMenuBar:IEventDispatcher = (_strand as IMenu).parentMenuBar;
+ return parentMenuBar ? parentMenuBar : _strand as IEventDispatcher;
+ }
+
}
}