This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 5aedadda7a4588d261ab7f83bacdaf28948d00fb Author: Alex Harui <[email protected]> AuthorDate: Thu Feb 20 11:30:53 2020 -0800 Revert "jewel-itemrenderer: Create a SimpleListItemRenderer that has simple list capabilities (text, align, styling and is li) and make ListItemRenderer extend it and add hover and selection capabilities" This reverts commit fac9e91ddc37832f7cf3316fd66a8c4c8c090e82. --- .../Jewel/src/main/resources/jewel-manifest.xml | 1 - .../royale/jewel/itemRenderers/ListItemRenderer.as | 108 ++++++++++++++- .../jewel/itemRenderers/SimpleListItemRenderer.as | 146 --------------------- 3 files changed, 105 insertions(+), 150 deletions(-) diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml index 4308d97..a28baef 100644 --- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml +++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml @@ -204,7 +204,6 @@ <component id="ButtonBarLayout" class="org.apache.royale.jewel.beads.layouts.ButtonBarLayout"/> <component id="StringItemRenderer" class="org.apache.royale.jewel.itemRenderers.StringItemRenderer"/> - <component id="SimpleListItemRenderer" class="org.apache.royale.jewel.itemRenderers.SimpleListItemRenderer"/> <component id="ListItemRenderer" class="org.apache.royale.jewel.itemRenderers.ListItemRenderer"/> <component id="DataGridItemRenderer" class="org.apache.royale.jewel.itemRenderers.DataGridItemRenderer"/> <component id="TableItemRenderer" class="org.apache.royale.jewel.itemRenderers.TableItemRenderer"/> diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as index fcafcbe..80d5517 100644 --- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as +++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as @@ -18,8 +18,19 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.royale.jewel.itemRenderers { + COMPILE::JS + { + import org.apache.royale.core.WrappedHTMLElement; + import org.apache.royale.html.util.addElementToWrapper; + } import org.apache.royale.core.IRuntimeSelectableItemRenderer; - import org.apache.royale.jewel.beads.itemRenderers.ClassSelectorListRuntimeSelectableItemRendererBead; + import org.apache.royale.core.StyledMXMLItemRenderer; + import org.apache.royale.events.Event; + import org.apache.royale.html.util.getLabelFromData; + import org.apache.royale.jewel.beads.controls.TextAlign; + import org.apache.royale.jewel.beads.itemRenderers.ClassSelectorListRuntimeSelectableItemRendererBead; + import org.apache.royale.jewel.beads.itemRenderers.IAlignItemRenderer; + import org.apache.royale.jewel.beads.itemRenderers.ITextItemRenderer; /** * The ListItemRenderer defines the basic Item Renderer for a Jewel List Component. @@ -29,7 +40,7 @@ package org.apache.royale.jewel.itemRenderers * @playerversion AIR 2.6 * @productversion Royale 0.9.4 */ - public class ListItemRenderer extends SimpleListItemRenderer + public class ListItemRenderer extends StyledMXMLItemRenderer implements ITextItemRenderer, IAlignItemRenderer { /** * constructor. @@ -42,14 +53,105 @@ package org.apache.royale.jewel.itemRenderers public function ListItemRenderer() { super(); + + typeNames = "jewel item"; addClass("selectable"); + + if(MXMLDescriptor != null) + { + addClass("mxmlContent"); + } } - + + private var _text:String = ""; + + [Bindable(event="textChange")] + /** + * The text of the renderer + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.4 + */ + public function get text():String + { + return _text; + } + + public function set text(value:String):void + { + if(value != _text) { + _text = value; + COMPILE::JS + { + if(MXMLDescriptor == null) + { + element.innerHTML = _text; + } + } + dispatchEvent(new Event('textChange')); + } + } + + protected var textAlign:TextAlign; + + /** + * How text align in the itemRenderer instance. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.4 + */ + public function get align():String + { + return textAlign.align; + } + + public function set align(value:String):void + { + if(!textAlign) + { + textAlign = new TextAlign(); + addBead(textAlign); + } + textAlign.align = value; + } + + /** + * Sets the data value and uses the String version of the data for display. + * + * @param Object data The object being displayed by the itemRenderer instance. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.4 + */ + override public function set data(value:Object):void + { + text = getLabelFromData(this, value); + super.data = value; + } + + /** + * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement + * @royaleignorecoercion Text + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + addElementToWrapper(this, 'li'); + return element; + } + override public function addedToParent():void { super.addedToParent(); if (!getBeadByType(IRuntimeSelectableItemRenderer)) addBead(new ClassSelectorListRuntimeSelectableItemRendererBead(classSelectorList)); } + } } diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/SimpleListItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/SimpleListItemRenderer.as deleted file mode 100644 index 7bc3712..0000000 --- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/SimpleListItemRenderer.as +++ /dev/null @@ -1,146 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// 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.royale.jewel.itemRenderers -{ - COMPILE::JS - { - import org.apache.royale.core.WrappedHTMLElement; - import org.apache.royale.html.util.addElementToWrapper; - } - import org.apache.royale.core.StyledMXMLItemRenderer; - import org.apache.royale.events.Event; - import org.apache.royale.html.util.getLabelFromData; - import org.apache.royale.jewel.beads.controls.TextAlign; - import org.apache.royale.jewel.beads.itemRenderers.IAlignItemRenderer; - import org.apache.royale.jewel.beads.itemRenderers.ITextItemRenderer; - - /** - * The SimpleListItemRenderer defines the basic Item Renderer for a Jewel List Component. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.4 - */ - public class SimpleListItemRenderer extends StyledMXMLItemRenderer implements ITextItemRenderer, IAlignItemRenderer - { - /** - * constructor. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.4 - */ - public function SimpleListItemRenderer() - { - super(); - - typeNames = "jewel item"; - - if(MXMLDescriptor != null) - { - addClass("mxmlContent"); - } - } - - private var _text:String = ""; - - [Bindable(event="textChange")] - /** - * The text of the renderer - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.4 - */ - public function get text():String - { - return _text; - } - - public function set text(value:String):void - { - if(value != _text) { - _text = value; - COMPILE::JS - { - if(MXMLDescriptor == null) - { - element.innerHTML = _text; - } - } - dispatchEvent(new Event('textChange')); - } - } - - protected var textAlign:TextAlign; - - /** - * How text align in the itemRenderer instance. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.4 - */ - public function get align():String - { - return textAlign.align; - } - - public function set align(value:String):void - { - if(!textAlign) - { - textAlign = new TextAlign(); - addBead(textAlign); - } - textAlign.align = value; - } - - /** - * Sets the data value and uses the String version of the data for display. - * - * @param Object data The object being displayed by the itemRenderer instance. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.4 - */ - override public function set data(value:Object):void - { - text = getLabelFromData(this, value); - super.data = value; - } - - /** - * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement - * @royaleignorecoercion Text - */ - COMPILE::JS - override protected function createElement():WrappedHTMLElement - { - addElementToWrapper(this, 'li'); - return element; - } - } -}
