Zum Hauptinhalt springen

treeDatastore

Description

Eine Sammlung von treeDatastore-Methoden

treeDatastore: TreeDatastoreMethods

Details

Hinweis, dass Tasks und Links mit dem gemeinsamen API von Gantt bearbeitet werden sollten. Tasks oder Links direkt im datastore zu ändern kann zu unerwarteten Ergebnissen führen. Datastores sollen für Ressourcen oder andere benutzerdefinierte Objekte verwendet werden.

Ein neuer datastore kann mit der createDatastore Methode erstellt werden.

TreeDatastore erweitert Datastore und besitzt alle seine Methoden. Die erweiterte API des treeDatastore-Objekts bietet die folgenden Methoden und Ereignisse:

Methoden

  • move (sid, tindex, parent): boolean | void - verschiebt ein Element an die neue Position oder zu einem neuen Elternteil
    • sid - (string | number) - die ID des zu verschiebenden Elements
    • tindex - (number) - der Index der Position, zu der das Element verschoben wird (der Index innerhalb eines Astes)
    • parent? - (string | number) - optional, die Eltern-ID. Falls angegeben, bezieht sich der tindex auf den Index im Ast des 'parent'-Elements
    • Gibt false zurück, wenn die Aktion über onBeforeItemMove abgebrochen wurde, andernfalls undefined.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.move(6, -1, 2);// verschiebt 'John' von 'QA' nach 'Development'

Der Zwilling von treeDatastore.move() ist gantt.moveTask().

Ruft die onBeforeItemMove-, onAfterItemMove-Ereignisse sowie alle Ereignisse der refresh-Methode auf.

getBranchIndex (id): number - gibt den Index eines Elements im Ast zurück

  • id - (string | number) - die ID des Elements
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);

store.getBranchIndex(8);
// -> 1

Der Zwilling von treeDatastore.getBranchIndex() ist gantt.getTaskIndex().

  • hasChild (id): number | void - prüft, ob das angegebene Element Kind-Elemente besitzt
    • id - (string | number) - die ID des Elements
    • Gibt die Anzahl der Kindaufgaben zurück (falls vorhanden) oder undefined, falls nicht.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.hasChild(1);
// -> true


store.hasChild(9);
// -> false

Der Zwilling von treeDatastore.hasChild() ist gantt.hasChild().

  • getChildren (id): Array<number | string | object> - gibt die Kind-Elemente der 1. Ebene des angegebenen Elternzweigs zurück
    • id - (string | number) - die ID des Elternzweigs
    • Gibt ein Array der IDs der Kinder zurück.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.getChildren(3);
// -> [9, 10]


store.getChildren(9);
// -> [0]

Der Zwilling von treeDatastore.getChildren() ist gantt.getChildren().

  • isChildOf (childId, parentId): boolean - prüft, ob ein Element ein Kind eines anderen Elements ist
    • childId - (string | number) - die ID eines Elements, das Sie als Kind prüfen möchten
    • parentId - (string | number) - die ID eines Elements, das Sie als Elternteil prüfen möchten
    • Gibt true zurück, wenn das Element Kind des angegebenen Elternteils ist. Andernfalls false.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.isChildOf(9, 3);
// -> true


store.getChildren(9, 2);
// -> false

Der Zwilling von treeDatastore.isChildOf() ist gantt.isChildOf().

  • getSiblings (id): Array<number | string | object> - gibt Geschwister des angegebenen Elements zurück (einschließlich des Elements selbst)
    • id - (string | number) - die ID des Elements
    • Gibt ein Array mit den IDs der Geschwister des Elements zurück.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.getSiblings(1);
// -> [1,2,3,4]


store.getSiblings(6);
// -> [6]

Der Zwilling von treeDatastore.getSiblings() ist gantt.getSiblings().

  • getNextSibling (id): number | string | null - gibt die ID des nächsten Elements auf derselben Ebene zurück
    • id - (string | number) - die ID des Elements
    • Gibt die ID des nächsten Geschwisters oder null zurück.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.getNextSibling(9);
// -> 10


store.getNextSibling(10);
// -> null

Der Zwilling von treeDatastore.getNextSibling() ist gantt.getNextSibling().

  • getPrevSibling (id): number | string | null - gibt die ID des vorherigen Elements auf derselben Ebene zurück
    • id - (string | number) - die ID des Elements
    • Gibt die ID des vorherigen Geschwisters oder null zurück.
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.getPrevSibling(9);
// -> null


store.getPrevSibling(10);
// -> 9

Der Zwilling von treeDatastore.getPrevSibling() ist gantt.getPrevSibling().

  • getParent (id): number | string - gibt die ID des Elternteils zurück oder 0
    • id - (string | number) - die ID des Elements
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.getParent(9);
// -> 3


store.getParent(1);
// -> 0

Der Zwilling von treeDatastore.getParent() ist gantt.getParent().

  • calculateItemLevel (item): number - berechnet die Verschachtelungsebene eines Elements
    • item - (object) - das Element-Objekt
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.calculateItemLevel(store.getItem(9));
// -> 1


store.calculateItemLevel(store.getItem(1));
// -> 0

Der Zwilling von treeDatastore.calculateItemLevel() ist gantt.calculateTaskLevel().

  • setParent (item, newParentId): void - setzt das Elternteil für ein Element. Die Eltern-ID wird in die durch die Konfiguration angegebene Eigenschaft geschrieben, standardmäßig "item.parent"
    • item - (object) - das Element-Objekt
    • newParentId - (string | number | null) - die ID des Elternteils
Hinweis

Verwenden Sie treeDatastore.move(), um eine Aufgabe in ein anderes Elternteil zu verschieben. Die setParent()-Methode schreibt lediglich den Wert in die durch die Konfiguration angegebene Eigenschaft, sie aktualisiert den internen Zustand des Baums nicht.

