Gazetteer refactoring
From MapbenderWiki
Contents |
Beschreibung
Im bereits angefangenen Refactoring des wfsGazetteers wird der alte wfsGazetteer in ein Containerelement und mehrere einzelne Suchelemente aufgesplittet. Das Containterlement wählt dabei die anzuzeigene Suche aus. Momentan implementiert ist eine selectbox (als nachbildung des alten gazetteers) Möglich wären aber auch andere Strukturen, wie zB ein Baum.
Die Suchelemente werden dabei als Mapbender Elemente implementiert, die über eine elementVar eine oder mehrere WFSConfids bekommen, und anhand des im "Content"-Feld des Elements hinterlegten Templates (s.u.), eine Suchmaske generieren.
Die Buttons zur räumlichen Suche werden als eigene Widgets erstellt und liefern dem ausgewählten Suchapplikationselement die entsprechenden Geometrien (diese Widgets könnten auch als Basis für eine neue Digitalisierung im Mapbender fungieren).
Liste der beteiligten Module
- Container-Element, das alle einzelnen Suchen auflistet und aufruft (Selectbox bzw. Tree)
- Suchmodule (siehe unten)
Implementation
Icons
Informationen über den aktuellen geometrietyp/featuretypeconf
<img class="geometry polygon" src="/polygon.png"/> <img class="geometry point" src="/point.png" /> <img class="geometry line" src="/line.png" />
<img class="featuretypeconf search" src="/search.png" /> <img class="featuretypeconf line" src="/line.png" />
Buttons
führen aktionen aus Auf jeden button wird ein widget angewendet
geometrie für räumliche suche erstellen
<button class="geometry polygon"></button> <button class="geometry point"></button> <button class="geometry extent"></button> <button class="geometry rectangle"></button>
aktuelle suche/download entfernen
<button class="remove"></button>
metadaten zur wfsconf in popup anzeigen
<button class="showMetadata"></button>
formular buttons
<button type="submit"></button> <button type="reset"></button>
Button show In Popup
Der Button <button class="showInPopup"></button> wird _vor_ dem Formular eingehängt. Ist er dort vorhanden, wird das Formular versteckt Nur beim klick auf den Button wird das Formular in einem Popup angezeigt
Formular
Das aus der wfsconf (featuretypeconf) generierten formularelemente werden in das fieldset <fieldset class="searchfields" /> eingehängt. Ist dieses nicht vorhanden, wird einfach am anfang des Formulars eingefügt
Style
in elementvar
Statusmeldungen
Hierin werden die Statusmeldungen des gazetteers angezeigt
<div class="statusdisplay"></div>
Widgets
Gazetteer Widget
ein gazetteer
Geometry Button Widget
auf dem mapframe eine geometrie bauen und an die suche übergebe (event)
Beispiel-Template
<button class='showInPopup'>Suche in Popup anzeigen</button>
<form class='mb-ui-wfsGazetteer-form'>
<img class='featuretypeconf search' src='' alt='Typ Suche' />
<img class='featuretypeconf download' src='' alt='Typ Download' />
<img class='geometry point' src='' alt='Punkt' />
<img class='geometry line' src='' alt='Linie' />
<img class='geometry polygon' src='' alt='Polygon' />
<button class='removeSearch'>Suche entfernen</button>
<button class='showMetadata'>Metadaten anzeigen</button>
<button class='geometry rectangle'>Suche über Rechteck</button>
<button class='geometry polygon'>Suche über Polygon</button>
<button class='geometry point'>Suche über Punkt</button>
<button class='geometry extent'>Suche über Extent</button>
<fieldset class='searchfields'></fieldset>
<button type='submit'>ok</button>
<button type='reset'>neu</button>
<div class='statusdisplay'></div>
</form>
