treeDatastore

eine Reihe von treeDatastore-Methoden

object treeDatastore;
Details

Hinweis, dass Aufgaben und Links mithilfe der allgemeinen API von Gantt modifiziert werden sollten. Das direkte Modifizieren von Aufgaben oder Links im Datastore kann zu unerwarteten Ergebnissen führen. Datastores sollen für Ressourcen oder andere benutzerdefinierte Objekte verwendet werden.

Ein neuer Datastore kann mit der Methode createDatastore erstellt werden.

TreeDatastore erweitert Datastore und verfügt über alle dessen 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 Zweigs)
    • parent? - (string | number) - die ID des Elternteils. Wenn angegeben, bezieht sich tindex auf den Index im 'parent'-Zweig
    Gibt false zurück, wenn die Aktion mit onBeforeItemMove abgebrochen wurde, ansonsten 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);// verschiebe 'John' von 'QA' zu 'Development'


    Das Pendant zu treeDatastore.move() ist gantt.moveTask().
    Ruft die Ereignisse onBeforeItemMove, onAfterItemMove und alle Ereignisse der refresh-Methode auf.
  • getBranchIndex (id): number - gibt den Index eines Elements im Zweig 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


    Das Pendant zu treeDatastore.getBranchIndex() ist gantt.getTaskIndex()
  • hasChild (id): number | void - überprüft, ob das angegebene Element Kindelemente hat
    • id - (string | number) - die ID des Elements
    Gibt die Anzahl der Kindaufgaben zurück (falls vorhanden), ansonsten 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.hasChild(1);
    // -> true
     
    store.hasChild(9);
    // -> false


    Das Pendant zu treeDatastore.hasChild() ist gantt.hasChild().
  • getChildren (id): Array<number | string | object> - gibt die 1. Ebene der Kindelemente des angegebenen Elternzweigs zurück
    • id - (string | number) - die ID des Elternzweigs
    Gibt ein Array mit den 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]


    Das Pendant zu treeDatastore.getChildren() ist gantt.getChildren().
  • isChildOf (childId, parentId): boolean - überprüft, ob ein Element ein Kind eines anderen Elements ist
    • childId - (string | number) - die ID eines Elements, das Sie als Kind überprüfen möchten
    • parentId - (string | number) - die ID eines Elements, das Sie als Elternteil überprüfen möchten
    Gibt true zurück, wenn das Element ein Kind des angegebenen Elternelements 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


    Das Pendant zu treeDatastore.isChildOf() ist gantt.isChildOf().
  • getSiblings (id): Array<number | string | object> - gibt die Geschwister des angegebenen Elements (einschließlich sich selbst) zurück
    • 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]


    Das Pendant zu 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


    Das Pendant zu 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


    Das Pendant zu treeDatastore.getPrevSibling() ist gantt.getPrevSibling().
  • getParent (id): number| string - gibt die ID des Elternelements oder 0 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.getParent(9);
    // -> 3
     
    store.getParent(1);
    // -> 0


    Das Pendant zu treeDatastore.getParent() ist gantt.getParent().
  • calculateItemLevel (item): number - berechnet die Verschachtelungsebene eines Elements
    • item - (object) - das Objekt 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.calculateItemLevel(store.getItem(9));
    // -> 1
     
    store.calculateItemLevel(store.getItem(1));
    // -> 0


    Das Pendant zu treeDatastore.calculateItemLevel() ist gantt.calculateTaskLevel().
  • setParent (item, newParentId): void - setzt das Elternelement für ein Element. Die Eltern-ID wird in die Eigenschaft geschrieben, die durch die `parentProperty`-Konfiguration angegeben wird, standardmäßig "item.parent".
    • item - (object) - das Objekt des Elements
    • newParentId - (string | number | null) - die ID des Elternteils

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

    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


    Das Pendant zu treeDatastore.setParent() ist gantt.setParent().
  • eachItem (callback, parentId): void - iteriert über alle Kinder eines bestimmten Elements
    • callback - (Function) - die Callback-Funktion
    • parentId? - (string | number) - 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);
    });


    Das Pendant zu treeDatastore.eachItem() ist gantt.eachTask().
  • eachParent (callback, startItem): void - iteriert über alle Elternelemente des angegebenen Elements
    • callback - (Function) - die Callback-Funktion
    • startItem - (string | number) - die ID des Elements, dessen Elternelemente iteriert werden sollen
    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"


    Das Pendant zu treeDatastore.eachParent() ist gantt.eachParent().
  • open (id): void - öffnet den Zweig mit der angegebenen ID
    • id - (string | number) - die ID des Zweigs
    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);


    Das Pendant zu treeDatastore.open() ist gantt.open(). Ruft das onItemOpen-Ereignis auf.
  • close (id): void - schließt den Zweig mit der angegebenen ID
    • id - (string | number) - die ID des Zweigs
    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);


    Das Pendant zu treeDatastore.close() ist gantt.close(). Ruft das onItemClose-Ereignis auf.
  • sort (field, desc, parent, silent): void - sortiert Elemente im Resource-Grid
    • field - (string | Function) - der Name der Spalte, nach der das Resource-Grid sortiert wird, oder eine benutzerdefinierte Sortierfunktion
    • desc? - (boolean) - gibt die Sortierrichtung an: true - absteigende Sortierung und false - aufsteigende Sortierung. Standardmäßig false
    • parent? - (string | number) - die ID des Elternelements. Geben Sie den Parameter an, wenn Sie Elemente nur im Zweig des angegebenen Elternteils sortieren möchten.
    • silent? - (boolean) - gibt an, ob das Rendering nach dem Umordnen der Elemente aufgerufen 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 Resource-Grid nach der Spalte
    var resourceSortDirection = false;
    function sortResources(){
        resourceSortDirection = !resourceSortDirection;
        gantt.getDatastore("resource").sort("text", resourceSortDirection)
        gantt.render();
    }

    Related sample:  Gantt. Sortieren von Ressourcen nach der Spalte

    oder Sie können eine benutzerdefinierte Funktion für die Sortierung definieren:
    var resourceSortDirection = false;
    function sortResources(){
        resourceSortDirection = !resourceSortDirection;
        gantt.getDatastore("resource").sort(function (resource1, resource2){
            return resource1.id - resource2.id;
        }, resourceSortDirection)
        gantt.render();
    }

    Related sample:  Gantt. Sortieren von Ressourcen nach einer benutzerdefinierten Funktion

    Das Pendant zu treeDatastore.sort() ist gantt.sort().

