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 2019/12/06 00:42:44 UTC

[royale-asjs] 01/02: support runtime changes to headerText. Should fix #612

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 5a42ff24cf46242240c4cf14d835a7d9f2176cec
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Dec 5 16:42:02 2019 -0800

    support runtime changes to headerText.  Should fix #612
---
 .../src/main/royale/mx/controls/beads/AdvancedDataGridView.as | 11 +++++++++--
 .../main/royale/mx/controls/dataGridClasses/DataGridColumn.as |  2 ++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
index b5fe4aa..1b04d3e 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/AdvancedDataGridView.as
@@ -79,10 +79,12 @@ package mx.controls.beads
             columnLists.length = 0;
             for (var i:int=0; i < sharedModel.columns.length; i++)
             {
-                var list:AdvancedDataGridColumnList = (sharedModel.columns[i] as AdvancedDataGridColumn).list as AdvancedDataGridColumnList;
+                var col:AdvancedDataGridColumn = sharedModel.columns[i] as AdvancedDataGridColumn;
+                col.addEventListener("headerTextChanged", updateHeader);
+                var list:AdvancedDataGridColumnList = col.list as AdvancedDataGridColumnList;
                 var adgColumnListModel:DataGridColumnICollectionViewModel = list.getBeadByType(DataGridColumnICollectionViewModel) as DataGridColumnICollectionViewModel;
                 adgColumnListModel.columnIndex = i;
-                list.visible = (sharedModel.columns[i] as AdvancedDataGridColumn).visible;
+                list.visible = col.visible;
                 list.addEventListener(ItemClickEvent.ITEM_CLICK, itemClickHandler);
                 if (list.visible)
                 {
@@ -95,6 +97,11 @@ package mx.controls.beads
             host.dispatchEvent(new Event("layoutNeeded"));
         }
         
+        private function updateHeader(event:Event):void
+        {
+            (header as DataGridButtonBar).model.dispatchEvent(new Event("dataProviderChanged"));
+        }
+        
         private function itemClickHandler(event:ItemClickEvent):void
         {
             host.dispatchEvent(event);
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
index e6bd987..ce5bf77 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridColumn.as
@@ -42,6 +42,7 @@ import mx.core.UIComponent;
 import mx.core.mx_internal;
 use namespace mx_internal;
 
+import org.apache.royale.events.Event;
 import org.apache.royale.html.supportClasses.DataGridColumn;
     
 //--------------------------------------
@@ -280,6 +281,7 @@ public class DataGridColumn extends org.apache.royale.html.supportClasses.DataGr
     {
         _headerText = value;
         label = value;
+        dispatchEvent(new Event("headerTextChanged"));
     }