Changed the MDL Tabs data mappers to get their itemRendererFactory classes from the strand which should already be there via DataContainerBase.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/fece1501 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/fece1501 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/fece1501 Branch: refs/heads/dual Commit: fece1501a109281d2abb0ef2fb35eab30da983e9 Parents: 1e96ee6 Author: Peter Ent <[email protected]> Authored: Mon Apr 10 11:51:17 2017 -0400 Committer: Peter Ent <[email protected]> Committed: Mon Apr 10 11:51:17 2017 -0400 ---------------------------------------------------------------------- .../beads/TabsItemRendererFactoryForArrayData.as | 16 +++++++++------- .../TabsItemRendererFactoryForArrayListData.as | 15 ++++++++------- 2 files changed, 17 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fece1501/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayData.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayData.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayData.as index ecd38b7..743d33b 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayData.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TabsItemRendererFactoryForArrayData.as @@ -93,13 +93,7 @@ package org.apache.flex.mdl.beads dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler); tabsIdField = dataProviderModel.tabIdField; - labelField = dataProviderModel.labelField; - - if (!itemRendererFactory) - { - _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory; - _strand.addBead(_itemRendererFactory); - } + labelField = dataProviderModel.labelField dataProviderChangeHandler(null); } @@ -117,6 +111,14 @@ package org.apache.flex.mdl.beads */ public function get itemRendererFactory():IItemRendererClassFactory { + if (_itemRendererFactory == null) { + var factory:IItemRendererClassFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory; + if (factory == null) { + factory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory; + _strand.addBead(factory); + } + _itemRendererFactory = factory; + } return _itemRendererFactory; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fece1501/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 97fac23..c323332 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 @@ -74,7 +74,6 @@ package org.apache.flex.mdl.beads public function set strand(value:IStrand):void { _strand = value; - IEventDispatcher(value).addEventListener("beadsAdded",finishSetup); IEventDispatcher(value).addEventListener("initComplete",finishSetup); } @@ -99,12 +98,6 @@ package org.apache.flex.mdl.beads tabsIdField = dataProviderModel.tabIdField; labelField = dataProviderModel.labelField; - if (!itemRendererFactory) - { - _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory; - _strand.addBead(_itemRendererFactory); - } - dataProviderChangeHandler(null); } @@ -121,6 +114,14 @@ package org.apache.flex.mdl.beads */ public function get itemRendererFactory():IItemRendererClassFactory { + if (_itemRendererFactory == null) { + var factory:IItemRendererClassFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory; + if (factory == null) { + factory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory; + _strand.addBead(factory); + } + _itemRendererFactory = factory; + } return _itemRendererFactory; }
