Updates to MDL.

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/448e9f8e
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/448e9f8e
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/448e9f8e

Branch: refs/heads/dual
Commit: 448e9f8e37c41bf296ea44b33a38adf5bdf10f00
Parents: 02d4118
Author: Peter Ent <[email protected]>
Authored: Fri Apr 7 17:23:26 2017 -0400
Committer: Peter Ent <[email protected]>
Committed: Fri Apr 7 17:23:26 2017 -0400

----------------------------------------------------------------------
 .../html/beads/DataProviderChangeNotifier.as    | 61 +++++++++++++++++---
 .../TabsItemRendererFactoryForArrayListData.as  |  3 +-
 .../org/apache/flex/mdl/beads/views/TabsView.as |  2 +-
 .../src/main/resources/defaults.css             |  4 +-
 4 files changed, 59 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/448e9f8e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
index a24810b..2d647c5 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
@@ -26,16 +26,48 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.UIBase;
        import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.events.Event;
+       import org.apache.flex.events.CollectionEvent;
        import org.apache.flex.collections.ArrayList;
        
        /**
+        * Dispatched when a new item has been added to the dataProvider being 
watched.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.8
+        */
+       [Event(name="itemAdded", type="org.apache.flex.events.CollectionEvent")]
+       
+       /**
+        * Dispatched when an item has been removed from the dataProvider being 
watched.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.8
+        */
+       [Event(name="itemRemved", 
type="org.apache.flex.events.CollectionEvent")]
+       
+       /**
+        * Dispatched when an item has updated in the dataProvider being 
watched.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.8
+        */
+       [Event(name="itemUpdated", 
type="org.apache.flex.events.CollectionEvent")]
+       
+       /**
         *  The DataProviderChangeNotifier notifies listeners when a selection 
model's
-        *  ArrayList dataProvider has changed.
+        *  ArrayList dataProvider has changed. It does this by forwarding 
events on
+        *  the dataProvider to the model associated with the strand.
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
-        *  @productversion FlexJS 0.0
+        *  @productversion FlexJS 0.8
         */
        public class DataProviderChangeNotifier implements IBead, IDocument
        {
@@ -45,12 +77,15 @@ package org.apache.flex.html.beads
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
+                *  @productversion FlexJS 0.8
                 */
                public function DataProviderChangeNotifier()
                {
                }
                
+               /**
+                * @private
+                */
                protected var _dataProvider:ArrayList;
                
                private var _strand:IStrand;
@@ -61,7 +96,7 @@ package org.apache.flex.html.beads
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
-                *  @productversion FlexJS 0.0
+                *  @productversion FlexJS 0.8
                 */
                public function set strand(value:IStrand):void
                {
@@ -76,6 +111,9 @@ package org.apache.flex.html.beads
                        }
                }
                
+               /**
+                * @private
+                */
                private function destinationChangedHandler(event:Event):void
                {
                        if (_dataProvider == null) {
@@ -169,8 +207,11 @@ package org.apache.flex.html.beads
                 */
                private function handleItemAdded(event:Event):void
                {
+                       var e:CollectionEvent = event as CollectionEvent;
                        var selectionModel:ISelectionModel = 
_strand.getBeadByType(ISelectionModel) as ISelectionModel;
-                       selectionModel.dispatchEvent(new 
Event("dataProviderChanged"));
+
+                       var newEvent:Event = e.cloneEvent() as Event;
+                       selectionModel.dispatchEvent(newEvent);
                }
                
                /**
@@ -178,8 +219,11 @@ package org.apache.flex.html.beads
                 */
                private function handleItemRemoved(event:Event):void
                {
+                       var e:CollectionEvent = event as CollectionEvent;
                        var selectionModel:ISelectionModel = 
_strand.getBeadByType(ISelectionModel) as ISelectionModel;
-                       selectionModel.dispatchEvent(new 
Event("dataProviderChanged"));
+                       
+                       var newEvent:Event = e.cloneEvent() as Event;
+                       selectionModel.dispatchEvent(newEvent);
                }
                
                /**
@@ -187,8 +231,11 @@ package org.apache.flex.html.beads
                 */
                private function handleItemUpdated(event:Event):void
                {
+                       var e:CollectionEvent = event as CollectionEvent;
                        var selectionModel:ISelectionModel = 
_strand.getBeadByType(ISelectionModel) as ISelectionModel;
-                       selectionModel.dispatchEvent(new 
Event("dataProviderChanged"));
+                       
+                       var newEvent:Event = e.cloneEvent() as Event;
+                       selectionModel.dispatchEvent(newEvent);
                }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/448e9f8e/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
index c0650b8..defa8e8 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayListData.as
@@ -208,7 +208,8 @@ package org.apache.flex.mdl.beads
             newEvent.itemRenderer = ir;
             dispatchEvent(newEvent);
 
-            IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
+            //??IEventDispatcher(_strand).dispatchEvent(new 
Event("itemsCreated"));
+                       IEventDispatcher(_strand).dispatchEvent(new 
Event("itemAdded"));
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/448e9f8e/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
index 112ff7a..3516123 100644
--- 
a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
+++ 
b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/TabsView.as
@@ -98,7 +98,7 @@ package org.apache.flex.mdl.beads.views
             if (!isTabsDynamic())
             {
                 _tabBar.addEventListener("itemsCreated", 
tabBarItemsCreatedHandler);
-                _tabBar.addBead(new TabsItemRendererFactoryForArrayListData());
+                               _tabBar.addEventListener("itemAdded", 
tabBarItemsCreatedHandler);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/448e9f8e/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css 
b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
index eff039f..2c3709e 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
+++ b/frameworks/projects/MaterialDesignLite/src/main/resources/defaults.css
@@ -115,7 +115,7 @@ Tabs
     IBeadView: ClassReference("org.apache.flex.mdl.beads.views.TabsView");
     IBeadModel: 
ClassReference("org.apache.flex.mdl.beads.models.TabArrayModel");
     IBeadLayout: ClassReference(null);
-    IDataProviderItemRendererMapper: 
ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayData");
+    IDataProviderItemRendererMapper: 
ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData");
     IItemRendererClassFactory: 
ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: 
ClassReference("org.apache.flex.mdl.itemRenderers.TabBarPanelItemRenderer");
 }
@@ -125,7 +125,7 @@ TabBar
     IBeadView: ClassReference("org.apache.flex.mdl.beads.views.TabBarView");
     IBeadModel: 
ClassReference("org.apache.flex.mdl.beads.models.TabArrayModel");
     IBeadLayout: ClassReference(null);
-    IDataProviderItemRendererMapper: 
ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayData");
+    IDataProviderItemRendererMapper: 
ClassReference("org.apache.flex.mdl.beads.TabsItemRendererFactoryForArrayListData");
     IItemRendererClassFactory: 
ClassReference("org.apache.flex.core.ItemRendererClassFactory");
     IItemRenderer: 
ClassReference("org.apache.flex.mdl.itemRenderers.TabBarButtonTabsItemRenderer");
 }

Reply via email to