Repository: flex-asjs Updated Branches: refs/heads/develop 0f2513c02 -> 1e680c4f4
Getting ComboBox to work for JS. See JIRA FLEX-35169. Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/751aa39e Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/751aa39e Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/751aa39e Branch: refs/heads/develop Commit: 751aa39ea09669d23ce3a05175bb602b588be0aa Parents: d2ed1ea Author: Peter Ent <[email protected]> Authored: Mon Nov 21 14:48:43 2016 -0500 Committer: Peter Ent <[email protected]> Committed: Mon Nov 21 14:48:43 2016 -0500 ---------------------------------------------------------------------- frameworks/projects/HTML/src/main/flex/HTMLClasses.as | 11 ++++------- .../HTML/src/main/flex/org/apache/flex/html/ComboBox.as | 12 ++++++++---- .../projects/HTML/src/main/resources/defaults.css | 6 +++++- 3 files changed, 17 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/751aa39e/frameworks/projects/HTML/src/main/flex/HTMLClasses.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as index 37831f6..cf8e2d2 100644 --- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as +++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as @@ -95,10 +95,7 @@ internal class HTMLClasses import org.apache.flex.html.beads.models.ArrayListSelectionModel; ArrayListSelectionModel; import org.apache.flex.html.beads.models.RangeModel; RangeModel; import org.apache.flex.html.beads.models.RangeModelExtended; RangeModelExtended; - COMPILE::SWF - { - import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel; - } + import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel; COMPILE::SWF { import org.apache.flex.html.beads.models.ImageModel; ImageModel; @@ -141,7 +138,7 @@ internal class HTMLClasses import org.apache.flex.html.beads.layouts.BasicLayout; BasicLayout; import org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout; OneFlexibleChildHorizontalLayout; import org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout; OneFlexibleChildVerticalLayout; - + COMPILE::SWF { import org.apache.flex.html.beads.layouts.HScrollBarLayout; HScrollBarLayout; @@ -192,7 +189,7 @@ internal class HTMLClasses import org.apache.flex.core.SimpleApplication; SimpleApplication; import org.apache.flex.svg.GraphicContainer; GraphicContainer; import org.apache.flex.svg.DOMWrapper; DOMWrapper; - + import org.apache.flex.svg.GraphicShape; GraphicShape; import org.apache.flex.svg.Rect; Rect; import org.apache.flex.svg.Ellipse; Ellipse; @@ -204,7 +201,7 @@ internal class HTMLClasses import org.apache.flex.svg.Text; Text; import org.apache.flex.svg.CompoundGraphic; CompoundGraphic; - + COMPILE::SWF { import org.apache.flex.html.beads.HRuleView; HRuleView; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/751aa39e/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as index fa91fec..6932972 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as @@ -117,15 +117,17 @@ package org.apache.flex.html IComboBoxModel(model).selectedItem = value; } + COMPILE::JS { + private var input: WrappedHTMLElement; + private var button: WrappedHTMLElement; + } + /** * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement */ COMPILE::JS override protected function createElement():WrappedHTMLElement - { - var button:WrappedHTMLElement; - var input:WrappedHTMLElement; - + { element = document.createElement('div') as WrappedHTMLElement; input = document.createElement('input') as WrappedHTMLElement; @@ -164,6 +166,7 @@ package org.apache.flex.html /** * @param event The event. * @flexjsignorecoercion HTMLSelectElement + * @flexjsignorecoercion HTMLInputElement */ COMPILE::JS private function selectChanged(event:Event):void @@ -173,6 +176,7 @@ package org.apache.flex.html select = event.currentTarget as HTMLSelectElement; selectedItem = select.options[select.selectedIndex].value; + (input as HTMLInputElement).value = selectedItem.toString(); popup.parentNode.removeChild(popup); popup = null; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/751aa39e/frameworks/projects/HTML/src/main/resources/defaults.css ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css index 1a40bac..29e75cc 100644 --- a/frameworks/projects/HTML/src/main/resources/defaults.css +++ b/frameworks/projects/HTML/src/main/resources/defaults.css @@ -83,6 +83,11 @@ ButtonBarButtonItemRenderer height: 30; } +ComboBox +{ + IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel"); +} + Container { IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView"); @@ -474,7 +479,6 @@ CloseButton ComboBox { - IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel"); IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView"); IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController"); IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
