ArrayList is already dispatching fine-grained collection events:
public static const ITEM_ADDED:String =
"itemAdded";
public static const ITEM_REMOVED:String =
"itemRemoved";
public static const ITEM_UPDATED:String =
"itemUpdated";
public static const COLLECTION_CHANGED:String =
"collectionChanged";
The problem we had was that the list columns weren’t being updated as a result
of these (or the edge case of the ArrayList src being changed).
________________________________
From: Peter Ent <[email protected]>
Sent: Monday, October 30, 2017 5:10:58 PM
To: [email protected]
Subject: Re: [royale-asjs] 02/02: Revert "Updating the source of an ArrayList
does not change the view of the component without this change."
The initial versions of Basic data providers and their like were not
intended to be complete. Some of it is still proof of concept. The stuff
that's there is really meant for a more static viewing rather than being
dynamic. Plus there is no code to support virtualized lists of any sort.
With the fundamentals working, we should probably create a new set (not a
replacement, just new/more) data provider classes that can handle updates
and deletes properly. I would not change what's there unless there is a
real bug when it comes to reading the data and generating itemRenderers
because that's all it is supposed to do.
The ArrayList class, I think, should be made complete: create, add,
update, delete. Perhaps that isn't PAYG - I have a hard time telling
sometimes. Do most people want create-only? If that's the case, then
ArrayListPlus or SuperArrayList could include the other functions - that
would be more PAYG.
‹peter
On 10/28/17, 7:48 PM, "Harbs" <[email protected]> wrote:
>This change made updating the dataProvider in the DataGridExample work,
>but it seems to have caused an endless recursive layout in some cases.
>
>I¹ve reverted it because it seems to have broken existing apps, but I¹m
>not completely sure why.
>
>I¹m left with the question of how to allow changes to ArrayLists
>propagating to the view without causing the endless loopŠ
>
>> On Oct 29, 2017, at 1:43 AM, [email protected] wrote:
>>
>> This is an automated email from the ASF dual-hosted git repository.
>>
>> harbs pushed a commit to branch develop
>> in repository
>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.a
>>pache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7C%7C98bf6f3837ba4
>>d6746ff08d51e5e638d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644831
>>3127940766&sdata=OCGyB8FulE%2Fc0UPp2dSnQJ4yIynBlhqDUo%2BP%2B7um%2B10%3D&r
>>eserved=0
>>
>> commit 9d20a649a7d417ca62724c98f3906c0d160172ae
>> Author: Harbs <[email protected]>
>> AuthorDate: Sun Oct 29 01:41:08 2017 +0200
>>
>> Revert "Updating the source of an ArrayList does not change the view
>>of the component without this change."
>>
>> This reverts commit 313cf14147dfdd53b621b82b949b8544d2b6ed91.
>> ---
>> .../org/apache/royale/html/beads/models/ArrayListSelectionModel.as
>> | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git
>>a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/
>>models/ArrayListSelectionModel.as
>>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/
>>models/ArrayListSelectionModel.as
>> index ec10892..81c606c 100644
>> ---
>>a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/
>>models/ArrayListSelectionModel.as
>> +++
>>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/
>>models/ArrayListSelectionModel.as
>> @@ -84,6 +84,7 @@ package org.apache.royale.html.beads.models
>> */
>> public function set dataProvider(value:Object):void
>> {
>> + if (value == _dataProvider) return;
>>
>> _dataProvider = value as IArrayList;
>> if(!_dataProvider || _selectedIndex >=
>> _dataProvider.length)
>>
>> --
>> To stop receiving notification emails like this one, please contact
>> "[email protected]" <[email protected]>.
>