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;
+		}
+
 	}
 
 }