Diese Erweiterung für brandbox besteht aus einem neuen Eingabefeld welches zusammen mit der Datensatzpflege genutzt wird und einem Codepaket für die Erstellung von Tabellen. Für beide Bestandteile werden sog. Layoutapps benötigt, welche nachinstalliert werden können. Standardmäßig liefert brandbox die Layoutapp table-layout-standard
mit.
...
Das Eingabefeld für die Tabellenstrukturen steht in der Datenmodellierung als "Tabellenstruktur" und in den Widget- oder Strukturdefinitionen als Table
zur Verfügung. Zusätzlich wird die nachfolgende Feldkonfiguration benötigt damit das Eingabefeld einsatzbereit ist:
...
Die Darstellung besteht aus drei aufeinanderfolgenden Eingabefeldern welche die verschiedenen Bestandteile der Tabellenstruktur steuern. Als erstes wird ein Auswahlfeld für die Auswahl der Quelldatenbanktabelle angeboten. Dieses ist bei einer über die Konfiguration vorgegebenen Quelldatenbanktabelle deaktiviert und kann nicht verändert werden. Als nächstes wird eine Auswahl der verfügbaren Tabellenstrukturen angeboten. Diese Auswahl ist immer auf die Quelldatenbanktabelle und das konfigurierte Layout eingeschränkt. Zuletzt wird die Datensatzpflege angezeigt um die darzustellenden Datensätze auswählen und verwalten zu können.
Datenspeicherung
Das Eingabefeld speichert die Eingaben als Array mit benannten Indexen. Wenn diese Eingaben in einer Doctrine-Column gespeichert werden sollen, ist der Typ json
zu nutzen.
Tabellenstrukturpflege
Zusätzlich zum Eingabefeld werden zwei Datenbanktabellen zur Pflege von Tabellenstrukturen und ihren Spalten angeboten. Diese sind
...
Info |
---|
Diese Rollenschemata sollten zusammen mit den Rollenschemata der Datensatzpflege genutzt werden. |
Klassenname | Bezeichnung | Beschreibung | Funktionsrechte | Tabellenrechte |
---|---|---|---|---|
TableReporterScheme | Input/Table Reporter | Ausgabe- und Anzeigerechte für das Eingabefeld und die Tabellenstrukturen | keine | Lesender Zugriff auf alle Datensätze in
|
TableOperatorScheme | Input/Table Operator | Verwaltungsrechte für das Eingabefeld und die Tabellenstrukturen | Neuladen der Auswahlfelder | s.o. |
TableAdministratorScheme | Input/Table Administrator | Vollständiger Zugriff | s.o. | Vollständiger Zugriff auf
|
...