You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2019/11/28 13:26:26 UTC
[royale-asjs] branch develop updated: addItem to TreeList should
modify the data
This is an automated email from the ASF dual-hosted git repository.
harbs 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 61b5f86 addItem to TreeList should modify the data
61b5f86 is described below
commit 61b5f863f4b49799e06730d741735259d91e55b2
Author: Harbs <ha...@in-tools.com>
AuthorDate: Thu Nov 28 15:26:09 2019 +0200
addItem to TreeList should modify the data
---
.../org/apache/royale/collections/FlattenedList.as | 39 ++++++++++++++++++++--
1 file changed, 37 insertions(+), 2 deletions(-)
diff --git a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
index 8edd35d..13766e5 100644
--- a/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
+++ b/frameworks/projects/Collections/src/main/royale/org/apache/royale/collections/FlattenedList.as
@@ -132,7 +132,7 @@ package org.apache.royale.collections
addChildren(node, arr);
var i:int = getItemIndex(node);
while (arr.length) {
- addItemAt(arr.shift(), ++i);
+ super.addItemAt(arr.shift(), ++i);
}
}
updateNode(node);
@@ -164,7 +164,7 @@ package org.apache.royale.collections
addChildren(node, arr);
i = getItemIndex(node) + 1;
while (arr.length) {
- removeItemAt(i);
+ super.removeItemAt(i);
arr.shift();
}
}
@@ -212,6 +212,41 @@ package org.apache.royale.collections
return -1;
}
+ /**
+ * When adding items from outside FlattenedList, it needs to be added to the data structure as well.
+ */
+ override public function addItemAt(item:Object, index:int):void{
+ super.addItemAt(item,index);
+ var topLevel:Array = hdata.source.children;
+ var len:int = topLevel.length;
+ if (index < len && index > 0)
+ topLevel.splice(index, 0, item);
+
+ else if (index == len)
+ topLevel.push(item);
+
+ else if (index == 0)
+ topLevel.unshift(item);
+ }
+
+ override public function removeItemAt(index:int):Object{
+ var topLevel:Array = hdata.source.children;
+ var upperIdx:int = topLevel.length - 1;
+ if (index > 0 && index < upperIdx)
+ {
+ topLevel.splice(index, 1);
+ }
+ else if (index == upperIdx)
+ {
+ topLevel.pop();
+ }
+ else if (index == 0)
+ {
+ topLevel.shift();
+ }
+
+ return super.removeItemAt(index);
+ }
}
}