From 8334c975e42f512311b95fde64493c6ca10c2b35 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Mon, 9 May 2016 15:53:19 -0400 Subject: [PATCH] (js) Handle invalid dates in component editor --- .../js/Scheduler/ComponentController.js | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/UI/WebServerResources/js/Scheduler/ComponentController.js b/UI/WebServerResources/js/Scheduler/ComponentController.js index 017e809ba..d18638b62 100644 --- a/UI/WebServerResources/js/Scheduler/ComponentController.js +++ b/UI/WebServerResources/js/Scheduler/ComponentController.js @@ -295,7 +295,6 @@ function getHours() { var hours = []; for (var i = 0; i <= 23; i++) { - //hours.push(Component.timeFormat.formatTime(i, 0)); hours.push(i.toString()); } return hours; @@ -318,17 +317,19 @@ } function adjustStartTime() { - // Preserve the delta between the start and end dates - var delta; - delta = oldStartDate.valueOf() - vm.component.start.valueOf(); - if (delta !== 0) { - oldStartDate = new Date(vm.component.start.getTime()); - if (vm.component.type === 'appointment') { - vm.component.end = new Date(vm.component.start.getTime()); - vm.component.end.addMinutes(vm.component.delta); - oldEndDate = new Date(vm.component.end.getTime()); + if (vm.component.start) { + // Preserve the delta between the start and end dates + var delta; + delta = oldStartDate.valueOf() - vm.component.start.valueOf(); + if (delta !== 0) { + oldStartDate = new Date(vm.component.start.getTime()); + if (vm.component.type === 'appointment') { + vm.component.end = new Date(vm.component.start.getTime()); + vm.component.end.addMinutes(vm.component.delta); + oldEndDate = new Date(vm.component.end.getTime()); + } + updateFreeBusy(); } - updateFreeBusy(); } } @@ -339,17 +340,19 @@ } function adjustEndTime() { - // The end date must be after the start date - var delta = oldEndDate.valueOf() - vm.component.end.valueOf(); - if (delta !== 0) { + if (vm.component.end) { + // The end date must be after the start date + var delta = oldEndDate.valueOf() - vm.component.end.valueOf(); + if (delta !== 0) { delta = vm.component.start.minutesTo(vm.component.end); - if (delta < 0) - vm.component.end = new Date(oldEndDate.getTime()); - else { - vm.component.delta = delta; - oldEndDate = new Date(vm.component.end.getTime()); + if (delta < 0) + vm.component.end = new Date(oldEndDate.getTime()); + else { + vm.component.delta = delta; + oldEndDate = new Date(vm.component.end.getTime()); + } + updateFreeBusy(); } - updateFreeBusy(); } }