Updated MobileStocks example with better resize handling.

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

Branch: refs/heads/feature-autobuild/maven-archetypes
Commit: 805838652cb668143361ce74cbd58f02c2850c33
Parents: 5df884a
Author: Peter Ent <p...@apache.org>
Authored: Tue Oct 11 16:49:21 2016 -0400
Committer: Peter Ent <p...@apache.org>
Committed: Tue Oct 11 16:49:21 2016 -0400

----------------------------------------------------------------------
 .../src/StockDataJSONItemConverter.as           | 11 ++--
 .../MobileStocks/src/models/ProductsModel.as    |  1 +
 .../MobileStocks/src/views/LaunchView.mxml      | 68 +++++++++++++-------
 .../MobileStocks/src/views/WatchListView.mxml   | 41 ++++--------
 4 files changed, 63 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80583865/examples/flexjs/MobileStocks/src/StockDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileStocks/src/StockDataJSONItemConverter.as 
b/examples/flexjs/MobileStocks/src/StockDataJSONItemConverter.as
index 5c21c26..92a75dc 100755
--- a/examples/flexjs/MobileStocks/src/StockDataJSONItemConverter.as
+++ b/examples/flexjs/MobileStocks/src/StockDataJSONItemConverter.as
@@ -17,24 +17,25 @@
 //
 
////////////////////////////////////////////////////////////////////////////////
 package
