Abrufen des Link-Objekts/der Link-ID

Beim Arbeiten mit Links im Gantt-Diagramm ist es wichtig zu wissen, wie man das Objekt oder die ID eines Links abrufen kann. Viele Methoden erfordern das Link-Objekt oder die ID als Parameter, und auch benutzerdefinierte Link-Szenarien hängen von diesen Informationen ab.

Abrufen des Link-Objekts

Um ein Link-Objekt abzurufen, kann die Methode gantt.getLink verwendet werden:

gantt.getLink("link1");                //-> {id:"link1", source:1, target:2, type:1}

Abrufen aller Links aus dem Gantt-Diagramm

Um alle im Diagramm verfügbaren Links abzurufen, ist die Methode gantt.getLinks nützlich:

var links = gantt.getLinks();

Dies gibt ein Array zurück, das alle Link-Objekte enthält.

Abrufen der Links, die mit einer bestimmten Aufgabe verknüpft sind

Links, die mit einer bestimmten Aufgabe verknüpft sind, können über die $source- und $target-Eigenschaften des Aufgabenobjekts abgerufen werden. Diese Eigenschaften werden automatisch generiert und enthalten die IDs der zugehörigen Links:

  • $source - IDs von Links, die von der Aufgabe ausgehen.
  • $target - IDs von Links, die auf die Aufgabe zeigen.
var taskObj = gantt.getTask("t1");
 
var sourceLinks = taskObj.$source;        //-> ["l1","l4"] - IDs ausgehender Links  var targetLinks = taskObj.$target;       //-> ["l5","l8"] - IDs eingehender Links

Die task.$source- und task.$target-Eigenschaften sind dynamische Eigenschaften des Aufgabenobjekts. Sie werden nicht in der Datenbank gespeichert, sondern nach dem Laden der Daten dynamisch zum Aufgabenobjekt hinzugefügt.

const task = gantt.getTask(1);
const source = task.$source;
// Links, die von der Aufgabe ausgehen,
// wobei `task #1` in diesen Beziehungen als Vorgänger fungiert
 
source.forEach(function(linkId) {
   const link = gantt.getLink(linkId);
   console.log(link);
   // { id: linkId, source: 1, target: targetTaskId, ...}
});
 
const target = task.$target;
// Links, die auf die Aufgabe zeigen,
// wobei `task #1` in diesen Beziehungen als Nachfolger fungiert
 
target.forEach(function(linkId) {
   const link = gantt.getLink(linkId);
   console.log(link);
   // { id: linkId, source: sourceTaskId, target: 1, ...}
});

Abrufen der Link-ID

Die ID eines Links kann in der Regel im links-Objekt des Datensatzes gefunden werden.

{
    tasks:[...],
    links:[
        { id:1, source:1, target:2, type:"1"},                       //Link-ID = 1         { id:2, source:2, target:3, type:"0"},                       //Link-ID = 2         { id:3, source:3, target:4, type:"0"}                        //Link-ID = 3     ]
}


Wenn Sie die ID eines Links mit bestimmten "target", "source" oder "type" Werten finden müssen, können Sie den folgenden Ansatz verwenden:

// Suche nach einem Link von der Aufgabe mit id=1 zur Aufgabe mit id=2
var links = gantt.serialize().links;                             // Gibt alle Links zurück
for(var i=0; i<links.length; i++){                              // Iteriert durch alle Links
   if ( (links[i].source == 1) && (links[i].target == 2) )
       var linkId = links[i].id;
};

Ändern der Link-ID

Wenn Sie die ID eines Links aktualisieren müssen, kann die Methode gantt.changeLinkId verwendet werden:

gantt.changeLinkId(1274, "link14");          // Ändert die Link-ID: 1274 -> "link14"
Zurück nach oben