gantt.createDatastore({
name: gantt.config.resource_store,
type: "treeDatastore",
parentProperty: "parent", //
initItem: function (item) {
item.parent = item.parent \|\| gantt.config.root_id;
item[gantt.config.resource_property] = item.parent;
item.open = true;
return item;
}
});


var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.setParent(store.getItem(9), 4);
// -> 3


Der Zwilling von treeDatastore.setParent() ist gantt.setParent().

  • eachItem (callback, parentId): void - iteriert über alle Kinder eines bestimmten Elements
    • callback - (Function) - die Callback-Funktion
    • parentId? - (string | number) - optional, die ID des Elternteils
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.eachItem(function(item){
console.log(item.text);
});

Der Zwilling von treeDatastore.eachItem() ist gantt.eachTask().

  • eachParent (callback, startItem): void - iteriert über alle Eltern-Elemente des angegebenen Elements
    • callback - (Function) - die Callback-Funktion
    • startItem - (string | number) - die ID des Elements, dessen Elternkette iteriert werden soll
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.eachParent(function(item){
console.log(item.text);
}, 10);
// -> "Sales"

Der Zwilling von treeDatastore.eachParent() ist gantt.eachParent().

  • open (id): void - öffnet den Ast mit der angegebenen ID
    • id - (string | number) - die Ast-ID
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.open(1);

Der Zwilling von treeDatastore.open() ist gantt.open().

Ruft das onItemOpen-Ereignis auf.

  • close (id): void - schließt den Ast mit der angegebenen ID
    • id - (string | number) - die Ast-ID
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


store.close(1);

Der Zwilling von treeDatastore.close() ist gantt.close().

Ruft das onItemClose-Ereignis auf.

  • sort (field, desc, parent, silent): void - sortiert Elemente im Ressourcenraster
    • field - (string | Function) - der Spaltenname, nach dem das Ressourcenraster sortiert wird, oder eine benutzerdefinierte Sortierfunktion
    • desc? - (boolean) - optional, gibt die Sortierichtung an: true - absteigend, false - aufsteigend. Standardmäßig false
    • parent? - (string | number) - optional, die ID des Elternelements. Sortiert nur in diesem Ast
    • silent? - (boolean) - optional, gibt an, ob nach dem Neordenieren gerendert werden soll
var store = gantt.getDatastore(gantt.config.resource_store);
store.parse([
{id: 1, text: "QA", parent:null},
{id: 2, text: "Development", parent:null},
{id: 3, text: "Sales", parent:null},
{id: 4, text: "Other", parent:null},
{id: 5, text: "Unassigned", parent:4},
{id: 6, text: "John", parent:1},
{id: 7, text: "Mike", parent:2},
{id: 8, text: "Anna", parent:2},
{id: 9, text: "Bill", parent:3},
{id: 10, text: "Floe", parent:3}
]);


// sortiere das Ressourcenraster nach der Spalte
var resourceSortDirection = false;
function sortResources(){
resourceSortDirection = !resourceSortDirection;
gantt.getDatastore("resource").sort("text", resourceSortDirection)
gantt.render();
}

oder definiere eine benutzerdefinierte Funktion zum Sortieren:

var resourceSortDirection = false;
function sortResources(){
resourceSortDirection = !resourceSortDirection;
gantt.getDatastore("resource").sort(function (resource1, resource2){
return resource1.id - resource2.id;
}, resourceSortDirection)
gantt.render();
}

Der Zwilling von treeDatastore.sort() ist gantt.sort().

Ereignisse

  • onBeforeItemMove (id, parent, tindex) - löst aus, bevor ein Element an eine neue Position verschoben wird
    • id - (string | number) - die ID des zu bewegenden Elements
    • parent - (string | number) - die Eltern-ID
    • tindex - (number) - der Index der Position im Elternast, auf den das Element verschoben wird
    • Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
var store = gantt.getDatastore(gantt.config.resource_store);
store.attachEvent("onBeforeItemMove", function(id, parent, tindex){
// Ihr Code hier
return true;
});

Der Zwilling des onBeforeItemMove-Ereignisses von treeDatastore ist das onBeforeTaskMove-Ereignis von Gantt.

  • onAfterItemMove (id, parent, tindex) - löst aus, nachdem ein Element an eine neue Position verschoben wurde
    • id - (string | number) - die ID des zu bewegenden Elements
    • parent - (string | number) - die Eltern-ID
    • tindex - (number) - der Index der Position im Elternast, auf den das Element verschoben wird
var store = gantt.getDatastore(gantt.config.resource_store);
store.attachEvent("onAfterItemMove", function(id, parent, tindex){
// Ihr Code hier
});

Der Zwilling des onAfterItemMove-Ereignisses von treeDatastore ist das onAfterTaskMove-Ereignis von Gantt.

  • onItemOpen (id) - löst aus, wenn ein Ast geöffnet wird
    • id - (string | number) - die ID des Astes
var store = gantt.getDatastore(gantt.config.resource_store);
store.attachEvent("onItemOpen", function(id){
// Ihr Code hier
});

Der Zwilling des onItemOpen-Ereignisses von treeDatastore ist das onTaskOpened-Ereignis von Gantt.

  • onItemClose (id) - löst aus, wenn ein Ast geschlossen wird
    • id - (string | number) - die ID des Astes
var store = gantt.getDatastore(gantt.config.resource_store);
store.attachEvent("onItemClose", function(id){
// Ihr Code hier
});

Der Zwilling des onItemClose-Ereignisses von treeDatastore ist das onTaskClosed-Ereignis von Gantt.

Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.