Added support for E4X filtering expressions
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/fd1ae8ee Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/fd1ae8ee Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/fd1ae8ee Branch: refs/heads/feature/maven-migration Commit: fd1ae8ee61bc1a1ed109782fd975efc4937e2be0 Parents: d4dc652 Author: Harbs <[email protected]> Authored: Mon Apr 11 15:06:00 2016 +0300 Committer: Harbs <[email protected]> Committed: Mon Apr 11 15:06:00 2016 +0300 ---------------------------------------------------------------------- .../projects/XML/src/main/flex/XMLList.as | 23 ++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fd1ae8ee/frameworks/projects/XML/src/main/flex/XMLList.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/XML/src/main/flex/XMLList.as b/frameworks/projects/XML/src/main/flex/XMLList.as index d507033..ea7b4ec 100644 --- a/frameworks/projects/XML/src/main/flex/XMLList.as +++ b/frameworks/projects/XML/src/main/flex/XMLList.as @@ -249,8 +249,14 @@ package throw new TypeError("invalid type"); var item:XML; - for each(item in list) - appendChild(item); + //work-around for FLEX-35070 + var len:int = list.length(); + var i:int=0; + while(i<len) + appendChild(list[i++]); + +// for each(item in list) +// appendChild(item); return this; } @@ -361,6 +367,19 @@ package */ return false; } + COMPILE::JS + public function filter(callback:Function):XMLList + { + var list:XMLList = new XMLList(); + for(var i:int = 0;i<_xmlArray.length;i++) + { + if(callback(_xmlArray[i])) + list.appendChild(_xmlArray[i]); + } + list.targetObject = _targetObject; + list.targetProperty = _targetProperty; + return list; + } COMPILE::JS public function hasComplexContent():Boolean
