-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LocationPicker für YForm, rex_form und Module #171
base: main
Are you sure you want to change the base?
Conversation
…dinate (Eingabe, Kartenpicker, GeoCoding)
…" durch Runding behoben
… zur einfacheren Handhabung in Modulen, YForm-Value daran angepasst
…lereldungen (intern) am Feld
WOW das sieht nice aus |
Hm, Metafeld wäre noch nice. |
bei meinem Picker habe ich es ja einfach über die attribute gelöst, kein extra value |
jetzt braucht es yform_geo_osm nicht mehr |
Das sehe ich anders .... yform_geo_osm ist deutlich schlanker. Bei Geolocation ist manches schon sehr "hinter der Kulissen"; nen ziemliches Dickschiff, bei dem auch ich mitunter kaum durchblicke |
…Erstellung, separate Klasse dafür SqlSupport, Doku geschrieben)
Das WiP habe ich aus dem Titel genommen. Der PR ist aus meiner Sicht final. Mehr mache ich erstmal nicht. Außer Fehler zu korrigieren, die nach hoffentlich intensiven Tests in nur geringen Zahl eintrudeln. have fun. |
Der PR erweitert Geolocation um die Koordinaten-Eingabe für
class rex_yform_value_geolocation_geopicker extends rex_yform_value_abstract
plus YFragment)class PickerElement extends rex_form_element
)class PickerWidget extends rex_fragment
).Auf der PHP-Seite bildet die auf
rex_fragment
aufsetzende KlassePickerWidget
die Schnittstelle zu den beiden Fragmentengeocoder.php
undpicker.php
.PickerWidget
stellt eine spezifischeres Interfase bezüglich der Getter/Setter bereit als es mit getVar/setVar möglich ist. Picker-Widget wird intern auch von YForm-Value und vom RexForm-Element benutzt.JS-seitig wird auf der Karte ein spezifisches Tool bereitgestellt (
locationMarker
) und Cutsom-HTML für das Widget.YForm-Value/RexForm-Element ermöglichen die Speicherung der Koordinate entweder im eigenen Feld oder in externen Feldern außerhalb des Values( je eines für Längengrad und Breitengrad.
Die Validierung (Wertebereich -90..90 bzw. -180..180) erfolgt durch das Value auch für die externen Felder. Optionale Prüfung auf "nicht leer" bzw. "required" ist ebenfalls möglich. Andere Validierungen sollten nicht eingebaut werden und sind m.E. auch unnötig.
Das YForm-Value bietet die Anzeige der Koordinaten in verschiedenen Formaten in der Liste als auch eine Umkreisuche. Externe Felder sollten in der Liste und der Suche ausgeblendet werden, denn die Anzeige/Suche übernimmt auch für die externen Felder
rex_yform_value_geolocation_geopicker
.Die Koordinatensuche mit Adressdaten (Geo-Coding) erfolgt derzeit ausschließlich über Nominatiom. Als Schnittstelle zum Abruf der GeoCoder-Daten dient die Klasse
GeoCoder
. Sie simuliert derzeit analog zuMapset
bzw.Layer
den Abruf aus einer Datenbank. => Alternative Geo-Coder kann man später einfach nachrüsten.Proxy! Der eigentliche Datenabruf beim GeoCoder erfolgt vom Server aus. Der Client ruft die Daten vom Server ab, der Server beim Anbieter.
Offene Punkte:
closes #170