datastore

eine Sammlung von datastore-Methoden

object datastore;
Details

Hinweis, dass Tasks und Links über die allgemeine API von Gantt modifiziert werden sollten. Direkte Änderungen von Tasks oder Links im datastore können unerwartete Ergebnisse hervorrufen. Datastores sind für Ressourcen oder andere benutzerdefinierte Objekte vorgesehen.

Ein neuer datastore kann mit der Methode createDatastore erstellt werden.
Das datastore-Objekt verfügt über die folgenden Methoden und Ereignisse:

Methoden

  • parse (data): void - lädt Daten aus einem Array
    • data - (Array<object>) - die zu ladenden Daten
    gantt.$resourcesStore.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}
    ]);

    Related sample:  Resource load diagram

    Das Gegenstück zu datastore.parse() ist gantt.parse().
    Ruft die Ereignisse onBeforeParse, onItemLoading, onParse und onStoreUpdated auf.
  • getItem (id): object | void - gibt das Element anhand seiner ID zurück
    • id - (string | number) - die ID des Elements
  • updateItem (id, item): void - aktualisiert das angegebene Element
    • id - (string | number) - die ID des Elements
    • item? - (object) - ein Objekt des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    var resource = store.getItem(resourceId);
    resource.text = "modified";
    store.updateItem(resourceId);
    // oder
    store.updateItem(resourceId, { text: "modified" });


    Die Gegenstücke zu datastore.updateItem() sind gantt.updateTask() und gantt.updateLink().
    Ruft die Ereignisse onBeforeUpdate, onAfterUpdate und onStoreUpdated auf.
  • removeItem (id): void - löscht das angegebene Element
    • id - (string | number) - die ID des Elements
  • isVisible (id): boolean - überprüft, ob das angegebene Element sichtbar oder durch Filter verborgen ist
    • id - (string | number) - die ID des Elements
    Gibt true zurück, wenn das Element sichtbar ist. Andernfalls false.
    var store = gantt.getDatastore(gantt.config.resource_store);
    if(store.isVisible(resourceId)){
        console.log(resourceId);
    }


    Das Gegenstück zu datastore.isVisible() ist gantt.isTaskVisible().
  • getVisibleItems (): Array<object> - gibt das Array der sichtbaren Elemente zurück
    var store = gantt.getDatastore(gantt.config.resource_store);
    var items = store.getVisibleItems();

  • addItem (item, index): number | string - fügt ein neues Element zum datastore hinzu
    • item - (object) - das Elementobjekt
    • index? - (number) - die Position, an der das Element hinzugefügt wird (0 oder größer)
    Gibt die ID des Elements zurück.
  • changeId (oldId, newId): void - ändert die ID des Elements
    • oldId - (string | number) - die aktuelle ID des Elements
    • newId - (string | number) - die neue ID des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
     
    var itemId = store.addItem({
        text: "Unassigned",
        parent:4
    });
     
    // itemId - temporäre clientseitige ID des neuen Elements
    // sobald das Element in der Datenbank gespeichert ist - aktualisieren Sie den Client mit der neuen ID:
     
    store.changeId(itemId, "databaseId");


    Die Gegenstücke zu datastore.changeId() sind gantt.changeTaskId() und gantt.changeLinkId().
    Ruft das onIdChange-Ereignis auf.
  • exists (id): boolean - überprüft, ob das angegebene Element im datastore existiert
    • id - (string | number) - die ID des Elements
    Gibt true zurück, wenn das Element existiert. Andernfalls false.
    var store = gantt.getDatastore(gantt.config.resource_store);
     
    if(store.exists(resourceId)){
        console.log(resourceId);
    }


    Die Gegenstücke zu datastore.exists() sind gantt.isTaskExists() und gantt.isLinkExists().
  • move (sindex, tindex): void - verschiebt ein Element an eine neue Position
    • sindex - (number) - der Index der aktuellen Position des Elements
    • tindex - (number) - der Index der Position, an die das Element verschoben wird
    var store = gantt.getDatastore(gantt.config.resource_store);
     
    // tauschen Sie zwei Elemente
    var idA = 1;
    var idB = 5;
    var indexA = store.getIndexById(idA);
    var indexB = store.getIndexById(idB);
    store.move(indexB, indexA);
     
    indexA = store.getIndexById(idA);
    store.move(indexA, indexB);


    Das Gegenstück zu datastore.move() ist gantt.moveTask().
    Ruft das onStoreUpdated-Ereignis auf.
  • clearAll (): void - leert den datastore
  • silent (callback): void - führt den Code aus, ohne API-Ereignisse des datastores auszulösen
    • callback - (Function) - die Callback-Funktion
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.silent(function(){
        store.eachItem(function(item){
            item.text += " modified";
            store.updateItem(item.id);
        });
    });
    store.refresh();


    Das Gegenstück zu datastore.silent() ist gantt.silent().
  • refresh (id): void - löst das Neuzeichnen von Ereignissen des angegebenen Datensatzes aus, führt Filter aus
    • id? - (string | number) - optional, die ID des Datensatzes
  • count (): number - gibt die Anzahl der Elemente zurück, die derzeit im datastore geladen sind
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onParse", function(){
        alert(store.count() + " items loaded");
    });


    Die Gegenstücke zu datastore.count() sind gantt.getTaskCount() und gantt.getLinkCount().
  • countVisible (): number - gibt die Anzahl der derzeit sichtbaren Elemente zurück
    var store = gantt.getDatastore(gantt.config.resource_store);
    alert(store.countVisible() + " items are visible");


    Das Gegenstück zu datastore.countVisible() ist gantt.getVisibleTaskCount().
  • eachItem (callback): void - iteriert über alle Tasks des datastores
    • callback - (Function) - die Callback-Funktion
    var store = gantt.getDatastore(gantt.config.resource_store);
     
    var searchItems = [];
    store.eachItem(function(item){
        if(!item.value){
            searchItems.push(item);
        }
    });


    Das Gegenstück zu datastore.eachItem() ist gantt.eachTask().
  • filter (): void - führt die Filter aus und aktualisiert das sichtbare Array von Elementen
  • Normalerweise müssen Sie diese Methode nicht aufrufen, sie wird automatisch von der Methode store.refresh() aufgerufen.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.filter();

  • sort (field, desc, parent, silent): void - sortiert Elemente im Ressourcen-Grid
    • field - (string | Function) - der Name der Spalte, nach der das Ressourcen-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 übergeordneten Elements. Geben Sie den Parameter an, wenn Sie Elemente nur im Zweig des angegebenen übergeordneten Elements sortieren möchten.
    • silent? - (boolean) - gibt an, ob das Rendering nach der Neuordnung 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 Ressourcen-Grid nach der Spalte
    var resourceSortDirection = false;
    function sortResources(){
        resourceSortDirection = !resourceSortDirection;
        gantt.getDatastore("resource").sort("text", resourceSortDirection)
        gantt.render();
    }

    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();
    }

    Das Gegenstück zu datastore.sort() ist gantt.sort().
  • getIndexRange (from, to): Array<object> - gibt Datensätze zwischen den angegebenen Indizes zurück
    • from - (number) - die Position des Start-Datensatzes
    • to - (number) - die Position des End-Datensatzes
    var store = gantt.getDatastore(gantt.config.resource_store);
    var itemsInViewPort = store.getIndexRange(5, 10);// erhält Elemente vom 5. bis zum 10.

  • getItems (): Array<object> - gibt alle Datensätze des datastores zurück
  • getIdByIndex (index): string | number | void - gibt die ID des Elements anhand seines Indexes zurück. Gibt `undefined` zurück, wenn kein Element an dem angegebenen Index existiert.
    • index - (number) - die Position des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    var firstItem = store.getIdByIndex(0);


    Das Gegenstück zu datastore.getIdByIndex() ist gantt.getTaskByIndex().
  • getIndexById (id): number - gibt den Index des Elements anhand seiner ID zurück. Gibt `-1` zurück, wenn kein solches Element im datastore existiert.
    • id - (string | number) - die ID des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    var itemIndex = store.getIndexById(5);


    Das Gegenstück zu datastore.getIndexById() ist gantt.getTaskIndex().
  • getFirst (): string | number | null - gibt die ID des ersten Elements des datastores zurück
    var store = gantt.getDatastore(gantt.config.resource_store);
    var firstId = store.getFirst();


  • getLast (): string | number | null - gibt die ID des letzten Elements des datastores zurück
    var store = gantt.getDatastore(gantt.config.resource_store);
    var lastId = store.getLast();

  • getNext (id): string | number | null - gibt die ID des nächsten Elements des datastores zurück
    • id - (string | number) - die ID des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    var firstId = store.getFirst();
    var secondId = store.getNext(firstId);


    Das Gegenstück zu datastore.getNext() ist gantt.getNext().
  • getPrev (id): string | number | null - gibt die ID des vorherigen Elements des datastores zurück
    • id - (string | number) - die ID des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    var prevId = store.getPrev(itemId);


    Das Gegenstück zu datastore.getPrev() ist gantt.getPrev().
  • destructor (): void - leert den datastore und entfernt alle angehängten Ereignishandler. Der datastore ist nach dem Aufruf dieser Methode nicht mehr verwendbar.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.destructor();


    Das Gegenstück zu datastore.destructor() ist gantt.destructor().
  • attachEvent (name, handler, settings): string - hängt den Handler an ein internes Ereignis von DataStore an
    • name - (string) - der Name des Ereignisses, nicht case-sensitiv
    • handler - (Function) - die Handler-Funktion
    • settings? - (object) - optional, ein Objekt mit Einstellungen für den Ereignishandler
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onAfterSelect", function(id){
        gantt.refreshData();
    });


    Das Gegenstück zu datastore.attachEvent() ist gantt.attachEvent().
  • callEvent (name, params): boolean - ruft ein internes Ereignis auf
    • name - (string) - der Name des Ereignisses, nicht case-sensitiv
    • params - (Array<any>) - ein Array mit den datenbezogenen Daten des Ereignisses
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.callEvent("CustomEvent", [param1, param2]);


    Das Gegenstück zu datastore.callEvent() ist gantt.callEvent().
  • detachEvent (id): void - trennt einen Handler von einem Ereignis (der vorher mit der Methode attachEvent() angehängt wurde)
    • id - (string) - die ID des Ereignisses
    var store = gantt.getDatastore(gantt.config.resource_store);
    var handlerId = store.attachEvent("onAfterSelect", function(id){
        gantt.refreshData();
    });
     
    // trennen Sie einen Listener
    store.detachEvent(handlerId);


    Das Gegenstück zu datastore.detachEvent() ist gantt.detachEvent().

