You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pi...@apache.org on 2019/09/10 04:50:00 UTC
[royale-asjs] 03/04: Fixes #445
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 <yi...@hotmail.com>
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;
+ }
}
}