You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2020/05/07 10:54:33 UTC

[royale-asjs] branch develop updated: Add another method to DataGridListBase - still need to check and compare results with Flex for this. Added default alternating item colors for DataGrid - to avoid a zero length Array.

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

gregdove 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 e57e910  Add another method to DataGridListBase - still need to check and compare results with Flex for this. Added default alternating item colors for DataGrid - to avoid a zero length Array.
     new 08b952f  Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
e57e910 is described below

commit e57e9102df8907cdf787a6b20d7387545e9d7b2c
Author: greg-dove <gr...@gmail.com>
AuthorDate: Thu May 7 22:53:07 2020 +1200

    Add another method to DataGridListBase - still need to check and compare results with Flex for this.
    Added default alternating item colors for DataGrid - to avoid a zero length Array.
---
 .../DataGridSelectableItemRendererBead.as          |  6 +++++
 .../mx/controls/listClasses/DataGridListBase.as    | 27 ++++++++++++++++++----
 pom.xml                                            |  2 +-
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridSelectableItemRendererBead.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridSelectableItemRendererBead.as
index 0170906..750b768 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridSelectableItemRendererBead.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/dataGridClasses/DataGridSelectableItemRendererBead.as
@@ -73,6 +73,9 @@ public class DataGridSelectableItemRendererBead extends SelectableItemRendererBe
     
     public var textSelectedColor:String = "#000000";
     public var textRollOverColor:String = "#000000";
+
+    //@todo check defaults are correct here
+    private static var defaultAlternatingItemColors:Array = [0xF7F7F7, 0xFFFFFF];
     
     /**
      * @private
@@ -83,6 +86,9 @@ public class DataGridSelectableItemRendererBead extends SelectableItemRendererBe
         var listData:DataGridListData = ir.listData as DataGridListData;
         var owner:DataGrid = listData.owner as DataGrid;
         var bgColors:Array = owner.getStyle("alternatingItemColors");
+        if (bgColors.length<2) {
+            bgColors = defaultAlternatingItemColors;
+        }
         textSelectedColor = owner.getStyle("textSelectedColor");
         textRollOverColor = owner.getStyle("textRollOverColor");
         backgroundColor = ((listData.rowIndex % 2) == 1) ? bgColors[1] : bgColors[0];
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
index d8cc7ed..8ac06a8 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/listClasses/DataGridListBase.as
@@ -20,6 +20,7 @@
 
 package mx.controls.listClasses
 {
+import mx.controls.dataGridClasses.DataGridColumnList;
 
 /* import flash.display.DisplayObject;
 import flash.display.Graphics;
@@ -71,8 +72,11 @@ import org.apache.royale.core.ISelectionModel;
 import org.apache.royale.core.IUIBase;
 import org.apache.royale.events.Event;
 import org.apache.royale.events.MouseEvent;
+import org.apache.royale.geom.Point;
 import org.apache.royale.utils.loadBeadFromValuesManager;
 import org.apache.royale.html.beads.IDataGridView;
+import org.apache.royale.core.IDataGrid;
+import org.apache.royale.core.IDataGridModel;
 
 use namespace mx_internal;
 
@@ -3671,9 +3675,24 @@ public class DataGridListBase extends ListBase /* extends UIComponent
      *  @playerversion AIR 1.1
      *  @productversion Royale 0.9.4
      */
-    /* protected function itemRendererToIndices(item:IListItemRenderer):Point
+     protected function itemRendererToIndices(item:IListItemRenderer):Point
     {
-        if (!item || !(item.name in rowMap))
+        //inr royale, the renderer is IIndexedItemRenderer
+        if (!item) return null;
+        var index:int = item.index;
+
+
+        var list:DataGridColumnList = item.parent as DataGridColumnList;
+        if (!list) return null;
+        var column:DataGridColumn = list.columnInfo as DataGridColumn;
+
+        if (column) {
+            var colIndex:int = IDataGridModel(IDataGrid(list.grid).model).columns.indexOf(column);
+            return new Point(colIndex, index);
+        }
+
+        return null;
+       /* if (!item || !(item.name in rowMap))
             return null;
             
         var index:int = rowMap[item.name].rowIndex;
@@ -3689,8 +3708,8 @@ public class DataGridListBase extends ListBase /* extends UIComponent
                          i + horizontalScrollPosition,
                          index < lockedRowCount ?
                          index :
-                         index + verticalScrollPosition + offscreenExtraRowsTop);
-    } */
+                         index + verticalScrollPosition + offscreenExtraRowsTop);*/
+    }
 
     /**
      *  Get an item renderer for the index of an item in the data provider,
diff --git a/pom.xml b/pom.xml
index 4b51b09..770cacd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@
     <air.version>20.0</air.version>
     <!-- For SWF versions see: http://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html -->
     <swf.version>31</swf.version>
-    <source.map>true</source.map>
+    <source.map>false</source.map>
 
     <!-- This parameter has to be provided from the outside -->
     <webdriver.gecko.driver />