Adapter für eigene synchrone oder asynchrone Store-Callbacks. Nicht angebotene Operationen sind nicht verfügbar.
load ist erforderlich; byKey/insert/update/remove sind optional. load erhält TxLoadOptions und liefert TxLoadResult direkt oder asynchron. Eigene HTTP-Callbacks müssen Statuscodes prüfen und Fehler weitergeben. byKey liefert undefined/null bei fehlendem Datensatz. Für Paging muss der Store data und totalCount vor Paging liefern. Bei remoteOperations false liefert er alle Rohdaten. Das Beispiel verwendet einen lokalen asynchronen Callback und benötigt keinen Server.
TxCustomStore
| Parameter | Typ | Standard | Bedeutung |
|---|---|---|---|
| load | FutureOr<TxLoadResult<T>> Function(TxLoadOptions<T>) | erforderlich | Lädt mit den angegebenen Optionen; bei DataSource ohne Argumente mit aktuellem Abfragezustand. Fehler werden weitergegeben. |
| byKey | FutureOr<T?> Function(Object)? | null | Liest einen Datensatz anhand seines Schlüssels; fehlende Schlüssel ergeben undefined (Vue) beziehungsweise null (Dart). |
| insert | FutureOr<T> Function(T)? | null | Fügt einen Datensatz mit eindeutigem Schlüssel ein und liefert ihn zurück. |
| update | FutureOr<T> Function(Object, T Function(T))? | null | Aktualisiert eine Meldung beziehungsweise einen Datensatz. |
| remove | FutureOr<void> Function(Object)? | null | Löscht den Datensatz beziehungsweise rekursiv den Datei-/Ordnerbestand. |
| Mitglied / Typ / Rückgabe | Bedeutung |
|---|---|
bool get canByKey | Ob der Store ByKey unterstützt. |
bool get canInsert | Ob der Store Insert unterstützt. |
bool get canUpdate | Ob der Store Update unterstützt. |
bool get canRemove | Ob der Store Remove unterstützt. |
FutureOr<TxLoadResult<T>> load(TxLoadOptions<T> options) | Lädt mit den angegebenen Optionen; bei DataSource ohne Argumente mit aktuellem Abfragezustand. Fehler werden weitergegeben. |
FutureOr<T?> byKey(Object key) | Liest einen Datensatz anhand seines Schlüssels; fehlende Schlüssel ergeben undefined (Vue) beziehungsweise null (Dart). |
FutureOr<T> insert(T item) | Fügt einen Datensatz mit eindeutigem Schlüssel ein und liefert ihn zurück. |
FutureOr<T> update(Object key, T Function(T) change) | Aktualisiert eine Meldung beziehungsweise einen Datensatz. |
FutureOr<void> remove(Object key) | Löscht den Datensatz beziehungsweise rekursiv den Datei-/Ordnerbestand. |
import 'package:tecexpress/tecexpress.dart';
Future<void> example() async {
final store = TxCustomStore<int>(load: (options) async => txQuery([1, 2], options), byKey: (key) => key == 1 ? 1 : null);
print(await store.load(const TxLoadOptions()));
}