You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ra...@apache.org on 2020/12/24 10:22:27 UTC

[royale-asjs] branch develop updated: Fix Jewel VirtualComboBox: selected item is not kept

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

raudjcholo 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 7f79651  Fix Jewel VirtualComboBox: selected item is not kept
7f79651 is described below

commit 7f79651e5fa7a85a1648029618a7fa8dd46df0f6
Author: Raul Nuñez <ra...@apache.org>
AuthorDate: Thu Dec 24 11:21:56 2020 +0100

    Fix Jewel VirtualComboBox: selected item is not kept
---
 .../royale/jewel/beads/views/VirtualComboBoxPopUpView.as  |  7 +++++++
 .../apache/royale/jewel/beads/views/VirtualListView.as    | 15 ++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualComboBoxPopUpView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualComboBoxPopUpView.as
index 3774e9d..75c6048 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualComboBoxPopUpView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualComboBoxPopUpView.as
@@ -20,6 +20,8 @@ package org.apache.royale.jewel.beads.views
 {
     import org.apache.royale.jewel.List;
     import org.apache.royale.jewel.VirtualList;
+    import org.apache.royale.core.IStrand;
+	import org.apache.royale.jewel.beads.models.IJewelSelectionModel;
 
     /**
 	 *  The VirtualComboBoxPopUpView class is a view bead for the VirtualComboBoxPopUp.
@@ -43,6 +45,11 @@ package org.apache.royale.jewel.beads.views
 		{
 			super();
 		}
+
+		override public function set strand(value:IStrand):void{
+			super.strand = value;
+			(list.model as IJewelSelectionModel).dispatchEvent("popUpCreated");
+		}
         
         override public function get list():List
         {
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
index a53b0aa..932664b 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/VirtualListView.as
@@ -62,7 +62,7 @@ package org.apache.royale.jewel.beads.views
 			listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
 			listModel.addEventListener("selectionChanged", selectionChangeHandler);
 			listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-			// listenOnStrand("itemsCreated", itemsCreatedHandler);
+			listModel.addEventListener("popUpCreated", itemsCreatedHandler);
 
 			super.handleInitComplete(event);
 		}
@@ -71,12 +71,12 @@ package org.apache.royale.jewel.beads.views
 		 * @private
 		 * Ensure the list selects the selectedItem if some is set by the user at creation time
 		 */
-		// override protected function itemsCreatedHandler(event:Event):void
-		// {
-		//	 super.itemsCreatedHandler(event);
-		// 	if(listModel.selectedIndex != -1)
-		// 		selectionChangeHandler(null);
-		// }
+		override protected function itemsCreatedHandler(event:Event):void
+		{
+			//super.itemsCreatedHandler(event);
+		 	if(listModel.selectedIndex != -1)
+		 		selectionChangeHandler(null);
+		 }
 
 		protected var firstElementIndex:int = 1;
 		/**
@@ -147,6 +147,7 @@ package org.apache.royale.jewel.beads.views
 					selectionBead.hovered = true;
 			}
 			lastRollOverIndex = (listModel as IRollOverModel).rollOverIndex;
+			selectionChangeHandler(null);
 		}
 
 		override protected function dataProviderChangeHandler(event:Event):void