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 2020/03/04 18:51:14 UTC

[royale-asjs] branch develop updated: jewel-textprompt: make it happen on beadsadded event

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