If yes I will simply create bead which take care of scenario where we are
removing all items from the ArrayList.

Thanks,
Piotr

2017-12-12 23:25 GMT+01:00 Piotr Zarzycki <piotrzarzyck...@gmail.com>:

> Peter,
>
> I did fix all issues in MDL Table and playing with your
> DynamicRemoveItemRendererForArrayListData. If I do on ArrayList.removeAll
> - I'm getting ITEM_REMOVED, but one time. From the user perspective I don't
> know actually what has happened. How to proceed if I'm using your bead in
> that case ?
>
> I saw in other thread respond from you:
>
> "If you remove everything from the ArrayList, the ArrayList dispatches
> ITEM_REMOVED for each item (if you have 1000 items you will get 1000
> events). ArrayList should probably not do that and instead, dispatch a
> single COLLECTION_CHANGED event once completed."
>
> Maybe we should go to that direction ?
>
> Thanks, Piotr
>
>
> 2017-12-11 19:29 GMT+01:00 Peter Ent <p...@adobe.com.invalid>:
>
>> I have a <js:List> in my test. Its defaults.css entry has
>> DataItemRendererFactoryForArrayData. When I add in the dynamic mapper via
>> MXML, that supersedes the one specified in defaults.css. That happens
>> because the MXML bead of type IDataProviderItemRendererMapper is already
>> on the strand so the one specified by CSS (or in-line style) will not be
>> loaded.
>>
>> —peter
>>
>> On 12/11/17, 12:56 PM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
>> wrote:
>>
>> >Peter,
>> >
>> >I will try your changes soon. I was thinking what you did write earlier
>> >and
>> >maybe I wasn't enough clear. I'm talking right now about following cases.
>> >Let's say that you have list or MDL Table doesn't matter and you did
>> >specify in your css file following class:
>> >
>> >.myList
>> >{
>> >     IDataProviderItemRendererMapper: ClassReference(
>> >"org.apache.royale.html.beads.DataItemRendererFactoryForArrayList");
>> >}
>> >
>> >and in your MXML:
>> >
>> ><js:List className="myList">
>> ><js:beads>
>> ><js:DynamicItemsRendererFactoryForArrayListData />
>> ></js:beads>
>> ></js:List>
>> >
>> >It means that apart of the code which is handling adding to us in
>> >DynamicItemsRendererFactoryForArrayListData - we have right now in both
>> >beads duplicated code, which is doing exactly the same. - I'm not sure
>> >what
>> >can happen if we have both beads added.
>> >
>> >However I do understand also other use cases.
>> >
>> >Thanks, Piotr
>> >
>> >
>> >2017-12-11 17:16 GMT+01:00 Peter Ent <p...@adobe.com.invalid>:
>> >
>> >> I committed the change to the remove bead after running the MDLExample
>> >> with no errors in the browser console.
>> >>
>> >> Hope this works!
>> >> —peter
>> >>
>> >> On 12/11/17, 10:45 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
>> >>wrote:
>> >>
>> >> >Hi Peter,
>> >> >
>> >> >If I remember correctly I was using those beads [1] and as
>> >> >IDataProviderItemRendererMapper:
>> >> >DynamicItemsRendererFactoryForArrayListData
>> >> >- declared in CSS. You can take a look into the example
>> >> >MDLDynamicTableExample.
>> >> >
>> >> >With your solution where we are looking actually into the events from
>> >> >dataProvider, I just thought that code which creates item renderers is
>> >>not
>> >> >needed in DynamicItemsRendererFactoryForArrayListData.
>> >> >
>> >> >Looking forward to the results of your investigation.
>> >> >
>> >> >[1]
>> >> >https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fpaste.apa
>> >> >che.org%2F07m8&data=02%7C01%7Cpent%40adobe.com%
>> >> 7C835b99b029af47936d8508d54
>> >> >0ae2eda%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>> >> 7C636486039218879495&sd
>> >> >ata=cghdpJo101E1sgl%2FgG2VFahFno78Y8nwfiks7bbPdHE%3D&reserved=0
>> >> >
>> >> >Thanks, Piotr
>> >> >
>> >> >
>> >> >2017-12-11 16:29 GMT+01:00 Peter Ent <p...@adobe.com.invalid>:
>> >> >
>> >> >> In the PAYG world of Royale, we need to keep a number of features
>> >> >>separate
>> >> >> so apps are not weighed down by unused code. I originally had a bead
>> >> >>that
>> >> >> refreshed all item renderers by deleting them from the DataGroup and
>> >> >> re-creating them. I also had a bead that just created itemRenderers
>> >>on
>> >> >> demand when it detected an ItemAdded event. Likewise, a bead to
>> >>remove
>> >> >> them on demand. To avoid duplicating code, I had the refresh bead
>> >>look
>> >> >>for
>> >> >> the add bead and use it (there was a public function to create an
>> >> >> itemRenderer). This kept things very separate. However, the refresh
>> >>bead
>> >> >> required the add bead so Alex suggested combining the two since
>> there
>> >> >>was
>> >> >> really nothing being gained by the separation. Removal is considered
>> >>an
>> >> >> "extra" since many apps do not need to remove things. I don't know
>> if
>> >> >> that's really true, but it fits the PAYG model.
>> >> >>
>> >> >> The ArrayList itself emits events. It is also a dataProvider that
>> >>can be
>> >> >> used with a model. I find this to be confusing sometimes, but that's
>> >> >>just
>> >> >> me.
>> >> >>
>> >> >> Piotr, I don't see how your original version of
>> >> >> DynamicItemsRendererFactoryForArrayListData could have worked since
>> >>the
>> >> >> model does not dispatch ItemAdded events; only ArrayList (the
>> model's
>> >> >> dataProvider) does that. In my tests, the DynamicŠData bead never
>> >> >>received
>> >> >> the event until I changed it.
>> >> >>
>> >> >> Personally, I think the collection classes should emit their own
>> >>events,
>> >> >> but when used within a model, the model should intercept them and
>> >> >> re-dispatch the events as their own. This would make writing beads
>> >> >>cleaner
>> >> >> and we would not need as many variations that only differ by how the
>> >> >> dataProvider is accessed as all access to the dataProvider would go
>> >> >> through the model via a standard interface.
>> >> >>
>> >> >> I will figure out why the removal bead is failing and then re-test
>> >>with
>> >> >> MDL but I won't change anything else unless there is no other
>> choice.
>> >> >>
>> >> >> ‹peter
>> >> >>
>> >> >> On 12/10/17, 2:53 PM, "piotrz" <pio...@apache.org> wrote:
>> >> >>
>> >> >> >Hi Peter,
>> >> >> >
>> >> >> >Ok DynamicItemsRendererFactoryForArrayListData is now working
>> >> >>perfectly.
>> >> >> >Unfortunately I just tried DynamicRemoveItemRendererForAr
>> rayListData
>> >> >>and
>> >> >> >got
>> >> >> >NPE. This time dataProviderModel is being null
>> >> >> >
>> >> >> ><https://na01.safelinks.protection.outlook.com/?url=
>> >> >> http%3A%2F%2Fapache-ro
>> >> >> >yale-development.20373.n8.nabble.com%2Ffile%2Ft1%
>> >> >> 2Fdynamic_remove_null.png
>> >> >> >&data=02%7C01%7Cpent%40adobe.com%7C3e768dcacec447640aa208d54007
>> >> >> a62b%7Cfa7b
>> >> >> >1b5a7b34438794aed2c178decee1%7C0%7C0%7C636485323953316454&
>> >> >> sdata=iktsZuL5sc
>> >> >> >DNbJu26jprPRlwA3Zx0w%2FJVriETkMQLqo%3D&reserved=0>
>> >> >> >
>> >> >> >There is in general something wrong and I think there a bit more
>> >>work.
>> >> >> >DynamicItemsRendererFactoryForArrayListData  now is different than
>> >> >> >DynamicRemoveItemRendererForArrayListData, cause the first on have
>> >> >>logic
>> >> >> >which is not only adding item renderer, but also creates them which
>> >>is
>> >> >>not
>> >> >> >present in the Remove version.
>> >> >> >
>> >> >> >In the other words DynamicItemsRendererFactoryForArrayListData it
>> is
>> >> >> >IDataProviderItemRendererMapper. I think we should go with
>> following
>> >> >> >changes.
>> >> >> >
>> >> >> >1) DynamicItemsRendererFactoryForArrayListData  - logic for
>> creating
>> >> >>item
>> >> >> >renderers should be removed from that bead
>> >> >> >2) We should rename DynamicItemsRendererFactoryForArrayListData
>> to
>> >> >> >DynamicAddItemRendererForArrayListData
>> >> >> >3) For List, MDL Table, MDL Tabs and all things inherited from List
>> >> >>should
>> >> >> >as IDataProviderItemRendererMapper we should use:
>> >> >> >DataItemRendererFactoryForArrayData or
>> >> >> >DataItemRendererFactoryForSeriesArrayListData (use this to have
>> all
>> >> the
>> >> >> >advantages of above beads).
>> >> >> >
>> >> >> >What do you think ?
>> >> >> >
>> >> >> >If you will make above changes check all the MDL examples which
>> have
>> >> >>Tabs,
>> >> >> >Tables etc. - Build MDLExample.
>> >> >> >
>> >> >> >Thanks, Piotr
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >--
>> >> >> >Sent from:
>> >> >> >https://na01.safelinks.protection.outlook.com/?url=
>> >> >> http%3A%2F%2Fapache-roy
>> >> >>
>> >>>ale-development.20373.n8.nabble.com%2F&data=02%7C01%7Cpent%40adobe.com
>> >> >> %7C3
>> >> >> >e768dcacec447640aa208d54007a62b%7Cfa7b1b5a7b34438794aed2c178de
>> >> >> cee1%7C0%7C0
>> >> >>
>> >> >>>%7C636485323953316454&sdata=sRTfb3ro%2Fj66%
>> >> 2FHhWWEU6ZgOsNo9jqlqtEdE7nNF9
>> >> >>>P
>> >> >> y
>> >> >> >A%3D&reserved=0
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >--
>> >> >
>> >> >Piotr Zarzycki
>> >> >
>> >> >Patreon:
>> >> >*https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fwww.patr
>> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Cpent%40adobe.com%
>> >> 7C835b99b029af4793
>> >> >6d8508d540ae2eda%7Cfa7b1b5a7b34438794aed2c178de
>> >> cee1%7C0%7C0%7C636486039218
>> >> >879495&sdata=PmoDkP7b2qvJ%2Fq%2Btkoht2i1buQXEp%2FjSR%
>> >> 2Ftc9OXMUno%3D&reserv
>> >> >ed=0
>> >> ><https://na01.safelinks.protection.outlook.com/?url=
>> >> https%3A%2F%2Fwww.patr
>> >> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Cpent%40adobe.com%
>> >> 7C835b99b029af4793
>> >> >6d8508d540ae2eda%7Cfa7b1b5a7b34438794aed2c178de
>> >> cee1%7C0%7C0%7C636486039218
>> >> >879495&sdata=PmoDkP7b2qvJ%2Fq%2Btkoht2i1buQXEp%2FjSR%
>> >> 2Ftc9OXMUno%3D&reserv
>> >> >ed=0>*
>> >>
>> >>
>> >
>> >
>> >--
>> >
>> >Piotr Zarzycki
>> >
>> >Patreon:
>> >*https://na01.safelinks.protection.outlook.com/?url=https%
>> 3A%2F%2Fwww.patr
>> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Cpent%40adobe.com%7Cf
>> b47db2dde9e4c92
>> >dfb808d540c144f1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%
>> 7C0%7C636486121188
>> >369643&sdata=UBDo0xLLSMnFpphpVVqm%2Fjno0pdulxvzrnDedX8Dx%
>> 2F8%3D&reserved=0
>> ><https://na01.safelinks.protection.outlook.com/?url=https%
>> 3A%2F%2Fwww.patr
>> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Cpent%40adobe.com%7Cf
>> b47db2dde9e4c92
>> >dfb808d540c144f1%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%
>> 7C0%7C636486121188
>> >369643&sdata=UBDo0xLLSMnFpphpVVqm%2Fjno0pdulxvzrnDedX8Dx%
>> 2F8%3D&reserved=0
>> >>*
>>
>>
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>



-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Reply via email to