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 <[email protected]>
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;
+               }
+
        }
 
 }

Reply via email to