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/08/28 18:17:11 UTC

[royale-asjs] branch develop updated: Fix remove and update renderers in List component

This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 7fd7d35  Fix remove and update renderers in List component
7fd7d35 is described below

commit 7fd7d359e75c16309242e1434821297fdd926581
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Aug 28 20:16:57 2018 +0200

    Fix remove and update renderers in List component
---
 .../src/main/royale/ListPlayGround.mxml            |  5 +++--
 .../src/main/royale/TablePlayGround.mxml           |  8 +++----
 .../src/main/royale/models/ListsModel.as           | 18 +++++++--------
 .../Jewel/src/main/resources/jewel-manifest.xml    |  4 ++--
 .../AddListItemRendererForArrayListData.as         |  4 ++--
 .../AddTableItemRendererForArrayListData.as        |  4 ++--
 .../RemoveAllItemRendererForArrayListData.as       |  2 +-
 ...s => RemoveListItemRendererForArrayListData.as} | 18 +++++++--------
 ...s => UpdateListItemRendererForArrayListData.as} | 26 +++++++++++-----------
 .../royale/jewel/itemRenderers/ListItemRenderer.as |  8 +++----
 10 files changed, 49 insertions(+), 48 deletions(-)

diff --git a/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml b/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml
index 25def76..a55f912 100644
--- a/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml
+++ b/examples/royale/JewelExample/src/main/royale/ListPlayGround.mxml
@@ -78,6 +78,7 @@ limitations under the License.
 			{
 				var item:IconListVO = (iconList.dataProvider as ArrayList).getItemAt(0) as IconListVO;
 				item.label = "What??";
+				item.icon = MaterialIconType.ACCESSIBILITY;
 				(iconList.dataProvider as ArrayList).itemUpdated(item);
 			}
 
@@ -130,8 +131,8 @@ limitations under the License.
 								sourcePropertyName="iconListData"
 								destinationPropertyName="dataProvider" />
 							<j:AddListItemRendererForArrayListData/>
-							<j:DynamicRemoveItemRendererForArrayListData/>
-							<j:DynamicUpdateItemRendererForArrayListData/>
+							<j:RemoveListItemRendererForArrayListData/>
+							<j:UpdateListItemRendererForArrayListData/>
 							<j:RemoveAllItemRendererForArrayListData/>
 						</j:beads>
 					</j:List>
diff --git a/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml b/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
index a2d5bf5..2a57edd 100644
--- a/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
+++ b/examples/royale/JewelExample/src/main/royale/TablePlayGround.mxml
@@ -38,7 +38,7 @@ limitations under the License.
 			<j:Card>
 				<html:H3 text="Jewel SimpleTable"/>
 
-				<j:SimpleTable width="500">
+				<j:SimpleTable>
 					<j:THead>
 						<j:TableRow>
 							<j:TableHeaderCell width="48">
@@ -185,15 +185,15 @@ limitations under the License.
 				<html:H3 text="Jewel Table"/>
 				<j:HGroup gap="3">
 					<j:VGroup gap="3">
-						<j:Table id="table" width="440" change="onChange(event)" dataProvider="{tablesModel.guitarrists}">
+						<j:Table id="table" change="onChange(event)" dataProvider="{tablesModel.guitarrists}">
 							<j:TableColumn dataField="icon" label="" align="center" itemRenderer="itemRenderers.TableCellCloseIconItemRenderer"/>
 							<j:TableColumn dataField="guitarrist" label="Guitarrist"/>
 							<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:DynamicRemoveItemRendererForArrayListData/>
-								<j:DynamicUpdateItemRendererForArrayListData/>
+								<!-- <j:RemoveTableItemRendererForArrayListData/>
+								<j:UpdateTableItemRendererForArrayListData/> -->
 								<j:RemoveAllItemRendererForArrayListData/>
 							</j:beads>
 						</j:Table>
