Fixed other notifiers
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/5a6fb132 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/5a6fb132 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/5a6fb132 Branch: refs/heads/feature/amf Commit: 5a6fb132bdef6d3debabb856d251c7b52415dc5f Parents: 94bda2f Author: Harbs <ha...@in-tools.com> Authored: Mon Jul 24 14:17:03 2017 +0300 Committer: Harbs <ha...@in-tools.com> Committed: Mon Jul 24 14:17:03 2017 +0300 ---------------------------------------------------------------------- .../flex/html/beads/DataProviderChangeNotifier.as | 11 +++-------- .../html/beads/DataProviderCollectionChangeNotifier.as | 12 +++++------- .../flex/html/beads/DataProviderItemsChangeNotifier.as | 12 ++++++------ 3 files changed, 14 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a6fb132/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as index bab1c4a..22155cb 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as @@ -49,12 +49,8 @@ package org.apache.flex.html.beads override protected function destinationChangedHandler(event:Event):void { - if (dataProvider == null) - { - var object:Object = document[sourceID]; - dataProvider = object[propertyName] as ArrayList; - } - else + var object:Object = document[sourceID]; + if (dataProvider) { if(object[propertyName] == dataProvider) return; @@ -62,9 +58,8 @@ package org.apache.flex.html.beads dataProvider.removeEventListener("itemRemoved", handleDataProviderChanges); dataProvider.removeEventListener("itemUpdated", handleDataProviderChanges); dataProvider.removeEventListener("collectionChanged", handleDataProviderChanges); - dataProvider = object[propertyName] as ArrayList; } - + dataProvider = object[propertyName] as ArrayList; dataProvider.addEventListener("itemAdded", handleDataProviderChanges); dataProvider.addEventListener("itemRemoved", handleDataProviderChanges); dataProvider.addEventListener("itemUpdated", handleDataProviderChanges); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a6fb132/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as index 9a0f299..5b2a9ff 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as @@ -49,16 +49,14 @@ package org.apache.flex.html.beads override protected function destinationChangedHandler(event:Event):void { - if (dataProvider == null) - { - var object:Object = document[sourceID]; - dataProvider = object[propertyName] as ArrayList; - } - else + var object:Object = document[sourceID]; + if (dataProvider) { + if(object[propertyName] == dataProvider) + return; dataProvider.removeEventListener(changeEventName == null ? "collectionChanged":changeEventName, handleCollectionChanged); } - + dataProvider = object[propertyName] as ArrayList; dataProvider.addEventListener(changeEventName == null ? "collectionChanged":changeEventName, handleCollectionChanged); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5a6fb132/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as index eee1990..bcf7052 100644 --- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as @@ -50,16 +50,16 @@ package org.apache.flex.html.beads private function destinationChangedHandler(event:Event):void { - if (dataProvider == null) { - var object:Object = document[sourceID]; - dataProvider = object[propertyName] as ArrayList; - } - else { + var object:Object = document[sourceID]; + if (dataProvider) + { + if(object[propertyName] == dataProvider) + return; dataProvider.removeEventListener(CollectionEvent.ITEM_ADDED, handleItemAdded); dataProvider.removeEventListener(CollectionEvent.ITEM_REMOVED, handleItemRemoved); dataProvider.removeEventListener(CollectionEvent.ITEM_UPDATED, handleItemUpdated); } - + dataProvider = object[propertyName] as ArrayList; dataProvider.addEventListener(CollectionEvent.ITEM_ADDED, handleItemAdded); dataProvider.addEventListener(CollectionEvent.ITEM_REMOVED, handleItemRemoved); dataProvider.addEventListener(CollectionEvent.ITEM_UPDATED, handleItemUpdated);