rowe42 / lhm_animad_admin_html5

0 stars 6 forks source link

List Komponente #229

Closed xdoo closed 6 years ago

xdoo commented 6 years ago

Ich denke wir benötigen neben der klassischen Tabelle eine Liste zur Darstellung von Arrays / Listen. Aus meiner Sicht sprechen folgende Gründe dafür:

So könnte das aussehen:

screenshot-2018-2-28 polymerelements paper-item v2 1 0

https://www.webcomponents.org/element/PolymerElements/paper-item

rowe42 commented 6 years ago

Wo im Zoo Beispiel könnte man das anwenden? Wäre eine Liste und unsere aktuelle Tabelle 1:1 austauschbar? Lässt sich eine Liste auch filtern? Lässt sich das Ergebnis einer Suche auch alternativ als Liste darstellen?

xdoo commented 6 years ago

Wo im Zoo Beispiel könnte man das anwenden?

Überall wo man mehr als einen Datensatz anzeigen will.

Wäre eine Liste und unsere aktuelle Tabelle 1:1 austauschbar?

Grundsätzlich ja, da sie ja beide Listen von Objekten anzeigen. Auf der anderen Seite nein, weil sie einen unterschiedlichen Funktionsumfang bieten. Sowohl eine Tabelle, als auch eine Liste hat ihre Einsatzszenarien. Ich hatte versucht das oben darzustellen. Die Liste ersetzt die Tabelle nicht, sondern ergänzt die Palette an Komponenten!

Lässt sich eine Liste auch filtern?

Grundsätzlich ja (wenn man das will - Listen will man auch einsetzen, weil sie etwas einfacher gestrickt sind und dadurch die Komplexität reduzieren. Die erhöht man natürlich wieder, wenn man zusätzliche Funktionalität wie Filter verwendet. In Gmail kannst du auch filtern. Die Mails werden als Liste angezeigt.). Ich lehne mich mal aus dem Fenster und behaupte, dass man die Filter, die in der Tabelle verwendet werden auch hier zum Einsatz bringen kann :) Der Filtermechanismus basiert ja auf der Datenbasis und nicht auf der grafischen Komponente.

Lässt sich das Ergebnis einer Suche auch alternativ als Liste darstellen?

Ja. Das ist aus meiner Sicht sogar der Normalfall. Das Ergebnis von Google, Bing usw. ist jeweils eine Liste und keine Tabelle.

xdoo commented 6 years ago

Übrigens: Wer sich die Komponenten in der MD Spec anschaut (https://material.io/guidelines/components/) wird dort keine Tabelle finden. Aber sehr wohl eine Listen Komponente: https://material.io/guidelines/components/lists.html#lists-behavior

Dort steht auch etwas zum Filtern und Sortieren.

rowe42 commented 6 years ago

Ich habe mal einen ersten Aufschlag als Vorschlag implementiert. Da ich sehr starke Überschneidung in der aktuellen Tabelle sehe, habe ich es dort eingebaut (die Komponente heißt ja sogar schon "animad-xxx-list"). Lässt sich aktivieren, indem display-type='list' in der Komponente gesetzt wird. Habe es in Branch _#235 eingecheckt und dort (nur) bei den Keepers implementiert. Sieht so aus: image

@xdoo @ejcsid Was meint ihr? Wollen wir das so machen?

xdoo commented 6 years ago

Mir gefällts. Unabhängig davon, dass es eine Meta Komponente gibt, die Suche / Liste / Tabelle vereinigt sollte das schon eine eigene Komponente sein.

rowe42 commented 6 years ago

OK, dann lasse ich das Issue noch offen und ergänze noch die folgenden Punkte:

rowe42 commented 6 years ago

ListComponent jetzt wie oben erweitert, die Komponenten heißen nun

Außerdem das Flag "show-icons" ergänzt.

Ist in master, schließe das Issue.