Browse Source

Merge pull request 'staging' (#6) from staging into master

Reviewed-on: ordo/adw-gantt#6
pull/1/head
ibnu 1 year ago
parent
commit
a6ee006732
  1. 8
      edit-mode/function/function.js
  2. 1
      edit-mode/function/restActivityLink.js
  3. 144
      view-mode/function/overlaySCurve.js

8
edit-mode/function/function.js

@ -677,6 +677,7 @@ function batchUpdate(){
}).then(function (response) {
$("body").removeClass("loading");
localStorage.setItem('batchEntity', '');
sendStorage();
refresData();
}).catch(function (error) {
$("body").removeClass("loading")
@ -691,11 +692,14 @@ function batchUpdate(){
$(window).on('beforeunload', function(event) {
let batchEntity = localStorage.getItem('batchEntity');
sendStorage();
if (batchEntity && batchEntity != '') {
event.preventDefault()
return event.returnValue = 'You have unsaved changes. Are you sure you want to leave this page?';
}
});
const batchEntityData = localStorage.getItem('batchEntity');
window.parent.postMessage({ batchEntity: batchEntityData }, '*');
function sendStorage(){
const batchEntityData = localStorage.getItem('batchEntity');
window.parent.postMessage({ batchEntity: batchEntityData }, '*');
}

1
edit-mode/function/restActivityLink.js

@ -198,6 +198,7 @@ var dp = gantt.createDataProcessor(function (entity, action, data, id) {
toBeSet = [batchEntity]
}
localStorage.setItem('batchEntity', JSON.stringify(toBeSet));
sendStorage();
// $("body").addClass("loading");
// return gantt.ajax.put({
// headers: {

144
view-mode/function/overlaySCurve.js

@ -13,59 +13,59 @@ function callback(response) {
return_first = response;
}
function getSCurveData(){
function messageListener(event) {
if (event.data && event.data.action === 'sendUrl') {
const parentUrl = event.data.url;
// Send a message to the parent window requesting the URL
window.parent.postMessage({ action: 'getUrl' }, '*');
// Listen for messages from the parent window
window.addEventListener('message', function(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 "/"
parts = path.split("/");
if (parts[2] && parts[2] == "1") {
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/calculate-s-curve`,
type: "POST",
data:JSON.stringify(sCurvePayload),
success: function (data) {
callback(data)
}
});
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/s-curve-command`,
type: "POST",
data:JSON.stringify(sCurvePayload),
});
} else {
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/get-s-curve`,
type: "POST",
data:JSON.stringify(sCurvePayload),
success: function (data) {
callback(data)
}
});
}
}
});
// Split the remaining path by "/"
parts = path.split("/");
if (parts[2] && parts[2] == "1") {
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/calculate-s-curve`,
type: "POST",
data: JSON.stringify(sCurvePayload),
success: function (data) {
callback(data)
window.removeEventListener('message', messageListener);
}
});
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/s-curve-command`,
type: "POST",
data: JSON.stringify(sCurvePayload),
});
} else {
$.ajax({
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
url: `${base_url}project/get-s-curve`,
type: "POST",
data: JSON.stringify(sCurvePayload),
success: function (data) {
callback(data)
window.removeEventListener('message', messageListener);
}
});
}
}
}
function getSCurveData() {
window.parent.postMessage({ action: 'getUrl' }, '*');
window.addEventListener('message', messageListener);
};
function toggleOverlay() {
@ -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,
@ -149,8 +151,8 @@ function getScalePaddings(){
if(dataRange.start_date){
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