rowe42 / lhm_animad_admin_html5

0 stars 6 forks source link

Dropdown-Menüs dynamisch erzeugen und vorbelegen #175

Closed dragonfly28 closed 6 years ago

dragonfly28 commented 6 years ago

Die Werte in den Dropdown-Menüs der Forms (z.B. Animals-Art, Animals-Geschlecht) müssen dynamisch erstellt werden und bei Read/Update-Forms auch dynamisch vorbelegt werden. Die im Modell als customListType definierten Werte sollen hier zur Auswahl stehen.

1.) Vielleicht kann hier das ALPS-Format von Spring Data Rest weiter helfen, siehe https://docs.spring.io/spring-data/rest/docs/current/reference/html/#metadata.alps ???

In der Antwort auf http://localhost:39146/profile/animals würden sich auf jeden Fall die notwendigen Informationen finden:

{
    "alps": {
        "version": "1.0",
        "descriptors": [
            {
                ...
                        "name": "species",
                        "doc": {
                            "value": "Elephant, Giraffe, Penguin, Barrakuda",
                            "format": "TEXT"
                        },
                        "type": "SEMANTIC"
                    },
          ...
}

2.) Und dann stellt sich auch noch die Frage der Interantionalisierung solcher Dropdowns, die aus dem Backend generiert werden. Internationalisierung im Backend notwendig???

dragonfly28 commented 6 years ago

Eine andere Möglichkeit wäre, für alle Enum-Properties eine entsprechende API im Backend zur Verfügung szu stellen, z.B.:

http://localhost:39146/animals/species
http://localhost:39146/animals/gender

welche dann im HAL-Format die Enum-Werte zurückliefert.

rowe42 commented 6 years ago

Habe es implementiert so wie @dragonfly28 es vorschlagt (aus /profile auslesen). Musste allerdings noch etwas im Backend ergänzen, denn die Optionen für species erscheinen zwar standardmäßig unter /profile/animals, aber nicht für skill unter /profile/keeper. Der Unterschied ist, dass beim Skill ein Multi-Value-Feld verwendet wird, und da scheint Spring die Optionen nicht unter /profile aufzulisten.

Man kann das aber ergänzen und das habe ich in Branch _#175 in admin-service auch gemacht (Pull Request ist gestellt).

An sonsten vgl. Kommentar unter Issue #188.

rowe42 commented 6 years ago

Ist nun so wie beschrieben in den Master gewandert (auch im admin_service). Schließe das Issue.