Carlos, So you did exact copy of beads from Basic?
Thanks, Piotr On Sat, Aug 18, 2018, 7:45 PM <[email protected]> wrote: > This is an automated email from the ASF dual-hosted git repository. > > carlosrovira 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 967fd9b remove item handling code in favor of use of beads > 967fd9b is described below > > commit 967fd9b8a6873514a83c66084e8aa4a015f48c7d > Author: Carlos Rovira <[email protected]> > AuthorDate: Sat Aug 18 19:45:51 2018 +0200 > > remove item handling code in favor of use of beads > --- > .../src/main/royale/ListPlayGround.mxml | 2 +- > .../DataItemRendererFactoryForCollectionView.as | 131 > +++++++++++---------- > .../TableItemRendererFactoryForCollectionView.as | 29 +++-- > 3 files changed, 83 insertions(+), 79 deletions(-) > > diff --git > a/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml > b/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml > index 8b603eb..63eb8d3 100644 > --- a/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml > +++ b/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml > @@ -50,7 +50,7 @@ limitations under the License. > > public function removeAllData():void > { > - simple.removeAll(); > + (list.dataProvider as > ArrayList).removeAll(); > } > ]]> > </fx:Script> > diff --git > a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as > b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as > index 544b013..4a47ec8 100644 > --- > a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as > +++ > b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as > @@ -163,11 +163,12 @@ package org.apache.royale.jewel.beads.itemRenderers > if (!dp) > return; > > + // remove this and better add beads when needed > // listen for individual items being added in the > future. > - var dped:IEventDispatcher = dp as IEventDispatcher; > - dped.addEventListener(CollectionEvent.ITEM_ADDED, > itemAddedHandler); > - > dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler); > - > dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler); > + // var dped:IEventDispatcher = dp as > IEventDispatcher; > + // > dped.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler); > + // > dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler); > + // > dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler); > > dataGroup.removeAllItemRenderers(); > > @@ -192,37 +193,37 @@ package org.apache.royale.jewel.beads.itemRenderers > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > * @royaleignorecoercion > org.apache.royale.events.IEventDispatcher > */ > - protected function > itemAddedHandler(event:CollectionEvent):void > - { > - if (!dataProviderModel) > - return; > - var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > - if (!dp) > - return; > + // protected function > itemAddedHandler(event:CollectionEvent):void > + // { > + // if (!dataProviderModel) > + // return; > + // var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > + // if (!dp) > + // return; > > - var presentationModel:IListPresentationModel = > _strand.getBeadByType(IListPresentationModel) as IListPresentationModel; > - var ir:ISelectableItemRenderer = > itemRendererFactory.createItemRenderer(dataGroup) as > ISelectableItemRenderer; > - labelField = dataProviderModel.labelField; > + // var presentationModel:IListPresentationModel = > _strand.getBeadByType(IListPresentationModel) as IListPresentationModel; > + // var ir:ISelectableItemRenderer = > itemRendererFactory.createItemRenderer(dataGroup) as > ISelectableItemRenderer; > + // labelField = dataProviderModel.labelField; > > - fillRenderer(event.index, event.item, ir, > presentationModel); > + // fillRenderer(event.index, event.item, ir, > presentationModel); > > - // update the index values in the itemRenderers to > correspond to their shifted positions. > - var n:int = dataGroup.numElements; > - for (var i:int = event.index; i < n; i++) > - { > - ir = dataGroup.getElementAt(i) as > ISelectableItemRenderer; > - ir.index = i; > + // // update the index values in the itemRenderers to > correspond to their shifted positions. > + // var n:int = dataGroup.numElements; > + // for (var i:int = event.index; i < n; i++) > + // { > + // ir = dataGroup.getElementAt(i) as > ISelectableItemRenderer; > + // ir.index = i; > > - // could let the IR know its index has > been changed (eg, it might change its > - // UI based on the index). Instead (PAYG), > allow another bead to detect > - // this event and do this as not every IR > will need to be updated. > - //var ubase:UIItemRendererBase = ir as > UIItemRendererBase; > - //if (ubase) ubase.updateRenderer() > - } > + // // could let the IR know its index has > been changed (eg, it might change its > + // // UI based on the index). Instead (PAYG), > allow another bead to detect > + // // this event and do this as not every IR > will need to be updated. > + // //var ubase:UIItemRendererBase = ir as > UIItemRendererBase; > + // //if (ubase) ubase.updateRenderer() > + // } > > - (_strand as IEventDispatcher).dispatchEvent(new > Event("itemsCreated")); > - (_strand as IEventDispatcher).dispatchEvent(new > Event("layoutNeeded")); > - } > + // (_strand as IEventDispatcher).dispatchEvent(new > Event("itemsCreated")); > + // (_strand as IEventDispatcher).dispatchEvent(new > Event("layoutNeeded")); > + // } > > /** > * @private > @@ -231,52 +232,52 @@ package org.apache.royale.jewel.beads.itemRenderers > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > * @royaleignorecoercion > org.apache.royale.events.IEventDispatcher > */ > - protected function > itemRemovedHandler(event:CollectionEvent):void > - { > - if (!dataProviderModel) > - return; > - var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > - if (!dp) > - return; > + // protected function > itemRemovedHandler(event:CollectionEvent):void > + // { > + // if (!dataProviderModel) > + // return; > + // var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > + // if (!dp) > + // return; > > - var ir:ISelectableItemRenderer = > dataGroup.getElementAt(event.index) as ISelectableItemRenderer; > - dataGroup.removeItemRenderer(ir); > + // var ir:ISelectableItemRenderer = > dataGroup.getElementAt(event.index) as ISelectableItemRenderer; > + // dataGroup.removeItemRenderer(ir); > > - // adjust the itemRenderers' index to adjust for > the shift > - var n:int = dataGroup.numElements; > - for (var i:int = event.index; i < n; i++) > - { > - ir = dataGroup.getElementAt(i) as > ISelectableItemRenderer; > - ir.index = i; > + // // adjust the itemRenderers' index to adjust for > the shift > + // var n:int = dataGroup.numElements; > + // for (var i:int = event.index; i < n; i++) > + // { > + // ir = dataGroup.getElementAt(i) as > ISelectableItemRenderer; > + // ir.index = i; > > - // could let the IR know its index has > been changed (eg, it might change its > - // UI based on the index). Instead (PAYG), > allow another bead to detect > - // this event and do this as not every IR > will need to be updated. > - //var ubase:UIItemRendererBase = ir as > UIItemRendererBase; > - //if (ubase) ubase.updateRenderer() > - } > + // // could let the IR know its index has > been changed (eg, it might change its > + // // UI based on the index). Instead (PAYG), > allow another bead to detect > + // // this event and do this as not every IR > will need to be updated. > + // //var ubase:UIItemRendererBase = ir as > UIItemRendererBase; > + // //if (ubase) ubase.updateRenderer() > + // } > > - (_strand as IEventDispatcher).dispatchEvent(new > Event("layoutNeeded")); > - } > + // (_strand as IEventDispatcher).dispatchEvent(new > Event("layoutNeeded")); > + // } > > /** > * @private > * @royaleignorecoercion > org.apache.royale.collections.ICollectionView > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > */ > - protected function > itemUpdatedHandler(event:CollectionEvent):void > - { > - if (!dataProviderModel) > - return; > - var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > - if (!dp) > - return; > + // protected function > itemUpdatedHandler(event:CollectionEvent):void > + // { > + // if (!dataProviderModel) > + // return; > + // var dp:ICollectionView = > dataProviderModel.dataProvider as ICollectionView; > + // if (!dp) > + // return; > > - // update the given renderer with (possibly) new > information so it can change its > - // appearence or whatever. > - var ir:ISelectableItemRenderer = > dataGroup.getElementAt(event.index) as ISelectableItemRenderer; > - setData(ir, event.item, event.index); > - } > + // // update the given renderer with (possibly) new > information so it can change its > + // // appearence or whatever. > + // var ir:ISelectableItemRenderer = > dataGroup.getElementAt(event.index) as ISelectableItemRenderer; > + // setData(ir, event.item, event.index); > + // } > > /** > * @private > diff --git > a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as > b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as > index da09088..e064583 100644 > --- > a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as > +++ > b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as > @@ -176,11 +176,13 @@ package org.apache.royale.jewel.beads.itemRenderers > if (!dp) > return; > > + // remove this and better add beads when needed > // listen for individual items being added in the > future. > - var dped:IEventDispatcher = dp as IEventDispatcher; > - dped.addEventListener(CollectionEvent.ITEM_ADDED, > itemAddedHandler); > - > dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler); > - > dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler); > + // var dped:IEventDispatcher = dp as > IEventDispatcher; > + // > dped.addEventListener(CollectionEvent.ITEM_ADDED, itemAddedHandler); > + // > dped.addEventListener(CollectionEvent.ITEM_REMOVED, itemRemovedHandler); > + // > dped.addEventListener(CollectionEvent.ITEM_UPDATED, itemUpdatedHandler); > + > > // THEAD - remove header items > removeElements(view.thead); > @@ -207,6 +209,7 @@ package org.apache.royale.jewel.beads.itemRenderers > > if(column.itemRenderer != null) > { > + trace("create ir: " + > column.itemRenderer); > ir = column.itemRenderer.newInstance() as > ITextItemRenderer; > } else > { > @@ -324,9 +327,9 @@ package org.apache.royale.jewel.beads.itemRenderers > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > * @royaleignorecoercion > org.apache.royale.events.IEventDispatcher > */ > - protected function > itemAddedHandler(event:CollectionEvent):void > - { > - } > + // protected function > itemAddedHandler(event:CollectionEvent):void > + // { > + // } > > /** > * @private > @@ -335,17 +338,17 @@ package org.apache.royale.jewel.beads.itemRenderers > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > * @royaleignorecoercion > org.apache.royale.events.IEventDispatcher > */ > - protected function > itemRemovedHandler(event:CollectionEvent):void > - { > - } > + // protected function > itemRemovedHandler(event:CollectionEvent):void > + // { > + // } > > /** > * @private > * @royaleignorecoercion > org.apache.royale.collections.ICollectionView > * @royaleignorecoercion > org.apache.royale.core.ISelectableItemRenderer > */ > - protected function > itemUpdatedHandler(event:CollectionEvent):void > - { > - } > + // protected function > itemUpdatedHandler(event:CollectionEvent):void > + // { > + // } > } > } > \ No newline at end of file > >
