You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/03/08 07:08:52 UTC

[royale-asjs] 01/02: implement binding in these controls as rendererers

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

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit dd9b607596740dfdef4e1cc7ee80dd91e035f682
Author: Alex Harui <ah...@apache.org>
AuthorDate: Sat Mar 7 23:07:32 2020 -0800

    implement binding in these controls as rendererers
---
 .../MXRoyale/src/main/royale/mx/controls/Label.as        | 16 +++++++++++++---
 .../MXAdvancedDataGridItemRenderer.as                    | 16 ++++++++++++++++
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
index 83c5107..c66eaa4 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
@@ -49,6 +49,8 @@ COMPILE::JS
     import org.apache.royale.core.WrappedHTMLElement;
 }
 import org.apache.royale.core.ITextModel;
+import org.apache.royale.events.Event;
+import org.apache.royale.binding.ItemRendererDataBinding;
 
 //--------------------------------------
 //  Events
@@ -283,6 +285,8 @@ public class Label extends UIComponent
         typeNames = "Label";
     }
 
+	private var textSet:Boolean;
+	
     //----------------------------------
     //  enabled
     //----------------------------------
@@ -419,6 +423,10 @@ public class Label extends UIComponent
     {
         var newText:*;
 
+		_data = value;
+		addBead(new ItemRendererDataBinding());
+		dispatchEvent(new Event("initBindings"));
+		
         if (_listData)
         {
             newText = (_listData as BaseListData).label;
@@ -431,12 +439,12 @@ public class Label extends UIComponent
                 newText = _data.toString();
         }
 
-        if (newText !== undefined/* && !textSet*/)
+        if (newText !== undefined && !textSet)
         {
             text = newText;
-            /*textSet = false;*/
+            textSet = false;
         }
-
+		
         dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
     }
 
@@ -734,6 +742,8 @@ public class Label extends UIComponent
 			}
 		}
 		
+		textSet = true;
+		
 		invalidateSize();
 
 	}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
index d0199aa..0066e4f 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
@@ -34,6 +34,10 @@ import spark.components.supportClasses.ItemRenderer;
 
 use namespace mx_internal;
 
+import org.apache.royale.binding.ItemRendererDataBinding;
+import org.apache.royale.events.Event;
+
+
 /**
  *  The MXAdvancedDataGridItemRenderer class defines the Spark item renderer class 
  *  for use with the MX AdvancedDataGrid control.
@@ -78,6 +82,8 @@ public class MXAdvancedDataGridItemRenderer extends ItemRenderer implements ILis
     {
         super();
        // focusEnabled = false;
+		addBead(new ItemRendererDataBinding());
+		dispatchEvent(new Event("initBindings"));
     }
     
     //----------------------------------
@@ -120,6 +126,16 @@ public class MXAdvancedDataGridItemRenderer extends ItemRenderer implements ILis
         invalidateProperties();
     }
     
+    /**
+     *  @private
+     */
+    override public function set data(value:Object):void
+    {
+		addBead(new ItemRendererDataBinding());
+        super.data = value;        
+		dispatchEvent(new Event("initBindings"));
+    }
+
     //----------------------------------
     //  editor
     //----------------------------------