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
//----------------------------------