Benannte Widgets
Was ist das
Der Widget-Typ custom-code bindet eine selbst geschriebene Oberfläche in eine Ansicht ein. Normalerweise steht der Code direkt in der Ansicht. Ein benanntes Widget löst den Code davon: Sie speichern ihn einmal unter einem Namen, und beliebig viele Ansichten verweisen darauf.
Sie finden die Liste im Menü unter „Widgets“. Planer und Admins dürfen benannte Widgets anlegen, ändern und löschen.
Wann einsetzen
- Dieselbe Oberfläche an mehreren Stellen. Ein Kistenraster oder eine Sonderanzeige soll am Terminal und im Büro gleich aussehen.
- Eine Stelle zum Ändern. Wer das Widget ändert, ändert es in allen Ansichten, die darauf verweisen.
- Ansichten bleiben klein. Die Ansicht speichert nur den Verweis, nicht den Code.
Für Code, den nur eine Ansicht braucht, reicht das Widget direkt in der Ansicht.
Anatomie der Definition
name: der Bezeichner. Erlaubt sind Kleinbuchstaben, Ziffern und Bindestriche. Der Name lässt sich später nicht mehr ändern.source: der Code des Widgets.queries: die gespeicherten Abfragen, die der Code lesen darf.actions: die Aktionen, die der Code auslösen darf.scan: erlaubt dem Widget den Kamera-Scan. Die Liste zeigt dafür das Kennzeichen „Kamera-Scan“.
Der Code läuft abgeschottet von der übrigen Oberfläche. Er erreicht nur die Abfragen und Aktionen, die in der Definition stehen. Ruft der Code eine andere Abfrage oder Aktion beim Namen auf, lehnt WERKSPUR die Definition beim Speichern ab.
Anlegen
Es gibt zwei Wege:
- In der Widget-Liste. „Neues Widget“ öffnet den Editor. Dort vergeben Sie den Namen, schreiben den Code und wählen Abfragen und Aktionen.
- Aus einer Ansicht heraus. Im Ansichten-Editor wählen Sie bei einem
custom-code-Widget „Als benanntes Widget speichern“. WERKSPUR speichert den Code unter dem neuen Namen. Die Ansicht verweist danach nur noch darauf.
Auch der KI-Assistent kann ein benanntes Widget vorschlagen. Schlägt er zugleich eine Ansicht vor, die darauf verweist, übernehmen Sie zuerst das Widget und dann die Ansicht.
In einer Ansicht verwenden
Eine Ansicht verweist über code.ref auf das Widget:
{
"type": "custom-code",
"code": { "ref": "box-grid" },
"pos": [0, 0, 12, 8]
}
Im Ansichten-Editor ist der Code eines solchen Widgets gesperrt. Ein Hinweis nennt das benannte Widget, und „Widget bearbeiten“ führt zur Definition.
Ändern und Löschen
Eine Änderung wirkt sofort in jeder Ansicht, die auf das Widget verweist. Die Liste zeigt pro Widget, in wie vielen Ansichten es steckt und in welchen. Prüfen Sie das, bevor Sie Abfragen oder Aktionen aus der Definition entfernen.
Löschen können Sie ein Widget nur, wenn keine Ansicht mehr darauf verweist. Sonst lehnt WERKSPUR das Löschen ab und nennt die betroffenen Ansichten. Stellen Sie diese Ansichten zuerst um.
Über die API
| Aufruf | Zweck |
|---|---|
GET /api/widgets |
Liste aller benannten Widgets mit den Ansichten, die sie verwenden |
GET /api/widgets/{name} |
Ein Widget |
PUT /api/widgets/{name} |
Anlegen oder Überschreiben |
DELETE /api/widgets/{name} |
Löschen, abgelehnt mit 409 bei bestehenden Verweisen |
Alle vier Aufrufe brauchen mindestens die Rolle planner. PUT überschreibt ein bestehendes Widget ohne Rückfrage. Prüfen Sie den Namen also vorher mit GET.