Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: first draft

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 moeten 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 worden de domeinwaarden van het tekstveld gedefinieerd door veldeigenschap 'enum' in het schema-gedeelte van de JSON-code. Dit zijn dus de 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 de veldinstelling 'required' de waarde 'true' geeft (in het schema-gedeelte van de JSON-code), 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. Gebruik om dit te voorkomen de formulierinstelling 'hideInitValidationError' (in het options-gedeelte van de JSON-code).

De code voor het tekstveld 'label' 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 het geconfigureerde tekstveld Kleuren van de vlag 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 (de waarden die in de database kunnen worden opgeslagen). Door de gewenste kleuren aan te vinken kun je voor het veld een aantal waarden selecteren.

Land en vlaggen formulier - multiple select lijstImage Added

Druk op de knop OK om de selectie in het veld in te voeren. In het formulier wordt vervolgens 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

...