call()
Der zeichenkettenbasierte Einstiegspunkt für Host-Methoden am
Dashlet-Handle. Er ist ein dünner Durchgang: Die
sieben portablen Methoden-Namen laufen durch denselben Dispatch-Kern wie
die typisierte Fassade, so dass die beiden Oberflächen nicht divergieren
können; jeder andere Name folgt dem host-spezifischen Roh-Pfad — dem
dokumentierten Escape-Hatch der jeweiligen Handles (Webclient-Handle — call() bzw.
Rich-Client-Handle — call()).
1. Signatur
call<T = unknown>(method: string, params?: unknown[]): Promise<T>;
-
method— der Host-Methoden-Name (z. B.'getSelectedObjects','openIndexData'oder eine beliebige Roh-Host-Methode). -
params— das Argument-Array, das mit dem Aufruf gesendet wird (Standard[]).
2. Pro-Host-Dispatch
| Host / Zustand | Verhalten |
|---|---|
destroyed |
Wird sofort mit |
portabler Methoden-Name (jeder Host) |
Läuft durch denselben |
unbekannter Name, Rich Client |
Wird mit einer beschreibenden |
unbekannter Name, Webclient |
Postet |
standalone (oder noch im Erkennungsmodus ohne Wire) |
Wird (begrenzt) mit |
Alle sieben portablen Namen teilen denselben Dispatch-Kern, so dass der
zeichenkettenbasierte Aufruf und die typisierte Fassade verhaltensgleich
sind, wenn die Argumentform zur pro-Methoden-Normalisierung passt. Jede
portable Methode akzeptiert entweder das positionale Wire-Array oder das
plain-Options-Objekt — beide normalisieren auf denselben Wire-Post. Für
openIndexData sind das das Array
[inNewTab, mode, objectId, objectTypeId?] oder das Objekt
{ inNewTab, mode, objectId, objectTypeId? }.
3. Beispiele
// portabler Name — derselbe Dispatch-Kern wie die typisierte Fassade
const sel = await dashlet.call('getSelectedObjects');
// portabler Name, positionale Array-Form — identisch mit
// dashlet.openIndexData({ inNewTab: false, mode: 'view', objectId: '1024' })
const ok = await dashlet.call('openIndexData', [false, 'view', '1024']);
// nicht-portabler Name — roher Webclient-Durchgang (jeder Host-Methoden-
// Name, der nicht zu den 7 portablen gehört, wird als
// [method, params, { msgId }] gepostet)
await dashlet.call('myOtherHostMethod', ['arg1', 'arg2']);
4. Fehler
-
Error('dashlet destroyed')— das Dashlet wurde vor dem Aufruf zerstört. -
TypeError— eine nicht abgebildete Methode im Rich Client, oder ein beschreibender Argumentvalidierungs-Fehler aus dem portablen Kern (z. B. eine ungültige Objekt-ID). -
TimeoutError— begrenztes Fehlen einer Antwort im Standalone, oder ein Host, der innerhalb vontimeoutMsnicht geantwortet hat. -
Das Host-
{ error }-Payload — wenn der Host einen Fehler bei einem Webclient-Methodenaufruf meldet.