createDataProcessor
Beschreibung
Erstellt eine neue dataProcessor-Instanz und hängt sie an gantt
createDataProcessor: (config: DataProcessorConfig | RouterFunction | RouterConfig) => any
Parameters
config- (erforderlich) DataProcessorConfig | RouterFunction | RouterConfig - DataProcessor-Konfigurationsobjekt
Returns
dataProcessor- (object) - die erstellte dataProcessor-Instanz
Example
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
Related samples
Details
Die Methode kann einen der folgenden Parametertypen akzeptieren:
- DataProcessorConfig - (Objekt) - Objekt, das einen der vordefinierten Modi zum Senden der Daten angibt
- url - (string) - die URL zur Serverseite
- mode? - (string) - optional, der Modus zum Senden von Daten an den Server: "JSON" | "REST-JSON" | "JSON" | "POST" | "GET"
- deleteAfterConfirmation? - (boolean) - optional, definiert, ob die Aufgabe aus dem gantt erst nach einer erfolgreichen Serverantwort gelöscht wird. Abhängigkeitsverknüpfungen und Unteraufgaben werden nach Bestätigung der Löschung der übergeordneten Aufgabe gelöscht.
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
- RouterFunction (entity, action, data, id): Promise | object | void - die Router-Funktion zur Verarbeitung von Änderungen im Gantt
- entity - (string) - der Name der relevanten Entität. Mögliche Werte sind: "task"|"link"|"resource"|"assignment"
- action - (string) - der Name der relevanten Aktion. Mögliche Werte sind: "create"|"update"|"delete"
- data - (Task | Link | ResourceAssignment | CustomObject) - das verarbeitete Objekt
- id - (string | number) - die ID eines verarbeiteten Objekts
// entity - "task"|"link"|"resource"|"assignment"
// action - "create"|"update"|"delete"
// data - ein Objekt mit Task- oder Link-Daten
// id – die ID eines verarbeiteten Objekts (Task oder Link)
var dp = gantt.createDataProcessor(function(entity, action, data, id) {
switch(action) {
case "create":
return gantt.ajax.post(
server + "/" + entity,
data
);
break;
case "update":
return gantt.ajax.put(
server + "/" + entity + "/" + id,
data
);
break;
case "delete":
return gantt.ajax.del(
server + "/" + entity + "/" + id
);
break;
}
});
- RouterConfig - (Objekt) - die Router-Konfiguration für verschiedene Entitäten
- task? - (RouterForEntity) - das Router-Objekt für Tasks
- link? - (RouterForEntity) - das Router-Objekt für Links
- resource? - (RouterForEntity) - das Router-Objekt für Ressourcen
- assignment? - (RouterForEntity) - das Router-Objekt für Zuweisungen
Das RouterForEntity-Objekt hat die folgenden Eigenschaften:
- create (data): Promise - eine Funktion zur Verarbeitung des Hinzufügens von Items
- data - (Task | Link | ResourceAssignment | CustomObject) - das verarbeitete Item
- update (data, id): Promise - eine Funktion zur Verarbeitung der Aktualisierung von Items
- data - (Task | Link | ResourceAssignment | CustomObject) - das verarbeitete Item
- id - (string | number) - die ID eines verarbeiteten Items
- delete (id): Promise - eine Funktion zur Verarbeitung der Löschung von Items
- id - (string | number) - die ID eines verarbeiteten Items
var dp = gantt.createDataProcessor({
task: {
create: function(data) {},
update: function(data, id) {},
delete: function(id) {}
},
link: {
create: function(data) {},
update: function(data, id) {},
delete: function(id) {}
}
});
Alle Funktionen des Router-Objekts sollten entweder eine Promise oder ein Daten-Antwort-Objekt zurückgeben. Dies ist notwendig, damit der DataProcessor die Datenbank-ID anwenden kann und um das onAfterUpdate-Ereignis des DataProcessors auszulösen.
router = function(entity, action, data, id) {
return new gantt.Promise(function(resolve, reject) {
// … some logic
return resolve({tid: databaseId});
});
}
Auf diese Weise können Sie DataProcessor verwenden, um Daten im LocalStorage zu speichern, oder in irgendeinem anderen Speicher, der nicht an eine bestimmte URL gebunden ist, oder falls zwei verschiedene Server (URLs) für die Erstellung und Löschung von Objekten verantwortlich sind.
Speichern von Ressourcen und Ressourcen-Zuweisungen
Standardmäßig erhält der DataProcessor keine Updates zu Ressourcen und Ressourcen-Zuweisungen. Sie können diese Funktion jedoch über eine separate Konfiguration aktivieren.
Verwandte Anleitungen
Änderungsprotokoll
- der Parameter deleteAfterConfirmation wurde in v8.0 hinzugefügt