You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2018/09/05 18:23:43 UTC
[royale-asjs] branch feature/new_merge updated: fix table
add/remove/update and refactor names to something more close to use case
This is an automated email from the ASF dual-hosted git repository.
carlosrovira pushed a commit to branch feature/new_merge
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/feature/new_merge by this push:
new 54e04a5 fix table add/remove/update and refactor names to something more close to use case
54e04a5 is described below
commit 54e04a5748874cb1f7615cda31fca1df1d797bc3
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Sep 5 20:23:38 2018 +0200
fix table add/remove/update and refactor names to something more close to use case
---
.../src/main/royale/TablePlayGround.mxml | 6 +++---
.../Jewel/src/main/resources/jewel-manifest.xml | 6 +++---
...yListData.as => AddTableRowForArrayListData.as} | 23 ++++++++--------------
.../RemoveAllItemRendererForArrayListData.as | 5 +++--
...stData.as => RemoveTableRowForArrayListData.as} | 21 ++++++++------------
.../UpdateListItemRendererForArrayListData.as | 5 +++--
...stData.as => UpdateTableRowForArrayListData.as} | 9 ++++++---
.../jewel/supportClasses/table/TBodyContentArea.as | 10 +++++++++-
8 files changed, 43 insertions(+), 42 deletions(-)
diff --git a/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml b/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
index 619a623..617511d 100644
--- a/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
+++ b/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
@@ -191,9 +191,9 @@ limitations under the License.
<j:TableColumn dataField="album" label="Album" align="center" columnLabelAlign="center"/>
<j:TableColumn dataField="year" label="Release Year" align="right" columnLabelAlign="right"/>
<j:beads>
- <j:AddTableItemRendererForArrayListData/>
- <j:RemoveTableItemRendererForArrayListData/>
- <j:UpdateTableItemRendererForArrayListData/>
+ <j:AddTableRowForArrayListData/>
+ <j:RemoveTableRowForArrayListData/>
+ <j:UpdateTableRowForArrayListData/>
<j:RemoveAllItemRendererForArrayListData/>
</j:beads>
</j:Table>
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 493dcee..e01b5a7 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -139,9 +139,9 @@
<component id="RemoveListItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveListItemRendererForArrayListData" />
<component id="UpdateListItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.UpdateListItemRendererForArrayListData" />
- <component id="AddTableItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.AddTableItemRendererForArrayListData" />
- <component id="RemoveTableItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveTableItemRendererForArrayListData" />
- <component id="UpdateTableItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.UpdateTableItemRendererForArrayListData" />
+ <component id="AddTableRowForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.AddTableRowForArrayListData" />
+ <component id="RemoveTableRowForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveTableRowForArrayListData" />
+ <component id="UpdateTableRowForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.UpdateTableRowForArrayListData" />
<component id="RemoveAllItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveAllItemRendererForArrayListData" />
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
similarity index 92%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableItemRendererForArrayListData.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
index 3b42e67..d02d122 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
@@ -24,6 +24,7 @@ package org.apache.royale.jewel.beads.itemRenderers
import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
import org.apache.royale.core.SimpleCSSStyles;
import org.apache.royale.core.UIBase;
import org.apache.royale.events.CollectionEvent;
@@ -46,7 +47,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class AddTableItemRendererForArrayListData implements IBead
+ public class AddTableRowForArrayListData implements IBead
{
/**
* Constructor
@@ -56,7 +57,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public function AddTableItemRendererForArrayListData()
+ public function AddTableRowForArrayListData()
{
}
@@ -161,20 +162,12 @@ package org.apache.royale.jewel.beads.itemRenderers
// update the index values in the itemRenderers to correspond to their shifted positions.
// adjust the itemRenderers' index to adjust for the shift
- var cell:TableCell;
- var processedRow:TableRow;
var len:int = itemRendererParent.numItemRenderers;
for (var i:int = event.index; i < len; i++)
{
- processedRow = itemRendererParent.getItemRendererAt(i) as TableRow;
- var n:int = processedRow.numElements;
- for (j = 0; j < n; j++)
- {
- cell = processedRow.getElementAt(j) as TableCell;
- ir = cell.getElementAt(0) as TableItemRenderer;
- ir.index = i;
- ir.rowIndex = i;
- }
+ ir = itemRendererParent.getItemRendererAt(i) as TableItemRenderer;
+ ir.index = i;
+ ir.rowIndex = i;
}
(_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
@@ -194,8 +187,8 @@ package org.apache.royale.jewel.beads.itemRenderers
public function get itemRendererParent():IItemRendererParent
{
if (_itemRendererParent == null) {
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- _itemRendererParent = listView.dataGroup;
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ _itemRendererParent = view.dataGroup;
}
return _itemRendererParent;
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveAllItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveAllItemRendererForArrayListData.as
index 9729aa5..fecf921 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveAllItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveAllItemRendererForArrayListData.as
@@ -23,6 +23,7 @@ package org.apache.royale.jewel.beads.itemRenderers
import org.apache.royale.core.IItemRendererParent;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
import org.apache.royale.events.CollectionEvent;
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
@@ -158,8 +159,8 @@ package org.apache.royale.jewel.beads.itemRenderers
public function get itemRendererParent():IItemRendererParent
{
if (_itemRendererParent == null) {
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- _itemRendererParent = listView.dataGroup;
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ _itemRendererParent = view.dataGroup;
}
return _itemRendererParent;
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableRowForArrayListData.as
similarity index 89%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableItemRendererForArrayListData.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableRowForArrayListData.as
index f3cac9a..83ada71 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveTableRowForArrayListData.as
@@ -19,6 +19,7 @@
package org.apache.royale.jewel.beads.itemRenderers
{
import org.apache.royale.core.IBead;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.core.IItemRendererParent;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.IStrand;
@@ -41,7 +42,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class RemoveTableItemRendererForArrayListData implements IBead
+ public class RemoveTableRowForArrayListData implements IBead
{
/**
* Constructor
@@ -51,7 +52,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public function RemoveTableItemRendererForArrayListData()
+ public function RemoveTableRowForArrayListData()
{
}
@@ -125,7 +126,7 @@ package org.apache.royale.jewel.beads.itemRenderers
{
var ir:DataItemRenderer;
var cell:TableCell;
- var processedRow:TableRow = itemRendererParent.getItemRendererAt(event.index) as TableRow;
+ var processedRow:TableRow = (itemRendererParent as UIBase).getElementAt(event.index) as TableRow;
while (processedRow.numElements > 0) {
cell = processedRow.getElementAt(0) as TableCell;
ir = cell.getElementAt(0) as DataItemRenderer;
@@ -133,21 +134,15 @@ package org.apache.royale.jewel.beads.itemRenderers
cell.removeElement(ir);
processedRow.removeElement(cell);
}
- itemRendererParent.removeItemRenderer(processedRow as IItemRenderer);
+ (itemRendererParent as UIBase).removeElement(processedRow);
// adjust the itemRenderers' index to adjust for the shift
var len:int = itemRendererParent.numItemRenderers;
for (var i:int = event.index; i < len; i++)
{
- processedRow = itemRendererParent.getItemRendererAt(i) as TableRow;
- var n:int = processedRow.numElements;
- for (var j:int = 0; j < n; j++)
- {
- cell = processedRow.getElementAt(j) as TableCell;
- ir = cell.getElementAt(0) as DataItemRenderer;
- ir.index = i;
- ir.rowIndex = i;
- }
+ ir = itemRendererParent.getItemRendererAt(i) as DataItemRenderer;
+ ir.index = i;
+ ir.rowIndex = i;
}
(_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
index 10499ec..245eea4 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
@@ -24,6 +24,7 @@ package org.apache.royale.jewel.beads.itemRenderers
import org.apache.royale.core.ISelectableItemRenderer;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.core.IStrand;
+ import org.apache.royale.core.IStrandWithModelView;
import org.apache.royale.events.CollectionEvent;
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
@@ -164,8 +165,8 @@ package org.apache.royale.jewel.beads.itemRenderers
public function get itemRendererParent():IItemRendererParent
{
if (_itemRendererParent == null) {
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- _itemRendererParent = listView.dataGroup;
+ var view:IListView = (_strand as IStrandWithModelView).view as IListView;
+ _itemRendererParent = view.dataGroup;
}
return _itemRendererParent;
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableRowForArrayListData.as
similarity index 94%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableItemRendererForArrayListData.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableRowForArrayListData.as
index b2bf166..1d811e4 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateTableRowForArrayListData.as
@@ -19,6 +19,7 @@
package org.apache.royale.jewel.beads.itemRenderers
{
import org.apache.royale.core.IBead;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.core.IDataProviderModel;
import org.apache.royale.core.IItemRendererParent;
import org.apache.royale.core.ISelectableItemRenderer;
@@ -31,6 +32,7 @@ package org.apache.royale.jewel.beads.itemRenderers
import org.apache.royale.jewel.supportClasses.table.TableCell;
import org.apache.royale.jewel.supportClasses.table.TableRow;
import org.apache.royale.html.beads.IListView;
+ import org.apache.royale.jewel.itemRenderers.TableItemRenderer;
/**
* Handles the update of an itemRenderer in a Table component once the corresponding
@@ -41,7 +43,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class UpdateTableItemRendererForArrayListData implements IBead
+ public class UpdateTableRowForArrayListData implements IBead
{
/**
* Constructor
@@ -51,7 +53,7 @@ package org.apache.royale.jewel.beads.itemRenderers
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public function UpdateTableItemRendererForArrayListData()
+ public function UpdateTableRowForArrayListData()
{
}
@@ -131,9 +133,10 @@ package org.apache.royale.jewel.beads.itemRenderers
protected function handleItemUpdated(event:CollectionEvent):void
{
var ir:ISelectableItemRenderer;
+ var processedRow:TableRow = (itemRendererParent as UIBase).getElementAt(event.index) as TableRow;
var cell:TableCell;
- var processedRow:TableRow = itemRendererParent.getItemRendererAt(event.index) as TableRow;
var n:int = processedRow.numElements;
+
for (var i:int = 0; i < n; i++)
{
cell = processedRow.getElementAt(i) as TableCell;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TBodyContentArea.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TBodyContentArea.as
index 2bcfbec..dd6012b 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TBodyContentArea.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/table/TBodyContentArea.as
@@ -129,7 +129,7 @@ package org.apache.royale.jewel.supportClasses.table
tableCell.addElement(r);
var row:TableRow;
- if(r.rowIndex > numElements -1)
+ if(r.rowIndex > numElements - 1)
{
row = new TableRow();
addElementAt(row, r.rowIndex, false);
@@ -249,6 +249,14 @@ package org.apache.royale.jewel.supportClasses.table
}
}
}
+
+ /**
+ * @copy org.apache.royale.core.IItemRendererParent#numItemRenderers()
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.4
+ */
public function get numItemRenderers():int{
return numElements;
}