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
var store = gantt.getDatastore(gantt.config.resource_store);
var resource = store.getItem(resourceId);
Related sample: Resource load diagram
Die Gegenstücke zu datastore.getItem() sind gantt.getTask() und gantt.getLink().
-
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
var store = gantt.getDatastore(gantt.config.resource_store);
store.removeItem(resourceId);
Die Gegenstücke zu datastore.removeItem() sind gantt.deleteTask() und gantt.deleteLink().
Ruft die Ereignisse onBeforeDelete, onAfterDelete und onStoreUpdated auf.
-
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.
var store = gantt.getDatastore(gantt.config.resource_store);
var itemId = store.addItem({
text: "Unassigned",
parent:4
});
Die Gegenstücke zu datastore.addItem() sind gantt.addTask() und gantt.addLink().
Ruft die Ereignisse onBeforeAdd, onAfterAdd und onStoreUpdated auf.
-
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
var store = gantt.getDatastore(gantt.config.resource_store);
store.clearAll();
Das Gegenstück zu datastore.clearAll() ist gantt.clearAll().
Ruft die Ereignisse onClearAll, onBeforeStoreUpdate und onStoreUpdated auf.
-
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
var store = gantt.getDatastore(gantt.config.resource_store);
store.refresh(itemId); // zeichnet ein Element neu
store.refresh(); // zeichnet alle Elemente neu
Die Gegenstücke zu datastore.refresh() sind gantt.refreshTask() und gantt.refreshLink().
Ruft die Ereignisse onBeforeStoreUpdate, onBeforeFilter, onFilterItem, onFilter und onStoreUpdated auf.
-
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
var store = gantt.getDatastore(gantt.config.resource_store);
var items = store.getItems();
Die Gegenstücke zu datastore.getItems() sind gantt.getTaskByTime() und gantt.getLinks().
-
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