Aufgabe Eltern/Kind

Dieser Leitfaden behandelt Methoden, die sich auf die hierarchische Struktur von Aufgaben in einem Gantt-Diagramm beziehen.

Für grundlegende Objekt-/ID-Operationen von Aufgaben, schauen Sie sich den Artikel Task-Objekt/ID an.

Eltern einer Aufgabe

Um das übergeordnete Element einer Aufgabe zu finden, können Sie die Methode gantt.getParent oder die "parent"-Eigenschaft des Aufgabenobjekts verwenden:

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"

Wenn die Aufgabe kein übergeordnetes Element hat, gibt die Methode die root id zurück.

Kinder einer Aufgabe

Um die Kinder einer Aufgabe abzurufen, verwenden Sie die Methode gantt.getChildren:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"}
]};
gantt.getChildren("p_1");//->["t_1"]

Wenn Sie alle Kinder einer Aufgabe, einschließlich derer auf tieferen Ebenen, benötigen, verwenden Sie die Methode gantt.eachTask und übergeben Sie die ID der übergeordneten Aufgabe als zweiten Parameter:

const children = [];
// Iterieren Sie durch alle Kinder einer Aufgabe
gantt.eachTask(function(child){
    children.push(child)
}, 11);

Überprüfen, ob eine Aufgabe ein Kind hat

Um zu überprüfen, ob eine Aufgabe Kinder hat, kann die Methode gantt.hasChild verwendet werden:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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

Nächste Aufgabe in einem Baum

Um die Aufgabe zu erhalten, die nach einer bestimmten kommt, verwenden Sie die Methode gantt.getNext:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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

Denken Sie daran, dass Aufgaben in Reihenfolge betrachtet werden, unabhängig von ihrer Baumebene.

Vorherige Aufgabe in einem Baum

Um die Aufgabe zu finden, die einer bestimmten vorausgeht, verwenden Sie die Methode gantt.getPrev:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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"

Genau wie bei der Methode gantt.getNext werden Aufgaben in Reihenfolge betrachtet, ohne Rücksicht auf ihre Baumebene.

Geschwister einer Aufgabe

Um die Geschwister einer Aufgabe zu finden, verwenden Sie die Methode gantt.getSiblings:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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"]

Nächstes Geschwister einer Aufgabe

Um das nächste Geschwister einer Aufgabe zu erhalten, verwenden Sie die Methode gantt.getNextSibling:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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 (falls kein nächstes Geschwister)

Vorheriges Geschwister einer Aufgabe

Um das vorherige Geschwister einer Aufgabe zu finden, verwenden Sie die Methode gantt.getPrevSibling:

var data = {
  tasks:[
     {id:"p_1", text:"Projekt #1", start_date:"01-04-2020", duration:18, 
     open:true},
     {id:"t_1", text:"Aufgabe #1", start_date:"02-04-2020", duration:8,
     parent:"p_1"},
     {id:"t_2", text:"Aufgabe #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 (falls kein vorheriges Geschwister)
Zurück nach oben