This is an automated email from the ASF dual-hosted git repository.
pent 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 67b81a3 Updated DataGridExample and TreeExample to reflect style
improvements as well as showing standard (Array) DataGrid and DataGrid with
dynamic beads.
67b81a3 is described below
commit 67b81a342738453afd4fcf448822b98da868b63d
Author: Peter Ent <[email protected]>
AuthorDate: Thu Jan 18 16:32:45 2018 -0500
Updated DataGridExample and TreeExample to reflect style improvements as
well as showing standard (Array) DataGrid and DataGrid with dynamic beads.
---
.../src/main/royale/MyInitialView.mxml | 57 ++++++++++++----------
.../src/main/royale/models/ProductsModel.as | 8 +++
.../TreeExample/src/main/royale/MyInitialView.mxml | 17 +++++--
3 files changed, 53 insertions(+), 29 deletions(-)
diff --git a/examples/royale/DataGridExample/src/main/royale/MyInitialView.mxml
b/examples/royale/DataGridExample/src/main/royale/MyInitialView.mxml
index 086cae9..456cb48 100644
--- a/examples/royale/DataGridExample/src/main/royale/MyInitialView.mxml
+++ b/examples/royale/DataGridExample/src/main/royale/MyInitialView.mxml
@@ -35,18 +35,20 @@ limitations under the License.
private function refreshGrid():void
{
dataGrid.dataProvider = null;
- dataGrid.dataProvider = (applicationModel as
ProductsModel).productList;
+ dataGrid.dataProvider = (applicationModel as
ProductsModel).productArray;
}
private function addValue():void
{
var product:Product = new Product("xx100","New
Item",44,10,"assets/smallbluerect.jpg");
(applicationModel as
ProductsModel).productList.addItemAt(product, 2);
+ (applicationModel as
ProductsModel).productArray.splice(2,0,product);
}
private function removeValue():void
{
(applicationModel as
ProductsModel).productList.removeItemAt(2);
+ (applicationModel as
ProductsModel).productArray.splice(2,1);
}
]]>
</fx:Script>
@@ -54,29 +56,26 @@ limitations under the License.
<fx:Style>
@namespace js "library://ns.apache.org/royale/basic";
- /* These border lines currently show only on HTML */
- .opt_org-apache.royale-html-DataGrid_ListArea .middle {
- border-left: solid 1px #333333;
- border-right: solid 1px #333333;
+ /* Puts a box around each cell of the DataGrids.
+ */
+ js|DataGrid .DataItemRenderer {
+ border: solid 0.5px #ACACAC;
+ line-height: 40px;
}
-
- .DataGridStyle
- {
- IBeadView:
ClassReference("org.apache.royale.html.beads.DataGridPercentageView");
- }
-
- .DynamicGrid {
- IBeadModel:
ClassReference("org.apache.royale.html.beads.models.DataGridModel");
+ js|DataGrid .StringItemRenderer {
+ border: solid 0.5px #ACACAC;
+ line-height: 40px;
}
- .DynamicGridColumn {
- IDataProviderItemRendererMapper:
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
+ /* Allows the DataGrid to be specified with percentage widths
for the columns (rather
+ * than pixel widths) and does not respond to changes to its
dataProvider.
+ */
+ .PercentageColumnWidths {
+ IBeadView:
ClassReference("org.apache.royale.html.beads.DataGridPercentageView");
}
</fx:Style>
-
- <js:Label x="20" y="10" text="Both DataGrids share the same
dataProvider. The second DataGrid is dynamic." />
-
+
<!-- controls for first grid -->
<js:Label id="output1" x="30" y="430"/>
<js:TextButton text="Refresh Grid" x="20" y="460" click="refreshGrid()"
/>
@@ -88,22 +87,29 @@ limitations under the License.
<js:TextButton x="520" y="490" text="Remove Value"
click="removeValue()" />
+ <!-- The default configuration of the DataGrid, using only Array as the
dataProvider. A style class
+ has been added to add the DataGridPercentageView bead that lets
the columns' widths be
+ specified by percentages.
+ -->
<js:DataGrid id="dataGrid" x="20" y="50" width="400" height="350"
change="dataGridChange(dataGrid, output1)"
- rowHeight="40" className="DataGridStyle">
+ rowHeight="40"
className="PercentageColumnWidths DataGrid">
<js:beads>
<js:ConstantBinding
sourceID="applicationModel"
- sourcePropertyName="productList"
+ sourcePropertyName="productArray"
destinationPropertyName="dataProvider" />
</js:beads>
<js:columns>
- <js:DataGridColumn label="Image" dataField="image"
columnWidth="15" itemRenderer="products.ProductItemRenderer" />
+ <js:DataGridColumn label="Image" dataField="image"
columnWidth="15" itemRenderer="products.ProductItemRenderer"/>
<js:DataGridColumn label="Title" dataField="title"
columnWidth="60" />
<js:DataGridColumn label="Sales" dataField="sales"
columnWidth="25" />
</js:columns>
</js:DataGrid>
- <js:DataGrid id="dataGrid2" x="520" y="50" width="400" height="350"
change="dataGridChange(dataGrid2, output2)" rowHeight="40"
className="DynamicGrid">
+ <!-- A dynamic DataGrid, responding to additions and deletions, using
the .DynamicDataGrid style class
+ -->
+ <js:DataGrid id="dataGrid2" x="520" y="50" width="400" height="350"
change="dataGridChange(dataGrid2, output2)"
+ rowHeight="40" className="DynamicDataGrid
DataGrid">
<js:beads>
<js:ConstantBinding
sourceID="applicationModel"
@@ -111,10 +117,9 @@ limitations under the License.
destinationPropertyName="dataProvider" />
</js:beads>
<js:columns>
- <js:DataGridColumn label="Image" dataField="image"
columnWidth="100" itemRenderer="products.ProductItemRenderer"
-
className="DynamicGridColumn" />
- <js:DataGridColumn label="Title" dataField="title"
columnWidth="200" className="DynamicGridColumn" />
- <js:DataGridColumn label="Sales" dataField="sales"
columnWidth="100" className="DynamicGridColumn" />
+ <js:DataGridColumn label="Image" dataField="image"
columnWidth="100" itemRenderer="products.ProductItemRenderer"/>
+ <js:DataGridColumn label="Title" dataField="title"
columnWidth="200" />
+ <js:DataGridColumn label="Sales" dataField="sales"
columnWidth="100" />
</js:columns>
</js:DataGrid>
diff --git
a/examples/royale/DataGridExample/src/main/royale/models/ProductsModel.as
b/examples/royale/DataGridExample/src/main/royale/models/ProductsModel.as
index 65a9524..efb2844 100644
--- a/examples/royale/DataGridExample/src/main/royale/models/ProductsModel.as
+++ b/examples/royale/DataGridExample/src/main/royale/models/ProductsModel.as
@@ -35,5 +35,13 @@ package models
{
return _productList;
}
+
+ public var productArray:Array = [
+ new
Product("ps100","Blueberries",44,200,"assets/smallbluerect.jpg"),
+ new
Product("tx200","Kiwis",5,285,"assets/smallgreenrect.jpg"),
+ new
Product("rz300","Bananas",80,105,"assets/smallyellowrect.jpg"),
+ new
Product("dh440","Strawberries",10,340,"assets/smallredrect.jpg"),
+ new
Product("ps220","Oranges",35,190,"assets/smallorangerect.jpg")
+ ];
}
}
diff --git a/examples/royale/TreeExample/src/main/royale/MyInitialView.mxml
b/examples/royale/TreeExample/src/main/royale/MyInitialView.mxml
index 61bdbc0..8b70a52 100644
--- a/examples/royale/TreeExample/src/main/royale/MyInitialView.mxml
+++ b/examples/royale/TreeExample/src/main/royale/MyInitialView.mxml
@@ -23,7 +23,18 @@ limitations under the License.
<fx:Style>
@namespace js "library://ns.apache.org/royale/basic";
-
+ /* Vertically center the cells of the Tree and TreeGrid and give
+ * them a thin border.
+ */
+ .Tree .StringItemRenderer {
+ border: solid 0.5px #ACACAC;
+ line-height: 40px;
+ }
+
+ .TreeGrid .StringItemRenderer {
+ border: solid 0.5px #ACACAC;
+ line-height: 40px;
+ }
</fx:Style>
<fx:Script>
@@ -36,7 +47,7 @@ limitations under the License.
</js:beads>
<js:Tree id="tree" x="30" y="30" width="400" height="500"
- labelField="title">
+ labelField="title" rowHeight="40">
<js:beads>
<js:ConstantBinding
sourceID="applicationModel"
@@ -53,7 +64,7 @@ limitations under the License.
destinationPropertyName="dataProvider" />
</js:beads>
<js:columns>
- <js:TreeGridColumn label="Title" dataField="title"
columnWidth="250" />
+ <js:TreeGridColumn label="Title" dataField="title"
columnWidth="250" />
<js:DataGridColumn label="Artist" dataField="artist"
columnWidth="150" />
<js:DataGridColumn label="Length" dataField="length"
columnWidth="100" />
</js:columns>
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].