Browse Source

more fixes to get duration changes to work

Adam Shaw 7 years ago
parent
commit
2dd65a5e85

+ 2 - 2
src/datelib/duration.ts

@@ -27,7 +27,7 @@ export interface Duration {
   milliseconds: number
   milliseconds: number
 }
 }
 
 
-const INTERNAL_UNITS = [ 'year', 'month', 'day', 'time' ]
+const INTERNAL_UNITS = [ 'years', 'months', 'days', 'milliseconds' ]
 const PARSE_RE = /^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/
 const PARSE_RE = /^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/
 
 
 
 
@@ -39,7 +39,7 @@ export function createDuration(input, unit?: string): Duration | null {
   } else if (typeof input === 'object' && input) { // non-null object
   } else if (typeof input === 'object' && input) { // non-null object
     return normalizeObject(input)
     return normalizeObject(input)
   } else if (typeof input === 'number') {
   } else if (typeof input === 'number') {
-    return { years: 0, months: 0, days: 0, milliseconds: input }
+    return normalizeObject({ [unit || 'milliseconds']: input })
   } else {
   } else {
     return null
     return null
   }
   }

+ 20 - 20
tests/automated/datelib/main.js

@@ -466,10 +466,10 @@ describe('datelib', function() {
           env.createMarker(d1)
           env.createMarker(d1)
         )
         )
         expect(diff).toEqual({
         expect(diff).toEqual({
-          year: 0,
-          month: 0,
-          day: -14,
-          time: -12 * 60 * 60 * 1000
+          years: 0,
+          months: 0,
+          days: -14,
+          milliseconds: -12 * 60 * 60 * 1000
         })
         })
       })
       })
 
 
@@ -481,10 +481,10 @@ describe('datelib', function() {
           env.createMarker(d1)
           env.createMarker(d1)
         )
         )
         expect(diff).toEqual({
         expect(diff).toEqual({
-          year: 0,
-          month: 0,
-          day: 14,
-          time: 12 * 60 * 60 * 1000
+          years: 0,
+          months: 0,
+          days: 14,
+          milliseconds: 12 * 60 * 60 * 1000
         })
         })
       })
       })
 
 
@@ -622,20 +622,20 @@ describe('datelib', function() {
     it('accepts whole day in string', function() {
     it('accepts whole day in string', function() {
       var dur = createDuration('2.00:00:00')
       var dur = createDuration('2.00:00:00')
       expect(dur).toEqual({
       expect(dur).toEqual({
-        year: 0,
-        month: 0,
-        day: 2,
-        time: 0
+        years: 0,
+        months: 0,
+        days: 2,
+        milliseconds: 0
       })
       })
     })
     })
 
 
     it('accepts hours, minutes, seconds, and milliseconds', function() {
     it('accepts hours, minutes, seconds, and milliseconds', function() {
       var dur = createDuration('01:02:03.500')
       var dur = createDuration('01:02:03.500')
       expect(dur).toEqual({
       expect(dur).toEqual({
-        year: 0,
-        month: 0,
-        day: 0,
-        time:
+        years: 0,
+        months: 0,
+        days: 0,
+        milliseconds:
           1 * 60 * 60 * 1000 +
           1 * 60 * 60 * 1000 +
           2 * 60 * 1000 +
           2 * 60 * 1000 +
           3 * 1000 +
           3 * 1000 +
@@ -646,10 +646,10 @@ describe('datelib', function() {
     it('accepts just hours and minutes', function() {
     it('accepts just hours and minutes', function() {
       var dur = createDuration('01:02')
       var dur = createDuration('01:02')
       expect(dur).toEqual({
       expect(dur).toEqual({
-        year: 0,
-        month: 0,
-        day: 0,
-        time:
+        years: 0,
+        months: 0,
+        days: 0,
+        milliseconds:
           1 * 60 * 60 * 1000 +
           1 * 60 * 60 * 1000 +
           2 * 60 * 1000
           2 * 60 * 1000
       })
       })

+ 3 - 3
tests/automated/event-render/TimeGridEventRenderUtils.js

@@ -162,7 +162,7 @@ function computeSlots() {
     return $.extend({}, rect, {
     return $.extend({}, rect, {
       startTimeMs: FullCalendar.createDuration(
       startTimeMs: FullCalendar.createDuration(
         $(node).data('time')
         $(node).data('time')
-      ).time
+      ).milliseconds
     })
     })
   }).get()
   }).get()
 
 
@@ -215,8 +215,8 @@ function computeSlots() {
   slots[i].dayOffset = dayOffset
   slots[i].dayOffset = dayOffset
 
 
   // if last slot went over the day threshold
   // if last slot went over the day threshold
-  if (slots[i].endTimeMs.time > 1000 * 60 * 60 * 24) {
-    slots[i].endTimeMs.time -= 1000 * 60 * 60 * 24
+  if (slots[i].endTimeMs > 1000 * 60 * 60 * 24) {
+    slots[i].endTimeMs -= 1000 * 60 * 60 * 24
     slots[i].dayOffset++
     slots[i].dayOffset++
   }
   }
 
 

+ 1 - 1
tests/automated/lib/time-grid.js

@@ -103,7 +103,7 @@ export function getTimeGridTop(targetTimeMs) {
     slotEl = $(slotEl)
     slotEl = $(slotEl)
 
 
     prevSlotTimeMs = slotTimeMs
     prevSlotTimeMs = slotTimeMs
-    slotTimeMs = FullCalendar.createDuration(slotEl.data('time')).time
+    slotTimeMs = FullCalendar.createDuration(slotEl.data('time')).milliseconds
 
 
     // is target time between start of previous slot but before this one?
     // is target time between start of previous slot but before this one?
     if (targetTimeMs < slotTimeMs) {
     if (targetTimeMs < slotTimeMs) {