Smart forms - multiple select


De geavanceerde formulierinstellingen op tabblad Smart forms zijn alleen beschikbaar in WGP add-on 'Configuratie en beheer van WebGIS App'. Deze smart form-functionaliteit is ook alleen van toepassing voor de WebGIS App.

JSON-code

Op pagina Formulier beheren kun je in WGP Beheer een tekstveld zo configureren dat je voor dat veld meerdere waarden uit een keuzelijst kunt selecteren (multiple select). Het tekstveld moet daarvoor meerdere domeinwaarden bezitten. Bij het opslaan van het veld in de database worden de opgegeven domeinwaarden door komma's gescheiden (dus gebruik in de domeinwaarden geen komma's).

Op tabblad Smart forms definieer je de domeinwaarden van het tekstveld met veldeigenschap 'enum' in het schema-gedeelte van de JSON-code. Dit zijn dus de komma gescheiden waarden die voor het veld in de database worden opgeslagen. Elke domeinwaarde heeft ook een label met de naam waaronder de waarde in de keuzelijst wordt weergegeven. Dit label definieer je in het options-gedeelte van de JSON-code met veldeigenschap 'optionLabels' (de labels mogen in tegenstelling tot de domeinwaarden wel komma's bevatten). De functie om meerdere waarden tegelijkertijd te kunnen selecteren implementeer je, ook in het options-gedeelte, met veldtype 'select' en veldinstelling 'multiple' (ingesteld op 'true').

Wanneer je in het schema-gedeelte van de JSON-code de veldinstelling 'required' de waarde 'true' geeft, maak je het invullen van het veld verplicht. Dit heeft als bezwaar dat bij het aanmaken van een nieuw object, het nog lege veld meteen een foutmelding genereert. Dit kun je voorkomen door in het options-gedeelte van de JSON-code formulierinstelling 'hideInitValidationError' de waarde 'true' te geven.

De JSON-code voor het tekstveld 'code' (met titel 'Kleuren van de vlag') waarvoor 'multiple select' is geconfigureerd ziet er bijvoorbeeld als volgt uit:

 Voorbeeldcode type select met multiple ingeschakeld
{
  "schema": {
    "type": "object",
    "title": "Formulier",
    "properties": {
      "label": {
        "type": "string",
        "title": "Land"
      },
      "code": {
        "title": "Kleuren van de vlag",
        "type": "text",
        "required": true,
        "enum": [
          "rd",
          "wt",
          "bw",
          "gn",
          "zt",
          "gl"
        ]
      }
    }
  },
  "options": {
    "hideInitValidationError": true,
    "fields": {
      "label": {},
      "code": {
        "type": "select",
        "multiple": true,
        "title": "Kleuren van de vlag",
        "optionLabels": [
          "Rood",
          "Wit",
          "Blauw",
          "Groen",
          "Zwart",
          "Geel"
        ]
      }
    }
  },
  "view": {
    "locale": "nl_BE"
  }
}


Gebruik in de app

De volgende afbeelding laat zien hoe het lege formulier met het tekstveld Kleuren van de vlag waarvoor 'multiple select' is geconfigureerd er in de WebGIS App uitziet:

Land en vlaggen formulier - leeg

Nadat je het veld Kleuren van de vlag hebt aangeraakt, verschijnt er een lijst met de voorgedefinieerde kleuren. Deze lijst bevat de labels van de domeinwaarden en dus niet de domeinwaarden zelf. Door in de lijst een aantal vakjes aan te vinken kun je voor het veld de gewenste kleuren selecteren.

Land en vlaggen formulier - multiple select lijst

Druk op de knop OK om de selectie in het veld in te voeren. Je keert hierna terug naar het formulier dat nu het aantal waarden vermeldt dat je voor het veld hebt geselecteerd. 

Land en vlaggen formulier - ingevuld

Nadat het formulier is opgeslagen, kun je de ingevoerde waarden in de feature-info bekijken. De feature-info toont de komma gescheiden waarden van het tekstveld zoals die zijn (of worden) opgeslagen in de database.

Land en vlaggen - feature-info

Gerelateerde pagina's