|
|
|
@ -17,7 +17,7 @@ function messageListener(event) {
|
|
|
|
|
if (event.data && event.data.action === 'sendUrl') { |
|
|
|
|
const parentUrl = event.data.url; |
|
|
|
|
|
|
|
|
|
// Remove the base URL and hash
|
|
|
|
|
// Remove the base URL and hash
|
|
|
|
|
const path = parentUrl.replace("https://adw.ospro.id/#/dashboard-project/", ""); |
|
|
|
|
|
|
|
|
|
// Split the remaining path by "/"
|
|
|
|
@ -118,28 +118,30 @@ function getProgressLine(){
|
|
|
|
|
return {planned: cumulativePlannedDurations, real: cumulativeRealDurations, dates: dates}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function getScalePaddings(){ |
|
|
|
|
function getScalePaddings(values){ |
|
|
|
|
var scale = gantt.getScale(); |
|
|
|
|
var dataRange = gantt.getSubtaskDates(); |
|
|
|
|
let minDate = new Date(); |
|
|
|
|
let maxDate = new Date(); |
|
|
|
|
// let minDate = new Date();
|
|
|
|
|
// let maxDate = new Date();
|
|
|
|
|
let minValueDate = new Date(values.dates[0]); |
|
|
|
|
let maxValueDate = new Date(values.dates[values.dates.length -1]); |
|
|
|
|
|
|
|
|
|
gantt.eachTask(function(task){ |
|
|
|
|
let plannedEarlier = task.planned_start < task.start_date; |
|
|
|
|
let plannedLater = task.planned_end > task.end_date; |
|
|
|
|
// gantt.eachTask(function(task){
|
|
|
|
|
// let plannedEarlier = task.planned_start < task.start_date;
|
|
|
|
|
// let plannedLater = task.planned_end > task.end_date;
|
|
|
|
|
|
|
|
|
|
if (plannedEarlier) { |
|
|
|
|
minDate = new Date(Math.min(minDate.getTime(), task.planned_start.getTime())); |
|
|
|
|
} else { |
|
|
|
|
minDate = new Date(Math.min(minDate.getTime(), task.start_date.getTime())); |
|
|
|
|
} |
|
|
|
|
// if (plannedEarlier) {
|
|
|
|
|
// minDate = new Date(Math.min(minDate.getTime(), task.planned_start.getTime()));
|
|
|
|
|
// } else {
|
|
|
|
|
// minDate = new Date(Math.min(minDate.getTime(), task.start_date.getTime()));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if (plannedLater) { |
|
|
|
|
maxDate = new Date(Math.max(maxDate.getTime(), task.planned_end.getTime())); |
|
|
|
|
} else { |
|
|
|
|
maxDate = new Date(Math.max(maxDate.getTime(), task.end_date.getTime())); |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
// if (plannedLater) {
|
|
|
|
|
// maxDate = new Date(Math.max(maxDate.getTime(), task.planned_end.getTime()));
|
|
|
|
|
// } else {
|
|
|
|
|
// maxDate = new Date(Math.max(maxDate.getTime(), task.end_date.getTime()));
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
var padding = { |
|
|
|
|
left:0, |
|
|
|
@ -147,10 +149,10 @@ function getScalePaddings(){
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
if(dataRange.start_date){ |
|
|
|
|
var yScaleLabelsWidth = 48; |
|
|
|
|
// var yScaleLabelsWidth = 48;
|
|
|
|
|
// fine tune values in order to align chart with the scale range
|
|
|
|
|
padding.left = gantt.posFromDate(minDate) - yScaleLabelsWidth; |
|
|
|
|
padding.right = scale.full_width - gantt.posFromDate(maxDate) - yScaleLabelsWidth; |
|
|
|
|
padding.left = gantt.posFromDate(minValueDate); |
|
|
|
|
padding.right = scale.full_width - gantt.posFromDate(maxValueDate); |
|
|
|
|
padding.top = gantt.config.row_height - 12; |
|
|
|
|
padding.bottom = gantt.config.row_height - 12; |
|
|
|
|
} |
|
|
|
@ -213,13 +215,13 @@ var lineOverlay = overlayControl.addOverlay(function(container) {
|
|
|
|
|
responsive: true, |
|
|
|
|
maintainAspectRatio: false, |
|
|
|
|
layout: { |
|
|
|
|
padding: getScalePaddings() |
|
|
|
|
padding: getScalePaddings(values) |
|
|
|
|
}, |
|
|
|
|
onResize: function(chart, newSize) { |
|
|
|
|
var dataRange = gantt.getSubtaskDates(); |
|
|
|
|
if(dataRange.start_date){ |
|
|
|
|
// align chart with the scale range
|
|
|
|
|
chart.options.layout.padding = getScalePaddings(); |
|
|
|
|
chart.options.layout.padding = getScalePaddings(values); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
legend: { |
|
|
|
|