You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/12/16 22:36:12 UTC

[26/50] git commit: [flex-asjs] [refs/heads/master] - Updated DataGrid and MobileTrader examples to use ArrayList as dataProvider to DataGrid components.

Updated DataGrid and MobileTrader examples to use ArrayList as dataProvider to DataGrid components.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/848f245d
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/848f245d
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/848f245d

Branch: refs/heads/master
Commit: 848f245dbb8730170193f2c2f7405cf74738d347
Parents: c472807
Author: Peter Ent <pe...@apache.org>
Authored: Wed Oct 7 15:58:13 2015 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Wed Oct 7 15:58:13 2015 -0400

----------------------------------------------------------------------
 .../DataGridExample/src/models/ProductsModel.as | 10 ++++--
 .../src/controller/AlertsViewController.as      |  5 +--
 .../src/controller/WatchListController.as       |  5 +--
 .../MobileTrader/src/models/AssetsModel.as      | 14 +++++++--
 .../MobileTrader/src/models/ProductsModel.as    | 32 +++++++++++---------
 .../MobileTrader/src/views/AlertsView.mxml      |  3 +-
 .../MobileTrader/src/views/AssetsView.mxml      |  4 +--
 .../MobileTrader/src/views/WatchListView.mxml   |  1 +
 8 files changed, 49 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/DataGridExample/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/DataGridExample/src/models/ProductsModel.as b/examples/flexjs/DataGridExample/src/models/ProductsModel.as
