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);
}
}