This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch feature/jewel_positioner
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/feature/jewel_positioner by 
this push:
     new ebca791  textinputbased jewel components refactor
ebca791 is described below

commit ebca791c09c596039d3052ac50322c4ce8fe08e2
Author: Carlos Rovira <[email protected]>
AuthorDate: Thu Mar 7 00:28:17 2019 +0100

    textinputbased jewel components refactor
---
 .../org/apache/royale/jewel/IconTextInput.as       | 27 ++++----
 .../royale/org/apache/royale/jewel/TextArea.as     | 27 ++------
 .../royale/org/apache/royale/jewel/TextInput.as    | 19 +-----
 .../supportClasses/textinput/TextInputBase.as      | 73 ++++++++++------------
 4 files changed, 52 insertions(+), 94 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconTextInput.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconTextInput.as
index 7e550de..8584f38 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconTextInput.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconTextInput.as
@@ -17,9 +17,12 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
-    import org.apache.royale.core.IIconSupport;
-    import org.apache.royale.core.IIcon;
+    COMPILE::JS
+    {
     import org.apache.royale.core.IUIBase;
+    }
+    import org.apache.royale.core.IIcon;
+    import org.apache.royale.core.IIconSupport;
 
     /**
      *  The IconTextInput class implements is a TextInput that supports
@@ -45,8 +48,6 @@ package org.apache.royale.jewel
                public function IconTextInput()
                {
                        super();
-
-            //typeNames = "jewel textinput";
                }
         
         private var _icon:IIcon;
@@ -71,15 +72,15 @@ package org.apache.royale.jewel
             
             COMPILE::JS
             {
-                // insert the icon before the text
-                if(rightPosition)
-                {
-                    div.insertBefore(_icon.positioner, null);
-                } else
-                {
-                    div.insertBefore(_icon.positioner, element);
-                }
-                (_icon as IUIBase).addedToParent();
+            // insert the icon before the text
+            if(rightPosition)
+            {
+                div.element.insertBefore(_icon.positioner, null);
+            } else
+            {
+                div.element.insertBefore(_icon.positioner, element);
+            }
+            (_icon as IUIBase).addedToParent();
             }
         }
         
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextArea.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextArea.as
index 3ce273c..97a1569 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextArea.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextArea.as
@@ -17,14 +17,14 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
-    import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
-
     COMPILE::JS
     {
         import goog.events;
+
         import org.apache.royale.core.WrappedHTMLElement;
         import org.apache.royale.html.util.addElementToWrapper;
     }
+    import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
 
     /**
      *  The TextArea class implements the basic control for
@@ -75,7 +75,7 @@ package org.apache.royale.jewel
 
             COMPILE::JS 
             {
-                input.setAttribute('rows', _rows);
+            input.setAttribute('rows', _rows);
             }
         }
 
@@ -102,43 +102,26 @@ package org.apache.royale.jewel
 
             COMPILE::JS 
             {
-                input.setAttribute('maxrows', _maxrows);
+            input.setAttribute('maxrows', _maxrows);
             }
         }
         
         /**
          * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         * @royaleignorecoercion HTMLDivElement
          * @royaleignorecoercion HTMLInputElement
-         * @royaleignorecoercion HTMLLabelElement
-         * @royaleignorecoercion Text
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            div = document.createElement('div') as HTMLDivElement;
-            
             input = addElementToWrapper(this,'textarea') as HTMLInputElement;
             input.setAttribute('type', 'text');
             input.setAttribute('rows', rows);
-            //input.setAttribute('maxrows', maxrows);
             
             //attach input handler to dispatch royale change event when user 
write in textinput
             //goog.events.listen(element, 'change', killChangeHandler);
             goog.events.listen(input, 'input', textChangeHandler);
             
-            //label = document.createElement('label') as HTMLLabelElement;
-            //label.className = "jewel-textinput-label";
-
-            //textNode = document.createTextNode('') as Text;
-            //label.appendChild(textNode);
-            
-            div.appendChild(input);
-            //div.appendChild(label);
-
-            positioner = div as WrappedHTMLElement;
-            //(label as WrappedHTMLElement).royale_wrapper = this;
-            positioner.royale_wrapper = this;
+            div.element.appendChild(input);
             
             return element;
         }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextInput.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextInput.as
index 967fef3..5a3bbb5 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextInput.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/TextInput.as
@@ -55,16 +55,11 @@ package org.apache.royale.jewel
         
         /**
          * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         * @royaleignorecoercion HTMLDivElement
          * @royaleignorecoercion HTMLInputElement
-         * @royaleignorecoercion HTMLLabelElement
-         * @royaleignorecoercion Text
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            div = document.createElement('div') as HTMLDivElement;
-            
             input = addElementToWrapper(this,'input') as HTMLInputElement;
             input.setAttribute('type', 'text');
             
@@ -72,21 +67,9 @@ package org.apache.royale.jewel
             //goog.events.listen(element, 'change', killChangeHandler);
             goog.events.listen(input, 'input', textChangeHandler);
             
-            //label = document.createElement('label') as HTMLLabelElement;
-            //label.className = "jewel-textinput-label";
-
-            //textNode = document.createTextNode('') as Text;
-            //label.appendChild(textNode);
-            
-            div.appendChild(input);
-            //div.appendChild(label);
-
-            positioner = div as WrappedHTMLElement;
-            //(label as WrappedHTMLElement).royale_wrapper = this;
-            positioner.royale_wrapper = this;
+            div.element.appendChild(input);
             
             return element;
         }
-
        }
 }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/textinput/TextInputBase.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/textinput/TextInputBase.as
index d8ad1ba..1b990ef 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/textinput/TextInputBase.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/textinput/TextInputBase.as
@@ -17,16 +17,18 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.supportClasses.textinput
 {
-    import org.apache.royale.core.StyledUIBase;
-       import org.apache.royale.events.Event;
-    import org.apache.royale.jewel.supportClasses.textinput.ITextInput;
-    import org.apache.royale.core.ITextModel;
-    
     COMPILE::JS
     {
         import goog.events;
+
         import org.apache.royale.core.WrappedHTMLElement;
     }
+    import org.apache.royale.core.ITextModel;
+    import org.apache.royale.core.StyledUIBase;
+    import org.apache.royale.events.Event;
+    import org.apache.royale.jewel.supportClasses.textinput.ITextInput;
+    import org.apache.royale.jewel.Group;
+    import org.apache.royale.core.UIBase;
     
     /**
      *  Dispatched when the user changes the text.
@@ -62,7 +64,7 @@ package org.apache.royale.jewel.supportClasses.textinput
 
             COMPILE::SWF
             {
-                model.addEventListener("textChange", textChangeHandler);
+            model.addEventListener("textChange", textChangeHandler);
             }
                }
 
@@ -81,11 +83,11 @@ package org.apache.royale.jewel.supportClasses.textinput
                {
             COMPILE::SWF
             {
-                return ITextModel(model).text;
+            return ITextModel(model).text;
             }
             COMPILE::JS
             {
-                return (element as HTMLInputElement).value;
+            return (element as HTMLInputElement).value;
             }
                }
 
@@ -97,14 +99,14 @@ package org.apache.royale.jewel.supportClasses.textinput
                {
             COMPILE::SWF
             {
-                inSetter = true;
-                ITextModel(model).text = value;
-                inSetter = false;
+            inSetter = true;
+            ITextModel(model).text = value;
+            inSetter = false;
             }
             COMPILE::JS
             {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
+            (element as HTMLInputElement).value = value;
+            dispatchEvent(new Event('textChange'));
             }
                }
 
@@ -122,11 +124,11 @@ package org.apache.royale.jewel.supportClasses.textinput
                {
             COMPILE::SWF
             {
-                return ITextModel(model).html;
+            return ITextModel(model).html;
             }
             COMPILE::JS
             {
-                return (element as HTMLInputElement).value;
+            return (element as HTMLInputElement).value;
             }
                }
 
@@ -138,12 +140,12 @@ package org.apache.royale.jewel.supportClasses.textinput
                {
             COMPILE::SWF
             {
-                ITextModel(model).html = value;
+            ITextModel(model).html = value;
             }
             COMPILE::JS
             {
-                (element as HTMLInputElement).value = value;
-                dispatchEvent(new Event('textChange'));
+            (element as HTMLInputElement).value = value;
+            dispatchEvent(new Event('textChange'));
             }
                }
 
@@ -235,36 +237,25 @@ package org.apache.royale.jewel.supportClasses.textinput
             _label = value;
         }
 
-        COMPILE::JS
         /**
                 *  @langversion 3.0
                 *  @playerversion Flash 10.2
                 *  @playerversion AIR 2.6
                 *  @productversion Royale 0.9.4
-         *  @royalesuppresspublicvarwarning
                 */
-        public var div:HTMLDivElement;
+        private var _div:UIBase;
 
-        // private var _isInvalid:Boolean = false;
-        // /**
-               //  *  A boolean flag to activate "is-invalid" effect selector.
-        //  *  Defines the textinput as invalid on initial load.
-        //  *  Optional
-               //  *
-               //  *  @langversion 3.0
-               //  *  @playerversion Flash 10.2
-               //  *  @playerversion AIR 2.6
-               //  *  @productversion Royale 0.9.4
-               //  */
-        // public function get isInvalid():Boolean
-        // {
-        //     return _isInvalid;
-        // }
-        // public function set isInvalid(value:Boolean):void
-        // {
-        //     _isInvalid = value;
+        public function get div():UIBase
+               {
+            if(!_div)
+                _div = new UIBase();
+            return _div;
+        }
 
-        //     toggleClass("is-invalid", _isInvalid);
-        // }
+        COMPILE::JS
+               override public function get positioner():WrappedHTMLElement
+               {
+            return div.element;
+               }
        }
 }

Reply via email to