Widget og Widget API
Som beskrevet i ovenstående afsnit er alle nye elementer i vores løsning indbyrdes forbundne. Fanekonfigurationen indeholder widgets (kernewidgets og brugerdefinerede widgets). De brugerdefinerede widgets kan defineres på siden Widgetadministration (Widget Administration). De definerede egenskaber kan derefter indstilles yderligere på siden Widgetkonfiguration (Widget Configuration). Disse egenskaber overføres derefter til klienten som widgetdata på klientsiden.
Derudover kan alle widgets, både kernewidgets og brugerdefinerede widgets, indgå i et brugerdefineret layout eller en fane, som derefter kan vises i den nye agentapplikation.
I den nyeste version af applikationen er der desuden et Widget API, som indeholder metoder og hændelser til hentning af konfigurationsegenskaber på klienten samt indbyrdes kommunikation mellem widgets.
Det kan ses på nedenstående skærmbillede, som viser, hvordan egenskaber, der er indstillet i administrationsportalen, gøres tilgængelige på klienten:
Implementering af Widget API
De eksterne widgets hostes generelt på et andet domæne og har ikke direkte adgang til Widget API. For at omgå domænebarrieren åbner agentapplikationens kerne en beskedkanal via browserens Messaging API. Den benytter basalt set Window.postMessage()-metoden til at sende og modtage data.
Du kan finde flere oplysninger om dette på følgende webside: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
Du kan også læse mere her: https://developer.mozilla.org/en- US/docs/Web/API/MessagePort/postMessage