ermöglicht erweitertes Drag-and-Drop
gantt.config.click_drag = {
callback: function(
startPosition,
endPosition,
startDate,
endDate,
tasksBetween,
rowsBetween
){
var parentId = gantt.config.root_id;
if(rowsBetween.length){
parentId = rowsBetween[0].id;
}
gantt.createTask({
text: "Neue Aufgabe",
start_date: gantt.roundDate(startDate),
end_date: gantt.roundDate(endDate)
}, parentId);
},
singleRow: true
};
Diese Konfiguration ist in der click_drag Erweiterung definiert, daher müssen Sie das click_drag Plugin mit der gantt.plugins Methode aktivieren. Lesen Sie die Einzelheiten im Artikel Erstellen oder Auswählen von Aufgaben mit Drag-and-Drop.
Die click_drag Erweiterung ermöglicht:
Das gantt.config.click_drag Objekt enthält die folgenden Eigenschaften:
{absolute: {left: number, top: number}, relative: {left: number, top: number} }
, {absolute: {left: number, top: number}, relative: {left: number, top: number} }
, gantt.config.click_drag = {
callback: onDragEnd,
ignore: ".gantt_task_line, .gantt_marker_content, .gantt_task_link",
useKey: "ctrlKey"
};
{absolute: {left: number, top: number}, relative: {left: number, top: number} }
, {absolute: {left: number, top: number}, relative: {left: number, top: number} }
, Hier ist ein Beispiel für die Verwendung der render Funktion:
var node;
gantt.config.click_drag = {
callback: onDragEnd,
singleRow: true,
render: function(start, end){
if(!(node && node.parentNode)){
node = document.createElement("div");
}
var left = Math.min(start.relative.left, end.relative.left);
node.style.top = (start.relative.top - gantt.config.row_height) + "px";
node.style.left = left + "px";
node.style.width = Math.abs(start.relative.left - end.relative.left) + "px";
node.style.height = gantt.config.row_height + "px";
node.style.position = "absolute";
return node;
}
};