Vordefinierte Abfragen
Mithilfe von Abfrage-Templates können Sie vorkonfigurierte Suchmasken für Layer bereitstellen, die im Werkzeug "Abfrage" verwendet werden. Diese Templates ermöglichen es Benutzern, strukturierte Abfragen auf Layer durchzuführen, ohne SQL-Kenntnisse zu benötigen.
Allgemeine Konfiguration
Jede Abfrage muss folgende Parameter enthalten:
| Parameter | Typ | Beschreibung |
|---|---|---|
sublayer | Integer | Id des Unterlayers. Default: 0 |
title | String | Angezeigter Name der Abfrage im Werkzeug |
authorizedGroups | Array<String> | (Optional) Array von Gruppen-IDs oder ["org"] für angemeldete Benutzer, die Zugriff auf die Abfrage haben |
fields | Array<Object> | Array von Feldern, die in der Abfragemaske angezeigt werden |
Feld-Konfiguration
Jedes Feld im fields-Array kann folgende Eigenschaften haben:
| Parameter | Typ | Beschreibung |
|---|---|---|
name | String | (Erforderlich) Feldname aus dem Layer |
alias | String | Angezeigter Name des Felds in der Benutzeroberfläche |
inputType | String | Art der Eingabe: select, autocomplete, text, number, date. Default: text |
dependsOn | String | Array<String> | Feldname(n), von dem/denen dieses Feld abhängt. Filtert die verfügbaren Werte basierend auf den Auswahlen in den abhängigen Feldern |
required | Boolean | Gibt an, ob das Feld ausgefüllt werden muss |
operator | String | SQL-Operator für die Abfrage: =, !=, <, <=, >, >=, LIKE, NOT LIKE. Default: = |
maxSuggestions | Integer | Maximale Anzahl der Vorschläge bei autocomplete |
minCharacters | Integer | Minimale Anzahl von Zeichen für Vorschläge bei autocomplete |
searchMode | String | Suchmodus bei autocomplete: startsWith, contains. Default: startsWith |
caseSensitive | Boolean | Gibt an, ob die Suche bei autocomplete Groß-/Kleinschreibung beachtet. Default: false |
Eingabetypen
select
Zeigt eine Dropdown-Liste mit allen verfügbaren eindeutigen Werten des Felds an. Geeignet für Felder mit einer begrenzten Anzahl von Werten. Bei Feldern mit Coded-Value-Domänen werden alle Werte im Dropdown angezeigt. Stellen Sie sicher, dass der Layer die Abfrage der eindeutigen Werte supportsAdvancedQueries unterstützt.
autocomplete
Bietet eine Autovervollständigung basierend auf vorhandenen Werten. Geeignet für Felder mit vielen verschiedenen Werten. Die Vorschläge werden dynamisch basierend auf der Benutzereingabe gefiltert. Stellen Sie sicher, dass der Layer die Abfrage der eindeutigen Werte supportsAdvancedQueries unterstützt.
text
Einfaches Texteingabefeld für Freitext-Suchen.
number
Eingabefeld für numerische Werte mit Validierung.
date
Datumswähler für datumsbasierte Abfragen.
Abhängigkeiten zwischen Feldern
Mit dem Parameter dependsOn können Sie hierarchische Abhängigkeiten zwischen Feldern erstellen. Ein abhängiges Feld zeigt nur Werte an, die zu den bereits ausgewählten Werten in den übergeordneten Feldern passen.
Dies ist besonders nützlich für verschachtelte Auswahlmöglichkeiten wie Gemeinde → Gemarkung → Flur → Flurstück.
Beispielkonfiguration
Flurstückssuche mit Abhängigkeiten
{
"queries": [
{
"sublayer": 0,
"title": "Flurstücke",
"fields": [
{
"name": "gemeinde_name",
"alias": "Gemeinde",
"inputType": "select"
},
{
"name": "gemarkung_name",
"alias": "Gemarkung",
"inputType": "select",
"dependsOn": "gemeinde_name"
},
{
"name": "flurname",
"alias": "Flur",
"inputType": "select",
"dependsOn": ["gemeinde_name", "gemarkung_name"]
},
{
"name": "flurstueckstext",
"alias": "Flurstück",
"inputType": "autocomplete",
"dependsOn": ["flurname", "gemarkung_name", "gemeinde_name"],
"minCharacters": 2,
"searchMode": "contains"
}
]
}
]
}Bebauungsplansuche mit Operatoren
{
"queries": [
{
"sublayer": 1,
"title": "Bebauungspläne",
"authorizedGroups": ["org"],
"fields": [
{
"name": "gemeinde",
"alias": "Gemeinde",
"inputType": "select",
"required": true
},
{
"name": "planname",
"alias": "Planname",
"inputType": "text",
"operator": "LIKE"
},
{
"name": "rechtskraft_datum",
"alias": "Rechtskraft ab",
"inputType": "date",
"operator": ">="
}
]
}
]
}Hinweise
- Die Felder müssen im Layer vorhanden und für die Abfrage verfügbar sein (
outFields). - Abhängigkeiten sollten logisch aufgebaut sein, um eine sinnvolle Filterung zu ermöglichen. Bei vielen abhängigen Feldern kann die Performance beeinträchtigt werden, da für jede Auswahl neue eindeutige Werte abgerufen werden müssen.