This is an automated email from the ASF dual-hosted git repository.
hugoferreira 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 6f2316a13f Fix: The DataGridNavigateItems navigation issue
6f2316a13f is described below
commit 6f2316a13f7dba8284af8da2f93dc6c870ab118b
Author: Hugo Ferreira <[email protected]>
AuthorDate: Sun Jan 15 01:27:14 2023 +0000
Fix: The DataGridNavigateItems navigation issue
The DataGridNavigateItems bead did not work on VirtualDataGrid after move
to a new row not visible on the screen (out of the screen).
Now it work perfectly: The VirtualDataGrid scrolls for new rows and the
cursor continue until the end.
---
.../controls/datagrid/DataGridNavigateItems.as | 23 ++++++++++------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
index 7a605f5aee..c750174918 100644
---
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
@@ -31,6 +31,8 @@ package org.apache.royale.jewel.beads.controls.datagrid
import org.apache.royale.jewel.supportClasses.datagrid.IDataGridColumnList;
import org.apache.royale.jewel.VirtualDataGrid;
import
org.apache.royale.jewel.supportClasses.datagrid.VirtualDataGridColumnList;
+ import org.apache.royale.jewel.beads.views.VirtualListView;
+ import org.apache.royale.jewel.beads.views.ListView;
/**
* The DataGridNavigateItems bead class is a specialty bead that can
be use with a Jewel DataGrid and VirtualDataGrid control
@@ -81,9 +83,9 @@ package org.apache.royale.jewel.beads.controls.datagrid
var selectedColumnIndex:int =
dataGridView.columnLists.indexOf(selectedColumnList);
var dataGridItemRenderer:EditableDataGridItemRenderer;
if (dataGrid is VirtualDataGrid)
- dataGridItemRenderer =
(dataGridView.columnLists[selectedColumnIndex] as
VirtualDataGridColumnList).getElementAt((dataGrid as
VirtualDataGrid).selectedIndex + 1) as EditableDataGridItemRenderer;
+ dataGridItemRenderer =
((dataGridView.columnLists[selectedColumnIndex] as
VirtualDataGridColumnList).view as
VirtualListView).getItemRendererForIndex((dataGrid as
VirtualDataGrid).selectedIndex) as EditableDataGridItemRenderer;
else
- dataGridItemRenderer =
(dataGridView.columnLists[selectedColumnIndex] as
DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as
EditableDataGridItemRenderer;
+ dataGridItemRenderer =
((dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).view as
ListView).getItemRendererForIndex((dataGrid as DataGrid).selectedIndex) as
EditableDataGridItemRenderer;
var dataProviderSize:int = ((dataGrid as
DataGrid).dataProvider as ICollectionView).length;
dataGridItemRenderer.endEditMode();
@@ -102,17 +104,12 @@ package org.apache.royale.jewel.beads.controls.datagrid
selectedColumnIndex++;
}
- COMPILE::JS
- {
- setTimeout(function():void
- {
- if (dataGrid is VirtualDataGrid)
- dataGridItemRenderer =
(dataGridView.columnLists[selectedColumnIndex] as
VirtualDataGridColumnList).getElementAt((dataGrid as
VirtualDataGrid).selectedIndex + 1) as EditableDataGridItemRenderer;
- else
- dataGridItemRenderer =
(dataGridView.columnLists[selectedColumnIndex] as
DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as
EditableDataGridItemRenderer;
- dataGridItemRenderer.goToEditMode();
- }, 1);
- }
+ if (dataGrid is VirtualDataGrid)
+ dataGridItemRenderer =
((dataGridView.columnLists[selectedColumnIndex] as
VirtualDataGridColumnList).view as
VirtualListView).getItemRendererForIndex((dataGrid as
VirtualDataGrid).selectedIndex) as EditableDataGridItemRenderer;
+ else
+ dataGridItemRenderer =
((dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).view as
ListView).getItemRendererForIndex((dataGrid as DataGrid).selectedIndex) as
EditableDataGridItemRenderer;
+
+ dataGridItemRenderer.goToEditMode();
}
}
}