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)