Ereignisse

  • onBeforeItemMove (id, parent, tindex) - wird ausgelöst, bevor ein Element an eine neue Position verschoben wird
    • id - (string | number) - die ID des zu verschiebenden Elements
    • parent - (string | number) - die Eltern-ID
    • tindex - (number) - der Index der Position im Elternzweig, zu der das Element verschoben wird
    Rückgabe von false, 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;
    });


    Das Pendant zum Ereignis onBeforeItemMove von treeDatastore ist das onBeforeTaskMove-Ereignis von Gantt.
  • onAfterItemMove (id, parent, tindex) - wird ausgelöst, nachdem ein Element an eine neue Position verschoben wurde
    • id - (string | number) - die ID des zu verschiebenden Elements
    • parent - (string | number) - die Eltern-ID
    • tindex - (number) - der Index der Position im Elternzweig, zu der das Element verschoben wird
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onAfterItemMove", function(id, parent, tindex){
        // Ihr Code hier
    });


    Das Pendant zum Ereignis onAfterItemMove von treeDatastore ist das onAfterTaskMove-Ereignis von Gantt.
  • onItemOpen (id) - wird beim Öffnen eines Zweigs ausgelöst
    • id - (string | number) - die ID des Zweigs
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onItemOpen", function(id){
        // Ihr Code hier
    });


    Das Pendant zum Ereignis onItemOpen von treeDatastore ist das onTaskOpened-Ereignis von Gantt.
  • onItemClose (id) - wird beim Schließen eines Zweigs ausgelöst
    • id - (string | number) - die ID des Zweigs
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onItemClose", function(id){
        // Ihr Code hier
    });


    Das Pendant zum Ereignis onItemClose von treeDatastore ist das onTaskClosed-Ereignis von Gantt.
See also
Zurück nach oben