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/06/05 14:44:48 UTC
[royale-asjs] branch develop updated:
DataItemRendererFactoryForCollectionView: solve ISelectionModel issue,
this will need to be separated to other bead to make it more PAYG (fixes
#848)
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 cb70884 DataItemRendererFactoryForCollectionView: solve ISelectionModel issue, this will need to be separated to other bead to make it more PAYG (fixes #848)
cb70884 is described below
commit cb7088462a99960f2bfb499eb5bd30532fa697df
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Fri Jun 5 16:44:38 2020 +0200
DataItemRendererFactoryForCollectionView: solve ISelectionModel issue, this will need to be separated to other bead to make it more PAYG (fixes #848)
---
.../DataItemRendererFactoryForCollectionView.as | 35 ++++++++++++----------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
index 4bbdf07..5d67e74 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForCollectionView.as
@@ -114,10 +114,11 @@ package org.apache.royale.html.beads
}
//adjust the model's selectedIndex, if applicable
- if (event.index <= ISelectionModel(dataProviderModel).selectedIndex) {
- ISelectionModel(dataProviderModel).selectedIndex = ISelectionModel(dataProviderModel).selectedIndex + 1;
+ if(dataProviderModel is ISelectionModel) {
+ if (event.index <= ISelectionModel(dataProviderModel).selectedIndex) {
+ ISelectionModel(dataProviderModel).selectedIndex = ISelectionModel(dataProviderModel).selectedIndex + 1;
+ }
}
-
sendStrandEvent(_strand,"itemsCreated");
sendStrandEvent(_strand,"layoutNeeded");
@@ -159,13 +160,15 @@ package org.apache.royale.html.beads
}
//adjust the model's selectedIndex, if applicable
- if (event.index < ISelectionModel(dataProviderModel).selectedIndex)
- {
- ISelectionModel(dataProviderModel).selectedIndex = ISelectionModel(dataProviderModel).selectedIndex - 1;
- }
- else if (event.index == ISelectionModel(dataProviderModel).selectedIndex)
- {
- ISelectionModel(dataProviderModel).selectedIndex = -1;
+ if(dataProviderModel is ISelectionModel) {
+ if (event.index < ISelectionModel(dataProviderModel).selectedIndex)
+ {
+ ISelectionModel(dataProviderModel).selectedIndex = ISelectionModel(dataProviderModel).selectedIndex - 1;
+ }
+ else if (event.index == ISelectionModel(dataProviderModel).selectedIndex)
+ {
+ ISelectionModel(dataProviderModel).selectedIndex = -1;
+ }
}
sendStrandEvent(_strand,"layoutNeeded");
@@ -195,11 +198,13 @@ package org.apache.royale.html.beads
(itemRendererInitializer as IIndexedItemRendererInitializer).initializeIndexedItemRenderer(ir, data, event.index);
ir.data = data;
- if (event.index == ISelectionModel(dataProviderModel).selectedIndex) {
- //manually trigger a selection change, even if there was actually none.
- //This causes selection-based bindings to work
- IEventDispatcher(dataProviderModel).dispatchEvent(new Event('selectedIndexChanged'));
- }
+ if(dataProviderModel is ISelectionModel) {
+ if (event.index == ISelectionModel(dataProviderModel).selectedIndex) {
+ //manually trigger a selection change, even if there was actually none.
+ //This causes selection-based bindings to work
+ IEventDispatcher(dataProviderModel).dispatchEvent(new Event('selectedIndexChanged'));
+ }
+ }
}
override protected function get dataProviderLength():int