update
This commit is contained in:
269
.vscode/ftp-kr.sync.cache.json
vendored
269
.vscode/ftp-kr.sync.cache.json
vendored
@@ -14,14 +14,149 @@
|
|||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
"class.Cache.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1006,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Chunk.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 7304,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Cron.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 8979,
|
||||||
|
"lmtime": 1744321951326,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.DbModel.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1392,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Excel.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 4319,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Html.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 2105,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.S.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 7575,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Tpl.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1746,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
"controls": {
|
"controls": {
|
||||||
|
"class.Crm.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1824,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Cron.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 131,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Finances.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 6614,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Projects.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 9777,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Site.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 575,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
"class.Tasks.php": {
|
"class.Tasks.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 15591,
|
"size": 16669,
|
||||||
"lmtime": 1740507790191,
|
"lmtime": 1744323786682,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Users.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 3591,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Wiki.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1825,
|
||||||
|
"lmtime": 0,
|
||||||
"modified": false
|
"modified": false
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"factory": {
|
||||||
|
"class.Crm.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1863,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Cron.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 26120,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Finances.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 16159,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Projects.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 27175,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Tasks.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 17068,
|
||||||
|
"lmtime": 1744321917674,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Users.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 2020,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"class.Wiki.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1911,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"view": {}
|
||||||
},
|
},
|
||||||
"ceidg.php": {
|
"ceidg.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
@@ -56,24 +191,110 @@
|
|||||||
"layout": {
|
"layout": {
|
||||||
"style.css": {
|
"style.css": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 22346,
|
"size": 22359,
|
||||||
"lmtime": 1743623979088,
|
"lmtime": 1744321764868,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"style.css.map": {
|
"style.css.map": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 39015,
|
"size": 39045,
|
||||||
"lmtime": 1743623979088,
|
"lmtime": 1744321764868,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"style.scss": {
|
"style.scss": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 27154,
|
"size": 27172,
|
||||||
"lmtime": 1743623978938,
|
"lmtime": 1744321764492,
|
||||||
"modified": false
|
"modified": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"libraries": {},
|
"libraries": {
|
||||||
|
"JS-Gantt-Chart-master": {
|
||||||
|
"gantt.css": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 2007,
|
||||||
|
"lmtime": 1744320380208,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"gantt.js": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 16093,
|
||||||
|
"lmtime": 1744320529415,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"gantt.min.css": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1696,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"gantt.min.js": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 9935,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
".gitattributes": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 66,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"LICENSE": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 1067,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"README.md": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 2501,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"sample-chart": {}
|
||||||
|
},
|
||||||
|
"jquery-gantt": {
|
||||||
|
"img": {
|
||||||
|
"grid.png": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 96,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"icon_sprite.png": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 808,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"slider_handle.png": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 817,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jquery-gantt.css": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 9801,
|
||||||
|
"lmtime": 1744323885612,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"jquery-gantt.css.map": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 2942,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"jquery-gantt.js": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 86598,
|
||||||
|
"lmtime": 1744323096250,
|
||||||
|
"modified": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"robots.txt": {
|
"robots.txt": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 25,
|
"size": 25,
|
||||||
@@ -97,14 +318,14 @@
|
|||||||
},
|
},
|
||||||
"main_view.php": {
|
"main_view.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 29103,
|
"size": 29690,
|
||||||
"lmtime": 1743623929427,
|
"lmtime": 1744323939813,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"task_edit.php": {
|
"task_edit.php": {
|
||||||
"type": "-",
|
"type": "-",
|
||||||
"size": 7649,
|
"size": 7891,
|
||||||
"lmtime": 0,
|
"lmtime": 1744321858310,
|
||||||
"modified": false
|
"modified": false
|
||||||
},
|
},
|
||||||
"task_popup.php": {
|
"task_popup.php": {
|
||||||
@@ -125,6 +346,26 @@
|
|||||||
"lmtime": 0,
|
"lmtime": 0,
|
||||||
"modified": false
|
"modified": false
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"site": {
|
||||||
|
"layout-cron.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 5804,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"layout-logged.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 5556,
|
||||||
|
"lmtime": 1744321038374,
|
||||||
|
"modified": false
|
||||||
|
},
|
||||||
|
"layout-unlogged.php": {
|
||||||
|
"type": "-",
|
||||||
|
"size": 986,
|
||||||
|
"lmtime": 0,
|
||||||
|
"modified": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"upload": {}
|
"upload": {}
|
||||||
|
|||||||
@@ -490,4 +490,22 @@
|
|||||||
|
|
||||||
.row:after {
|
.row:after {
|
||||||
clear: both;
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handle {
|
||||||
|
width: 6px;
|
||||||
|
background: #333;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
cursor: ew-resize;
|
||||||
|
z-index: 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handle-left {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handle-right {
|
||||||
|
right: 0;
|
||||||
}
|
}
|
||||||
70
libraries/jquery-gantt/jquery-gantt.js
vendored
70
libraries/jquery-gantt/jquery-gantt.js
vendored
@@ -22,7 +22,8 @@
|
|||||||
onItemClick: function (data) { return; },
|
onItemClick: function (data) { return; },
|
||||||
onAddClick: function (data) { return; },
|
onAddClick: function (data) { return; },
|
||||||
onRender: function() { return; },
|
onRender: function() { return; },
|
||||||
scrollToToday: true
|
scrollToToday: true,
|
||||||
|
saveEndpoint: null
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -940,6 +941,66 @@
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
settings.onItemClick($(this).data("dataObj"));
|
settings.onItemClick($(this).data("dataObj"));
|
||||||
});
|
});
|
||||||
|
bar.append('<div class="handle handle-left"></div><div class="handle handle-right"></div>');
|
||||||
|
|
||||||
|
let isDragging = false;
|
||||||
|
let dragType = null;
|
||||||
|
let startX = 0;
|
||||||
|
let originalLeft = 0;
|
||||||
|
let originalWidth = 0;
|
||||||
|
|
||||||
|
bar.find('.handle').on('mousedown', function(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
isDragging = true;
|
||||||
|
dragType = $(this).hasClass('handle-left') ? 'left' : 'right';
|
||||||
|
startX = e.pageX;
|
||||||
|
originalLeft = bar.position().left;
|
||||||
|
originalWidth = bar.width();
|
||||||
|
|
||||||
|
$(document).on('mousemove.barDrag', function(e) {
|
||||||
|
if (!isDragging) return;
|
||||||
|
let delta = e.pageX - startX;
|
||||||
|
if (dragType === 'left') {
|
||||||
|
let newLeft = originalLeft + delta;
|
||||||
|
let newWidth = originalWidth - delta;
|
||||||
|
if (newWidth > 10) {
|
||||||
|
bar.css({ left: newLeft + 'px', width: newWidth + 'px' });
|
||||||
|
}
|
||||||
|
} else if (dragType === 'right') {
|
||||||
|
let newWidth = originalWidth + delta;
|
||||||
|
if (newWidth > 10) {
|
||||||
|
bar.css({ width: newWidth + 'px' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('mouseup.barDrag', function() {
|
||||||
|
if (isDragging) {
|
||||||
|
isDragging = false;
|
||||||
|
$(document).off('.barDrag');
|
||||||
|
|
||||||
|
// Oblicz nową datę z `left` i `width`
|
||||||
|
const cellSize = tools.getCellSize();
|
||||||
|
const newFromOffset = bar.position().left;
|
||||||
|
const newToOffset = newFromOffset + bar.width();
|
||||||
|
|
||||||
|
const ganttEl = bar.closest(".fn-gantt").parent()[0];
|
||||||
|
const fromTime = tools.getDateFromOffset(newFromOffset, ganttEl);
|
||||||
|
const toTime = tools.getDateFromOffset(newToOffset, ganttEl);
|
||||||
|
|
||||||
|
const data = bar.data("dataObj");
|
||||||
|
|
||||||
|
// Tutaj można wysłać AJAX
|
||||||
|
$.post(settings.saveEndpoint, {
|
||||||
|
from: fromTime.toISOString(),
|
||||||
|
to: toTime.toISOString()
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("Zmieniono daty:", fromTime, toTime);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
return bar;
|
return bar;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1441,7 +1502,12 @@
|
|||||||
}
|
}
|
||||||
return maxDate;
|
return maxDate;
|
||||||
},
|
},
|
||||||
|
getDateFromOffset: function(offsetPx, element) {
|
||||||
|
const step = settings.scale === "hours" ? 3600000 * element.scaleStep : 86400000; // godziny lub dni
|
||||||
|
const startDate = element.dateStart.getTime();
|
||||||
|
const index = Math.floor(offsetPx / tools.getCellSize());
|
||||||
|
return new Date(startDate + index * step);
|
||||||
|
},
|
||||||
// Return the minimum available date in data depending on the scale
|
// Return the minimum available date in data depending on the scale
|
||||||
getMinDate: function (element) {
|
getMinDate: function (element) {
|
||||||
var minDate = null;
|
var minDate = null;
|
||||||
|
|||||||
@@ -165,14 +165,15 @@
|
|||||||
maxScale: "months",
|
maxScale: "months",
|
||||||
scaleStep: 1,
|
scaleStep: 1,
|
||||||
scrollToToday: false,
|
scrollToToday: false,
|
||||||
|
saveEndpoint: "/tasks/set_task_dates/",
|
||||||
onItemClick: function(data) {
|
onItemClick: function(data) {
|
||||||
alert("Item clicked - show some details");
|
alert("Item clicked - show some details");
|
||||||
},
|
},
|
||||||
onAddClick: function(dt, rowId) {
|
onAddClick: function(dt, rowId) {
|
||||||
alert("Empty space clicked - add an item!");
|
alert("Empty space clicked - add an item!");
|
||||||
},
|
},
|
||||||
onRender: function() {
|
onRender: function() {
|
||||||
console.log("chart rendered");
|
console.log("chart rendered");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
<? endif;?>
|
<? endif;?>
|
||||||
|
|||||||
Reference in New Issue
Block a user