You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2013/05/08 09:26:52 UTC

[4/4] git commit: [flex-sdk] [refs/heads/develop] - FLEX-20370 Check min and max year before setting selected date

FLEX-20370 Check min and max year before setting selected date


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/b0ddb4ec
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/b0ddb4ec
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/b0ddb4ec

Branch: refs/heads/develop
Commit: b0ddb4ec2ebe5311d0a9c60ba6eba81ff7543ca2
Parents: e5348fd
Author: Justin Mclean <jm...@apache.org>
Authored: Wed May 8 16:29:48 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Wed May 8 16:29:48 2013 +1000

----------------------------------------------------------------------
 .../projects/mx/src/mx/controls/DateField.as       |   28 +++++++++++----
 1 files changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/b0ddb4ec/frameworks/projects/mx/src/mx/controls/DateField.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/src/mx/controls/DateField.as b/frameworks/projects/mx/src/mx/controls/DateField.as
index 96a5fce..f84b660 100644
--- a/frameworks/projects/mx/src/mx/controls/DateField.as
+++ b/frameworks/projects/mx/src/mx/controls/DateField.as
@@ -1860,7 +1860,7 @@ public class DateField extends ComboBase
             return;
 
         selectedDateSet = true;
-        _selectedDate = scrubTimeValue(value) as Date;
+        checkYearSetSelectedDate(scrubTimeValue(value) as Date);
         updateDateFiller = true;
         selectedDateChanged = true;
 
@@ -2336,6 +2336,20 @@ public class DateField extends ComboBase
     {
         displayDropdown(false);
     }
+	
+	private function checkYearSetSelectedDate(value:Date):void {
+		if (value != null)
+		{
+			var year:int = value.getFullYear();
+			
+			if (year >= _minYear && year <= _maxYear)
+				_selectedDate = value;	
+		}
+		else
+		{
+			_selectedDate = null;
+		}
+	}
 
     /**
      *  @private
@@ -2371,7 +2385,7 @@ public class DateField extends ComboBase
         if (show)
         {
             if (_parseFunction != null)
-                _selectedDate = _parseFunction(text, formatString);
+                checkYearSetSelectedDate(_parseFunction(text, formatString));
             lastSelectedDate = _selectedDate;
             selectedDate_changeHandler(triggerEvent);
 
@@ -2569,7 +2583,7 @@ public class DateField extends ComboBase
         super.focusOutHandler(event);
 
         if (_parseFunction != null)
-            _selectedDate = _parseFunction(text, formatString);
+            checkYearSetSelectedDate(_parseFunction(text, formatString));
         
         selectedDate_changeHandler(event);
     }
@@ -2606,14 +2620,14 @@ public class DateField extends ComboBase
         {
             if (showingDropdown)
             {
-                _selectedDate = _dropdown.selectedDate;
+               checkYearSetSelectedDate(_dropdown.selectedDate);
                 displayDropdown(false, event);
                 event.stopPropagation();
             }
             else if (editable)
             {
                 if (_parseFunction != null)
-                    _selectedDate = _parseFunction(text, formatString);
+                  checkYearSetSelectedDate(_parseFunction(text, formatString));
             }
             selectedDate_changeHandler(event);
         }
@@ -2675,7 +2689,7 @@ public class DateField extends ComboBase
         
         var inputDate:Date = _parseFunction(text, formatString);
         if (inputDate)
-            _selectedDate = inputDate;
+           checkYearSetSelectedDate(inputDate);
     }
 
     //--------------------------------------------------------------------------
@@ -2714,7 +2728,7 @@ public class DateField extends ComboBase
         if (ObjectUtil.dateCompare(_selectedDate, dropdown.selectedDate) == 0)
             return;
 
-        _selectedDate = dropdown.selectedDate;
+        checkYearSetSelectedDate(dropdown.selectedDate);
 
         if (_selectedDate)
             dateFiller(_selectedDate);