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 bcd15d6 Fixes #445
bcd15d6 is described below
commit bcd15d6606d52ba5aaef1dae5050ba1025654513
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Sun Sep 8 16:27:32 2019 +0300
Fixes #445
---
.../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;
+ }
}
}