dataprocessor

eine Sammlung von dataprocessor-Methoden

object dataprocessor;
Details

Sie können eine neue DataProcessor-Instanz mit der Methode createDataProcessor erstellen. Es gibt auch eine ältere Möglichkeit, eine Instanz über den Konstruktor dataProcessor zu erzeugen.
Das dataprocessor-Objekt beinhaltet die folgenden Methoden und Events:

Methoden

  • attachEvent (name, handler, settings): string - fügt einen Handler zu einem DataProcessor API Event hinzu
    • name - (string) - der Event-Name, case-insensitive
    • handler - (Function) - die Funktion, die das Event behandelt
    • settings? - (object) - optional, Einstellungsobjekt für den Event-Handler
    const dp = gantt.createDataProcessor({
        url: "/api",
        mode: "REST",
    });
     
    dp.attachEvent("onAfterUpdate", (id, action, tid, response) => {
        console.log("Updated task:", id);
    });
  • detachEvent (id): void - entfernt einen zuvor angehängten Event-Handler anhand seiner ID
    • id - (string) - die ID des Event-Handlers
    const dp = gantt.createDataProcessor({
        url: "/api",
        mode: "REST",
    });
     
    const handlerId = dp.attachEvent("onAfterUpdate", (id, action, tid, response) => {
        console.log("Updated task:", id);
    });
     
    // entfernt den Event-Listener
    dp.detachEvent(handlerId);
  • getState (id): string - gibt den Status eines bestimmten Elements zurück (ob es aktualisiert wurde oder nicht)
    • id - (string | number) - die ID des Elements
    const status = dp.getState(id);
  • ignore (code): void - führt einen Codeblock aus, ohne DataProcessor-Aktionen auszulösen
    • code - (Function) - die Funktion zur Datenänderung
    dp.ignore(() => {
        // Änderungen hier werden nicht gespeichert
        gantt.addTask({
            id: 10,
            text: "Task #5",
            start_date: "03-02-2025",
            duration: 5
        });
    });

    Dies ist nützlich, um Daten hinzuzufügen oder zu entfernen, wenn Sie vermeiden möchten, dass diese Änderungen zum Server gesendet werden.

    Die Methode dp.ignore() verhält sich ähnlich wie gantt.silent().
  • setTransactionMode (mode, total): void - legt fest, wie Daten an den Server gesendet werden
    • mode - (string) - die Versandmethode, Optionen sind "GET", "POST", "REST", "JSON" oder "REST-JSON"
    • total - (boolean) - bestimmt, ob alle Daten auf einmal oder jeder Datensatz einzeln gesendet wird
    dp.setTransactionMode("POST", true);

    Wenn Sie benutzerdefinierte HTTP-Header oder zusätzliche Daten mit den Anfragen senden möchten, können Sie als ersten Parameter ein Objekt mit folgenden Eigenschaften übergeben:

    • mode - (string) - Datenversandmodus, z.B. "GET", "POST", "REST", "JSON" oder "REST-JSON"
    • headers - (object) - Schlüssel-Wert-Paare von Headern, die in die Anfrage aufgenommen werden
    • payload - (object) - zusätzliche Schlüssel-Wert-Paare, die zusammen mit den Headern gesendet werden
    dp.setTransactionMode({
        mode: "POST",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded",
            "Accept-Language": "fr-FR"
        },
        payload: {
            "user_id": "12"
        }
    }, true);
  • setUpdated (rowId, [mode, state]): void - markiert ein Element als aktualisiert oder nicht
    • rowId - (string | number) - die ID des Elements
    • mode? - (boolean) - optional, true (Standard) zum Markieren als aktualisiert, false zum Markieren als nicht aktualisiert
    • state? - (string) - optional, der Name des Update-Status, Standard ist "updated"
    dp.setUpdated(1);
    dp.setUpdated(2, true, "deleted");

Events

  • onAfterUpdate (id, action, tid, response): void - wird ausgelöst, nachdem die Serverantwort empfangen und verarbeitet wurde
    • id - (string | number) - die ID des aktualisierten Elements
    • action - (string) - der Status der Antwort (Art der Operation)
    • tid - (string) - die neue ID (nur für Insert-Operationen)
    • response - (mixed) - die geparste Antwort, entweder als XML-Knoten oder JSON-Objekt
    dp.attachEvent("onAfterUpdate", (id, action, tid, response) => {
        if (action === "error") {
            alert(`Serverfehler: ${response.message}`);
        }
    });

    Dies sind die möglichen Antwort-Status:

    • updated
    • inserted
    • deleted
    • invalid
    • error
  • onBeforeDataSending (id, state, data): void - wird unmittelbar vor dem Senden der Daten an den Server ausgelöst
    • id - (string | number) - die ID des Elements
    • state - (string) - der aktuelle Status des Elements (Operationstyp)
    • data - (object) - die serialisierten Daten, die gesendet werden
    dp.attachEvent("onBeforeDataSending", (id, state, data) => {
        // Eigene Logik vor dem Senden der Daten
        return true;
    });

    Dieses Event wird für jede Datenaktualisierungsanfrage ausgelöst (nach onBeforeUpdate).

    Wenn der Handler false zurückgibt, werden die Daten nicht an den Server gesendet.

    Mögliche Antwort-Status:

    • updated
    • inserted
    • deleted
    • invalid
    • error
  • onBeforeUpdate (id, state, data): void - wird ausgelöst, bevor ein Datensatz (oder mehrere) aktualisiert wird/werden
    • id - (string | number) - die ID des Elements
    • state - (string) - der Status des Elements (Operationstyp)
    • data - (object) - die Daten, die an den Server gesendet werden
    dp.attachEvent("onBeforeUpdate", (id, state, data) => {
        // Eigene Logik vor der Aktualisierung
        return true;
    });

    Dieses Event wird für jeden zu aktualisierenden Datensatz ausgelöst und vor onBeforeDataSending.

    Wenn hier false zurückgegeben wird, wird das Senden der Daten abgebrochen.

    Mögliche Antwort-Status:

    • updated
    • inserted
    • deleted
    • invalid
    • error
  • onRowMark (id, state, mode, invalid): void - wird ausgelöst, bevor ein aktualisiertes Element markiert wird
    • id - (string | number) - die ID des Elements, auf das sich der Fehler bezieht
    • state - (string) - der Status des Elements (Operationstyp)
    • mode - (boolean) - true, um eine Markierung hinzuzufügen, false, um sie zu entfernen
    • invalid - (object) - Fehlerdetails, falls vorhanden
    dp.attachEvent("onRowMark", (id, state, mode, invalid) => {
        // Eigene Logik vor dem Markieren eines Elements
        return true;
    });

    Dieses Event kann blockiert werden. Wenn false zurückgegeben wird, wird das Element nicht markiert.

See also
Zurück nach oben