Over de contactopties
De contactopties die verschijnen on het menu 'Hulp nodig?' in de global header
De contact plugin wordt ingesteld door de nodige servicepunten te configureren. Bij geen configuratie of een foutieve configuratie, wordt terug gevallen op de contactoptie van Vlaanderen.
De contactGroupId
is een unieke identificatie van een contactoptie. Deze kan achterliggend van twee plaatsen komen: de contact service of het organisatie register. Indien de contactGroupId
de vorm heeft van een OVO-code, dan worden de nodige gegevens opgehaald bij het organisatieregister. Voor alle andere vormen van contactGroupId
wordt er naar de contact service gegaan.
Statisch
De contactopties die getoond worden in contact plugin komen uit de global header configuratie.
Dynamisch
Het is mogelijk om via de javascript API van de global header de contactopties dynamisch te updaten.
Om de contactopties te resetten van dynamisch naar de statische contactopties zoals geconfigureerd via admin-paneel:
global_header.getExtension('contact', 'unsafe').resetServicePoints();
Voorbeelden standaardconfiguraties
Lege configuratie
Hier wordt er terug gevallen op de contactoptie van Vlaanderen.
{ "contextual": [], "defaults": [] }
Geen contextual, 1 of meerdere defaults
Indien er maar 1 default is, dan zal de sectie Vraag over een ander onderwerp? niet zichtbaar zijn.
{ "contextual": [], "defaults": [ { "type": "contactOption", "contactGroupId": "kortrijk", "label": "Algemene contactopties van Kortrijk" }, { "type": "contactOption", "contactGroupId": "aalst", "label": "Algemene contactopties van Aalst" }, { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van Vlaanderen" } ] }
1 contextual, geen of meer defaults
{ "contextual": [ { "type": "contactOption", "contactGroupId": "dendermonde", "label": "Algemene contactopties van Dendermonde" } ], "defaults": [ { "type": "contactOption", "contactGroupId": "kortrijk", "label": "Algemene contactopties van Kortrijk" }, { "type": "contactOption", "contactGroupId": "aalst", "label": "Algemene contactopties van Aalst" }, { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van Vlaanderen" } ] }
Meerdere contexuals, geen of meerdere defaults (met verschillende name property)
{ "contextual": [ { "type": "contactOption", "contactGroupId": "dendermonde", "label": "Algemene contactopties van Dendermonde" }, { "type": "contactOption", "contactGroupId": "gent", "label": "Algemene contactopties van Gent" } ], "defaults": [ { "type": "contactOption", "contactGroupId": "kortrijk", "label": "Algemene contactopties van Kortrijk" }, { "type": "contactOption", "contactGroupId": "aalst", "label": "Algemene contactopties van Aalst" }, { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van Vlaanderen" } ] }
Meerdere contexuals, geen of meerdere defaults (met zelfde name property)
In dit geval is de name propertie van de contactopties van Dendermonde en van Gent beide ingesteld op Neem contact op.
Voorbeelden van configuraties met als displayMode ‘grouped’
Meerdere contextual (5 contactopties en 1 link)
{ "displayMode": "grouped", "groupLabel": "Neem contact op met een woonmaatschappij", "contextual": [ { "type": "contactOption", "contactGroupId": "OVO002919" }, { "type": "contactOption", "contactGroupId": "OVO002940" }, { "type": "contactOption", "contactGroupId": "OVO039151" }, { "type": "contactOption", "contactGroupId": "OVO025805" }, { "type": "contactOption", "contactGroupId": "OVO002499" }, { "type": "link", "href": "https://www.vlaanderen.be/wonen-in-vlaanderen/zoek-een-organisatie/", "label": "Zoek een woonmaatschappij in uw buurt" } ], "defaults": [ { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van de Vlaamse overheid" } ] }
1 contextual (contactoptie), geen of meerdere defaults
{ "displayMode": "grouped", "groupLabel": "Neem contact op met een woonmaatschappij", "contextual": [ { "type": "contactOption", "contactGroupId": "OVO002919" } ], "defaults": [ { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van de Vlaamse overheid" } ] }
1 contextual (link), geen of meerdere defaults
{ "displayMode": "grouped", "groupLabel": "Neem contact op met een woonmaatschappij", "contextual": [ { "type": "link", "href": "https://www.vlaanderen.be/wonen-in-vlaanderen/zoek-een-organisatie/", "label": "Zoek een woonmaatschappij in uw buurt" } ], "defaults": [ { "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van de Vlaamse overheid" } ] }
Voorbeeld
vl.widget.client.capture(widget => { console.log(widget.getPluginTypeId()); if (widget.getPluginTypeId() === 'global_header') { widget.getExtension('contact').then(contact => { console.log(contact); contact.setServicePoints({ "displayMode": "grouped", "groupLabel": "Neem contact op met een woonmaatschappij", "contextual": [ { "type": "contactOption", "contactGroupId": "OVO002919" }, { "type": "contactOption", "contactGroupId": "OVO002884" }, { "type": "contactOption", "contactGroupId": "OVO002940" }, { "type": "contactOption", "contactGroupId": "OVO039151" }, { "type": "contactOption", "contactGroupId": "OVO025805" }, { "type": "contactOption", "contactGroupId": "OVO002499" }, { "type": "link", "href": "https://www.vlaanderen.be/wonen-in-vlaanderen/zoek-een-organisatie/", "label": "Zoek een woonmaatschappij in uw buurt" } ], "defaults": [{ "type": "contactOption", "contactGroupId": "vlaanderen", "label": "Algemene contactopties van de Vlaamse overheid" }, { "type": "link", "href": "https://www.google.be" }] }); }); } });