ecmind-blue-dashlet

ecmind-blue-dashlet ist eine framework-unabhängige Kernbibliothek für enaio Dashlets: Sie übernimmt die Umgebungs-Erkennung (webclient / rich client / standalone), die Init-Zustandsmaschine, die Payload-Normalisierung und die Host-Wires — so muss ein Dashlet-Skript den enaio-Dashlet-API-Vertrag nie wieder implementieren. Null Laufzeit-Abhängigkeiten; dualer ESM- und CJS-Output.

1. Die drei Umgebungen

Umgebung Wo Wire

webclient

Dashlet in einem sandboxed iframe im enaio Webclient

window.postMessage — 3-elementige Arrays + msgId-Korrelation; onInit/onUpdate-Events

richClient

Dashlet in der eingebetteten WebView2 des Windows Rich Clients

injiziertes window.osClient (synchrone osjx*-Bridge) plus den vom Host aufgerufenen Globalen osDashletInit(data); kein initiales Event — Selbst-Initialisierung

standalone

Einfacher Tab, Dev-Server oder jede Nicht-enaio-Einbettung

Kein Bridge, keine Events — begrenzter Degradationszustand (Fallback, nie ein Hang)

Alle drei lösen das gleiche init-Promise in denselben normalisierten InitContext auf — Dashlet-Code zweigt nur dann auf die Umgebung ab, wo die Host-Fähigkeiten tatsächlich verschieden sind (die portable Facade dokumentiert jede dieser Ausnahmen explizit).

2. Die eine Regel

installDashletGlobal(options) zuerst aufrufen, auf Top-Level im Dashlet-Skript, vor allem, was verzögert werden könnte. Der Rich Client feuert seinen ersten window.osDashletInit-Aufruf, ohne auf load zu warten — die Bibliothek installiert ihren Globalen daher synchron zur Import-Zeit und puffert jeden Host-Aufruf, der vor der Konfiguration eintrifft.

Schnellstart zeigt das minimale Dashlet. Das vollständige Verhalten der Init-Zustandsmaschine: Umgebungen und Erkennung.

3. Wo hin