Gazetteer refactoring

From MapbenderWiki

Jump to: navigation, search

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>
Views
Personal tools