You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pi...@apache.org on 2019/04/20 15:54:49 UTC

[royale-asjs] branch develop updated: Jewel: Fix issue where using private tirgger/triggerEvent cause code duplication in derived classes

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

piotrz 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 8d57f78  Jewel: Fix issue where using private tirgger/triggerEvent cause code duplication in derived classes
8d57f78 is described below

commit 8d57f78be2f3e2fc0d221e1ac826cc0eb4e26ce2
Author: Piotr Zarzycki <pi...@gmail.com>
AuthorDate: Sat Apr 20 17:54:36 2019 +0200

    Jewel: Fix issue where using private tirgger/triggerEvent cause code duplication in derived classes
---
 .../jewel/beads/validators/CheckBoxValidator.as    | 17 --------
 .../royale/jewel/beads/validators/DateValidator.as | 16 --------
 .../jewel/beads/validators/RadioButtonValidator.as | 20 ----------
 .../beads/validators/SelectedItemNullValidator.as  | 17 --------
 .../jewel/beads/validators/StringValidator.as      |  7 ++--
 .../royale/jewel/beads/validators/Validator.as     | 45 +++++++++++++++-------
 6 files changed, 34 insertions(+), 88 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/CheckBoxValidator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/CheckBoxValidator.as
index 722e640..da018d9 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/CheckBoxValidator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/CheckBoxValidator.as
@@ -18,7 +18,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.validators
 {
-	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.jewel.CheckBox;
 
@@ -46,22 +45,6 @@ package org.apache.royale.jewel.beads.validators
 			super()
 		}
 
-		/**                         	
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			hostComponent.addEventListener(triggerEvent, validate, false);
-		}
-
-
 		/**
 		 *  Override of the base class validate() method to validate if selected.
 		 * 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/DateValidator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/DateValidator.as
index d96cab2..3ee95af 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/DateValidator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/DateValidator.as
@@ -18,7 +18,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.validators
 {
-    import org.apache.royale.core.IStrand;
     import org.apache.royale.events.Event;
     import org.apache.royale.jewel.DateField;
 
@@ -46,21 +45,6 @@ package org.apache.royale.jewel.beads.validators
 			super()
 		}
 
-        /**                         	
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			hostComponent.addEventListener(triggerEvent, validate, false);
-		}
-
 		private function isValidDate(d:*):Boolean
 		{
 			return (d is Date) && !isNaN(d);
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/RadioButtonValidator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/RadioButtonValidator.as
index ae26b70..448c7e5 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/RadioButtonValidator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/RadioButtonValidator.as
@@ -18,7 +18,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.validators
 {
-	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.jewel.RadioButton;
 
@@ -46,25 +45,6 @@ package org.apache.royale.jewel.beads.validators
 			super();
 		}
 
-		/**                         	
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			COMPILE::JS
-			{
-				hostComponent.addEventListener(triggerEvent, validate, false);
-			}
-		}
-
-
 		private var _groupName:String;
 
 		public function get groupName():String
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/SelectedItemNullValidator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/SelectedItemNullValidator.as
index 053ba74..3aa59a9 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/SelectedItemNullValidator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/SelectedItemNullValidator.as
@@ -18,9 +18,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.validators
 {
-    import org.apache.royale.core.IStrand;
     import org.apache.royale.events.Event;
-    import org.apache.royale.jewel.DateField;
 
     /**
 	 *  The SelectedItemNullValidator class is a specialty bead that can be used with
@@ -47,21 +45,6 @@ package org.apache.royale.jewel.beads.validators
 			super()
 		}
 
-        /**                         	
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-		 */
-		override public function set strand(value:IStrand):void
-		{
-			super.strand = value;
-			hostComponent.addEventListener(triggerEvent, validate, false);
-		}
-
         /**
 		 *  Override of the base class validate() method to validate if selected.
 		 * 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/StringValidator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/StringValidator.as
index db39884..aa966c6 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/StringValidator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/StringValidator.as
@@ -69,7 +69,6 @@ package org.apache.royale.jewel.beads.validators
 			super.strand = value;
 			COMPILE::JS
 			{
-				hostComponent.addEventListener(triggerEvent, validate);
 				updateHost();
 			}
 		}
@@ -159,9 +158,9 @@ package org.apache.royale.jewel.beads.validators
 		{
 			if (hostComponent)
             {
-                if(_maxLength > 0)
+                if(maxLength > 0)
 				{
-					hostComponent.element.setAttribute('maxlength', _maxLength);
+					hostComponent.element.setAttribute('maxlength', maxLength);
 				} else
 				{
 					hostComponent.element.removeAttribute('maxlength');
@@ -169,7 +168,7 @@ package org.apache.royale.jewel.beads.validators
 
 				if(OSUtils.getOS() == OSUtils.ANDROID_OS)
 				{
-					if(_maxLength > 0)
+					if(maxLength > 0)
 					{
 						//solves Android issue where you can enter more characters than maxlenght in the input
 						hostComponent.element.addEventListener("keyup", forceMaxLength, false);
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/Validator.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/Validator.as
index 2448b68..3116b79 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/Validator.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/validators/Validator.as
@@ -107,14 +107,20 @@ package org.apache.royale.jewel.beads.validators
 		{
 			return _trigger;
 		}
+
 		public function set trigger(value:IEventDispatcher):void
 		{
-			if (_triggerEvent) {
-				if (_trigger)
-					_trigger.removeEventListener(_triggerEvent, validate);
+			if (triggerEvent)
+			{
+				if (trigger)
+				{
+					trigger.removeEventListener(triggerEvent, validate);
+				}
 
 				if (value)
-					value.addEventListener(_triggerEvent, validate);
+				{
+					value.addEventListener(triggerEvent, validate);
+				}
 			}
 			_trigger = value;
 		}
@@ -133,18 +139,29 @@ package org.apache.royale.jewel.beads.validators
 		{
 			return _triggerEvent;
 		}
+
 		public function set triggerEvent(value:String):void
 		{
-			if (_trigger) {
-				if (_triggerEvent)
-					_trigger.removeEventListener(_triggerEvent, validate);
-				if (value)
-					_trigger.addEventListener(value, validate);
-			}
-			_triggerEvent = value;
-			if(hostComponent != null)
+			if (triggerEvent != value)
 			{
-				hostComponent.dispatchEvent(new Event("triggerEventChanged"));
+				if(trigger)
+				{
+					if(triggerEvent)
+					{
+						trigger.removeEventListener(triggerEvent, validate);
+					}
+
+					if(value)
+					{
+						trigger.addEventListener(value, validate);
+					}
+				}
+
+				_triggerEvent = value;
+				if(hostComponent != null)
+				{
+					hostComponent.dispatchEvent(new Event("triggerEventChanged"));
+				}
 			}
 		}
 
@@ -163,7 +180,7 @@ package org.apache.royale.jewel.beads.validators
 		public function set strand(value:IStrand):void
 		{
 			hostComponent = value as UIBase;
-			_trigger = hostComponent;
+			trigger = hostComponent;
 			COMPILE::JS
 			{
 				hostClassList = hostComponent.positioner.classList;