Zum Hauptinhalt springen

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

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
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.