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 22:20:07 UTC

[royale-asjs] branch develop updated: jewel-textprompt: some cases was not working

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 ca6ff63  jewel-textprompt: some cases was not working
ca6ff63 is described below

commit ca6ff63e4113322a8226da06cabf265a034c8dc7
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Mar 4 23:19:58 2020 +0100

    jewel-textprompt: some cases was not working
---
 .../beads/controls/combobox/ComboBoxTextPrompt.as  |  3 +-
 .../controls/datefield/DateFieldTextPrompt.as      |  3 +-
 .../jewel/beads/controls/textinput/TextPrompt.as   | 32 +++++++++-------------
 3 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
index c6099a1..7b27e56 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxTextPrompt.as
@@ -22,6 +22,7 @@ package org.apache.royale.jewel.beads.controls.combobox
 	{
 		import flash.utils.setTimeout;
     }
+	import org.apache.royale.core.UIBase;
 	import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
 	import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
 	
@@ -60,7 +61,7 @@ package org.apache.royale.jewel.beads.controls.combobox
 		COMPILE::JS
 		override protected function updatePromptText():void
 		{
-			(host.view as IComboBoxView).textinput.input.placeholder = prompt;
+			((_strand as UIBase).view as IComboBoxView).textinput.input.placeholder = prompt;
 		}
 	}
 }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
index 476d512..229d413 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datefield/DateFieldTextPrompt.as
@@ -22,6 +22,7 @@ package org.apache.royale.jewel.beads.controls.datefield
 	{
 		import flash.utils.setTimeout;
     }
+	import org.apache.royale.core.UIBase;
 	import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
 	import org.apache.royale.jewel.beads.views.DateFieldView;
 	
@@ -60,7 +61,7 @@ package org.apache.royale.jewel.beads.controls.datefield
 		COMPILE::JS
 		override protected function updatePromptText():void
 		{
-			(host.view as DateFieldView).textInput.input.placeholder = prompt;
+			((_strand as UIBase).view as DateFieldView).textInput.input.placeholder = prompt;
 		}
 	}
 }
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 8d77a26..03ecfaa 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
@@ -23,13 +23,12 @@ package org.apache.royale.jewel.beads.controls.textinput
 		import flash.text.TextFieldType;
 
 		import org.apache.royale.core.CSSTextField;
-		import org.apache.royale.events.IEventDispatcher;
 	}
-	
 	import org.apache.royale.core.Bead;
 	import org.apache.royale.core.IStrand;
-	import org.apache.royale.core.UIBase;
 	import org.apache.royale.events.Event;
+	import org.apache.royale.events.IEventDispatcher;
+	import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
 	
 	/**
 	 *  The TextPrompt class is a specialty bead that can be used with
@@ -74,19 +73,17 @@ package org.apache.royale.jewel.beads.controls.textinput
 			if(value != _prompt)
 			{
 				_prompt = value;
-				if(host)
+				if(_strand)
 				{
 					COMPILE::JS
 					{
 					updatePromptText();
 					}
-					host.dispatchEvent(new Event("promptChanged"));
+					IEventDispatcher(_strand).dispatchEvent(new Event("promptChanged"));
 				}	
 			}
 		}
-		
-		protected var host:UIBase;
-		
+
 		/**
 		 *  @copy org.apache.royale.core.IBead#strand
 		 *  
@@ -100,9 +97,10 @@ package org.apache.royale.jewel.beads.controls.textinput
 		override public function set strand(value:IStrand):void
 		{
 			_strand = value;
-			host = _strand as UIBase;
+			COMPILE::JS
+			{
 			listenOnStrand("beadsAdded", beadsAddedHandler);
-			
+			}
 			COMPILE::SWF
 			{
 				// listen for changes in text to hide or show the prompt
@@ -127,18 +125,16 @@ package org.apache.royale.jewel.beads.controls.textinput
 			}
 		}
 
+		COMPILE::JS
 		private function beadsAddedHandler(event:Event):void
 		{
-			host.removeEventListener("beadsAdded", beadsAddedHandler);
-			COMPILE::JS
-			{
+			IEventDispatcher(_strand).removeEventListener("beadsAdded", beadsAddedHandler);
 			updatePromptText();
-			}
 		}
 
-
 		/**
-         *  Update the internal element placeholder with the prompt property
+         *  Update the internal element placeholder with the prompt property.
+		 *  This method is intended to be overriden in subclasses
          *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
@@ -148,9 +144,7 @@ package org.apache.royale.jewel.beads.controls.textinput
 		COMPILE::JS
 		protected function updatePromptText():void
 		{
-			var e:HTMLInputElement = host.element as HTMLInputElement;
-			if(e)
-				e.placeholder = prompt;
+			(_strand as TextInputBase).input.placeholder = prompt;
 		}
 		
 		COMPILE::SWF