You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pi...@apache.org on 2017/06/23 06:52:11 UTC
git commit: [flex-asjs]
[refs/heads/feature/FLEX-35328_simplify_mdl_drop_down_list] - FLEX-35328 -
Use Select and Option in MDL DropDownList from HTML module
Repository: flex-asjs
Updated Branches:
refs/heads/feature/FLEX-35328_simplify_mdl_drop_down_list 486a243fe -> ec944a7a9
FLEX-35328 - Use Select and Option in MDL DropDownList from HTML module
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/ec944a7a
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/ec944a7a
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/ec944a7a
Branch: refs/heads/feature/FLEX-35328_simplify_mdl_drop_down_list
Commit: ec944a7a90fbcd2b17f055488413a739abfbfbcf
Parents: 486a243
Author: piotrz <pi...@apache.org>
Authored: Fri Jun 23 08:52:06 2017 +0200
Committer: piotrz <pi...@apache.org>
Committed: Fri Jun 23 08:52:06 2017 +0200
----------------------------------------------------------------------
.../flex/org/apache/flex/mdl/DropDownList.as | 44 ++++++-------
.../beads/controllers/DropDownListController.as | 5 +-
.../flex/mdl/beads/views/DropDownListView.as | 18 +++---
.../itemRenderers/DropDownListItemRenderer.as | 65 +++-----------------
4 files changed, 38 insertions(+), 94 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ec944a7a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
index 8b2c430..2dddaf3 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/DropDownList.as
@@ -20,8 +20,11 @@ package org.apache.flex.mdl
{
import org.apache.flex.core.IItemRenderer;
import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.ItemAddedEvent;
import org.apache.flex.html.DataContainer;
+ import org.apache.flex.html.Option;
+ import org.apache.flex.html.Select;
COMPILE::JS
{
@@ -60,28 +63,21 @@ package org.apache.flex.mdl
super();
}
- COMPILE::JS
- protected var _labelDisplay:HTMLLabelElement;
- COMPILE::JS
- protected var _dropDown:HTMLSelectElement;
+ protected var _dropDown:Select;
- COMPILE::JS
+ public function get dropDown():Select
{
- /**
- * @flexjsignorecoercion HTMLSelectElement
- */
- public function get dropDown():HTMLSelectElement
- {
- return _dropDown;
- }
+ return _dropDown;
+ }
- /**
- * @flexjsignorecoercion HTMLSelectElement
- */
- public function set dropDown(value:HTMLSelectElement):void
- {
- _dropDown = value;
- }
+ public function set dropDown(value:Select):void
+ {
+ _dropDown = value;
+ }
+
+ COMPILE::JS
+ {
+ protected var _labelDisplay:HTMLLabelElement;
/**
* @flexjsignorecoercion HTMLLabelElement
@@ -140,12 +136,12 @@ package org.apache.flex.mdl
{
COMPILE::JS
{
- var options:HTMLOptionsCollection = dropDown.options;
- var optionsCount:int = options.length;
-
+ var optionsCount:int = dropDown.numElements;
+
for (var i:int = 1; i < optionsCount; i++)
{
- dropDown.remove(i);
+ var item:UIBase = dropDown.getElementAt(i) as UIBase;
+ dropDown.removeElement(item);
}
}
}
@@ -154,7 +150,7 @@ package org.apache.flex.mdl
{
COMPILE::JS
{
- dropDown.appendChild(renderer.element);
+ dropDown.addElement(renderer);
}
var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ec944a7a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/controllers/DropDownListController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/controllers/DropDownListController.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/controllers/DropDownListController.as
index 53c37ef..bd9bf3b 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/controllers/DropDownListController.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/controllers/DropDownListController.as
@@ -23,7 +23,6 @@ package org.apache.flex.mdl.beads.controllers
import org.apache.flex.core.IStrand;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.mdl.DropDownList;
- import org.apache.flex.mdl.beads.views.DropDownListView;
import org.apache.flex.events.Event;
/**
@@ -58,8 +57,6 @@ package org.apache.flex.mdl.beads.controllers
* @productversion FlexJS 0.8
*/
protected var model:ISelectionModel;
- protected var dropDownListView:DropDownListView;
-
protected var _strand:IStrand;
/**
@@ -80,7 +77,7 @@ package org.apache.flex.mdl.beads.controllers
COMPILE::JS
{
- dropDownList.dropDown.addEventListener("onchange", onDisplayItemClick, false);
+ dropDownList.dropDown.element.addEventListener("onchange", onDisplayItemClick, false);
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ec944a7a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/DropDownListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/DropDownListView.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/DropDownListView.as
index 51960d6..e3c1658 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/DropDownListView.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/views/DropDownListView.as
@@ -19,6 +19,8 @@
package org.apache.flex.mdl.beads.views
{
import org.apache.flex.core.IStrand;
+ import org.apache.flex.html.Option;
+ import org.apache.flex.html.Select;
import org.apache.flex.html.beads.DataContainerView;
import org.apache.flex.mdl.DropDownList;
import org.apache.flex.events.Event;
@@ -45,8 +47,6 @@ package org.apache.flex.mdl.beads.views
* @copy org.apache.flex.core.IBead#strand
*
* @flexjsignorecoercion HTMLLabelElement
- * @flexjsignorecoercion HTMLSelectElement
- * @flexjsignorecoercion HTMLOptionElement
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -64,18 +64,18 @@ package org.apache.flex.mdl.beads.views
dropDownList.labelDisplay = document.createElement('label') as HTMLLabelElement;
dropDownList.labelDisplay.classList.add("mdl-textfield__label");
- dropDownList.dropDown = document.createElement('select') as HTMLSelectElement;
- dropDownList.dropDown.classList.add("mdl-textfield__input");
+ dropDownList.dropDown = new Select();
+ dropDownList.dropDown.element.classList.add("mdl-textfield__input");
- var emptyOption:HTMLOptionElement = document.createElement('option') as HTMLOptionElement;
- emptyOption.style.display = "none";
+ var emptyOption:Option = new Option();
+ emptyOption.element.style.display = "none";
- dropDownList.dropDown.appendChild(emptyOption);
+ dropDownList.dropDown.addElement(emptyOption);
setNameForDropDownList();
dropDownList.element.appendChild(dropDownList.labelDisplay);
- dropDownList.element.appendChild(dropDownList.dropDown);
+ dropDownList.addElement(dropDownList.dropDown);
}
}
@@ -96,7 +96,7 @@ package org.apache.flex.mdl.beads.views
var name:String = "dropDownList" + Math.random();
dropDownList.labelDisplay.htmlFor = name;
- dropDownList.dropDown.name = name;
+ dropDownList.dropDown.element.name = name;
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ec944a7a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
index 65e13e1..d8ba333 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/itemRenderers/DropDownListItemRenderer.as
@@ -18,6 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.mdl.itemRenderers
{
+ import org.apache.flex.html.Option;
import org.apache.flex.html.supportClasses.MXMLItemRenderer;
COMPILE::JS
@@ -49,46 +50,8 @@ package org.apache.flex.mdl.itemRenderers
className = ""; //set to empty string avoid 'undefined' output when no class selector is assigned by user;
}
-
- private var _text:String = "";
- /**
- * The text of the menu item
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function get text():String
- {
- COMPILE::SWF
- {
- return _text;
- }
- COMPILE::JS
- {
- return textNode.nodeValue;
- }
- }
-
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- _text = value;
- }
- COMPILE::JS
- {
- textNode.nodeValue = value;
- }
- }
-
- COMPILE::JS
- private var textNode:Text;
-
- COMPILE::JS
- private var item:HTMLOptionElement;
+ private var item:Option;
/**
* Sets the data value and uses the String version of the data for display.
@@ -104,49 +67,37 @@ package org.apache.flex.mdl.itemRenderers
{
super.data = value;
- var text:String;
if (labelField)
{
- text = String(value[labelField]);
+ item.text = String(value[labelField]);
}
else
{
- text = String(value);
+ item.text = String(value);
}
COMPILE::JS
{
if (dataField)
{
- item.value = String(value[dataField]);
+ item.element["value"] = String(value[dataField]);
}
else
{
- item.value = String(value);
- }
-
- if(textNode != null)
- {
- textNode.nodeValue = text;
+ item.element["value"] = String(value);
}
}
}
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion HTMLOptionElement
- *
- * @flexjsignorecoercion Text
*/
COMPILE::JS
override protected function createElement():WrappedHTMLElement
{
- item = document.createElement('option') as HTMLOptionElement;
-
- textNode = document.createTextNode('') as Text;
- item.appendChild(textNode);
+ item = new Option();
- element = item as WrappedHTMLElement;
+ element = item.element as WrappedHTMLElement;
positioner = element;
element.flexjs_wrapper = this;