Browse Source

Fix s curve date range

pull/1/head
Wahyu Ramadhan 1 year ago
parent
commit
5c218bb399
  1. 46
      view-mode/function/overlaySCurve.js

46
view-mode/function/overlaySCurve.js

@ -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: {

Loading…
Cancel
Save