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"); }
