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 fac9e91  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
fac9e91 is described below

commit fac9e91ddc37832f7cf3316fd66a8c4c8c090e82
Author: Carlos Rovira <[email protected]>
AuthorDate: Thu Feb 20 19:33:35 2020 +0100

    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
---
 .../Jewel/src/main/resources/jewel-manifest.xml    |   1 +
 .../royale/jewel/itemRenderers/ListItemRenderer.as | 108 +--------------------
 ...stItemRenderer.as => SimpleListItemRenderer.as} |  21 +---
 3 files changed, 9 insertions(+), 121 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index a28baef..4308d97 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -204,6 +204,7 @@
     <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 80d5517..fcafcbe 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,19 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 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.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;
+       import 
org.apache.royale.jewel.beads.itemRenderers.ClassSelectorListRuntimeSelectableItemRendererBead;
        
        /**
         *  The ListItemRenderer defines the basic Item Renderer for a Jewel 
List Component.
@@ -40,7 +29,7 @@ package org.apache.royale.jewel.itemRenderers
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class ListItemRenderer extends StyledMXMLItemRenderer implements 
ITextItemRenderer, IAlignItemRenderer
+       public class ListItemRenderer extends SimpleListItemRenderer
        {
                /**
                 *  constructor.
@@ -53,105 +42,14 @@ 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/ListItemRenderer.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/SimpleListItemRenderer.as
similarity index 82%
copy from 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
copy to 
frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/SimpleListItemRenderer.as
index 80d5517..7bc3712 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/SimpleListItemRenderer.as
@@ -23,24 +23,22 @@ package org.apache.royale.jewel.itemRenderers
        import org.apache.royale.core.WrappedHTMLElement;
        import org.apache.royale.html.util.addElementToWrapper;
     }
-       import org.apache.royale.core.IRuntimeSelectableItemRenderer;
-    import org.apache.royale.core.StyledMXMLItemRenderer;
+       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.
+        *  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 ListItemRenderer extends StyledMXMLItemRenderer implements 
ITextItemRenderer, IAlignItemRenderer
+       public class SimpleListItemRenderer extends StyledMXMLItemRenderer 
implements ITextItemRenderer, IAlignItemRenderer
        {
                /**
                 *  constructor.
@@ -50,13 +48,12 @@ package org.apache.royale.jewel.itemRenderers
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
                 */
-               public function ListItemRenderer()
+               public function SimpleListItemRenderer()
                {
                        super();
 
                        typeNames = "jewel item";
-                       addClass("selectable");
-
+                       
                        if(MXMLDescriptor != null)
                        {
                                addClass("mxmlContent");
@@ -145,13 +142,5 @@ package org.apache.royale.jewel.itemRenderers
                        addElementToWrapper(this, 'li');
             return element;
         }
-        
-        override public function addedToParent():void
-        {
-            super.addedToParent();
-            if (!getBeadByType(IRuntimeSelectableItemRenderer))
-                addBead(new 
ClassSelectorListRuntimeSelectableItemRendererBead(classSelectorList));
-        }
-
        }
 }

Reply via email to