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/browser-event
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);

Reply via email to