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 2018/08/27 18:32:22 UTC
[royale-asjs] branch develop updated: fix combo box popup when
opening more than one time
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 <ca...@apache.org>
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")