You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/01/02 18:22:38 UTC

[royale-asjs] branch develop updated: fix menubar with arrays now that menubar assumes ICollectionView

This is an automated email from the ASF dual-hosted git repository.

aharui 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 7f5b86b  fix menubar with arrays now that menubar assumes ICollectionView
7f5b86b is described below

commit 7f5b86bc0257ec0f9aaa191af75cff64a672e19f
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Jan 2 10:22:23 2019 -0800

    fix menubar with arrays now that menubar assumes ICollectionView
---
 .../royale/mx/controls/beads/models/MenuBarModel.as  |  4 +++-
 .../DataItemRendererFactoryForICollectionViewData.as | 20 ++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as
index 94595ef..6dd57a6 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/models/MenuBarModel.as
@@ -95,7 +95,9 @@ package mx.controls.beads.models
             var dp:Object = super.dataProvider;
             
             if (!showRoot && dp != null)
-                return dp.children; // TODO: needs to use descriptor
+            {
+                return dp.getItemAt(0).children; // TODO: needs to use descriptor
+            }
             
             return dp;
         }
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
index 21fbcfb..155f11c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataItemRendererFactoryForICollectionViewData.as
@@ -18,9 +18,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 package mx.controls.listClasses
 {
+    import mx.collections.ArrayCollection;
 	import mx.collections.ICollectionView;
-    import mx.collections.IViewCursor;
-    import mx.collections.ICollectionView;
+	import mx.collections.IViewCursor;
 	
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IBeadModel;
@@ -35,13 +35,13 @@ package mx.controls.listClasses
 	import org.apache.royale.core.SimpleCSSStyles;
 	import org.apache.royale.core.UIBase;
 	import org.apache.royale.core.ValuesManager;
+	import org.apache.royale.events.CollectionEvent;
 	import org.apache.royale.events.Event;
-    import org.apache.royale.events.CollectionEvent;
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.events.ItemRendererEvent;
 	import org.apache.royale.html.List;
-    import org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView;
+	import org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView;
 	import org.apache.royale.html.supportClasses.TreeListData;
 	
 	[Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
@@ -75,7 +75,6 @@ package mx.controls.listClasses
         
         /**
          * @private
-         * @royaleignorecoercion mx.collections.ICollectionView
          * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
          * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
          * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
@@ -86,7 +85,16 @@ package mx.controls.listClasses
                 return;
             var dp:ICollectionView = dataProviderModel.dataProvider as ICollectionView;
             if (!dp)
-                return;
+            {
+                // temporary until descriptor is used in MenuBarModel
+                var obj:Object = dataProviderModel.dataProvider;
+                if (obj is Array)
+                {
+                    dp = new ArrayCollection(obj as Array);
+                }
+                else
+                    return;
+            }
             
             // listen for individual items being added in the future.
             var dped:IEventDispatcher = dp as IEventDispatcher;