diff --git a/src/resource/ResourceView.js b/src/resource/ResourceView.js index 8cdff5f..759bccd 100644 --- a/src/resource/ResourceView.js +++ b/src/resource/ResourceView.js @@ -181,6 +181,8 @@ function ResourceView(element, calendar, viewName) { var i; var maxd; var minutes; + var slotTime; + var slotDate; var slotNormal = opt('slotMinutes') % 15 === 0; buildDayTable(); @@ -198,7 +200,12 @@ function ResourceView(element, calendar, viewName) { s = "" + "" + - "" + + "" + "" + @@ -237,24 +244,28 @@ function ResourceView(element, calendar, viewName) { s = "
" + opt('allDayText') + "" + + ( + opt('allDayHTML') || + htmlEscape(opt('allDayText')) + ) + + "" + "
" + "
" + ""; - d = zeroDate(); - maxd = d.clone().add('m', maxMinute); - d.add('m', minMinute); + + slotTime = moment.duration(+minMinute); slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); + while (slotTime < maxMinute) { + slotDate = t.start.clone().time(slotTime); // will be in UTC but that's good. to avoid DST issues + minutes = slotDate.minutes(); s += - "" + + "" + "" + "" + ""; - d.add('m', opt('slotMinutes')); + slotTime.add(slotDuration); slotCnt++; } + s += "" + "
" + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + + ((!slotNormal || !minutes) ? + htmlEscape(formatDate(slotDate, opt('axisFormat'))) : + ' ' + ) + "" + "
 
" + "
"; @@ -507,13 +518,15 @@ function ResourceView(element, calendar, viewName) { function resetScroll() { - var d0 = zeroDate(); + var d0 = new Date(1970, 0, 1); // TODO - refactor this out when we replace minMinute/maxMinute with minTime/maxTime var scrollDate = d0.clone(); scrollDate.setHours(opt('firstHour')); var top = timePosition(d0, scrollDate) + 1; // +1 for the border + function scroll() { slotScroller.scrollTop(top); } + scroll(); setTimeout(scroll, 0); // overrides any previous scroll state made by the browser }