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/26 18:10:14 UTC

[royale-asjs] branch develop updated: jewel-datefield: fix a bug where the date create from input was wrong. we need to use the new formatter getDateFromString function

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 b25ff39  jewel-datefield: fix a bug where the date create from input was wrong. we need to use the new formatter getDateFromString function
b25ff39 is described below

commit b25ff39f7e1fcb56052bfcc3d17737e5fdd71b9d
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Mar 26 19:10:05 2019 +0100

    jewel-datefield: fix a bug where the date create from input was wrong. we need to use the new formatter getDateFromString function
---
 .../beads/controllers/DateFieldMouseController.as      | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
index c1c6519..88a3d8f 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/DateFieldMouseController.as
@@ -20,6 +20,7 @@ package org.apache.royale.jewel.beads.controllers
 {	
 	import org.apache.royale.core.IBeadController;
 	import org.apache.royale.core.IDateChooserModel;
+	import org.apache.royale.core.IDateFormatter;
 	import org.apache.royale.core.IFormatter;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.IUIBase;
@@ -149,21 +150,22 @@ package org.apache.royale.jewel.beads.controllers
 			var len:int = viewBead.textInput.text.length;
 			if(len == 10)
 			{
-				var date:Date = new Date(viewBead.textInput.text);
+				var formatter:IDateFormatter = _strand.getBeadByType(IFormatter) as IDateFormatter; // 3.- Get the actual format and get a new correct date
+				var date:Date = formatter.getDateFromString(viewBead.textInput.text);
 				date = isValidDate(date) ? date : null; // 1.-checck date entered is valid
 				if(date != null)
 				{
-					var year:int = date.getFullYear();  	// 2.-date must be between MAXIMUM_YEAR and MINIMUM_YEAR
-					if(date.getFullYear() < DateChooserModel.MINIMUM_YEAR)
+					// 2.-date must be between MAXIMUM_YEAR and MINIMUM_YEAR
+					if(DateChooserModel.MINIMUM_YEAR <= date.getFullYear() <= DateChooserModel.MAXIMUM_YEAR)
 					{
-						year = DateChooserModel.MINIMUM_YEAR;
+						model.selectedDate = date;
+					} else if(date.getFullYear() < DateChooserModel.MINIMUM_YEAR)
+					{
+						model.selectedDate = new Date(DateChooserModel.MINIMUM_YEAR, date.getMonth(), date.getDate());
 					} else if(date.getFullYear() > DateChooserModel.MAXIMUM_YEAR)
 					{
-						year = DateChooserModel.MAXIMUM_YEAR;
+						model.selectedDate = new Date(DateChooserModel.MAXIMUM_YEAR, date.getMonth(), date.getDate());
 					}
-					var formatter:IFormatter = _strand.getBeadByType(IFormatter) as IFormatter; // 3.- Get the actual format and get a new correct date
-					var dateString:String = formatter.format(new Date(year, date.getMonth(), date.getDate()));
-					model.selectedDate = new Date(dateString);
 				}
 			} else
 			{