Zum Hauptinhalt springen

getIDResolver()

Beschreibung

Gibt eine Funktion zurück, die temporäre clientseitige IDs in Backend-IDs auflöst

Info

Die Methode getIDResolver() ist Teil des RestDataProvider-Diensts für die Arbeit mit dem Server.

Verwendung

getIDResolver(): (id: string | number, type: number) => string | number;

Rückgabewert

Die Methode gibt eine idResolver(id, type)-Funktion zurück:

  • id — die aufzulösende Entitäts-ID (eine temporäre clientseitige ID oder eine reguläre ID)
  • type — der Modelltyp, zu dem die ID gehört:
    • 1 — Karte (CardID)
    • 2 — Zeile (RowID)
    • 3 — Spalte (ColumnID)
    • 4 — Verknüpfung (LinkID)
    • 5 — Kommentar (CommentID)

Wenn der Client eine neue Entität (Karte, Spalte, Zeile, Verknüpfung, Kommentar) erstellt, weist RestDataProvider ihr eine temporäre clientseitige ID zu und speichert die vom Server zurückgegebene Backend-ID. Die Funktion idResolver(id, type) gibt die Backend-ID für jede temporäre ID zurück, die sie noch enthält. Für IDs, die bereits mit der Backend-ID übereinstimmen, gibt die Funktion sie unverändert zurück.

Beispiel

Der häufigste Anwendungsfall ist die Verbindung von RestDataProvider mit kanbanUpdates in einer Mehrbenutzerumgebung, damit serverseitige Ereignisse, die auf Backend-IDs abzielen, korrekt auf Entitäten angewendet werden, die auf dem Client noch unter temporären IDs gespeichert sind:

const url = "https://some_backend_url";
const restProvider = new kanban.RestDataProvider(url);

// other initialization...

const handlers = kanbanUpdates(
board.api,
restProvider.getIDResolver()
);

const events = new kanban.RemoteEvents(url + "/api/v1", token);
events.on(handlers);

Dieselbe Resolver-Funktion kann in benutzerdefinierten Handlern verwendet werden, die an RemoteEvents.on() übergeben werden. Ein vollständiges Beispiel finden Sie unter Serverevents anpassen.

Verwandte Artikel: Mit dem Server arbeiten: Mehrbenutzer-Backend