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 9329075  jewel-textprompt: make it happen on beadsadded event
9329075 is described below

commit 9329075997fac8aa0c89c4c7fc224a8fdbd0b6ff
Author: Carlos Rovira <[email protected]>
AuthorDate: Wed Mar 4 19:51:05 2020 +0100

    jewel-textprompt: make it happen on beadsadded event
---
 .../jewel/beads/controls/textinput/TextPrompt.as    | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/TextPrompt.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/TextPrompt.as
index 41fb366..1f53456 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/TextPrompt.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/TextPrompt.as
@@ -25,7 +25,7 @@ package org.apache.royale.jewel.beads.controls.textinput
                import org.apache.royale.core.CSSTextField;
        }
        
-       import org.apache.royale.core.IBead;
+       import org.apache.royale.core.Bead;
        import org.apache.royale.core.IStrand;
        import org.apache.royale.core.UIBase;
        import org.apache.royale.events.Event;
@@ -40,7 +40,7 @@ package org.apache.royale.jewel.beads.controls.textinput
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.4
         */
-       public class TextPrompt implements IBead
+       public class TextPrompt extends Bead
        {
                /**
                 *  constructor.
@@ -93,9 +93,11 @@ package org.apache.royale.jewel.beads.controls.textinput
                 *  @royaleignorecoercion HTMLInputElement
                 *  @royaleignorecoercion org.apache.royale.core.UIBase;
                 */
-               public function set strand(value:IStrand):void
+               override public function set strand(value:IStrand):void
                {
-                       host = value as UIBase;
+                       _strand = value;
+                       host = _strand as UIBase;
+                       listenOnStrand("beadsAdded", beadsAddedHandler);
                        
                        COMPILE::SWF
                        {
@@ -119,12 +121,18 @@ package org.apache.royale.jewel.beads.controls.textinput
                                // trigger the event handler to display if 
needed
                                handleTextChange(null);                         
        
                        }
+               }
+
+               private function beadsAddedHandler(event:Event):void
+               {
+                       host.removeEventListener("beadsAdded", 
beadsAddedHandler);
                        COMPILE::JS
                        {
-                               updatePromptText();
+                       updatePromptText();
                        }
                }
 
+
                /**
          *  Update the internal element placeholder with the prompt property
          *
@@ -137,7 +145,8 @@ package org.apache.royale.jewel.beads.controls.textinput
                protected function updatePromptText():void
                {
                        var e:HTMLInputElement = host.element as 
HTMLInputElement;
-                       e.placeholder = prompt;
+                       if(e)
+                               e.placeholder = prompt;
                }
                
                COMPILE::SWF

Reply via email to