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 5b68129 DataGrid now defaults its model et al to support Array
dataProvider; for other data types, change the beads or use the new
.DynamicDataGrid style for convenience. Style class names fixed for DataGrid,
Tree, and TreeGrid.
5b68129 is described below
commit 5b68129cf5dae853d792ad02894d1cd7ca2bad6e
Author: Peter Ent <[email protected]>
AuthorDate: Thu Jan 18 16:30:06 2018 -0500
DataGrid now defaults its model et al to support Array dataProvider; for
other data types, change the beads or use the new .DynamicDataGrid style for
convenience. Style class names fixed for DataGrid, Tree, and TreeGrid.
---
.../projects/Basic/src/main/resources/defaults.css | 56 ++++++++++++++++++----
.../src/main/royale/org/apache/royale/html/Tree.as | 1 +
.../royale/html/beads/DataGridPercentageView.as | 11 ++---
.../org/apache/royale/html/beads/DataGridView.as | 40 ++++++++++------
.../org/apache/royale/html/beads/TreeGridView.as | 31 ++++++++----
.../beads/models/DataGridCollectionViewModel.as | 2 +-
.../royale/html/beads/models/DataGridModel.as | 6 +--
.../html/supportClasses/DataGridColumnList.as | 2 +-
8 files changed, 106 insertions(+), 43 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css
b/frameworks/projects/Basic/src/main/resources/defaults.css
index 0ac8a4d..8fbf1b0 100644
--- a/frameworks/projects/Basic/src/main/resources/defaults.css
+++ b/frameworks/projects/Basic/src/main/resources/defaults.css
@@ -174,9 +174,7 @@ DataGrid
IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
background-color: #FFFFFF;
- border-style: solid;
- border-color: #222222;
- border-width: 1px;
+ border: solid 0.5px #222222;
}
DataGridButtonBar
@@ -197,7 +195,7 @@ DataGridColumnList {
IBeadView: ClassReference("org.apache.royale.html.beads.ListView");
IBeadController:
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
- IDataProviderItemRendererMapper:
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayList");
+ IDataProviderItemRendererMapper:
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData");
IItemRendererClassFactory:
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
IItemRenderer:
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
IViewport:
ClassReference("org.apache.royale.html.supportClasses.Viewport");
@@ -213,6 +211,32 @@ DataGridColumnList {
IViewportModel:
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
}
+.DynamicDataGrid {
+ IChangePropagator:
ClassReference("org.apache.royale.html.beads.DataGridColumnChangePropagator");
+ IDataGridPresentationModel:
ClassReference("org.apache.royale.html.beads.models.DataGridPresentationModel");
+ IBeadView: ClassReference("org.apache.royale.html.beads.DataGridView");
+ IBeadModel:
ClassReference("org.apache.royale.html.beads.models.DataGridCollectionViewModel");
+ IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
+ ColumnClassName: "DynamicDataGridColumnList";
+
+ background-color: #FFFFFF;
+ border: solid 0.5px #222222;
+}
+
+.DynamicDataGridColumnList {
+ IBeadModel:
ClassReference("org.apache.royale.html.beads.models.DataGridModel");
+ IBeadView: ClassReference("org.apache.royale.html.beads.ListView");
+ IBeadController:
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
+ IDataProviderItemRendererMapper:
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
+ IItemRendererClassFactory:
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+ IItemRenderer:
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
+ IViewport:
ClassReference("org.apache.royale.html.supportClasses.Viewport");
+ IViewportModel:
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
+ border-style: none;
+ background-color: #FFFFFF;
+}
+
/* DateChooser */
DateChooser {
@@ -365,6 +389,20 @@ List
IItemRenderer:
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
IViewport:
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
IViewportModel:
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
+ border: solid 0.5px #222222;
+}
+
+.DynamicList
+{
+ IBeadModel:
ClassReference("org.apache.royale.html.beads.models.SingleSelectionCollectionViewModel");
+ IBeadView: ClassReference("org.apache.royale.html.beads.ListView");
+ IBeadController:
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout");
+ IDataProviderItemRendererMapper:
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
+ IItemRendererClassFactory:
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+ IItemRenderer:
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
+ IViewport:
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
+ IViewportModel:
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
border-style: solid;
border-color: #222222;
background-color: #FFFFFF;
@@ -415,8 +453,7 @@ Tree
IItemRenderer:
ClassReference("org.apache.royale.html.supportClasses.TreeItemRenderer");
IViewport:
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
IViewportModel:
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
- border-style: solid;
- border-color: #222222;
+ border: solid 0.5px #222222;
}
TreeGrid
@@ -424,8 +461,11 @@ TreeGrid
IBeadModel:
ClassReference("org.apache.royale.html.beads.models.TreeGridModel");
IBeadView: ClassReference("org.apache.royale.html.beads.TreeGridView");
IBeadLayout:
ClassReference("org.apache.royale.html.beads.layouts.TreeGridLayout");
- border-style: solid;
- border-color: #222222;
+ border: solid 0.5px #222222;
+}
+
+TreeGrid .TreeGridColumn {
+ border: none
}
.opt_org-apache.royale-html-TreeGrid_ListArea {
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
index 43b1c29..ec4b46a 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
@@ -45,6 +45,7 @@ package org.apache.royale.html
public function Tree()
{
super();
+ className = "Tree";
}
/**
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
index 2136788..0bf5ce7 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
@@ -19,12 +19,11 @@
package org.apache.royale.html.beads
{
import org.apache.royale.core.IDataGridModel;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.events.Event;
- import org.apache.royale.html.DataGrid;
import org.apache.royale.html.DataGridButtonBar;
import org.apache.royale.html.beads.models.ButtonBarModel;
- import org.apache.royale.html.supportClasses.DataGridColumn;
- import org.apache.royale.html.supportClasses.DataGridColumnList;
+ import org.apache.royale.html.supportClasses.IDataGridColumn;
/**
* The DataGridPercentageView class is the visual bead for the
org.apache.royale.html.DataGrid.
@@ -62,18 +61,18 @@ package org.apache.royale.html.beads
if (columnLists)
{
- var host:DataGrid = _strand as DataGrid;
+ var host:UIBase = _strand as UIBase;
var sharedModel:IDataGridModel = host.model as IDataGridModel;
var columnListCount:int =
sharedModel.columns.length;
var buttonWidths:Array = [];
for (var i:int = 0; i < columnListCount; i++)
{
- var dgc:DataGridColumn = sharedModel.columns[i] as
DataGridColumn;
+ var dgc:IDataGridColumn = sharedModel.columns[i] as
IDataGridColumn;
var colWidth:Number = dgc.columnWidth;
buttonWidths.push(colWidth);
- var list:DataGridColumnList = columnLists[i] as
DataGridColumnList;
+ var list:UIBase = columnLists[i] as UIBase;
if (!isNaN(dgc.columnWidth))
{
list.width = NaN;
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
index d3dbb68..6cc2bbe 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
@@ -18,23 +18,25 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html.beads
{
+ import org.apache.royale.core.IBead;
import org.apache.royale.core.IBeadModel;
import org.apache.royale.core.IBeadView;
- import org.apache.royale.core.IDataGridModel;
import org.apache.royale.core.IChild;
+ import org.apache.royale.core.IDataGridModel;
import org.apache.royale.core.IDataGridPresentationModel;
+ import org.apache.royale.core.IUIBase;
+ import org.apache.royale.core.ValuesManager;
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
- import org.apache.royale.core.IBead;
- import org.apache.royale.core.IUIBase;
+ import org.apache.royale.html.Container;
import org.apache.royale.html.DataGrid;
import org.apache.royale.html.DataGridButtonBar;
- import org.apache.royale.html.Container;
import org.apache.royale.html.beads.layouts.ButtonBarLayout;
import org.apache.royale.html.beads.models.ButtonBarModel;
import org.apache.royale.html.supportClasses.DataGridColumn;
import org.apache.royale.html.supportClasses.DataGridColumnList;
import org.apache.royale.html.supportClasses.Viewport;
+ import org.apache.royale.utils.loadBeadFromValuesManager;
COMPILE::SWF {
import org.apache.royale.core.SimpleCSSStylesWithFlex;
@@ -242,6 +244,12 @@ package org.apache.royale.html.beads
private function createLists():void
{
var host:DataGrid = _strand as DataGrid;
+
+ // get the name of the class to use for the
columns
+ var columnClassName:String =
ValuesManager.valuesImpl.getValue(host, "columnClassName") as String;
+ if (columnClassName == null) {
+ columnClassName = "DataGridColumnList";
+ }
var sharedModel:IDataGridModel = host.model as
IDataGridModel;
var
presentationModel:IDataGridPresentationModel = host.presentationModel;
@@ -251,28 +259,30 @@ package org.apache.royale.html.beads
for (var i:int=0; i <
sharedModel.columns.length; i++)
{
var dataGridColumn:DataGridColumn =
sharedModel.columns[i] as DataGridColumn;
+ var useClassName:String =
columnClassName;
+ if (dataGridColumn.className != null)
useClassName = dataGridColumn.className;
var list:DataGridColumnList = new
DataGridColumnList();
- if (dataGridColumn.className != null)
list.className = dataGridColumn.className;
- list.id = "dataGridColumn"+String(i);
- list.dataProvider =
sharedModel.dataProvider;
- list.itemRenderer =
dataGridColumn.itemRenderer;
- list.labelField =
dataGridColumn.dataField;
-
list.addEventListener('change',handleColumnListChange);
- list.addBead(presentationModel as
IBead);
-
+
if (i == 0)
{
- list.typeNames = "first";
+ list.className = "first
"+useClassName;
}
else if (i ==
sharedModel.columns.length-1)
{
- list.typeNames = "last";
+ list.className = "last
"+useClassName;
}
else
{
- list.typeNames = "middle";
+ list.className = "middle
"+useClassName;
}
+
+ list.id = "dataGridColumn"+String(i);
+ list.dataProvider =
sharedModel.dataProvider;
+ list.itemRenderer =
dataGridColumn.itemRenderer;
+ list.labelField =
dataGridColumn.dataField;
+
list.addEventListener('change',handleColumnListChange);
+ list.addBead(presentationModel as
IBead);
_listArea.addElement(list as IChild);
_lists.push(list);
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
index fd99b6c..b2bc41f 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
@@ -267,6 +267,12 @@ package org.apache.royale.html.beads
{
var host:TreeGrid = _strand as TreeGrid;
+ // get the name of the class to use for the columns
+ var columnClassName:String =
ValuesManager.valuesImpl.getValue(host, "columnClassName") as String;
+ if (columnClassName == null) {
+ columnClassName = "TreeGridColumn";
+ }
+
var presentationModel:IDataGridPresentationModel =
host.presentationModel;
var sharedModel:IDataGridModel = host.model as
IDataGridModel;
@@ -274,8 +280,23 @@ package org.apache.royale.html.beads
for (var i:int=0; i < sharedModel.columns.length; i++) {
var columnDef:IDataGridColumn =
sharedModel.columns[i] as IDataGridColumn;
+ var useClassName:String = columnClassName;
+ if (columnDef.className != null) useClassName =
columnDef.className;
+
var column:List = columnDef.createColumn() as
List;
- if (columnDef.className != null)
column.className = columnDef.className;
+
+ if (i == 0)
+ {
+ column.className = "first
"+useClassName;
+ }
+ else if (i == sharedModel.columns.length-1)
+ {
+ column.className = "last "+useClassName;
+ }
+ else
+ {
+ column.className = "middle
"+useClassName;
+ }
// For the TreeGrid, the List columns must use
this
// model and itemRenderer factory to be
compatible
@@ -293,14 +314,6 @@ package org.apache.royale.html.beads
column.addBead(new Viewport());
column.addEventListener('change',
handleColumnListChange);
- if (i == 0) {
- column.typeNames = "first";
- } else if (i == sharedModel.columns.length-1) {
- column.typeNames = "last";
- } else {
- column.typeNames = "middle";
- }
-
_listArea.addElement(column);
_lists.push(column);
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
index 3266654..c615036 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
@@ -25,7 +25,7 @@ package org.apache.royale.html.beads.models
/**
* The DataGridCollectiomModel class bead extends
org.apache.royale.html.beads.models.SingleSelectionCollectionViewModel
* to facilitate using an ICollectionView as the dataProvider for the
DataGrid. Use this with
- * org.apache.royale.html.beads.DataItemRenderFactoryForCollectionView.
+ * org.apache.royale.html.beads.DataItemRenderFactoryForCollectionView
for each DataGridColumn.
*
* @langversion 3.0
* @playerversion Flash 10.2
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
index 419f124..9ce6797 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
@@ -23,15 +23,15 @@ package org.apache.royale.html.beads.models
import org.apache.royale.events.Event;
/**
- * The DataGridModel class bead extends
org.apache.royale.html.beads.models.ArrayListSelectionModel
- * to facilitate using an ArrayList as the dataProvider for the
DataGrid.
+ * The DataGridModel class bead extends
org.apache.royale.html.beads.models.ArraySelectionModel
+ * to facilitate using an Array as the dataProvider for the DataGrid.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.0
*/
- public class DataGridModel extends ArrayListSelectionModel implements
IDataGridModel
+ public class DataGridModel extends ArraySelectionModel implements
IDataGridModel
{
/**
* constructor.
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
index a7d9fb2..a127562 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
@@ -56,7 +56,7 @@ package org.apache.royale.html.supportClasses
public function DataGridColumnList()
{
super();
- typeNames = "DataGridColumnList";
+ className = "DataGridColumnList";
}
public var columnInfo: DataGridColumn;
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].