diff --git a/UI/WebServerResources/JavascriptAPIExtensions.js b/UI/WebServerResources/JavascriptAPIExtensions.js index 5fa5e0149..6bc0d52e7 100644 --- a/UI/WebServerResources/JavascriptAPIExtensions.js +++ b/UI/WebServerResources/JavascriptAPIExtensions.js @@ -165,3 +165,19 @@ Date.prototype.laterDate = function(otherDate) { return ((this.getTime() < workDate.getTime()) ? otherDate : this); } + +Date.prototype.beginOfWeek = function() { + var beginNumber; + if (weekStartIsMonday) + beginNumber = 1; + else + beginNumber = 0; + + var dayNumber = this.getDay(); + + var beginOfWeek = new Date(); + beginOfWeek.setTime(this.getTime()); + beginOfWeek.addDays(beginNumber - dayNumber); + + return beginOfWeek; +} diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 5e7496731..ec0055906 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -536,16 +536,26 @@ function onClickableCellsDblClick(event) { } function refreshCalendarEvents() { - var sd = currentDay; - if (!sd) { - var todayDate = new Date(); - sd = todayDate.getDayString(); - } + var todayDate = new Date(); + var sd; var ed; - if (currentView == "dayview") + if (currentView == "dayview") { + if (currentDay) + sd = currentDay; + else + sd = todayDate.getDayString(); ed = sd; + } else if (currentView == "weekview") { - var endDate = sd.asDate(); + var startDate; + if (currentDay) + startDate = currentDay.asDate(); + else + startDate = todayDate; + startDate = startDate.beginOfWeek(); + sd = startDate.getDayString(); + var endDate = new Date(); + endDate.setTime(startDate.getTime()); endDate.addDays(6); ed = endDate.getDayString(); } @@ -637,6 +647,8 @@ function drawCalendarEvent(eventData, sd, ed) { else ends = 96; lasts = ends - starts; + if (!lasts) + lasts = 1; var parentDiv; var eventDiv = newEventDIV(eventData[0], eventData[1], starts, lasts, diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index f6e392271..1d5428f7f 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -30,6 +30,8 @@ var queryParameters; var activeAjaxRequests = 0; var menus = new Array(); +var weekStartIsMonday = true; + // logArea = null; var allDocumentElements = null;