Peter,

I see issue in MDL Table after your changes, but in general they should
work once I fix it.

Thanks, Piotr

2017-12-11 18:56 GMT+01:00 Piotr Zarzycki <[email protected]>:

> 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 <[email protected]>:
>
>> 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" <[email protected]>
>> 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%7C835b99b029
>> af47936d8508d54
>> >0ae2eda%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636486
>> 039218879495&sd
>> >ata=cghdpJo101E1sgl%2FgG2VFahFno78Y8nwfiks7bbPdHE%3D&reserved=0
>> >
>> >Thanks, Piotr
>> >
>> >
>> >2017-12-11 16:29 GMT+01:00 Peter Ent <[email protected]>:
>> >
>> >> 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" <[email protected]> wrote:
>> >>
>> >> >Hi Peter,
>> >> >
>> >> >Ok DynamicItemsRendererFactoryForArrayListData is now working
>> >>perfectly.
>> >> >Unfortunately I just tried DynamicRemoveItemRendererForArrayListData
>> >>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%2FHhWWEU6ZgOsN
>> o9jqlqtEdE7nNF9
>> >>>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%7C8
>> 35b99b029af4793
>> >6d8508d540ae2eda%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%
>> 7C0%7C636486039218
>> >879495&sdata=PmoDkP7b2qvJ%2Fq%2Btkoht2i1buQXEp%2FjSR%2Ftc9O
>> XMUno%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%7C8
>> 35b99b029af4793
>> >6d8508d540ae2eda%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%
>> 7C0%7C636486039218
>> >879495&sdata=PmoDkP7b2qvJ%2Fq%2Btkoht2i1buQXEp%2FjSR%2Ftc9O
>> XMUno%3D&reserv
>> >ed=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