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 <aha...@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 //----------------------------------