Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: excerpt include

Insert excerpt
Smart forms voor WebGIS App
Smart forms voor WebGIS App
nopaneltrue

JSON-code

Op tabblad Smart forms van 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').

Info

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 'label' ziet 'code' (met titel 'Kleuren van de vlag') waarvoor 'multiple select' is geconfigureerd ziet er bijvoorbeeld als volgt uit:

Expand
titleVoorbeeldcode type select met multiple ingeschakeld


Code Block
{
  "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 geconfigureerde tekstveld het tekstveld Kleuren van de vlag waarvoor 'multiple select' is geconfigureerd er in de WebGIS App uitziet:

Land en vlaggen formulier - leegImage Added

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 lijstImage Added

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 - ingevuldImage Added

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-infoImage Added

Gerelateerde pagina's

...