index e3a42a9..8eab2fe 100644
--- a/examples/flexjs/DataGridExample/src/models/ProductsModel.as
+++ b/examples/flexjs/DataGridExample/src/models/ProductsModel.as
@@ -19,6 +19,7 @@
 package models
 {
 	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.collections.ArrayList;
 	
 	import products.Product;
 	
@@ -26,16 +27,21 @@ package models
 	{
 		public function ProductsModel()
 		{
+			_productList = new ArrayList();
+			_productList.source = source;
 		}
 
-		private var _productList:Array = [
+		private var source:Array = [
 			new Product("ps100","Widgets",44,200,"assets/smallbluerect.jpg"),
 			new Product("tx200","Thingys",5,285,"assets/smallgreenrect.jpg"),
 			new Product("rz300","Sprockets",80,105,"assets/smallyellowrect.jpg"),
 			new Product("dh440","Doohickies",10,340,"assets/smallredrect.jpg"),
 			new Product("ps220","Weejets",35,190,"assets/smallorangerect.jpg")
 			];
-		public function get productList():Array
+			
+		private var _productList:ArrayList;
+		
+		public function get productList():ArrayList
 		{
 			return _productList;
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
index 716264d..254cd18 100644
--- a/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
+++ b/examples/flexjs/MobileTrader/src/controller/AlertsViewController.as
@@ -28,6 +28,7 @@ package controller
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.utils.Timer;
+	import org.apache.flex.collections.ArrayList;
 	
 	import views.AlertsView;
 	
@@ -111,13 +112,13 @@ package controller
 		 */
 		protected function timerHandler(event:*):void
 		{
-			var alerts:Array = (model as ProductsModel).alerts;
+			var alerts:ArrayList = (model as ProductsModel).alerts;
 			
 			if (alerts.length == 0) return;
 			
 			for (var i:int=0; i < alerts.length; i++)
 			{
-				var alert:Alert = alerts[i] as Alert;
+				var alert:Alert = alerts.getItemAt(i) as Alert;
 				alert.message = "";
 				
 				if (alert.greaterThan) {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/controller/WatchListController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/controller/WatchListController.as b/examples/flexjs/MobileTrader/src/controller/WatchListController.as
index 367b24f..5da5b70 100644
--- a/examples/flexjs/MobileTrader/src/controller/WatchListController.as
+++ b/examples/flexjs/MobileTrader/src/controller/WatchListController.as
@@ -27,6 +27,7 @@ package controller
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.EventDispatcher;
 	import org.apache.flex.utils.Timer;
+	import org.apache.flex.collections.ArrayList;
 	
 	import views.StockView;
 	import views.WatchListView;
@@ -121,13 +122,13 @@ package controller
 		 */
 		protected function timerHandler(event:*):void
 		{
-			var stockList:Array = (model as ProductsModel).watchList;
+			var stockList:ArrayList = (model as ProductsModel).watchList;
 			
 			if (stockList.length == 0) return;
 			
 			if (index >= stockList.length) index = 0;
 			
-			(model as ProductsModel).updateStockData(stockList[index] as Stock);
+			(model as ProductsModel).updateStockData(stockList.getItemAt(index) as Stock);
 			index++;
 			
 			var newEvent:Event = new Event("update");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/models/AssetsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/models/AssetsModel.as b/examples/flexjs/MobileTrader/src/models/AssetsModel.as
index 8824bc5..674adfe 100755
--- a/examples/flexjs/MobileTrader/src/models/AssetsModel.as
+++ b/examples/flexjs/MobileTrader/src/models/AssetsModel.as
@@ -21,24 +21,34 @@ package models
 	import org.apache.flex.core.IBeadModel;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.collections.ArrayList;
 	
 	public class AssetsModel extends EventDispatcher implements IBeadModel
 	{
 		public function AssetsModel()
 		{
 			super();
+			_assetsData = new ArrayList();
+			_assetsData.source = source;
 		}
-		private var _assetsData:Array = [
+		private var source:Array = [
 			{label:"Net Worth:",    value:161984, netChange:-2.37},
 			{label:"Last Month:",   value:165915, netChange:10.98},
 			{label:"6 Months Ago:", value:145962, netChange:16.56},
 			{label:"Last Year:",    value:138972, netChange:8.36}
 		];
-		public function get assetsData():Array
+		private var _assetsData:ArrayList;
+		
+		public function get assetsData():ArrayList
 		{
 			return _assetsData;
 		}
 		
+		public function get assetsDataAsArray():Array
+		{
+		    return source;
+		}
+		
 		public function set strand(value:IStrand):void
 		{
 			// not used

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/models/ProductsModel.as b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
index 7fb7a22..b6f91ad 100755
--- a/examples/flexjs/MobileTrader/src/models/ProductsModel.as
+++ b/examples/flexjs/MobileTrader/src/models/ProductsModel.as
@@ -25,6 +25,7 @@ package models
 	import org.apache.flex.net.HTTPService;
 	import org.apache.flex.collections.parsers.JSONInputParser;
 	import org.apache.flex.collections.LazyCollection;
+	import org.apache.flex.collections.ArrayList;
 		
 	public class ProductsModel extends EventDispatcher implements IBeadModel
 	{
@@ -36,6 +37,9 @@ package models
 			collection = new LazyCollection;
 			collection.inputParser = new JSONInputParser();
 			collection.itemConverter = new StockDataJSONItemConverter();
+			
+			_watchList = new ArrayList();
+			_alerts = new ArrayList();
 		}
 		
 		private var service:HTTPService;
@@ -64,16 +68,16 @@ package models
 			return _labelFields;
 		}
 		
-		private var _watchList:Array = [];
+		private var _watchList:ArrayList;
 		
-		public function get watchList():Array
+		public function get watchList():ArrayList
 		{
 			return _watchList;
 		}
 		
-		private var _alerts:Array = [];
+		private var _alerts:ArrayList;
 		
-		public function get alerts():Array
+		public function get alerts():ArrayList
 		{
 			return _alerts;
 		}
@@ -82,14 +86,14 @@ package models
 		{
 			for (var i:int =0; i < _alerts.length; i++)
 			{
-				var alert:Alert = _alerts[i] as Alert;
+				var alert:Alert = _alerts.getItemAt(i) as Alert;
 				if (alert.symbol == value.symbol) {
-					_alerts[i] = value;
+				    _alerts.setItemAt(value, i);
 					return;
 				}
 			}
 			
-			_alerts.push(value);
+			_alerts.addItem(value);
 			dispatchEvent(new Event("alertsUpdate"));
 		}
 		
@@ -97,13 +101,13 @@ package models
 		{
 			for (var i:int=0; i < _watchList.length; i++)
 			{
-				var stock:Stock = _watchList[i];
+				var stock:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == symbol) return stock;
 			}
 			
 			stock = new Stock(symbol);
 			
-			_watchList.push(stock);
+			_watchList.addItem(stock);
 			dispatchEvent(new Event("update"));
 			
 			updateStockData(stock);
@@ -122,18 +126,18 @@ package models
 		{
 			for (var i:int=0; i < alerts.length; i++)
 			{
-				var alert:Alert = alerts[i] as Alert;
+				var alert:Alert = alerts.getItemAt(i) as Alert;
 				if (stock.symbol == alert.symbol) {
-					alerts.splice(i,1);
+					alerts.removeItemAt(i);
 					break;
 				}
 			}
 			
 			for (i=0; i < _watchList.length; i++)
 			{
-				var s:Stock = _watchList[i] as Stock;
+				var s:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == s.symbol) {
-					_watchList.splice(i,1);
+					_watchList.removeItemAt(i);
 					break;
 				}
 			}
@@ -149,7 +153,7 @@ package models
 			var sym:String = responseData["Symbol"];
 			for (var i:int=0; i < _watchList.length; i++)
 			{
-				var stock:Stock = _watchList[i];
+				var stock:Stock = _watchList.getItemAt(i) as Stock;
 				if (stock.symbol == sym) {
 					stock.updateFromData(responseData);
 					break;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
index 2c112df..96c9b86 100755
--- a/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AlertsView.mxml
@@ -48,6 +48,7 @@ limitations under the License.
 			private function onAlertSet():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("alertSet"));
+				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 		]]>
 	</fx:Script>
@@ -64,7 +65,7 @@ limitations under the License.
 		<js:TextButton text="Set" click="onAlertSet()" />
 	</js:Container>
 	
-	<js:DataGrid x="0" y="40" width="100%" height="200">
+	<js:DataGrid id="dataGrid" x="0" y="40" width="100%" height="200">
 		<js:beads>
 			<js:SimpleBinding
 				eventName="alertsUpdate"

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/AssetsView.mxml b/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
index 98e57e5..c71e257 100755
--- a/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/AssetsView.mxml
@@ -43,7 +43,7 @@ limitations under the License.
 
 	<js:Label text="Summary" height="10%" />
 	
-	<js:DataGrid height="40%" width="100%">
+	<js:DataGrid height="150" width="100%">
 		<js:style>
 			<js:SimpleCSSStyles top="0" left="0" right="0" />
 		</js:style>
@@ -66,7 +66,7 @@ limitations under the License.
 		<js:beads>
 			<js:ConstantBinding
 				sourceID="model"
-				sourcePropertyName="assetsData"
+				sourcePropertyName="assetsDataAsArray"
 				destinationPropertyName="dataProvider" />
 			<js:VerticalCategoryAxisBead categoryField="label" />
 			<js:HorizontalLinearAxisBead valueField="netChange" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/848f245d/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
index 8591aec..ec70e59 100755
--- a/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
+++ b/examples/flexjs/MobileTrader/src/views/WatchListView.mxml
@@ -60,6 +60,7 @@ limitations under the License.
 			private function addSymbol():void
 			{
 				dispatchEvent(new org.apache.flex.events.Event("addSymbol"));
+				dataGrid.model.dispatchEvent(new org.apache.flex.events.Event("dataProviderChanged"));
 			}
 			
 			public var selectedStockIndex:Number;