Explorar o código

computeDurationGreatestUnit

Adam Shaw %!s(int64=9) %!d(string=hai) anos
pai
achega
b5a64812a6
Modificáronse 2 ficheiros con 14 adicións e 6 borrados
  1. 1 6
      src/Calendar.js
  2. 13 0
      src/util.js

+ 1 - 6
src/Calendar.js

@@ -149,12 +149,7 @@ var Calendar = FC.Calendar = Class.extend({
 
 			if (duration.valueOf()) { // valid?
 
-				unit = computeGreatestUnit(duration);
-
-				// prevent days:7 from being interpreted as a week
-				if (unit === 'week' && typeof durationInput === 'object' && durationInput.days) {
-					unit = 'day';
-				}
+				unit = computeDurationGreatestUnit(duration, durationInput);
 
 				spec.duration = duration;
 				spec.durationUnit = unit;

+ 13 - 0
src/util.js

@@ -604,6 +604,19 @@ function computeGreatestUnit(start, end) {
 }
 
 
+// like computeGreatestUnit, but has special abilities to interpret the source input for clues
+function computeDurationGreatestUnit(duration, durationInput) {
+	var unit = computeGreatestUnit(duration);
+
+	// prevent days:7 from being interpreted as a week
+	if (unit === 'week' && typeof durationInput === 'object' && durationInput.days) {
+		unit = 'day';
+	}
+
+	return unit;
+}
+
+
 // Computes the number of units (like "hours") in the given range.
 // Range can be a {start,end} object, separate start/end args, or a Duration.
 // Results are based on Moment's .as() and .diff() methods, so results can depend on internal handling