This is an automated email from the ASF dual-hosted git repository. piotrz pushed a commit to branch release/0.9.6 in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 1f3b96dce2c277315b848ce7d48229ed2b949005 Author: DESKTOP-RH4S838\Yishay <[email protected]> AuthorDate: Sun Sep 8 16:27:32 2019 +0300 Fixes #445 (cherry picked from commit bcd15d6606d52ba5aaef1dae5050ba1025654513) --- .../CascadingMenuSelectionMouseController.as | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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 aaca10f..fd044c3 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 @@ -23,6 +23,7 @@ package mx.controls.beads.controllers import org.apache.royale.html.beads.controllers.CascadingMenuSelectionMouseController; import org.apache.royale.html.beads.models.CascadingMenuModel; + import org.apache.royale.html.CascadingMenu; /** * The CascadingMenuSelectionMouseController is the default controller for emulation cascading menu @@ -53,6 +54,36 @@ package mx.controls.beads.controllers } return (node as XML).children().length() > 0; } + + + /** + * @private + * + * Search for an open menu strand according to the given data provider. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.6 + */ + override protected function getMenuWithDataProvider(menuList:Array, dp:Object):CascadingMenu + { + if (!dp is XMLListCollection) + { + return super.getMenuWithDataProvider(menuList, dp); + } + var xmlListCollection:XMLListCollection = dp as XMLListCollection; + // go over open menus and return the one with the given data provider + for (var i:int = 0; i < menuList.length; i++) + { + var cascadingMenu:CascadingMenu = menuList[i] as CascadingMenu; + if (cascadingMenu && (cascadingMenu.dataProvider as XMLListCollection).toXMLString() == xmlListCollection.toXMLString()) + { + return cascadingMenu; + } + } + return null; + } } }
