You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2018/05/22 17:32:51 UTC

[royale-asjs] branch develop updated: add Bindable "dataProviderChanged" and example. We must notice that a reassing in the watched dataprovider variable is not catch by the list, this should be fixed in some way

This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 adf1d88  add Bindable "dataProviderChanged" and example. We must notice that a reassing in the watched dataprovider variable is not catch by the list, this should be fixed in some way
adf1d88 is described below

commit adf1d8882080cafab5438e82cf024273ba565f25
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue May 22 19:32:46 2018 +0200

    add Bindable "dataProviderChanged" and example.
    We must notice that a reassing in the watched dataprovider variable is not catch by the list, this should be fixed in some way
---
 .../royale/ListExample/src/main/royale/MyInitialView.mxml     | 11 ++++++++++-
 .../ListExample/src/main/royale/models/ProductsModel.as       |  5 +++++
 .../html/beads/models/SingleSelectionCollectionViewModel.as   |  1 +
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/examples/royale/ListExample/src/main/royale/MyInitialView.mxml b/examples/royale/ListExample/src/main/royale/MyInitialView.mxml
index 45c323b..8ca5a76 100644
--- a/examples/royale/ListExample/src/main/royale/MyInitialView.mxml
+++ b/examples/royale/ListExample/src/main/royale/MyInitialView.mxml
@@ -47,6 +47,7 @@ limitations under the License.
 	<fx:Script>
 		<![CDATA[
 			import models.ProductsModel;
+			import org.apache.royale.collections.ArrayList;
 			
 			private function addState():void
 			{
@@ -65,6 +66,13 @@ limitations under the License.
 			private function onScrollEnd():void{
 				trace("scroll end");
 			}
+
+			private function assignDataProvider():void{
+				trace("assign new DataProvider");
+
+				dynamicList.dataProvider = new ArrayList(['one', 'two', 'three', 'four']);
+				//(applicationModel as ProductsModel).states = new ArrayList(['one', 'two', 'three', 'four']);  <-- this way the list doesn't notice the change
+			}
 		]]>
 	</fx:Script>
 	
@@ -88,7 +96,7 @@ limitations under the License.
 	
 	<js:Label x="300" y="20" text="A dynamic List" />
 	
-	<js:List x="300" y="40" width="200" height="300" className="DynamicList">
+	<js:List id="dynamicList" x="300" y="40" width="200" height="300" className="DynamicList">
 		<js:beads>
 			<js:ConstantBinding
 				sourceID="applicationModel"
@@ -100,6 +108,7 @@ limitations under the License.
 	
 	<js:TextButton text="Add New Jersey" x="300" y="350" click="addState()" />
 	<js:TextButton text="Remove New Jersey" x="300" y="380" click="removeState()" />
+	<js:TextButton text="Assign New Data" x="300" y="410" click="assignDataProvider()" />
 	
 	<!-- A custom list built from DataContainer.
 	-->
diff --git a/examples/royale/ListExample/src/main/royale/models/ProductsModel.as b/examples/royale/ListExample/src/main/royale/models/ProductsModel.as
index f4601eb..30bbc62 100644
--- a/examples/royale/ListExample/src/main/royale/models/ProductsModel.as
+++ b/examples/royale/ListExample/src/main/royale/models/ProductsModel.as
@@ -40,6 +40,11 @@ package models
 		{
 			return _states;
 		}
+
+		public function set states(a:ArrayList):void
+		{
+			_states = a;
+		}
         
         public var _bigArray:Array;
         
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
index b42a500..df1ba3d 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/SingleSelectionCollectionViewModel.as
@@ -66,6 +66,7 @@ package org.apache.royale.html.beads.models
 
 		private var _dataProvider:ICollectionView;
 
+		[Bindable("dataProviderChanged")]
         /**
          *  @copy org.apache.royale.core.ISelectionModel#dataProvider
          *

-- 
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.