From cfc41be6a784406ed65ef3906afb2d9a62f3cc6d Mon Sep 17 00:00:00 2001 From: Rabea Gransberger Date: Mon, 28 Dec 2015 14:58:56 +0100 Subject: [PATCH 1/5] Display calendar week of year between months and days in day scale. --- js/jquery.fn.gantt.js | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/js/jquery.fn.gantt.js b/js/jquery.fn.gantt.js index 564f419..d00d60d 100644 --- a/js/jquery.fn.gantt.js +++ b/js/jquery.fn.gantt.js @@ -180,6 +180,7 @@ dow: ["S", "M", "T", "W", "T", "F", "S"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], waitText: "Please wait...", + weekYearPrefix : "W", // navigation navigate: "buttons", scrollToToday: true, @@ -435,6 +436,9 @@ var monthArr = []; var scaleUnitsThisMonth = 0; + var woyArr = []; + var daysInWeek = 0; + var dayArr = []; var hoursInDay = 0; @@ -715,6 +719,7 @@ var dateBefore = ktkGetNextDate(range[0], -1); year = dateBefore.getFullYear(); month = dateBefore.getMonth(); + var weekOfYear = dateBefore.getWeekOfYear(); //day = dateBefore; // <- never used? for (i = 0, len = range.length; i < len; i++) { @@ -746,6 +751,20 @@ } scaleUnitsThisMonth++; + if (rday.getWeekOfYear() !== weekOfYear) { + // Fill weeks + woyArr.push( + '
' + + settings.weekYearPrefix + " " + weekOfYear + + '
'); + + weekOfYear = rday.getWeekOfYear(); + daysInWeek = 0; + } + daysInWeek++; + day = rday.getDay(); dayClass = dowClass[day]; if ( tools.isHoliday(rday) ) { @@ -779,12 +798,20 @@ settings.months[month] + ''); + // Last week + woyArr.push( + '
' + + settings.weekYearPrefix +" " + weekOfYear + '
'); + dataPanel = core.dataPanel(element, range.length * tools.getCellSize()); // Append panel elements dataPanel.append( $row.clone().html(yearArr.join("")), $row.clone().html(monthArr.join("")), + $row.clone().html(woyArr.join("")), $row.clone().html(dayArr.join("")), $row.clone().html(dowArr.join("")) ); @@ -1231,7 +1258,7 @@ var headerRows = element.headerRows; if (settings.scale === "hours" && scaleSt >= 13) { scale = "days"; - headerRows = 4; + headerRows = 5; scaleSt = 13; } else if (settings.scale === "days" && zoomIn) { scale = "hours"; @@ -1247,7 +1274,7 @@ scaleSt = 14; } else if (settings.scale === "weeks" && zoomIn) { scale = "days"; - headerRows = 4; + headerRows = 5; scaleSt = 13; } else if (settings.scale === "months" && zoomIn) { scale = "weeks"; From 75dcd604f97b34fcb0ec3c32eab2444479375c56 Mon Sep 17 00:00:00 2001 From: Rabea Gransberger Date: Mon, 28 Dec 2015 15:06:00 +0100 Subject: [PATCH 2/5] Added CSS styling for weekOfYear. --- css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/style.css b/css/style.css index 0756dfe..985f864 100644 --- a/css/style.css +++ b/css/style.css @@ -155,7 +155,7 @@ text-align: center; } -.fn-gantt .rightPanel .month, .fn-gantt .rightPanel .year { +.fn-gantt .rightPanel .weekyear, .fn-gantt .rightPanel .month, .fn-gantt .rightPanel .year { float: left; overflow: hidden; border-left: 1px solid #DDD; From 2e7a0b92043589d8c587a27c9437b5f0a9cf4d1e Mon Sep 17 00:00:00 2001 From: Rabea Gransberger Date: Mon, 28 Dec 2015 15:44:21 +0100 Subject: [PATCH 3/5] Fixing indent --- js/jquery.fn.gantt.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/js/jquery.fn.gantt.js b/js/jquery.fn.gantt.js index d00d60d..69dcfe3 100644 --- a/js/jquery.fn.gantt.js +++ b/js/jquery.fn.gantt.js @@ -436,8 +436,8 @@ var monthArr = []; var scaleUnitsThisMonth = 0; - var woyArr = []; - var daysInWeek = 0; + var woyArr = []; + var daysInWeek = 0; var dayArr = []; var hoursInDay = 0; @@ -751,19 +751,19 @@ } scaleUnitsThisMonth++; - if (rday.getWeekOfYear() !== weekOfYear) { - // Fill weeks - woyArr.push( - '
' - + settings.weekYearPrefix + " " + weekOfYear + - '
'); + if (rday.getWeekOfYear() !== weekOfYear) { + // Fill weeks + woyArr.push( + '
' + + settings.weekYearPrefix + " " + weekOfYear + + '
'); - weekOfYear = rday.getWeekOfYear(); - daysInWeek = 0; - } - daysInWeek++; + weekOfYear = rday.getWeekOfYear(); + daysInWeek = 0; + } + daysInWeek++; day = rday.getDay(); dayClass = dowClass[day]; @@ -799,11 +799,11 @@ ''); // Last week - woyArr.push( - '
' - + settings.weekYearPrefix +" " + weekOfYear + '
'); + woyArr.push( + '
' + + settings.weekYearPrefix +" " + weekOfYear + '
'); dataPanel = core.dataPanel(element, range.length * tools.getCellSize()); From 7b1d92d2d4a0ddcc996be8b22809afba20c4c5c2 Mon Sep 17 00:00:00 2001 From: Rabea Gransberger Date: Mon, 28 Dec 2015 17:13:37 +0100 Subject: [PATCH 4/5] Fixing two locations with wrong count --- js/jquery.fn.gantt.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/jquery.fn.gantt.js b/js/jquery.fn.gantt.js index 69dcfe3..457ef51 100644 --- a/js/jquery.fn.gantt.js +++ b/js/jquery.fn.gantt.js @@ -751,6 +751,7 @@ } scaleUnitsThisMonth++; + // Fill week of year if (rday.getWeekOfYear() !== weekOfYear) { // Fill weeks woyArr.push( @@ -1167,7 +1168,7 @@ // find row topEl = $(element).find("#rowheader" + i); - top = tools.getCellSize() * 4 + 2 + topEl.data("offset"); + top = tools.getCellSize() * 5 + 2 + topEl.data("offset"); _bar.css({ 'top': top, 'left': Math.floor(cFrom) }); datapanel.append(_bar); @@ -1769,7 +1770,7 @@ case "days": /* falls through */ default: - this.headerRows = 4; + this.headerRows = 5; this.scaleStep = 13; } From fb41dce0312bf853c13e3314105993753008512b Mon Sep 17 00:00:00 2001 From: Rabea Gransberger Date: Mon, 28 Dec 2015 17:31:17 +0100 Subject: [PATCH 5/5] Adding documentation --- index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/index.html b/index.html index dd193db..9af9e61 100644 --- a/index.html +++ b/index.html @@ -221,6 +221,17 @@

string + + + weekYearPrefix + + + "W" + + + string + + onItemClick