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
>
>

Reply via email to