Dieser Artikel behandelt Methoden, die mit der hierarchischen Struktur von Aufgaben im Gantt-Diagramm arbeiten.
Für grundlegende Operationen wie das Abrufen des Aufgabenobjekts oder der ID siehe den Artikel Task-Objekt/Id.
Um das Elternelement einer Aufgabe zu finden, können Sie die Methode getParent verwenden oder auf die Eigenschaft "parent" des Aufgabenobjekts zugreifen:
gantt.getParent("t1");//->"pr_2"
//oder
var taskObj = gantt.getTask("t1");//-> {id:"t1", text:"Task #5", parent:"pr_2", ...}
var taskParent = taskObj.parent; //-> "pr_2"
Beachten Sie, dass die Methode, falls die Aufgabe kein Elternelement hat, die root id zurückgibt.
Um die Kinder einer übergeordneten Aufgabe abzurufen, verwenden Sie die Methode getChildren:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"}
]};
gantt.getChildren("p_1");//->["t_1"]
Wenn Sie alle Kinder einer Aufgabe (nicht nur die direkten) erhalten möchten, verwenden Sie die Methode eachTask() mit der ID der übergeordneten Aufgabe als zweites Argument:
const children = [];
// Alle Kinder einer Aufgabe durchlaufen
gantt.eachTask(function(child){
children.push(child)
}, 11);
Um festzustellen, ob eine Aufgabe untergeordnete Aufgaben hat, verwenden Sie die Methode hasChild:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.hasChild("p_1"); //-> true gantt.hasChild("t_1"); //-> false
Um das Aufgabenobjekt zu erhalten, das nach einer bestimmten Aufgabe kommt, verwenden Sie die Methode getNext:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.getNext("p_1"); -> "t_1" gantt.getNext("t_1"); -> "t_2" gantt.getNext("t_2"); -> null
Beachten Sie, dass gantt Aufgaben unabhängig von ihrer Baumebene gleich behandelt.
Um das Aufgabenobjekt zu erhalten, das vor einer bestimmten Aufgabe kommt, verwenden Sie die Methode getPrev:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.getPrev("p_1"); -> null gantt.getPrev("t_1"); -> "p_1" gantt.getPrev("t_2"); -> "t_1"
Auch hier werden Aufgaben unabhängig von ihrer Baumebene betrachtet.
Um die Geschwister einer bestimmten Aufgabe zu erhalten, verwenden Sie die Methode getSiblings:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.getSiblings("t_1"); -> ["t_1", "t_2"]
Um das nächste Geschwister einer Aufgabe zu finden, verwenden Sie die Methode getNextSibling:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.getNextSibling("t_1"); -> "t_2" gantt.getNextSibling("t_2"); -> null (wenn kein nächstes Geschwister vorhanden ist)
Um das vorherige Geschwister einer Aufgabe zu erhalten, verwenden Sie die Methode getPrevSibling:
var data = {
tasks:[
{id:"p_1", text:"Project #1", start_date:"01-04-2020", duration:18,
open:true},
{id:"t_1", text:"Task #1", start_date:"02-04-2020", duration:8,
parent:"p_1"},
{id:"t_2", text:"Task #2", start_date:"11-04-2020", duration:8,
parent:"p_1"}
]
};
gantt.init("gantt_here");
gantt.parse(data);
gantt.getPrevSibling("t_2"); -> "t_1" gantt.getPrevSibling("t_1"); -> null (wenn kein vorheriges Geschwister vorhanden ist)
Zurück nach oben