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.
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.
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);
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
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.
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.
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"]
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)
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