Ereignisse

  • onItemLoading (item) - wird ausgelöst, wenn ein Element aus der Datenquelle geladen wird
    • item - (object) - das Objekt eines Elements
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onItemLoading", function(item){
        if(item.valid){ // filtert Elemente beim Laden durch benutzerdefiniertes Attribut
            return true;
        }
        return false;
    });


    Das Gegenstück des onItemLoading-Ereignisses von datastore ist das onTaskLoading-Ereignis von Gantt.
  • onBeforeParse (data) - wird ausgelöst, bevor Daten zu parsen begonnen werden
    • data - (Array <any>) - das Array mit den geladenen Daten
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeParse", function(item){
        console.time("StoreParse");
    });
    store.attachEvent("onParse", function(item){
        console.timeEnd("StoreParse");
    });


    Das Gegenstück des onBeforeParse-Ereignisses von datastore ist das onBeforeParse-Ereignis von Gantt.
  • onParse (data) - wird ausgelöst, nachdem Daten geparst wurden (für die API verfügbar geworden sind), aber bevor sie im Gantt-Diagramm gerendert wurden
    • data - (Array <any>) - das Array mit den geladenen Daten
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeParse", function(item){
        console.time("StoreParse");
    });
    store.attachEvent("onParse", function(item){
        console.timeEnd("StoreParse");
    });


    Das Gegenstück des onParse-Ereignisses von datastore ist das onParse-Ereignis von Gantt.
  • onBeforeUpdate (id, item) - wird ausgelöst, bevor ein Element aktualisiert wird
    • id - (string | number) - die ID eines Elements
    • item - (object) - das neue (aktualisierte) Objekt des Elements
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeUpdate", function(id, item){
        // Ihr Code hier
        return true;
    });


    Die Gegenstücke des onBeforeUpdate-Ereignisses von datastore sind die onBeforeTaskUpdate- und onBeforeLinkUpdate-Ereignisse von Gantt.
  • onAfterUpdate (id, item) - wird ausgelöst, nachdem ein Element aktualisiert wurde
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Objekt des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onAfterUpdate", function(id, item){
        // Ihr Code hier
    });


    Die Gegenstücke des onAfterUpdate-Ereignisses von datastore sind die onAfterTaskUpdate- und onAfterLinkUpdate-Ereignisse von Gantt.
  • onBeforeDelete (id, item) - wird ausgelöst, bevor ein Element gelöscht wird
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Objekt des Elements
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeDelete", function(id, item){
        // Ihr Code hier
        return true;
    });


    Die Gegenstücke des onBeforeDelete-Ereignisses von datastore sind die onBeforeTaskDelete- und onBeforeLinkDelete-Ereignisse von Gantt.
  • onAfterDelete (id, item) - wird ausgelöst, nachdem ein Element gelöscht wurde
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Objekt des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onAfterDelete", function(id, item){
        // Ihr Code hier
    });


    Die Gegenstücke des onAfterDelete-Ereignisses von datastore sind die onAfterTaskDelete- und onAfterLinkDelete-Ereignisse von Gantt.
  • onBeforeAdd (id, item) - wird ausgelöst, bevor ein neues Element zum datastore hinzugefügt wird
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Objekt des Elements
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeAdd", function(id, item){
        // Ihr Code hier
        return true;
    });


    Die Gegenstücke des onBeforeAdd-Ereignisses von datastore sind die onBeforeTaskAdd- und onBeforeLinkAdd-Ereignisse von Gantt.
  • onAfterAdd (id, item) - wird ausgelöst, nachdem ein Element zum datastore hinzugefügt wurde
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Objekt des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onAfterAdd", function(id, item){
        // Ihr Code hier
    });


    Die Gegenstücke des onAfterAdd-Ereignisses von datastore sind die onAfterTaskAdd- und onAfterLinkAdd-Ereignisse von Gantt.
  • onIdChange (id, newId) - wird ausgelöst, wenn die ID eines Elements geändert wird
    • id - (string | number) - die ID eines Elements
    • newId - (string | number) - die neue ID des Elements
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onIdChange", function(oldId, newId){
        // Ihr Code hier
    });


    Das Gegenstück des onIdChange-Ereignisses von datastore ist das onTaskIdChange-Ereignis von Gantt.
  • onClearAll () - wird ausgelöst, nachdem alle Elemente aus dem datastore entfernt wurden
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onClearAll", function(){
        // Ihr Code hier
    });

    Das Gegenstück des onClearAll-Ereignisses von datastore ist das onClear-Ereignis von Gantt.
  • onBeforeStoreUpdate (id, item, action) - wird ausgelöst, bevor der datastore aktualisiert wird
    • id - (string | number | null) - die ID eines Elements oder null
    • item - (object | null) - das Elementobjekt oder null
    • action - (string | null) - der Aktionstyp ("paint", "move", "add", "delete", null)
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    Dieses Ereignis signalisiert, dass die datastore-Elemente neu gezeichnet werden müssen. `null`-Argumentwert bedeutet, dass der gesamte datastore aktualisiert wird.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeStoreUpdate", function(id, item, action){
        // Ihr Code hier
        return true;
    });

  • onStoreUpdated (id, item, action) - wird ausgelöst, nachdem der datastore aktualisiert wurde
    • id - (string | number | null) - die ID eines Elements oder null
    • item - (object | null) - das Elementobjekt oder null
    • action - (string | null) - der Aktionstyp ("paint", "move", "add", "delete", null)
    Dieses Ereignis signalisiert, dass die datastore-Elemente neu gezeichnet werden müssen. `null`-Argumentwert bedeutet, dass der gesamte datastore aktualisiert wird.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onStoreUpdated", function(id, item, action){
        // Ihr Code hier
    });

  • onBeforeFilter () - wird ausgelöst, bevor Filter angewendet werden
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeFilter", function(){
        console.time("filtering");
    });
    store.attachEvent("onFilter", function(){
        console.timeEnd("filtering");
    });

  • onFilter () - wird ausgelöst, nachdem der datastore den Filterzustand aktualisiert hat
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onBeforeFilter", function(){
        console.time("filtering");
    });
    store.attachEvent("onFilter", function(){
        console.timeEnd("filtering");
    });

  • onFilterItem (id, item) - wird für jedes Element während der Filterphase ausgelöst, Rückgabe von `false` markiert das Element als nicht sichtbar
    • id - (string | number) - die ID eines Elements
    • item - (object) - das Elementobjekt
    Gibt false zurück, um die Standardaktion des Ereignisses zu verhindern, andernfalls true.
    var store = gantt.getDatastore(gantt.config.resource_store);
    store.attachEvent("onFilterItem", function(id, item){
        // Ihr Code hier
        return true;
    });

    Das Gegenstück des onFilterItem-Ereignisses von datastore ist das onBeforeTaskDisplay-Ereignis von Gantt.
  • onDestroy () - wird ausgelöst, nachdem die Methode destructor() des datastores aufgerufen wurde
    var datastore = gantt.createDatastore({
        name: gantt.config.resource_store,
        type: "treeDatastore",
        initItem: function (item) {
            item.parent = item.parent || gantt.config.root_id;
            item[gantt.config.resource_property] = item.parent;
            item.open = true;
            return item;
        }
    });
     
    datastore.attachEvent("onDestroy", function(){
        alert("freie benutzerdefinierte Ressourcen");
    });
     
    datastore.destructor();

See also
Zurück nach oben