diff --git a/examples/royale/JewelExample/src/main/royale/models/ListsModel.as b/examples/royale/JewelExample/src/main/royale/models/ListsModel.as
index 880951f..b76d480 100644
--- a/examples/royale/JewelExample/src/main/royale/models/ListsModel.as
+++ b/examples/royale/JewelExample/src/main/royale/models/ListsModel.as
@@ -42,15 +42,15 @@ package models
 		}
 
 		private var _avengers:ArrayList = new ArrayList([
-			{nickname: "Iron Man"},
-			{nickname: "Hulk"}, 
-			{nickname: "Thor"},
-			{nickname: "Captain America"},
-            {nickname: "Black Widow"},
-            {nickname: "Hawkeye"},
-            {nickname: "Vision"},
-            {nickname: "Scarlet Witch"},
-            {nickname: "Spiderman"}
+			{nickname: "Iron Man", value: 0},
+			{nickname: "Hulk", value: 1}, 
+			{nickname: "Thor", value: 2},
+			{nickname: "Captain America", value: 3},
+            {nickname: "Black Widow", value: 4},
+            {nickname: "Hawkeye", value: 5},
+            {nickname: "Vision", value: 6},
+            {nickname: "Scarlet Witch", value: 7},
+            {nickname: "Spiderman", value: 8}
 		]);
 		public function get avengers():ArrayList
 		{
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 39c245b..4b61bce 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -124,8 +124,8 @@
     <component id="TableItemRendererFactoryForCollectionView" class="org.apache.royale.jewel.beads.itemRenderers.TableItemRendererFactoryForCollectionView"/>
 
     <component id="AddListItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.AddListItemRendererForArrayListData" />
-    <component id="DynamicRemoveItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.DynamicRemoveItemRendererForArrayListData" />
-    <component id="DynamicUpdateItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.DynamicUpdateItemRendererForArrayListData" />
+    <component id="RemoveListItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveListItemRendererForArrayListData" />
+    <component id="UpdateListItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.UpdateListItemRendererForArrayListData" />
     <component id="RemoveAllItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.RemoveAllItemRendererForArrayListData" />
     
     <component id="AddTableItemRendererForArrayListData" class="org.apache.royale.jewel.beads.itemRenderers.AddTableItemRendererForArrayListData" />
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
index 0d7aaed..fb6c538 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
@@ -81,7 +81,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.8
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function initComplete(event:Event):void
 		{
@@ -189,7 +189,7 @@ package org.apache.royale.jewel.beads.itemRenderers
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.8
+         *  @productversion Royale 0.9.3
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
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/AddTableItemRendererForArrayListData.as
index c48a8a2..35edbb8 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/AddTableItemRendererForArrayListData.as
@@ -87,7 +87,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.8
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function initComplete(event:Event):void
 		{
@@ -203,7 +203,7 @@ package org.apache.royale.jewel.beads.itemRenderers
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.8
+         *  @productversion Royale 0.9.3
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
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 daec3cb..3a852f8 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
@@ -73,7 +73,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.8
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function initComplete(event:Event):void
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicRemoveItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveListItemRendererForArrayListData.as
similarity index 92%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicRemoveItemRendererForArrayListData.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveListItemRendererForArrayListData.as
index d9e772d..21146db 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicRemoveItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/RemoveListItemRendererForArrayListData.as
@@ -37,9 +37,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
-	 *  @productversion Royale 0.9.0
+	 *  @productversion Royale 0.9.3
 	 */
-	public class DynamicRemoveItemRendererForArrayListData implements IBead
+	public class RemoveListItemRendererForArrayListData implements IBead
 	{
 		/**
 		 * Constructor
@@ -47,9 +47,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
-		public function DynamicRemoveItemRendererForArrayListData()
+		public function RemoveListItemRendererForArrayListData()
 		{
 		}
 
@@ -61,7 +61,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function set strand(value:IStrand):void
 		{
@@ -75,7 +75,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.8
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function initComplete(event:Event):void
 		{
@@ -107,7 +107,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function handleItemRemoved(event:CollectionEvent):void
 		{
@@ -135,7 +135,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function get dataProviderModel(): IDataProviderModel
 		{
@@ -154,7 +154,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function get itemRendererParent():IItemRendererParent
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicUpdateItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
similarity index 89%
rename from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicUpdateItemRendererForArrayListData.as
rename to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
index 434f408..cf7fda2 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DynamicUpdateItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/UpdateListItemRendererForArrayListData.as
@@ -36,9 +36,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
-	 *  @productversion Royale 0.9.0
+	 *  @productversion Royale 0.9.3
 	 */
-	public class DynamicUpdateItemRendererForArrayListData implements IBead
+	public class UpdateListItemRendererForArrayListData implements IBead
 	{
 		/**
 		 * Constructor
@@ -46,9 +46,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
-		public function DynamicUpdateItemRendererForArrayListData()
+		public function UpdateListItemRendererForArrayListData()
 		{
 		}
 
@@ -62,7 +62,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function set strand(value:IStrand):void
 		{
@@ -76,7 +76,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.8
+		 *  @productversion Royale 0.9.3
 		 */
 		protected function initComplete(event:Event):void
 		{
@@ -101,21 +101,21 @@ package org.apache.royale.jewel.beads.itemRenderers
 				return;
 			
 			// listen for individual items being added in the future.
-			dp.addEventListener(CollectionEvent.ITEM_UPDATED, handleItemAdded);
+			dp.addEventListener(CollectionEvent.ITEM_UPDATED, handleItemUpdated);
 		}
 
 		/**
-		 * Handles the itemRemoved event by removing the item.
+		 * Handles the itemUpdated event by updating the item.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
-		protected function handleItemAdded(event:CollectionEvent):void
+		protected function handleItemUpdated(event:CollectionEvent):void
 		{
             var ir:ISelectableItemRenderer = itemRendererParent.getItemRendererForIndex(event.index) as ISelectableItemRenderer;
-
+			
             setData(ir, event.item, event.index);
 
 			(_strand as IEventDispatcher).dispatchEvent(new Event("layoutNeeded"));
@@ -130,7 +130,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function get dataProviderModel():IDataProviderModel
 		{
@@ -149,7 +149,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.0
+		 *  @productversion Royale 0.9.3
 		 */
 		public function get itemRendererParent():IItemRendererParent
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
index 51a52d4..a08a4b4 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
@@ -19,9 +19,8 @@
 package org.apache.royale.jewel.itemRenderers
 {
 	import org.apache.royale.core.StyledMXMLItemRenderer;
-	import org.apache.royale.utils.ClassSelectorList;
+	import org.apache.royale.events.Event;
 	import org.apache.royale.jewel.supportClasses.util.getLabelFromData;
-	import org.apache.royale.events.MouseEvent;
 
     COMPILE::JS
     {
@@ -72,13 +71,13 @@ package org.apache.royale.jewel.itemRenderers
 
 		public function set text(value:String):void
 		{
-             _text = value;
+            _text = value;
 			
 			COMPILE::JS
 			{
 			if(textNode != null)
 			{
-				textNode.nodeValue = text;
+				textNode.nodeValue = _text;
 			}	
 			}
 		}
@@ -100,6 +99,7 @@ package org.apache.royale.jewel.itemRenderers
 		{
 			super.data = value;
             text = getLabelFromData(this, value);
+			dispatchEvent(new Event("dataChange"));
 		}
 
         /**