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/29 16:14:38 UTC

[royale-asjs] branch develop updated: refactor align property from TableItemRenderer to ListItemRenderer since is not only used by Table

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 4e50f0f  refactor align property from TableItemRenderer to ListItemRenderer since is not only used by Table
4e50f0f is described below

commit 4e50f0f8c1166c90a3c2dee99ae509c3670320a4
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Aug 29 18:14:33 2018 +0200

    refactor align property from TableItemRenderer to ListItemRenderer since is not only used by Table
---
 .../src/main/royale/WelcomeSection.mxml            |  6 ++++-
 .../royale/jewel/itemRenderers/ListItemRenderer.as | 27 ++++++++++++++++++-
 .../jewel/itemRenderers/TableItemRenderer.as       | 30 ++--------------------
 .../jewel/supportClasses/util/getLabelFromData.as  | 22 ++++++++--------
 4 files changed, 45 insertions(+), 40 deletions(-)

diff --git a/examples/royale/JewelExample/src/main/royale/WelcomeSection.mxml b/examples/royale/JewelExample/src/main/royale/WelcomeSection.mxml
index 5e45aa7..dcbf461 100644
--- a/examples/royale/JewelExample/src/main/royale/WelcomeSection.mxml
+++ b/examples/royale/JewelExample/src/main/royale/WelcomeSection.mxml
@@ -27,7 +27,11 @@ limitations under the License.
         <js:ContainerDataBinding/>
     </j:beads>
     
-    <html:H1 text="Welcome to Apache Royale Jewel"/>
+    <html:H1 text="Welcome to Apache Royale Jewel">
+        <html:beads>
+            <j:TextAlign align="center"/>
+        </html:beads>
+    </html:H1>
 
     <j:Label width="400" 
              multiline="true"
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 7d16c2f..23981da 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
@@ -20,6 +20,8 @@ package org.apache.royale.jewel.itemRenderers
 {
 	import org.apache.royale.core.StyledMXMLItemRenderer;
 	import org.apache.royale.events.Event;
+	import org.apache.royale.jewel.beads.controls.TextAlign;
+	import org.apache.royale.jewel.beads.itemRenderers.ITextItemRenderer;
 	import org.apache.royale.jewel.supportClasses.util.getLabelFromData;
 
     COMPILE::JS
@@ -36,7 +38,7 @@ package org.apache.royale.jewel.itemRenderers
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class ListItemRenderer extends StyledMXMLItemRenderer
+	public class ListItemRenderer extends StyledMXMLItemRenderer implements ITextItemRenderer
 	{
 		/**
 		 *  constructor.
@@ -52,6 +54,9 @@ package org.apache.royale.jewel.itemRenderers
 
 			typeNames = "jewel item";
 			addClass("selectable");
+
+			textAlign = new TextAlign();
+			addBead(textAlign);
 		}
 
 		private var _text:String = "";
@@ -85,6 +90,26 @@ package org.apache.royale.jewel.itemRenderers
 		COMPILE::JS
         protected var textNode:Text;
 
+		private var textAlign:TextAlign;
+
+		/**
+		 *  How text align in the itemRenderer instance.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.3
+		 */
+		public function get align():String
+		{
+			return textAlign.align;
+		}
+
+		public function set align(value:String):void
+		{
+			textAlign.align = value;
+		}
+
 		/**
 		 *  Sets the data value and uses the String version of the data for display.
 		 * 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
index 92cb397..6e896b1 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
@@ -18,10 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.itemRenderers
 {
-	import org.apache.royale.jewel.beads.controls.TextAlign;
-	import org.apache.royale.jewel.beads.itemRenderers.ITextItemRenderer;
-    
-    COMPILE::JS
+	COMPILE::JS
     {
         import org.apache.royale.core.WrappedHTMLElement;
     	import org.apache.royale.html.util.addElementToWrapper;
@@ -36,7 +33,7 @@ package org.apache.royale.jewel.itemRenderers
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.3
 	 */
-	public class TableItemRenderer extends ListItemRenderer implements ITextItemRenderer
+	public class TableItemRenderer extends ListItemRenderer
 	{
 		/**
 		 *  constructor.
@@ -55,29 +52,6 @@ package org.apache.royale.jewel.itemRenderers
 			{
             	typeNames += " with-childs";
 			}
-
-            textAlign = new TextAlign();
-			addBead(textAlign);
-		}
-
-		private var textAlign:TextAlign;
-
-		/**
-		 *  How text align in the itemRenderer instance.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.3
-		 */
-		public function get align():String
-		{
-			return textAlign.align;
-		}
-
-		public function set align(value:String):void
-		{
-			textAlign.align = value;
 		}
 		
         /**
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/util/getLabelFromData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/util/getLabelFromData.as
index 60172d7..ef966c7 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/util/getLabelFromData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/util/getLabelFromData.as
@@ -29,19 +29,21 @@ package org.apache.royale.jewel.supportClasses.util
     public function getLabelFromData(obj:Object, data:Object):String
     {
         // slightly more code, but we bail early if it's a string which is often
-        if (data is String) return "" + data;
         if(!data) return "";
-
-        if (obj["labelField"]) 
-            return "" + data[obj["labelField"]];
-        
-        if (obj["dataField"]) 
-            return "" + data[obj["dataField"]];
         
-        if (data.hasOwnProperty("label")) 
-            return "" + data["label"];
+        if (!(data is String))
+        {
+            if (obj["labelField"]) 
+                return String(data[obj["labelField"]]);
+                
+            if (obj["dataField"]) 
+                return String(data[obj["dataField"]]);
+            
+            if (data.hasOwnProperty("label")) 
+                return String(data["label"]);
+        }
 
-        return "" + data;
+        return String(data);
 
     }
 }