You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/04/16 23:56:00 UTC

[royale-asjs] branch develop updated: jewel-scrollToIndex: try to improve implementation a bit though interfaces

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

carlosrovira 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 6faddfd  jewel-scrollToIndex: try to improve implementation a bit though interfaces
6faddfd is described below

commit 6faddfd576d3472571f9837621d56750648f7307
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Apr 17 01:55:54 2020 +0200

    jewel-scrollToIndex: try to improve implementation a bit though interfaces
---
 .../royale/jewel/beads/controls/list/scrollToIndex.as     | 15 +++++++++------
 .../org/apache/royale/jewel/beads/views/ListView.as       |  3 +--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/list/scrollToIndex.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/list/scrollToIndex.as
index 3440b53..fd4f278 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/list/scrollToIndex.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/list/scrollToIndex.as
@@ -20,6 +20,7 @@ package org.apache.royale.jewel.beads.controls.list
 {
 	import org.apache.royale.core.IItemRenderer;
 	import org.apache.royale.core.IItemRendererOwnerView;
+	import org.apache.royale.core.IStrand;
 	import org.apache.royale.html.beads.IListView;
 	import org.apache.royale.jewel.List;
 	import org.apache.royale.jewel.beads.models.ListPresentationModel;
@@ -45,8 +46,10 @@ package org.apache.royale.jewel.beads.controls.list
      *  @playerversion AIR 1.1
      *  @productversion Royale 0.9.7
      */
-    public function scrollToIndex(list:List, index:int):Boolean
+    public function scrollToIndex(list:IStrand, index:int):Boolean
     {
+        var _list:List = list as List;
+        
         COMPILE::SWF
         {
             // to implement
@@ -56,18 +59,18 @@ package org.apache.royale.jewel.beads.controls.list
 
 		COMPILE::JS
 		{
-        var scrollArea:HTMLElement = list.element;
+        var scrollArea:HTMLElement = _list.element;
         var oldScroll:Number = scrollArea.scrollTop;
 
         var totalHeight:Number = 0;
         
-        if(list.variableRowHeight)
+        if(_list.variableRowHeight)
         {
             var listView:IListView = list.getBeadByType(IListView) as IListView;
             var dataGroup:IItemRendererOwnerView = listView.dataGroup;
 
             //each item render can have its own height
-            var n:int = list.dataProvider.length;
+            var n:int = _list.dataProvider.length;
             var irHeights:Array = [];
             for (var i:int = 0; i <= index; i++)
             {
@@ -82,8 +85,8 @@ package org.apache.royale.jewel.beads.controls.list
         {
             var rowHeight:Number;
             // all items renderers with same height
-            rowHeight = isNaN(list.rowHeight) ? ListPresentationModel.DEFAULT_ROW_HEIGHT : list.rowHeight;
-            totalHeight = list.dataProvider.length * rowHeight - scrollArea.clientHeight;
+            rowHeight = isNaN(_list.rowHeight) ? ListPresentationModel.DEFAULT_ROW_HEIGHT : _list.rowHeight;
+            totalHeight = _list.dataProvider.length * rowHeight - scrollArea.clientHeight;
             
             scrollArea.scrollTop = Math.min(index * rowHeight, totalHeight);
         }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
index 33042ab..4e23b08 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ListView.as
@@ -27,7 +27,6 @@ package org.apache.royale.jewel.beads.views
     import goog.events;
 
     import org.apache.royale.core.IRenderedObject;
-    import org.apache.royale.jewel.List;
 	}
 	import org.apache.royale.core.IItemRenderer;
 	import org.apache.royale.core.IItemRendererOwnerView;
@@ -120,7 +119,7 @@ package org.apache.royale.jewel.beads.views
 			if(prevIndex != listModel.selectedIndex)
 			{
 				selectionChangeHandler(null);
-				scrollToIndex(_strand as List, listModel.selectedIndex);
+				scrollToIndex(_strand, listModel.selectedIndex);
 			}
 		}