Met Onemap kunnen invoer formulieren worden geconfigureerd waarmee de te vullen attributen voor bewerkbare lagen worden vastgelegd.
Om de invoer mogelijkheden ( en beperkingen) van een formulier uit te breiden kan voor de optie 'geavanceerd' worden gekozen.
Wanneer deze optie wordt gekozen schakelt de formulier editor over naar de 'react json form' presentatie van het formulier.
Opmerking: Het definiëren van geavanceerde formulieren vereist gedegen kennis van de 'react json form' definities. Het wordt aanbevolen om deze configuratie door, of in samenwerking met, Nieuwland technische consultants uit te voeren!
Het json schema voor het formulier bestaat minimaal uit de volgende json objecten:
jsonSchema
uiSchema
{ "jsonSchema": { "type": "object", "title": "Leeg formulier", "description": "Formulier zonder invoervelden" }, "uiSchema": {} }
Het 'jsonSchema' is het object waarin alle formulier onderdelen worden opgenomen.
Het ‘uiSchema' is het object waarmee de ‘look and feel’ van het formulier wordt vastgelegd ( o.a. de volgorden van de onderdelen die in het ‘jsonSchema’ zijn gedefinieerd).
Onemap ondersteund de basis 'react json form' elementen zoals:
Tekst
Datum
Dropdown
Checkbox
Radiobutton
Om formulier onderdelen toe te voegen wordt het json element uitgebreid met de eigenschap 'properties'. Binnen dit element worden de formulier onderdelen opgenomen.
In onderstaand formulier wordt een eenvoudig tekst element opgenomen.
{ "jsonSchema": { "type": "object", "title": "Leeg formulier", "description": "Formulier zonder invoervelden", "properties": { "invoerveld": { "title": "Invoer veld", "type": "string", "default": "geen opmerking" } }, "required": [ "invoerveld" ] }, "uiSchema": { } }
Naast het element ‘properties' is hier ook het element 'required’ opgenomen. Hierbinnen kan worden aangegeven welke velden verplicht zijn.
In Onemap geeft bovenstaande formulier definitie het volgende invoer formulier:
Het ‘jsonSchema' definieert dus het formulier. Met het 'uiSchema’ kan de presentatie van het form worden geregeld.
In onderstaand voorbeeld wordt de volgorde van de formuliervelden bepaald in het ‘uiSchema'. Daarbij wordt ook het veld ‘zaakidentificatie’ uitgezet voor bewerken.
Onderstaande secties geven een aantal voorbeelden van formulier definities met verschillende elementen.