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 <[email protected]>
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

Reply via email to