You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2014/01/20 16:09:31 UTC
git commit: [flex-asjs] [refs/heads/develop] - Completed
DataGridColumn work: removed labelFields from the DataGridModel (now provided
by DataGridColumn);
added button widths (optional) to ButtonBar to support columnWidth property of
DataGridColumn. Adde
Updated Branches:
refs/heads/develop 9eb52b0aa -> ca0e19300
Completed DataGridColumn work: removed labelFields from the DataGridModel (now provided by DataGridColumn); added button widths (optional) to ButtonBar to support columnWidth property of DataGridColumn. Added RowHeightBead to optionally set row height (same or variable) for DataGrid.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/ca0e1930
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/ca0e1930
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/ca0e1930
Branch: refs/heads/develop
Commit: ca0e19300471219f46e1518ef14916565d8a0e08
Parents: 9eb52b0
Author: Peter Ent <pe...@apache.org>
Authored: Mon Jan 20 10:09:18 2014 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Jan 20 10:09:18 2014 -0500
----------------------------------------------------------------------
.../src/org/apache/flex/core/IDataGridModel.as | 5 +-
.../src/org/apache/flex/core/ISelectionModel.as | 3 +
.../apache/flex/html/staticControls/DataGrid.as | 9 ---
.../org/apache/flex/html/staticControls/List.as | 9 +++
.../staticControls/beads/DataGridColumnView.as | 10 ---
.../html/staticControls/beads/DataGridView.as | 69 ++++++++++++-------
.../DataItemRendererFactoryForArrayData.as | 1 +
.../DataItemRendererFactoryForColumnData.as | 10 +--
.../flex/html/staticControls/beads/ListView.as | 2 +-
.../beads/layouts/ButtonBarLayout.as | 18 ++++-
.../NonVirtualVerticalScrollingLayout.as | 1 +
.../beads/models/ArraySelectionModel.as | 13 ++++
.../beads/models/DataGridModel.as | 19 ++----
.../supportClasses/DataItemRenderer.as | 10 +++
.../supportClasses/StringItemRenderer.as | 4 +-
.../apache/flex/html/staticControls/DataGrid.js | 20 ------
.../org/apache/flex/html/staticControls/List.js | 20 ++++++
.../html/staticControls/beads/DataGridView.js | 72 ++++++++++++--------
.../DataItemRendererFactoryForArrayData.js | 1 +
.../DataItemRendererFactoryForColumnData.js | 3 +-
.../beads/layouts/ButtonBarLayout.js | 24 ++++++-
.../beads/layouts/NonVirtualVerticalLayout.js | 2 +
.../beads/models/ArraySelectionModel.js | 21 ++++++
.../beads/models/DataGridModel.js | 20 ------
.../supportClasses/DataItemRenderer.js | 57 ++++------------
.../supportClasses/StringItemRenderer.js | 54 ++-------------
26 files changed, 244 insertions(+), 233 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
index eb7e326..41b8827 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IDataGridModel.as
@@ -19,10 +19,7 @@
package org.apache.flex.core
{
public interface IDataGridModel extends ISelectionModel
- {
- function get labelFields():Object;
- function set labelFields(value:Object):void;
-
+ {
function get columns():Array;
function set columns(value:Array):void;
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
index cdca279..518d5f9 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/ISelectionModel.as
@@ -30,5 +30,8 @@ package org.apache.flex.core
function get selectedItem():Object;
function set selectedItem(value:Object):void;
+
+ function get labelField():String;
+ function set labelField(value:String):void;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
index ad35adf..63ff36e 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/DataGrid.as
@@ -48,15 +48,6 @@ package org.apache.flex.html.staticControls
IDataGridModel(model).dataProvider = value;
}
- public function get labelFields():Object
- {
- return IDataGridModel(model).labelFields;
- }
- public function set labelFields(value:Object):void
- {
- IDataGridModel(model).labelFields = value;
- }
-
public function get selectedIndex():int
{
return IDataGridModel(model).selectedIndex;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
index a74d65a..ab3a7d7 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/List.as
@@ -42,6 +42,15 @@ package org.apache.flex.html.staticControls
super();
}
+ public function get labelField():String
+ {
+ return ISelectionModel(model).labelField;
+ }
+ public function set labelField(value:String):void
+ {
+ ISelectionModel(model).labelField = value;
+ }
+
public function get dataProvider():Object
{
return ISelectionModel(model).dataProvider;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
index ae3398a..7246bf3 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridColumnView.as
@@ -53,15 +53,5 @@ package org.apache.flex.html.staticControls.beads
{
_column = value;
}
-
- private var _labelField:String;
- public function get labelField():String
- {
- return _labelField;
- }
- public function set labelField(value:String):void
- {
- _labelField = value;
- }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
index e069688..93350ee 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataGridView.as
@@ -24,18 +24,20 @@ package org.apache.flex.html.staticControls.beads
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.core.IDataGridPresentationModel;
+ import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.html.staticControls.Button;
import org.apache.flex.html.staticControls.ButtonBar;
import org.apache.flex.html.staticControls.Container;
import org.apache.flex.html.staticControls.List;
- import org.apache.flex.html.staticControls.SimpleList;
+ import org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout;
import org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout;
import org.apache.flex.html.staticControls.beads.models.ArraySelectionModel;
+ import org.apache.flex.html.staticControls.supportClasses.DataGridColumn;
public class DataGridView implements IDataGridView
{
@@ -49,19 +51,37 @@ package org.apache.flex.html.staticControls.beads
private var columnContainer:Container;
private var columns:Array;
+ public function getColumnLists():Array
+ {
+ return columns;
+ }
+
private var _strand:IStrand;
public function set strand(value:IStrand):void
{
_strand = value;
+ var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+
background = new Shape();
DisplayObjectContainer(_strand).addChild(background);
- var pm:IDataGridPresentationModel = _strand.getBeadByType(IDataGridPresentationModel) as IDataGridPresentationModel;
+ // create an array of columnLabels for use by the ButtonBar/DataGrid header.
+ var columnLabels:Array = new Array();
+ var buttonWidths:Array = new Array();
+ for(var i:int=0; i < sharedModel.columns.length; i++) {
+ columnLabels.push(sharedModel.columns[i].label);
+ buttonWidths.push(sharedModel.columns[i].columnWidth);
+ }
+ var bblayout:ButtonBarLayout = new ButtonBarLayout();
+ bblayout.buttonWidths = buttonWidths;
+
buttonBarModel = new ArraySelectionModel();
- buttonBarModel.dataProvider = pm.columnLabels;
+ buttonBarModel.dataProvider = columnLabels;
+
buttonBar = new ButtonBar();
buttonBar.addBead(buttonBarModel);
+ buttonBar.addBead(bblayout);
UIBase(_strand).addElement(buttonBar);
columnContainer = new Container();
@@ -69,25 +89,25 @@ package org.apache.flex.html.staticControls.beads
columnContainer.addBead(layout);
UIBase(_strand).addElement(columnContainer);
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-
columns = new Array();
- for(var i:int=0; i < pm.columnLabels.length; i++) {
- var column:List = new List(); // NEW (old:) new SimpleList();
- var columnView:DataGridColumnView = new DataGridColumnView();
- //columnView.labelField = sharedModel.labelFields[i];
- columnView.column = sharedModel.columns[i]; // NEW
- column.itemRenderer = columnView.column.itemRenderer;
- var factory:DataItemRendererFactoryForColumnData = new DataItemRendererFactoryForColumnData();
- columnView.columnIndex = i;
- column.addBead(sharedModel);
- column.addBead(columnView);
- column.addBead(factory);
- columnContainer.addElement(column);
- columns.push(column);
+ for(i=0; i < sharedModel.columns.length; i++) {
+ var listModel:ISelectionModel = new ArraySelectionModel();
+ listModel.dataProvider = sharedModel.dataProvider;
+
+ var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+
+ var list:List = new List();
+ list.addBead(listModel);
+ list.itemRenderer = dataGridColumn.itemRenderer;
+ list.labelField = dataGridColumn.dataField;
- column.addEventListener('change',columnListChangeHandler);
- column.addEventListener('rollover',columnListRollOverHandler);
+ var colWidth:Number = dataGridColumn.columnWidth;
+ if (!isNaN(colWidth)) list.width = colWidth;
+
+ columnContainer.addElement(list);
+ columns.push(list);
+ list.addEventListener('change',columnListChangeHandler);
+ list.addEventListener('rollover',columnListRollOverHandler);
}
IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
@@ -124,16 +144,19 @@ package org.apache.flex.html.staticControls.beads
var column:List = columns[i];
var cw:Number = sw/(columns.length);
- column.x = i*cw; // should be positioned by the Container's layout
column.y = 0;
- column.width = cw;
column.height = columnContainer.height; // this will actually be Nitem*rowHeight
}
+
+ IEventDispatcher(_strand).dispatchEvent(new Event("layoutComplete"));
}
private function columnListChangeHandler(event:Event):void
{
+ var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
var list:List = event.target as List;
+ sharedModel.selectedIndex = list.selectedIndex;
+
for(var i:int=0; i < columns.length; i++) {
if (list != columns[i]) {
columns[i].selectedIndex = list.selectedIndex;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
index 94a8d7e..aed6c5b 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.as
@@ -83,6 +83,7 @@ package org.apache.flex.html.staticControls.beads
{
var ir:IItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as IItemRenderer;
ir.index = i;
+ ir.labelField = selectionModel.labelField;
dataGroup.addElement(ir);
ir.data = dp[i];
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
index fc9e88a..87e5366 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.as
@@ -20,6 +20,7 @@ package org.apache.flex.html.staticControls.beads
{
import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadView;
+ import org.apache.flex.core.IDataGridModel;
import org.apache.flex.core.IDataProviderItemRendererMapper;
import org.apache.flex.core.IItemRenderer;
import org.apache.flex.core.IItemRendererClassFactory;
@@ -29,6 +30,7 @@ package org.apache.flex.html.staticControls.beads
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.html.staticControls.supportClasses.DataGridColumn;
import org.apache.flex.html.staticControls.supportClasses.DataItemRenderer;
public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper
@@ -37,14 +39,14 @@ package org.apache.flex.html.staticControls.beads
{
}
- private var selectionModel:ISelectionModel;
+ private var selectionModel:IDataGridModel;
private var _strand:IStrand;
public function set strand(value:IStrand):void
{
_strand = value;
- selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
+ selectionModel = value.getBeadByType(IDataGridModel) as IDataGridModel;
var listView:IListView = value.getBeadByType(IListView) as IListView;
dataGroup = listView.dataGroup;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
@@ -82,13 +84,13 @@ package org.apache.flex.html.staticControls.beads
var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
if (view == null) return;
-
+
var n:int = dp.length;
for (var i:int = 0; i < n; i++)
{
-
var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer;
tf.index = i;
+ tf.labelField = view.column.dataField;
dataGroup.addElement(tf);
tf.data = dp[i];
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
index c6d33b4..f1ac5d3 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as
@@ -109,7 +109,7 @@ package org.apache.flex.html.staticControls.beads
_dataGroup = new NonVirtualDataGroup();
IParent(_strand).addElement(_dataGroup);
- if (getBeadByType(IBeadLayout) == null)
+ if (_strand.getBeadByType(IBeadLayout) == null)
{
var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
strand.addBead(mapper);
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
index c7c0a2d..80ad0fa 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.as
@@ -44,6 +44,16 @@ package org.apache.flex.html.staticControls.beads.layouts
IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
}
+ private var _buttonWidths:Array = null;
+ public function get buttonWidths():Array
+ {
+ return _buttonWidths;
+ }
+ public function set buttonWidths(value:Array):void
+ {
+ _buttonWidths = value;
+ }
+
private function changeHandler(event:Event):void
{
var layoutParent:ILayoutParent = _strand.getBeadByType(ILayoutParent) as ILayoutParent;
@@ -59,10 +69,12 @@ package org.apache.flex.html.staticControls.beads.layouts
var child:DisplayObject = contentView.getChildAt(i);
child.y = 0;
- child.x = xpos;
- child.width = useWidth;
child.height = useHeight;
- xpos += useWidth;
+ child.x = xpos;
+
+ if (buttonWidths) child.width = Number(buttonWidths[i]);
+ else child.width = useWidth;
+ xpos += child.width;
}
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
index 0bc9dfd..cb32137 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalScrollingLayout.as
@@ -49,6 +49,7 @@ package org.apache.flex.html.staticControls.beads.layouts
IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
IEventDispatcher(value).addEventListener("itemsCreated", changeHandler);
+ IEventDispatcher(value).addEventListener("layoutNeeded", changeHandler);
}
private function changeHandler(event:Event):void
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
index d1794be..6e0929b 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.as
@@ -51,6 +51,19 @@ package org.apache.flex.html.staticControls.beads.models
private var _selectedIndex:int = -1;
private var _rollOverIndex:int = -1;
+ private var _labelField:String = null;
+
+ public function get labelField():String
+ {
+ return _labelField;
+ }
+ public function set labelField(value:String):void
+ {
+ if (value != _labelField) {
+ _labelField = value;
+ dispatchEvent(new Event("labelFieldChanged"));
+ }
+ }
public function get selectedIndex():int
{
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
index 74dbf2c..fb607ba 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.as
@@ -28,20 +28,6 @@ package org.apache.flex.html.staticControls.beads.models
super();
}
- private var _labelFields:Object;
- public function get labelFields():Object
- {
- return _labelFields;
- }
-
- public function set labelFields(value:Object):void
- {
- if (value != _labelFields) {
- _labelFields = value;
- dispatchEvent( new Event("labelFieldsChanged"));
- }
- }
-
private var _columns:Array;
public function get columns():Array
{
@@ -49,7 +35,10 @@ package org.apache.flex.html.staticControls.beads.models
}
public function set columns(value:Array):void
{
- _columns = value;
+ if (_columns != value) {
+ _columns = value;
+ dispatchEvent( new Event("columnsChanged"));
+ }
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
index b12050b..1eab8a7 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.as
@@ -47,6 +47,16 @@ package org.apache.flex.html.staticControls.supportClasses
_rowIndex = value;
}
+ private var _dataField:String;
+ public function get dataField():String
+ {
+ return _dataField;
+ }
+ public function set dataField(value:String):void
+ {
+ _dataField = value;
+ }
+
private var background:Sprite;
override public function addedToParent():void
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
index 3242024..7e041b1 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.as
@@ -72,7 +72,9 @@ package org.apache.flex.html.staticControls.supportClasses
override public function set data(value:Object):void
{
super.data = value;
- textField.text = String(value);
+ if (labelField) textField.text = String(value[labelField]);
+ else if (dataField) textField.text = String(value[dataField]);
+ else textField.text = String(value);
}
override public function updateRenderer():void
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js
index a2b1fc0..af5ebe2 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/DataGrid.js
@@ -84,26 +84,6 @@ org.apache.flex.html.staticControls.DataGrid.prototype.set_dataProvider =
/**
* @expose
- * @return {string} The labelFields getter.
- */
-org.apache.flex.html.staticControls.DataGrid.prototype.get_labelFields =
- function() {
- return this.get_model().get_labelFields();
-};
-
-
-/**
- * @expose
- * @param {string} value The labelFields setter.
- */
-org.apache.flex.html.staticControls.DataGrid.prototype.set_labelFields =
- function(value) {
- this.get_model().set_labelFields(value);
-};
-
-
-/**
- * @expose
* @param {Array} value The DataGridColumn definitions for this DataGrid.
*/
org.apache.flex.html.staticControls.DataGrid.prototype.set_columns =
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js
index 341d7e9..4555daf 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/List.js
@@ -70,6 +70,26 @@ function(value) {
/**
+ * @expose
+ * @return {String} The name of the field to use as a label.
+ */
+org.apache.flex.html.staticControls.List.prototype.get_labelField =
+function() {
+ return this.get_model().get_labelField();
+};
+
+
+/**
+ * @expose
+ * @param {String} value The name of the field to use as a label.
+ */
+org.apache.flex.html.staticControls.List.prototype.set_labelField =
+function(value) {
+ this.get_model().set_labelField(value);
+};
+
+
+/**
* @override
*/
org.apache.flex.html.staticControls.List.prototype.createElement =
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js
index a580902..5c75078 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataGridView.js
@@ -20,13 +20,11 @@ goog.require('org.apache.flex.events.Event');
goog.require('org.apache.flex.html.staticControls.ButtonBar');
goog.require('org.apache.flex.html.staticControls.Container');
goog.require('org.apache.flex.html.staticControls.List');
-goog.require('org.apache.flex.html.staticControls.beads.DataGridColumnView');
goog.require('org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForColumnData');
goog.require('org.apache.flex.html.staticControls.beads.TextItemRendererFactoryForArrayData');
goog.require('org.apache.flex.html.staticControls.beads.layouts.NonVirtualHorizontalLayout');
goog.require('org.apache.flex.html.staticControls.beads.models.ArraySelectionModel');
goog.require('org.apache.flex.html.staticControls.beads.models.DataGridModel');
-goog.require('org.apache.flex.html.staticControls.beads.models.DataGridPresentationModel');
goog.require('org.apache.flex.html.staticControls.supportClasses.DataGridColumn');
@@ -59,6 +57,16 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype.
/**
* @expose
+ * @return {Array} The columns of this DataGrid.
+ */
+org.apache.flex.html.staticControls.beads.DataGridView.prototype.getColumnLists =
+function() {
+ return this.columns;
+};
+
+
+/**
+ * @expose
* @param {Object} value The new host.
*/
org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand =
@@ -66,15 +74,26 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand =
this.strand_ = value;
+ var sharedModel = value.getBeadByType(
+ org.apache.flex.html.staticControls.beads.models.DataGridModel);
+
// Use the presentation model's columnLabels as the dataProvider for the
// ButtonBar header.
- var pm = value.getBeadByType(org.apache.flex.html.staticControls.
- beads.models.DataGridPresentationModel);
+
+ var columnLabels = new Array();
+ var buttonWidths = new Array();
+ for (var i = 0; i < sharedModel.get_columns().length; i++) {
+ columnLabels.push(sharedModel.get_columns()[i].get_label());
+ buttonWidths.push(sharedModel.get_columns()[i].get_columnWidth());
+ }
+ var bblayout = new org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout();
+ bblayout.set_buttonWidths(buttonWidths);
this.buttonBarModel = new
org.apache.flex.html.staticControls.beads.models.ArraySelectionModel();
- this.buttonBarModel.set_dataProvider(pm.get_columnLabels());
+ this.buttonBarModel.set_dataProvider(columnLabels);
this.buttonBar = new org.apache.flex.html.staticControls.ButtonBar();
this.buttonBar.addBead(this.buttonBarModel);
+ this.buttonBar.addBead(bblayout);
this.buttonBar.set_height(20);
this.buttonBar.set_width(this.strand_.get_width());
@@ -88,36 +107,29 @@ org.apache.flex.html.staticControls.beads.DataGridView.prototype.set_strand =
this.columnContainer.positioner.style.width =
this.strand_.positioner.style.width;
- var sharedModel = value.getBeadByType(
- org.apache.flex.html.staticControls.beads.models.DataGridModel);
- var columnWidth = this.strand_.get_width() / pm.get_columnLabels().length - 2;
+ var columnWidth = this.strand_.get_width() / columnLabels.length - 2;
var columnHeight = this.strand_.get_height() - this.buttonBar.get_height();
this.columns = new Array();
- for (var i = 0; i < pm.get_columnLabels().length; i++) {
- var columnView = new
- org.apache.flex.html.staticControls.beads.DataGridColumnView();
- columnView.set_columnIndex(i);
- columnView.set_labelField(sharedModel.get_labelFields()[i]);
- columnView.set_column(sharedModel.get_columns()[i]);
-
- var factory = new org.apache.flex.html.staticControls.beads.
- DataItemRendererFactoryForColumnData();
-
- var column = new org.apache.flex.html.staticControls.List();
- column.set_itemRenderer(columnView.get_column().get_itemRenderer());
- column.set_dataProvider(this.strand_.get_dataProvider());
- column.set_width(columnWidth);
- column.set_height(columnHeight);
- column.addBead(columnView);
- column.addBead(factory);
- column.addEventListener('change',
- goog.bind(this.columnListChangeHandler, this));
-
- this.columnContainer.addElement(column);
- this.columns.push(column);
+ for (var i = 0; i < sharedModel.get_columns().length; i++) {
+ var listModel = new org.apache.flex.html.staticControls.beads.models.ArraySelectionModel();
+ listModel.set_dataProvider(sharedModel.get_dataProvider());
+
+ var dataGridColumn = sharedModel.get_columns()[i];
+
+ var list = new org.apache.flex.html.staticControls.List();
+ list.addBead(listModel);
+ list.set_itemRenderer(dataGridColumn.get_itemRenderer());
+ list.set_labelField(dataGridColumn.get_dataField());
+ list.set_width(dataGridColumn.get_columnWidth()-2);
+ list.set_height(columnHeight);
+ this.columnContainer.addElement(list);
+ this.columns.push(list);
+ list.addEventListener('change', goog.bind(this.columnListChangeHandler, this));
}
+
+ this.strand_.dispatchEvent(new org.apache.flex.events.Event('layoutComplete'));
};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js
index 9573b5c..a7b64f6 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForArrayData.js
@@ -124,6 +124,7 @@ org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForArrayData.
for (i = 0; i < n; i++) {
var ir = this.itemRendererFactory_.createItemRenderer(this.dataGroup);
ir.set_index(i);
+ ir.set_labelField(this.model.get_labelField());
ir.set_data(dp[i]);
this.dataGroup.addElement(ir);
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js
index 72ec02e..617e70b 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/DataItemRendererFactoryForColumnData.js
@@ -121,10 +121,11 @@ org.apache.flex.html.staticControls.beads.DataItemRendererFactoryForColumnData.
view = this.listView;
for (i = 0; i < n; i++) {
- fieldName = view.get_labelField();
+ fieldName = view.get_column().get_dataField();
// todo: grab an itemRenderer from a factory for this column
opt = this.itemRendererFactory_.createItemRenderer(this.dataGroup);
+ opt.set_dataField(fieldName);
this.dataGroup.addElement(opt);
opt.set_data(dp[i]);
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js
index 8b6b3a7..6e1c0cf 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/ButtonBarLayout.js
@@ -45,6 +45,26 @@ org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout
/**
* @expose
+ * @param {Array} value A set of widths to use for each button (optional).
+ */
+org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.prototype.set_buttonWidths =
+function(value) {
+ this.buttonWidths_ = value;
+};
+
+
+/**
+ * @expose
+ * @return {Array} A set of widths to use for each button.
+ */
+org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.prototype.get_buttonWidths =
+function() {
+ return this.buttonWidths_;
+};
+
+
+/**
+ * @expose
* @param {Object} value The new host.
*/
org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.
@@ -77,9 +97,11 @@ org.apache.flex.html.staticControls.beads.layouts.ButtonBarLayout.
for (i = 0; i < n; i++)
{
- children[i].set_width(useWidth);
children[i].set_height(useHeight);
+ if (this.buttonWidths_) children[i].set_width(this.buttonWidths_[i]);
+ else children[i].set_width(useWidth);
children[i].element.style['vertical-align'] = 'middle';
+ children[i].element.style['text-align'] = 'center';
children[i].element.style['left-margin'] = 'auto';
children[i].element.style['right-margin'] = 'auto';
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js
index f0ac6c9..23269b1 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/layouts/NonVirtualVerticalLayout.js
@@ -50,6 +50,8 @@ org.apache.flex.html.staticControls.beads.layouts.NonVirtualVerticalLayout.
this.strand_ = value;
this.strand_.addEventListener('childrenAdded',
goog.bind(this.changeHandler, this));
+ this.strand_.addEventListener('layoutNeeded',
+ goog.bind(this.changeHandler, this));
}
};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js
index f79da72..8d3c0f6 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/ArraySelectionModel.js
@@ -137,3 +137,24 @@ org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype.
this.dispatchEvent('selectedItemChanged');
this.dispatchEvent('selectedIndexChanged');
};
+
+
+/**
+ * @expose
+ * @return {String} The name of the field to use as a label.
+ */
+org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype.get_labelField =
+function() {
+ return this.labelField_;
+};
+
+
+/**
+ * @expose
+ * @param {String} value The name of the field to use as a label.
+ */
+org.apache.flex.html.staticControls.beads.models.ArraySelectionModel.prototype.set_labelField =
+function(value) {
+ this.labelField_ = value;
+ this.dispatchEvent('labelFieldChanged');
+};
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js
index ec720c8..15c0f9a 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/models/DataGridModel.js
@@ -61,26 +61,6 @@ org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype.
/**
* @expose
- * @param {Array} value Array of label fields.
- */
-org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype.
- set_labelFields = function(value) {
- this.labelFields_ = value;
-};
-
-
-/**
- * @expose
- * @return {Array} Array of label fields.
- */
-org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype.
- get_labelFields = function() {
- return this.labelFields_;
-};
-
-
-/**
- * @expose
* @param {Array} value Array of DataGridColumn instances.
*/
org.apache.flex.html.staticControls.beads.models.DataGridModel.prototype.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js
index 2e38432..48d8c4f 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/DataItemRenderer.js
@@ -15,14 +15,14 @@
goog.provide('org.apache.flex.html.staticControls.supportClasses.DataItemRenderer');
goog.require('org.apache.flex.core.IItemRenderer');
-goog.require('org.apache.flex.core.UIBase');
goog.require('org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController');
+goog.require('org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase');
/**
* @constructor
- * @extends {org.apache.flex.core.UIBase}
+ * @extends {org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase}
* @implements {org.apache.flex.core.IItemRenderer}
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer =
@@ -31,7 +31,7 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer =
};
goog.inherits(
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer,
- org.apache.flex.core.UIBase);
+ org.apache.flex.html.staticControls.supportClasses.UIItemRendererBase);
/**
@@ -72,27 +72,6 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
/**
* @expose
- * @param {Object} value The strand.
- */
-org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
- prototype.set_strand = function(value) {
-
- this.strand_ = value;
-};
-
-
-/**
- * @expose
- * @return {Object} The strand.
- */
-org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
- prototype.get_strand = function() {
- return this.strand_;
-};
-
-
-/**
- * @expose
* @return {Object} The item renderer's parent.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
@@ -113,16 +92,6 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
/**
* @expose
- * @return {Object} The renderer's index.
- */
-org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
- prototype.get_index = function() {
- return this.index_;
-};
-
-
-/**
- * @expose
* @param {Object} value The renderer's index.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
@@ -133,29 +102,29 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
/**
* @expose
- * @param {Object} value The data to display.
+ * @param {string} value The name of field to use.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
- prototype.set_data = function(value) {
+ prototype.set_dataField = function(value) {
- this.data = value;
+ this.dataField_ = value;
};
/**
* @expose
- * @return {Object} The value being displayed.
+ * @return {string} The name of the field to use.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
- prototype.get_data = function() {
+ prototype.get_dataField = function() {
- return this.data;
+ return this.dataField_;
};
/**
- * @expose
- * @param {boolean} value The selection state.
+ * @override
+ * @param {Boolean} value The selection state.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
prototype.set_selected = function(value) {
@@ -170,8 +139,8 @@ org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
/**
- * @expose
- * @param {boolean} value The hovered state.
+ * @override
+ * @param {Boolean} value The hovered state.
*/
org.apache.flex.html.staticControls.supportClasses.DataItemRenderer.
prototype.set_hovered = function(value) {
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ca0e1930/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js
index 46247a3..c19729e 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/StringItemRenderer.js
@@ -114,16 +114,6 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
/**
* @expose
- * @return {Object} The renderer's index.
- */
-org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
- prototype.get_index = function() {
- return this.index_;
-};
-
-
-/**
- * @expose
* @param {Object} value The renderer's index.
*/
org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
@@ -163,7 +153,13 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
goog.base(this, 'set_data', value);
- if (value.toString) {
+ if (this.get_labelField()) {
+ this.element.innerHTML = String(value[this.get_labelField()]);
+ }
+ else if (this.get_dataField()) {
+ this.element.innerHTML = String(value[this.get_dataField()]);
+ }
+ else if (value.toString) {
this.element.innerHTML = value.toString();
} else {
this.element.innerHTML = String(value);
@@ -180,39 +176,3 @@ org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
return this.element.innerHTML;
};
-
-
-/**
- * @expose
- * @param {boolean} value The selection state.
- */
-org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
- prototype.set_selected = function(value) {
- this.selected_ = value;
-
- if (value) {
- this.backgroundView.style.backgroundColor = '#9C9C9C';
- } else {
- this.backgroundView.style.backgroundColor = null;
- }
-};
-
-
-/**
- * @expose
- * @param {boolean} value The hovered state.
- */
-org.apache.flex.html.staticControls.supportClasses.StringItemRenderer.
- prototype.set_hovered = function(value) {
- this.hovered_ = value;
-
- if (value) {
- this.backgroundView.style.backgroundColor = '#ECECEC';
- } else {
- if (this.selected_) {
- this.backgroundView.style.backgroundColor = '#9C9C9C';
- } else {
- this.backgroundView.style.backgroundColor = null;
- }
- }
-};