erstellt eine neue dataProcessor-Instanz und fügt sie dem Gantt hinzu
config | DataProcessorConfig | RouterFunction | RouterConfig | dataProcessor-Konfigurationsobjekt |
object | das dataProcessor-Objekt |
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
Die Methode kann einen der folgenden Parametertypen annehmen:
var dp = gantt.createDataProcessor({
url: "/api",
mode: "REST",
deleteAfterConfirmation: true
});
// entity - "task"|"link"|"resource"|"assignment"
// action - "create"|"update"|"delete"
// data - ein Objekt mit Aufgaben- oder Linkdaten
// id – die ID eines verarbeiteten Objekts (Aufgabe 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;
}
});
Das RouterForEntity-Objekt hat die folgenden Eigenschaften:
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 Routerobjekts sollten entweder ein Promise oder ein Datenantwortobjekt zurückgeben. Dies ist notwendig, damit der dataProcessor die Datenbank-ID anwenden und das onAfterUpdate-Ereignis des Datenprozessors verknüpfen kann.
router = function(entity, action, data, id) {
return new gantt.Promise(function(resolve, reject) {
// … einige Logik
return resolve({tid: databaseId});
});
}
So können Sie den DataProcessor verwenden, um Daten im localStorage oder einem anderen Speicher zu speichern, der nicht mit einer bestimmten URL verknüpft ist, oder im Fall, dass zwei verschiedene Server (URLs) für die Erstellung und Löschung von Objekten verantwortlich sind.
Standardmäßig erhält der DataProcessor keine Aktualisierungen von Ressourcen und Ressourcen-Zuweisungen. Sie können jedoch diese Funktion über eine separate Konfiguration aktivieren.
der Parameter deleteAfterConfirmation wurde in v8.0 hinzugefügt.
Zurück nach oben