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 15:21:19 UTC

[royale-asjs] branch develop updated: jewel-datechooser: fix a bug with firstDayOfWeek not showing day one when the index position was 0

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 79d8be4  jewel-datechooser: fix a bug with firstDayOfWeek not showing day one when the index position was 0
79d8be4 is described below

commit 79d8be49e36d1b9ea1db0e22937249fbb60c412f
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Mar 26 16:21:11 2019 +0100

    jewel-datechooser: fix a bug with firstDayOfWeek not showing day one when the index position was 0
---
 .../royale/jewel/beads/models/DateChooserModel.as       | 17 +++++++++++++++--
 .../apache/royale/jewel/beads/views/DateChooserView.as  |  8 +-------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DateChooserModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DateChooserModel.as
index 0535327..3ed24d1 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DateChooserModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DateChooserModel.as
@@ -324,6 +324,19 @@ package org.apache.royale.jewel.beads.models
 			dispatchEvent( new Event("monthChanged") );
 		}
         
+		/**
+		 * Cycle days array for offsetting when change firstDayOfWeek
+		 * 
+		 * @param array , the array to get a position
+		 * @param index, the index in the array to use
+		 * @param offset, the offset to apply, this could be positive or negative
+		 * @return the cycled position
+		 */
+		public static function cycleArray(array:Array, index:Number, offset:Number):Number 
+		{
+			return ((index + offset) % array.length + array.length) % array.length;
+		}
+
         /**
          * @private
          */
@@ -334,8 +347,8 @@ package org.apache.royale.jewel.beads.models
 			{
 				var firstDay:Date = new Date(displayedYear, displayedMonth, 1);
 				_days = new Array(NUM_DAYS_VIEW); // always reset the array to remove older values
-				// skip to the first day and renumber to the last day of the month
-				i = firstDay.getDay() - firstDayOfWeek;
+				// skip to the first day and renumber to the last day of the month (take into account firstDayOfWeek)
+				i = cycleArray(_dayNames, firstDay.getDay(), - firstDayOfWeek);
 				var dayNumber:int = 1;
 				var numDays:Number = numberOfDaysInMonth(displayedMonth, displayedYear);
 				
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateChooserView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateChooserView.as
index 000109b..18826ec 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateChooserView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DateChooserView.as
@@ -205,12 +205,6 @@ package org.apache.royale.jewel.beads.views
 
 			buttonsRow.addElement(tableHeader);
 		}
-		
-		// cycle days array for offsetting when change firstDayOfWeek
-		private function cycleArray(array:Array, index:Number, n:Number):Number 
-		{
-			return ((index + n) % array.length + array.length) % array.length;
-		}
 
 		/**
 		 * @private
@@ -291,7 +285,7 @@ package org.apache.royale.jewel.beads.views
 				{
 					column = columns[index];
 					column.columnLabelAlign = "center";
-					column.label = model.dayNames[cycleArray(model.dayNames, index, model.firstDayOfWeek)];
+					column.label = model.dayNames[DateChooserModel.cycleArray(model.dayNames, index, model.firstDayOfWeek)];
 				}
 				_table.columns = columns;
 			} else