Seite 1 von 4

In Entwicklung: DataTables

Verfasst: Fr 11. Nov 2016, 12:28
von shadowcat
Ich hatte neulich eine Anfrage bezüglich des WB-Moduls SorTable (siehe http://forum.blackcat-cms.org/viewtopic.php?f=28&t=605). Das hat mich auf die Idee gebracht, ein entsprechendes Modul für BC zu schreiben. :mrgreen:

Grundidee

Es geht um die Darstellung einer sortier- und filterbaren Tabelle, die im Backend leicht befüllt und verwaltet werden kann. SorTable gibt hierfür fest eine Spaltenzahl von 12 vor; DataTable erlaubt die Konfiguration der Spaltenanzahl. Sobald Daten vorhanden sind, kann die Spaltenzahl nur noch erhöht, aber nicht mehr reduziert werden.

Für jede Spalte kann eine Beschriftung eingegeben werden. Standard ist "field#", wobei # der Nummer der Spalte entspricht.

Bild

Außerdem kann für jede Spalte angegeben werden, ob sie einen Wert enthalten muß. (Haken bei "required".)

Das Hinzufügen von Zeilen erfolgt dann einfach über ein Eingabeformular.

Bild

Verbesserungen gegenüber SorTable
  • Für BC komplett neu geschrieben und daher technisch auf dem neuesten Stand
  • Viele Möglichkeiten durch Verwendung des jQuery Plugins DataTables (https://www.datatables.net/) - z.B. Paging, Live-Filterung, Sortierung
  • Leere Spalten können im Frontend ausgeblendet werden (DataTables Plugin)
  • Spaltenzahl einstellbar
  • Spalten können als Pflichtfeld markiert werden
  • CSV-Im- und Export
Edit: Name in DataTables (statt DataTable) geändert. Der Modulname kann bei Bedarf _vor_ der Installation in der info.php geändert werden.

Re: In Entwicklung: DataTable

Verfasst: Fr 11. Nov 2016, 16:07
von shadowcat
Hier mal ein Screenshot vom CSV-Import.
2016-11-11 16_02_54.png
2016-11-11 16_02_54.png (31.02 KiB) 17545 mal betrachtet
  • Die CSV-Datei muss vorher über die Medienverwaltung hochgeladen werden.
  • Hat die CSV-Datei mehr Spalten als für die Tabelle konfiguriert wurde, und wurde die Anzahl der Spalten nicht bei den Import-Einstellungen entsprechend konfiguriert, gibt's eine Fehlermeldung.
  • Der Haken bei "Erste Zeile beinhaltet Spaltenüberschriften" sorgt nur dafür, dass die erste Zeile übersprungen wird. Es wird nicht daraus abgeleitet, welche Spalte in der CSV-Datei welcher Spalte in der Tabelle entspricht.
  • Es wird immer in der Reihenfolge der Spalten importiert. Also Spalte 1 in der CSV entspricht Spalte 1 in der DataTable, Spalte 2 entspricht Spalte 2, usw.
  • Stimmt das Trennzeichen nicht, wird der komplette Inhalt einer Zeile in die erste Spalte importiert.
  • Es gibt keine Vorschau vor dem Import.

Re: In Entwicklung: DataTable

Verfasst: Fr 11. Nov 2016, 16:19
von shadowcat
Die besagte Fehlermeldung bei zu vielen Spalten.

Re: In Entwicklung: DataTable

Verfasst: Mo 14. Nov 2016, 18:33
von shadowcat
Ein paar Änderungen.

Beim CSV-Import können vorhandene Daten jetzt vorher gelöscht werden.
2016-11-14 18_30_57.png
2016-11-14 18_30_57.png (32.02 KiB) 17541 mal betrachtet
Sind in der CSV-Datei mehr Spalten vorhanden, als für die Tabelle konfiguriert, gibt's jetzt die Möglichkeit des Mappings.
2016-11-14 18_33_28.png
2016-11-14 18_33_28.png (52.1 KiB) 17541 mal betrachtet

Re: In Entwicklung: DataTable

Verfasst: Mo 14. Nov 2016, 18:38
von shadowcat
Auch mit ein bißchen Konsistenzchecking...

Re: In Entwicklung: DataTables

Verfasst: Mo 14. Nov 2016, 19:16
von creativecat
Wahnsinn! Du haust da in der Kürze ein Ding raus :-P

Re: In Entwicklung: DataTables

Verfasst: Di 15. Nov 2016, 16:53
von shadowcat
Naja, alles schon mal irgendwo gemacht. :roll:

Re: In Entwicklung: DataTables

Verfasst: Do 17. Nov 2016, 18:03
von shadowcat
So, inzwischen gibt es schon wieder ein paar Neuigkeiten.

Neue Einstellungen:
2016-11-17 17_59_26.png
2016-11-17 17_59_26.png (34.1 KiB) 17523 mal betrachtet
Die unteren drei beziehen sich auf Optionen des DataTables Plugins und funktionieren folgerichtig nur, wenn dieses auch vorhanden ist.

Darstellung im Backend:
2016-11-17 18_01_48.png
2016-11-17 18_01_48.png (32.12 KiB) 17523 mal betrachtet
Im Backend wird jetzt auch das DataTables Plugin geladen. Derzeit habe ich damit noch ein Problem, das Paging funktioniert nicht, es werden immer alle Einträge angezeigt. (Fehler in jQuery.) Alles andere funktioniert aber.

Re: In Entwicklung: DataTables

Verfasst: Mi 14. Dez 2016, 16:41
von shadowcat

Re: In Entwicklung: DataTables

Verfasst: Mi 28. Dez 2016, 11:56
von Morpheus
mal getestet:

- ich kann die Spaltenanzahl nicht ändern, bleibt immer auf 8
- leere Spalten ausblenden, hat keine Auswirkung
- wo ist denn die Import/CSV Geschichte?

BC Version 1.1.3
Modulversion : 0.6