You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/03/06 23:28:24 UTC

[royale-asjs] branch feature/jewel_positioner updated: textinputbased jewel components refactor

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 <ca...@apache.org>
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;
+		}
 	}
 }