The first of various commits for final polishing of MDL (some little refactors, documentation, and so onâ¦). Preparing for release in 0.8.0
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/32d7ac32 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/32d7ac32 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/32d7ac32 Branch: refs/heads/feature/mdl Commit: 32d7ac3215c74e85a69cdab5d709d1af8cdbcf8e Parents: d4968b3 Author: Carlos Rovira <[email protected]> Authored: Sat Jan 21 14:10:42 2017 +0100 Committer: Carlos Rovira <[email protected]> Committed: Sat Jan 21 14:10:42 2017 +0100 ---------------------------------------------------------------------- .../flexjs/MDLExample/src/main/flex/Chips.mxml | 24 ++-- .../flex/org/apache/flex/mdl/Application.as | 21 +++- .../src/main/flex/org/apache/flex/mdl/Button.as | 25 ++-- .../main/flex/org/apache/flex/mdl/ButtonChip.as | 70 +++-------- .../src/main/flex/org/apache/flex/mdl/Chip.as | 69 +++-------- .../org/apache/flex/mdl/beads/ContactChip.as | 116 ++++++++++--------- .../apache/flex/mdl/beads/ContactImageChip.as | 89 +++++++------- .../org/apache/flex/mdl/beads/DeletableChip.as | 11 +- .../apache/flex/mdl/beads/DeletableLinkChip.as | 21 +++- .../flex/org/apache/flex/mdl/beads/MdlColor.as | 84 ++++++-------- .../org/apache/flex/mdl/beads/MdlTextColor.as | 91 ++++++++------- .../apache/flex/mdl/supportClasses/ChipBase.as | 95 +++++++++++++++ .../apache/flex/mdl/supportClasses/IMdlColor.as | 6 +- .../flex/mdl/supportClasses/IMdlTextColor.as | 6 +- 14 files changed, 387 insertions(+), 341 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/examples/flexjs/MDLExample/src/main/flex/Chips.mxml ---------------------------------------------------------------------- diff --git a/examples/flexjs/MDLExample/src/main/flex/Chips.mxml b/examples/flexjs/MDLExample/src/main/flex/Chips.mxml index facc5a9..19f6b11 100644 --- a/examples/flexjs/MDLExample/src/main/flex/Chips.mxml +++ b/examples/flexjs/MDLExample/src/main/flex/Chips.mxml @@ -19,14 +19,12 @@ limitations under the License. --> <mdl:TabBarPanel xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mdl="library://ns.apache.org/flexjs/mdl"> - <mdl:Grid> - <mdl:GridCell column="1"> + <mdl:Grid width="120"> + <mdl:Chip text="Basic Chip" /> - </mdl:GridCell> - <mdl:GridCell column="2"> + <mdl:ButtonChip text="Button Chip" /> - </mdl:GridCell> - <mdl:GridCell column="3"> + <mdl:Chip text="Deletable Chip"> <mdl:beads> <mdl:DeletableChip /> @@ -35,8 +33,7 @@ limitations under the License. <mdl:MaterialIconCancel /> </mdl:materialIcon> </mdl:Chip> - </mdl:GridCell> - <mdl:GridCell column="4"> + <mdl:ButtonChip text="Deletable Button Chip"> <mdl:beads> <mdl:DeletableChip /> @@ -45,8 +42,7 @@ limitations under the License. <mdl:MaterialIconCancel /> </mdl:materialIcon> </mdl:ButtonChip> - </mdl:GridCell> - <mdl:GridCell column="5"> + <mdl:Chip text="Contact Chip"> <mdl:beads> <mdl:MdlColor color="teal" /> @@ -54,8 +50,7 @@ limitations under the License. <mdl:ContactChip contactText="A" /> </mdl:beads> </mdl:Chip> - </mdl:GridCell> - <mdl:GridCell column="5"> + <mdl:Chip text="Contact Chip"> <mdl:beads> <mdl:MdlColor color="teal" /> @@ -67,8 +62,7 @@ limitations under the License. <mdl:MaterialIconCancel /> </mdl:materialIcon> </mdl:Chip> - </mdl:GridCell> - <mdl:GridCell column="5"> + <mdl:Chip text="Contact Link Chip"> <mdl:beads> <mdl:ContactImageChip /> @@ -78,6 +72,6 @@ limitations under the License. <mdl:MaterialIconCancel /> </mdl:materialIcon> </mdl:Chip> - </mdl:GridCell> + </mdl:Grid> </mdl:TabBarPanel> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Application.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Application.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Application.as index adf1962..5cdfb97 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Application.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Application.as @@ -20,15 +20,28 @@ package org.apache.flex.mdl { import org.apache.flex.core.Application; import org.apache.flex.core.SimpleCSSValuesImpl; - import org.apache.flex.core.IChild; - //import org.apache.flex.core.IUIBase; /** + * MDL Application holds specific MDL need in a FlexJS Application. + * * This class extends the standard Application and sets up the * SimpleCSSValuesImpl (implementation) for convenience. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ public class Application extends org.apache.flex.core.Application { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ public function Application() { super(); @@ -40,12 +53,12 @@ package org.apache.flex.mdl } /** - * static reference to this application + * static reference to this application used mainly for dialog (Dialog class) * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public static var topLevelApplication:Object; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as index 55fbe61..199b080 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Button.as @@ -34,7 +34,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public class Button extends TextButton implements IMaterialIcon { @@ -44,7 +44,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function Button() { @@ -72,12 +72,13 @@ package org.apache.flex.mdl private var _materialIcon:MaterialIconBase; /** - * A material icon. Optional + * A material icon to use with the button. + * Optional * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get materialIcon():MaterialIconBase { @@ -101,7 +102,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get fab():Boolean { @@ -126,7 +127,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get raised():Boolean { @@ -152,7 +153,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get colored():Boolean { @@ -178,7 +179,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get accent():Boolean { @@ -204,7 +205,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get primary():Boolean { @@ -230,7 +231,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get minifab():Boolean { @@ -256,7 +257,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get icon():Boolean { @@ -281,7 +282,7 @@ package org.apache.flex.mdl * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get ripple():Boolean { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as index 8ef1ea2..2f6b750 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/ButtonChip.as @@ -18,74 +18,30 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.mdl { + import org.apache.flex.mdl.supportClasses.ChipBase; + COMPILE::JS { import org.apache.flex.core.WrappedHTMLElement; } /** - * The Chip class provides a MDL UI-like appearance for - * a Chip. + * ButtonChip class represents a MDL button chip variant + * Chips are complex entities in small blocks. + * + * The Material Design Lite (MDL) chip component is a small, interactive element. + * Chips are commonly used for contacts, text, rules, icons, and photos. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - public class ButtonChip extends Button + public class ButtonChip extends ChipBase { - public function ButtonChip() - { - super(); - - className = ""; - } - COMPILE::JS private var chip:HTMLButtonElement; - COMPILE::JS - private var _chipTextSpan:HTMLSpanElement; - - COMPILE::JS - public function get chipTextSpan():HTMLSpanElement - { - return _chipTextSpan; - } - - private var _text:String = ""; - /** - * The text of the link - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - override public function get text():String - { - return _text; - } - override public function set text(value:String):void - { - _text = value; - - COMPILE::JS - { - if(textNode == null) - { - textNode = document.createTextNode('') as Text; - element.appendChild(textNode); - } - - textNode.nodeValue = value; - } - } - - COMPILE::JS - protected var textNode:Text; - - /** * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement * @flexjsignorecoercion HTMLSpanElement @@ -97,14 +53,14 @@ package org.apache.flex.mdl { typeNames = "mdl-chip"; - _chipTextSpan = document.createElement("span") as HTMLSpanElement; - _chipTextSpan.classList.add("mdl-chip__text"); + chipTextSpan = document.createElement("span") as HTMLSpanElement; + chipTextSpan.classList.add("mdl-chip__text"); textNode = document.createTextNode('') as Text; - _chipTextSpan.appendChild(textNode); + chipTextSpan.appendChild(textNode); chip = document.createElement("button") as HTMLButtonElement; - chip.appendChild(_chipTextSpan); + chip.appendChild(chipTextSpan); element = chip as WrappedHTMLElement; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as index f6173cc..759247d 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/Chip.as @@ -18,73 +18,30 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.mdl { + import org.apache.flex.mdl.supportClasses.ChipBase; + COMPILE::JS { import org.apache.flex.core.WrappedHTMLElement; } /** - * The Chip class provides a MDL UI-like appearance for - * a Chip. + * Chip class represents a MDL basic Chip + * Chips are complex entities in small blocks. + * + * The Material Design Lite (MDL) chip component is a small, interactive element. + * Chips are commonly used for contacts, text, rules, icons, and photos. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - public class Chip extends Button + public class Chip extends ChipBase { - public function Chip() - { - super(); - - className = ""; - } - COMPILE::JS private var chip:HTMLSpanElement; - COMPILE::JS - private var _chipTextSpan:HTMLSpanElement; - - COMPILE::JS - public function get chipTextSpan():HTMLSpanElement - { - return _chipTextSpan; - } - - private var _text:String = ""; - /** - * The text of the link - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - override public function get text():String - { - return _text; - } - override public function set text(value:String):void - { - _text = value; - - COMPILE::JS - { - if(textNode == null) - { - textNode = document.createTextNode('') as Text; - element.appendChild(textNode); - } - - textNode.nodeValue = value; - } - } - - COMPILE::JS - protected var textNode:Text; - /** * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement * @flexjsignorecoercion HTMLSpanElement @@ -95,14 +52,14 @@ package org.apache.flex.mdl { typeNames = "mdl-chip"; - _chipTextSpan = document.createElement("span") as HTMLSpanElement; - _chipTextSpan.classList.add("mdl-chip__text"); + chipTextSpan = document.createElement("span") as HTMLSpanElement; + chipTextSpan.classList.add("mdl-chip__text"); textNode = document.createTextNode('') as Text; - _chipTextSpan.appendChild(textNode); + chipTextSpan.appendChild(textNode); chip = document.createElement("span") as HTMLSpanElement; - chip.appendChild(_chipTextSpan); + chip.appendChild(chipTextSpan); element = chip as WrappedHTMLElement; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactChip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactChip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactChip.as index 7450253..30855ef 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactChip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactChip.as @@ -22,11 +22,8 @@ package org.apache.flex.mdl.beads import org.apache.flex.core.IStrand; import org.apache.flex.html.Span; import org.apache.flex.utils.StrandUtils; + import org.apache.flex.core.UIBase; - COMPILE::JS - { - import org.apache.flex.core.UIBase; - } /** * The ContactChip bead class is a specialty bead that can be used to add additional * button to Chip MDL control. @@ -34,57 +31,47 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - COMPILE::SWF - public class ContactChip + public class ContactChip implements IBead { - private var _contactText:String; - - public function ContactChip() - { - - } - /** - * The text displayed on ContactChip + * constructor. * - * @param value - * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - public function set contactText(value:String):void + public function ContactChip() { - _contactText = value; } - } - COMPILE::JS - public class ContactChip implements IBead - { + private var _contactText:String = ""; /** - * constructor. + * The text displayed on ContactChip * + * @param value + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - public function ContactChip() + public function set contactText(value:String):void { + _contactText = value; } - private var _contactText:String = ""; - private var contact:Span; + + COMPILE::JS private var textNode:Text; - private var _strand:IStrand; + COMPILE::JS private var _strandHtmlElement:HTMLElement; + private var _strand:IStrand; /** * @flexjsignorecoercion HTMLElement * @flexjsignorecoercion HTMLSpanElement @@ -98,37 +85,44 @@ package org.apache.flex.mdl.beads _strand = value; var host:UIBase = value as UIBase; - _strandHtmlElement = host.element as HTMLElement; - var isValidElement:Boolean = _strandHtmlElement is HTMLSpanElement || _strandHtmlElement is HTMLButtonElement; - if (isValidElement && _strandHtmlElement.className.search("mdl-chip") > -1) + COMPILE::JS { - _strandHtmlElement.classList.add("mdl-chip--contact"); + _strandHtmlElement = host.element as HTMLElement; + var isValidElement:Boolean = _strandHtmlElement is HTMLSpanElement || _strandHtmlElement is HTMLButtonElement; - textNode = document.createTextNode('') as Text; - textNode.nodeValue = _contactText; + if (isValidElement && _strandHtmlElement.className.search("mdl-chip") > -1) + { + _strandHtmlElement.classList.add("mdl-chip--contact"); - contact = new Span(); - contact.element.classList.add("mdl-chip__contact"); + textNode = document.createTextNode('') as Text; + textNode.nodeValue = _contactText; - loadColorBead(); - loadTextColorBead(); + contact = new Span(); + contact.element.classList.add("mdl-chip__contact"); - contact.element.appendChild(textNode); + loadColorBead(); + loadTextColorBead(); - _strandHtmlElement.insertBefore(contact.element, host["chipTextSpan"]); - } - else - { - throw new Error("Host component must be an MDL Host for Chips."); - } - } + contact.element.appendChild(textNode); - public function set contactText(value:String):void - { - _contactText = value; + _strandHtmlElement.insertBefore(contact.element, host["chipTextSpan"]); + } + else + { + throw new Error("Host component must be an MDL Host for Chips."); + } + } } + /** + * load color bead + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function loadColorBead():void { var mdlColorBead:MdlColor = StrandUtils.loadBead(MdlColor, "MdlColor", _strand) as MdlColor; @@ -141,11 +135,23 @@ package org.apache.flex.mdl.beads throw new Error("MdlColor bead exists, but there is no color specified"); } - _strandHtmlElement.classList.remove(mdlColorElement); + COMPILE::JS + { + _strandHtmlElement.classList.remove(mdlColorElement); + } + contact.addBead(mdlColorBead); } } + /** + * load text color bead + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function loadTextColorBead():void { var mdlTextColorBead:MdlTextColor = StrandUtils.loadBead(MdlTextColor, "MdlTextColor", _strand) @@ -159,7 +165,11 @@ package org.apache.flex.mdl.beads throw new Error("MdlTextColor bead exists, but there is no textColor specified"); } - _strandHtmlElement.classList.remove(mdlTextElementTextColor); + COMPILE::JS + { + _strandHtmlElement.classList.remove(mdlTextElementTextColor); + } + contact.addBead(mdlTextColorBead); } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactImageChip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactImageChip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactImageChip.as index ef2ce39..01dca6c 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactImageChip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/ContactImageChip.as @@ -29,71 +29,82 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - COMPILE::SWF - public class ContactImageChip + public class ContactImageChip implements IBead { - private var _source:String; - - public function ContactImageChip() - { - - } - /** - * Source for displayed image - * - * @param value - * + * Constructor. + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - public function set source(value:String):void - { - _source = value; - } - } - - COMPILE::JS - public class ContactImageChip implements IBead - { public function ContactImageChip() { super(); } - private var _source:String = ""; - private var _strand:IStrand; - + /** + * The image contact + */ + COMPILE::JS private var contact:HTMLImageElement; + private var _strand:IStrand; + /** + * @copy org.apache.flex.core.IBead#strand + * + * @flexjsignorecoercion HTMLElement + * @flexjsignorecoercion HTMLSpanElement + * @flexjsignorecoercion HTMLButtonElement + * @flexjsignorecoercion HTMLImageElement + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ public function set strand(value:IStrand):void { _strand = value; var host:UIBase = value as UIBase; - var element:HTMLElement = host.element as HTMLElement; - var isValidElement:Boolean = element is HTMLSpanElement || element is HTMLButtonElement; - if (isValidElement && element.className.search("mdl-chip") > -1) + COMPILE::JS { - element.classList.add("mdl-chip--contact"); + var element:HTMLElement = host.element as HTMLElement; + var isValidElement:Boolean = element is HTMLSpanElement || element is HTMLButtonElement; - contact = document.createElement("img") as HTMLImageElement; - contact.classList.add("mdl-chip__contact"); - contact.src = _source; + if (isValidElement && element.className.search("mdl-chip") > -1) + { + element.classList.add("mdl-chip--contact"); - element.insertBefore(contact, host["chipTextSpan"]); - } - else - { - throw new Error("Host component must be an MDL Host for Chips."); + contact = document.createElement("img") as HTMLImageElement; + contact.classList.add("mdl-chip__contact"); + contact.src = _source; + + element.insertBefore(contact, host["chipTextSpan"]); + } + else + { + throw new Error("Host component must be an MDL Host for Chips."); + } } } + private var _source:String = ""; + /** + * Source for displayed image + * + * @param value + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ public function set source(value:String):void { _source = value; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableChip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableChip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableChip.as index 57bbc3b..3eab336 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableChip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableChip.as @@ -31,7 +31,7 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public class DeletableChip implements IBead { @@ -41,7 +41,7 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function DeletableChip() { @@ -64,18 +64,17 @@ package org.apache.flex.mdl.beads { _strand = value; + var host:UIBase = value as UIBase; + COMPILE::JS - { - var host:UIBase = value as UIBase; + { var element:HTMLElement = host.element as HTMLElement; var isValidElement:Boolean = element is HTMLSpanElement || element is HTMLButtonElement; if (isValidElement && element.className.search("mdl-chip") > -1) { element.classList.add("mdl-chip--deletable"); - deleteButton = createDeleteButton(); - element.appendChild(deleteButton.element as HTMLElement); } else http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableLinkChip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableLinkChip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableLinkChip.as index 923329b..2148ca7 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableLinkChip.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/DeletableLinkChip.as @@ -31,7 +31,7 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public class DeletableLinkChip implements IBead { @@ -41,7 +41,7 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function DeletableLinkChip() { @@ -59,14 +59,19 @@ package org.apache.flex.mdl.beads * @flexjsignorecoercion HTMLButtonElement * * @param value + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ public function set strand(value:IStrand):void { _strand = value; + var host:UIBase = value as UIBase; COMPILE::JS { - var host:UIBase = value as UIBase; var element:HTMLElement = host.element as HTMLElement; var isValidElement:Boolean = element is HTMLSpanElement || element is HTMLButtonElement; @@ -87,15 +92,14 @@ package org.apache.flex.mdl.beads } /** - * - * Link + * The link * * @param value * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function set href(value:String):void { @@ -106,6 +110,11 @@ package org.apache.flex.mdl.beads * @flexjsignorecoercion HTMLElement * * @return Link represents cancel icon + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ COMPILE::JS private function createLinkElement():NavigationLink http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlColor.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlColor.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlColor.as index 48a1000..8c36274 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlColor.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlColor.as @@ -23,7 +23,6 @@ package org.apache.flex.mdl.beads import org.apache.flex.core.UIBase; import org.apache.flex.mdl.supportClasses.IMdlColor; - /** * The MdlColor bead apply color and colorWeight provided by google style color. * @@ -33,34 +32,31 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ - COMPILE::SWF - public class MdlColor implements IMdlColor + public class MdlColor implements IBead, IMdlColor { - private var _color:String; - private var _colorWeight:String; - /** * constructor. * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function MdlColor() { } + private var _color:String = ""; /** * @copy org.apache.flex.mdl.supportClasses.IMdlColor#color * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get color():String { @@ -72,13 +68,14 @@ package org.apache.flex.mdl.beads _color = value; } + private var _colorWeight:String = ""; /** * @copy org.apache.flex.mdl.supportClasses.IMdlColor#colorWeight * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get colorWeight():String { @@ -89,20 +86,8 @@ package org.apache.flex.mdl.beads { _colorWeight = value; } - } - - COMPILE::JS - public class MdlColor implements IBead, IMdlColor - { - public function MdlColor() - { - } - - private var _color:String = ""; - private var _colorWeight:String = ""; - + private var _strand:IStrand; - /** * @copy org.apache.flex.core.IBead#strand * @@ -113,49 +98,56 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function set strand(value:IStrand):void { _strand = value; var host:UIBase = value as UIBase; - var element:HTMLElement = host.element as HTMLElement; - var elementColor:String = getMdlElementColor(); - element.classList.toggle(elementColor, hasColor || hasColorWeight); - } - - public function get color():String - { - return _color; - } - - public function set color(value:String):void - { - _color = value; - } - public function get colorWeight():String - { - return _colorWeight; - } - - public function set colorWeight(value:String):void - { - _colorWeight = value; + COMPILE::JS + { + var element:HTMLElement = host.element as HTMLElement; + element.classList.toggle(elementColor, hasColor || hasColorWeight); + } } + /** + * has color + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function get hasColor():Boolean { return _color != null && _color != ""; } + /** + * has color weight + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function get hasColorWeight():Boolean { return _colorWeight != null && _colorWeight != ""; } + /** + * get mdl element color + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ public function getMdlElementColor():String { if (hasColor && hasColorWeight) http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlTextColor.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlTextColor.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlTextColor.as index a937269..2b159d0 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlTextColor.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/MdlTextColor.as @@ -23,19 +23,32 @@ package org.apache.flex.mdl.beads import org.apache.flex.core.UIBase; import org.apache.flex.mdl.supportClasses.IMdlTextColor; - COMPILE::SWF - public class MdlTextColor implements IMdlTextColor + /** + * The MdlTextColor apply textColor and textColorWeight provided by google style color. + * + * https://material.google.com/style/color.html#color-color-palette + * https://gitlab.com/material/colors/blob/master/colors.html + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ + public class MdlTextColor implements IBead, IMdlTextColor { - private var _textColor:String; - private var _textColorWeight:String; + public function MdlTextColor() + { + } + + private var _textColor:String = ""; /** * @copy org.apache.flex.mdl.supportClasses.IMdlTextColor#textColor * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get textColor():String { @@ -47,13 +60,14 @@ package org.apache.flex.mdl.beads _textColor = value; } + private var _textColorWeight:String = ""; /** * @copy org.apache.flex.mdl.supportClasses.IMdlTextColor#textColorWeight * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function get textColorWeight():String { @@ -64,20 +78,8 @@ package org.apache.flex.mdl.beads { _textColorWeight = value; } - } - - COMPILE::JS - public class MdlTextColor implements IBead, IMdlTextColor - { - public function MdlTextColor() - { - } - - private var _textColor:String = ""; - private var _textColorWeight:String = ""; private var _strand:IStrand; - /** * @copy org.apache.flex.core.IBead#strand * @@ -88,49 +90,56 @@ package org.apache.flex.mdl.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function set strand(value:IStrand):void { _strand = value; var host:UIBase = value as UIBase; - var element:HTMLElement = host.element as HTMLElement; - var elementColor:String = getMdlElementTextColor(); - element.classList.toggle(elementColor, hasTextColor || hasTextColorWeight); - } - - public function get textColor():String - { - return _textColor; - } - public function set textColor(value:String):void - { - _textColor = value; - } - - public function get textColorWeight():String - { - return _textColorWeight; - } - - public function set textColorWeight(value:String):void - { - _textColorWeight = value; + COMPILE::JS + { + var element:HTMLElement = host.element as HTMLElement; + element.classList.toggle(elementColor, hasTextColor || hasTextColorWeight); + } } + /** + * has text color + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function get hasTextColor():Boolean { return _textColor != null && _textColor != ""; } + /** + * has text color weight + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ private function get hasTextColorWeight():Boolean { return _textColorWeight != null && _textColorWeight != ""; } + /** + * get mdl element text color + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ public function getMdlElementTextColor():String { if (hasTextColor && hasTextColorWeight) http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/ChipBase.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/ChipBase.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/ChipBase.as new file mode 100644 index 0000000..5bcb009 --- /dev/null +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/ChipBase.as @@ -0,0 +1,95 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// +package org.apache.flex.mdl.supportClasses +{ + import org.apache.flex.mdl.Button; + + COMPILE::JS + { + import org.apache.flex.core.WrappedHTMLElement; + } + + /** + * ChipBase class is the base class for Chip and ButtonChip + * Chips are complex entities in small blocks. + * + * The Material Design Lite (MDL) chip component is a small, interactive element. + * Chips are commonly used for contacts, text, rules, icons, and photos. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ + public class ChipBase extends Button + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ + public function ChipBase() + { + super(); + + className = ""; + } + + /** + * The chip span element + */ + COMPILE::JS + public var chipTextSpan:HTMLSpanElement; + + private var _text:String = ""; + /** + * The text of the chip + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 + */ + override public function get text():String + { + return _text; + } + override public function set text(value:String):void + { + _text = value; + + COMPILE::JS + { + if(textNode == null) + { + textNode = document.createTextNode('') as Text; + element.appendChild(textNode); + } + + textNode.nodeValue = value; + } + } + + COMPILE::JS + protected var textNode:Text; + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlColor.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlColor.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlColor.as index 9e8f782..231fc9f 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlColor.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlColor.as @@ -28,7 +28,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public interface IMdlColor { @@ -41,7 +41,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ function get color():String; function set color(value:String):void; @@ -54,7 +54,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ function get colorWeight():String; function set colorWeight(value:String):void; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/32d7ac32/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlTextColor.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlTextColor.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlTextColor.as index 6908fda..e20212c 100644 --- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlTextColor.as +++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/supportClasses/IMdlTextColor.as @@ -28,7 +28,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public interface IMdlTextColor { @@ -41,7 +41,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ function get textColor():String; function set textColor(value:String):void; @@ -55,7 +55,7 @@ package org.apache.flex.mdl.supportClasses * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ function get textColorWeight():String; function set textColorWeight(value:String):void;
