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 8ee1af6  fix combo box popup when opening more than one time
     new 60f5a97  Merge branch 'develop' of 
https://github.com/apache/royale-asjs into develop
8ee1af6 is described below

commit 8ee1af631508a0ad4bf0d399b554a78bdd52a63a
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Aug 27 20:31:53 2018 +0200

    fix combo box popup when opening more than one time
---
 .../projects/Jewel/src/main/resources/defaults.css |  5 +++++
 .../royale/jewel/beads/views/ComboBoxView.as       | 24 ++++++----------------
 .../Jewel/src/main/sass/components/_combobox.sass  |  8 ++++++--
 3 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/defaults.css 
b/frameworks/projects/Jewel/src/main/resources/defaults.css
index b171d22..cb328c3 100644
--- a/frameworks/projects/Jewel/src/main/resources/defaults.css
+++ b/frameworks/projects/Jewel/src/main/resources/defaults.css
@@ -253,6 +253,9 @@ j|ControlBar {
 .jewel.combobox {
   display: inline-flex;
 }
+.jewel.combobox .jewel.textinput {
+  width: 190px;
+}
 .jewel.combobox .jewel.button::before {
   margin: 0;
   padding: 0;
@@ -276,6 +279,8 @@ j|ComboBox {
 
 .jewel.list.combobox {
   position: absolute;
+  width: 190px;
+  height: 200px;
 }
 
 j|ComboBoxList {
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
index d3d36f5..14e8c8c 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/ComboBoxView.as
@@ -120,16 +120,9 @@ package org.apache.royale.jewel.beads.views
                        _button = new Button();
                        _button.text = '\u25BC';
                        
-                       // if (isNaN(host.width)) input.width = 100;
-                       
                        host.addElement(_textinput);
                        host.addElement(_button);
                        
-                       var popUpClass:Class = 
ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-                       _list = new popUpClass() as List;
-                       _list.visible = false;
-            // list.addClass("hidden");
-                       
                        var model:IComboBoxModel = 
_strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
                        model.addEventListener("selectedIndexChanged", 
handleItemChange);
                        model.addEventListener("selectedItemChanged", 
handleItemChange);
@@ -162,13 +155,12 @@ package org.apache.royale.jewel.beads.views
                 */
                public function set popUpVisible(value:Boolean):void
                {
-                       if (value && !_list.visible) {
+                       if (value) {
+                               var popUpClass:Class = 
ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
+                               _list = new popUpClass() as List;
+
                                var model:IComboBoxModel = 
_strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
                                _list.model = model;
-                               // list.width = input.width;
-                               // list.height = 200;
-                _list.visible = true;
-                // list.removeClass("hidden");
                                
                                var origin:Point = new Point(0, 
button.y+button.height);
                                var relocated:Point = 
PointUtils.localToGlobal(origin,_strand);
@@ -178,10 +170,9 @@ package org.apache.royale.jewel.beads.views
                                var popupHost:IPopUpHost = 
UIUtils.findPopUpHost(_strand as IUIBase);
                                popupHost.popUpParent.addElement(_list);
                        }
-                       else if (_list.visible) {
+                       else {
                                UIUtils.removePopUp(_list);
-                _list.visible = false;
-                // list.addClass("hidden");
+                               _list = null;
                        }
                }
                
@@ -209,9 +200,6 @@ package org.apache.royale.jewel.beads.views
                {
                        var model:IComboBoxModel = 
_strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
                        _textinput.text = getLabelFromData(model, 
model.selectedItem);
-
-                       // var host:StyledUIBase = StyledUIBase(_strand);
-                       // host.dispatchEvent(new Event("change"));
                }
                
                /**
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_combobox.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_combobox.sass
index b8919bf..77cafcd 100644
--- a/frameworks/projects/Jewel/src/main/sass/components/_combobox.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_combobox.sass
@@ -21,14 +21,15 @@
 
 // ComboBox variables
 $combobox-button-size: 22px
+$combobox-input-width: 190px
 $combobox-button-xoffset: calc(50% - #{$combobox-button-size/2})
 $combobox-button-yoffset: calc(50% - #{$combobox-button-size/2})
 
 .jewel.combobox
     display: inline-flex
 
-    // .jewel.textinput
-    //     input
+    .jewel.textinput
+        width: $combobox-input-width
             
     .jewel.button
         
@@ -57,6 +58,9 @@ j|ComboBox
 
 .jewel.list.combobox
     position: absolute
+    width: $combobox-input-width
+    height: 200px
+    
 
 j|ComboBoxList
     IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.ArrayListSelectionModel")

Reply via email to