-{    
+{
     import org.apache.flex.collections.converters.JSONItemConverter;
-    
+
     public class StockDataJSONItemConverter extends JSONItemConverter
     {
         public function StockDataJSONItemConverter()
         {
             super();
         }
-        
+
         override public function convertItem(data:String):Object
         {
             var obj:Object = super.convertItem(data);
+            if (obj["query"] == null) return "No Data";
                        if (obj["query"]["count"] == 0)
                                return "No Data";
-                       
+
                        obj = obj["query"]["results"]["quote"];
                        return obj;
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80583865/examples/flexjs/MobileStocks/src/models/ProductsModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileStocks/src/models/ProductsModel.as 
b/examples/flexjs/MobileStocks/src/models/ProductsModel.as
index 91bc792..b807e19 100755
--- a/examples/flexjs/MobileStocks/src/models/ProductsModel.as
+++ b/examples/flexjs/MobileStocks/src/models/ProductsModel.as
@@ -232,6 +232,7 @@ package models
                private function completeHandler(event:Event):void
                {
                        var responseData:Object = collection.getItemAt(0);
+                       if ((responseData is String) && (responseData == "No 
Data")) return;
                        var sym:String = responseData["Symbol"];
 
                        var queueNext:Stock = null;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80583865/examples/flexjs/MobileStocks/src/views/LaunchView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileStocks/src/views/LaunchView.mxml 
b/examples/flexjs/MobileStocks/src/views/LaunchView.mxml
index 5d14065..094da51 100644
--- a/examples/flexjs/MobileStocks/src/views/LaunchView.mxml
+++ b/examples/flexjs/MobileStocks/src/views/LaunchView.mxml
@@ -80,6 +80,22 @@ limitations under the License.
                        padding-bottom: 2px;
                        padding-right: 10px;
                }
+               
+               .Outer1 {
+                       background-color: #FFFFCC;
+               }
+               
+               .Outer2 {
+                       background-color: #FF0000;
+               }
+               
+               .LaunchGrid {
+                       background-color: #0000FF;
+               }
+               
+               .DataGridListArea {
+                       background-color: #CCFFFF;
+               }
        </fx:Style>
        
        <fx:Metadata>
@@ -94,7 +110,10 @@ limitations under the License.
                <models:AssetsModel />
        </js:model>
 
-       <js:HContainer height="10%">
+       <js:Container height="40" width="100%" className="Outer1">
+         <js:beads>
+               <js:OneFlexibleChildHorizontalLayout flexibleChild="spacer1" 
maxWidth="400" maxHeight="20" />
+         </js:beads>
                <js:Label text="Symbol:" />
                <js:TextInput id="symbolInput" width="50" />
                <js:Spacer width="10" />
@@ -102,37 +121,40 @@ limitations under the License.
                <js:TextInput id="sharesInput" width="50" />
                <js:Spacer width="10" />
                <js:TextButton id="addButton" text="Add" width="80" 
click="addSymbol()" />
-               <js:Spacer width="30" />
+               <js:Spacer id="spacer1" width="1" />
                <js:TextButton id="removeButton" text="Remove" width="80" 
click="removeSymbol()" />
-       </js:HContainer>
+       </js:Container>
        
-       <js:DataGrid id="assetGrid" height="45%" width="510" rowHeight="25" 
change="gridSelected()">
-               <js:beads>
-                       <js:SimpleBinding
-                               eventName="update"
-                               sourceID="dataModel"
-                               sourcePropertyName="assetList"
-                               destinationPropertyName="dataProvider" />
-                       <js:DataProviderChangeNotifier sourceID="dataModel" 
propertyName="assetList" 
-                                                                               
   destinationPropertyName="dataProvider" changeEventName="dataProviderChanged" 
/>
-               </js:beads>
-               <js:columns>
-                       <js:DataGridColumn columnWidth="250" label="Company 
(SYMB)" dataField="name" itemRenderer="renderers.CompanyNameRenderer" />
-                       <js:DataGridColumn columnWidth="80" label="Shares" 
dataField="shares" />
-                       <js:DataGridColumn columnWidth="80" label="Last" 
dataField="last" />
-                       <js:DataGridColumn columnWidth="100" label="Total $" 
dataField="shares" itemRenderer="renderers.SharesTotalRenderer" />
-               </js:columns>
-       </js:DataGrid>
+       <js:Container height="45%" width="100%" className="Outer2">
+               <js:DataGrid id="assetGrid" height="100%" width="100%" 
rowHeight="25" change="gridSelected()" className="LaunchGrid">
+                       <js:beads>
+                               <js:DataGridPercentageLayout />
+                               <js:SimpleBinding
+                                       eventName="update"
+                                       sourceID="dataModel"
+                                       sourcePropertyName="assetList"
+                                       destinationPropertyName="dataProvider" 
/>
+                               <js:DataProviderChangeNotifier 
sourceID="dataModel" propertyName="assetList" 
+                                                                               
           destinationPropertyName="dataProvider" 
changeEventName="dataProviderChanged" />
+                       </js:beads>
+                       <js:columns>
+                               <js:DataGridColumn columnWidth="36" 
label="Company (SYMB)" dataField="name" 
itemRenderer="renderers.CompanyNameRenderer" />
+                               <js:DataGridColumn columnWidth="20" 
label="Shares" dataField="shares" />
+                               <js:DataGridColumn columnWidth="20" 
label="Last" dataField="last" />
+                               <js:DataGridColumn columnWidth="24" 
label="Total $" dataField="shares" itemRenderer="renderers.SharesTotalRenderer" 
/>
+                       </js:columns>
+               </js:DataGrid>
+       </js:Container>
        
        <js:Spacer height="3%" />
                
-       <js:StackedBarChart id="barChart" width="510" height="40%" 
className="AllCharts">
+       <js:BarChart id="barChart" width="100%" height="40%" 
className="AllCharts">
                <js:model>
                        <js:ChartArrayListSelectionModel />
                </js:model>
                <js:beads>
                        <js:DataItemRendererFactoryForSeriesArrayListData />
-                       <js:StackedBarChartLayoutForArrayList />
+                       <js:BarChartLayoutForArrayList />
                        <js:SimpleBinding
                                eventName="update"
                                sourceID="dataModel"
@@ -156,6 +178,6 @@ limitations under the License.
                                </js:itemRenderer>
                        </js:BarSeries>
                </js:series>
-       </js:StackedBarChart>
+       </js:BarChart>
 
 </js:TitleView>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80583865/examples/flexjs/MobileStocks/src/views/WatchListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/MobileStocks/src/views/WatchListView.mxml 
b/examples/flexjs/MobileStocks/src/views/WatchListView.mxml
index f4dcd94..1c317fe 100755
--- a/examples/flexjs/MobileStocks/src/views/WatchListView.mxml
+++ b/examples/flexjs/MobileStocks/src/views/WatchListView.mxml
@@ -107,6 +107,7 @@ limitations under the License.
                
        <js:DataGrid id="dataGrid" width="100%" height="85%" 
change="selectRow()" className="WatchListDataGrid">
                <js:beads>
+                       <js:DataGridPercentageLayout />
                        <js:SimpleBinding
                                eventName="update"
                                sourceID="dataModel"
@@ -116,38 +117,18 @@ limitations under the License.
                                                                                
   destinationPropertyName="dataProvider" changeEventName="dataProviderChanged" 
/>
                </js:beads>
                <js:columns>
-                       <js:DataGridColumn label="Company (SYMB)" 
dataField="symbol" 
+                       <js:DataGridColumn label="Company (SYMB)" 
dataField="symbol" columnWidth="45"
                                           
itemRenderer="renderers.CompanyNameRenderer" />
-                       <js:DataGridColumn label="Open" dataField="open"
+                       <js:DataGridColumn label="Open" dataField="open" 
columnWidth="11"
+                                          
itemRenderer="renderers.StockRenderer" />
+                       <js:DataGridColumn label="Last" 
dataField="last"columnWidth="11"
+                                          
itemRenderer="renderers.StockRenderer" />
+                       <js:DataGridColumn label="Change" 
dataField="change"columnWidth="11"
+                                          
itemRenderer="renderers.StockRenderer" />
+                       <js:DataGridColumn label="High" 
dataField="high"columnWidth="11"
+                                          
itemRenderer="renderers.StockRenderer" />
+                       <js:DataGridColumn label="Low" dataField="low" 
columnWidth="11"
                                           
itemRenderer="renderers.StockRenderer" />
-                       <js:DataGridColumn label="Last" dataField="last" >
-                               <js:itemRenderer>
-                                       <fx:Component>
-                                               <renderers:StockRenderer />
-                                       </fx:Component>
-                               </js:itemRenderer>
-                       </js:DataGridColumn>
-                       <js:DataGridColumn label="Change" dataField="change">
-                               <js:itemRenderer>
-                                       <fx:Component>
-                                               <renderers:StockRenderer />
-                                       </fx:Component>
-                               </js:itemRenderer>
-                       </js:DataGridColumn>
-                       <js:DataGridColumn label="High" dataField="high" >
-                               <js:itemRenderer>
-                                       <fx:Component>
-                                               <renderers:StockRenderer />
-                                       </fx:Component>
-                               </js:itemRenderer>
-                       </js:DataGridColumn>
-                       <js:DataGridColumn label="Low" dataField="low" >
-                               <js:itemRenderer>
-                                       <fx:Component>
-                                               <renderers:StockRenderer />
-                                       </fx:Component>
-                               </js:itemRenderer>
-                       </js:DataGridColumn>
                </js:columns>
        </js:DataGrid>
        

Reply via email to