Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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:

Codeblock
languagejs
themeRDark
{
    "InputTableLayout": "[Layoutapp für Tabellenstruktur, bspw. TableLayoutStandard]",
	"relation": {
        "repository": "[Identifikator der Quelldatenbanktabelle]"
    }
}

...

Zusätzlich zum Eingabefeld werden zwei Datenbanktabellen zur Pflege von Tabellenstrukturen und ihren Spalten angeboten. Diese sind

  • Tabellenstrukturen

  • Tabellenspalten

Eine Tabellenstruktur fasst mehrere Tabellenspalten zusammen und enthält die Information über die zu nutztende Layoutapp für die Darstellung und die Datenbanktabelle für welche die Struktur gilt. Eine Tabellenspalte wiederum enthält einen anzuzeigenden Titel sowie die anzuzeigende Information. Diese Informationen sind nur zusammen mit einer Tabellenstruktur verfügbar und können unter anderem durch die Layoutapps bereitgestellt werden. Eine Tabellenspalte kann nur über die Kindverknüpfung einer Tabellenstruktur erstellt werden.

...

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

  • InputTableTable

  • InputTableColumn

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

  • InputTableTable

  • InputTableColumn

Events

Klassenname

Beschreibung

OnPopulateColumn

Wird beim Aufbauen der Tabelle pro Eintrag und Spalte ausgeführt.

OnPopulateLayout

Wird beim Aufbauen der Layoutauswahl der Tabellenstrukturen ausgeführt und wird durch die Layoutapps benutzt.

OnPopulateTable

Wird beim Aufbauen der Tabelle ausgeführt.

OnPopulateType

Wird beim Aufbauen der Typenauswahl in den Tabellenspalten ausgeführt.

Programmatischer Zugriff

Über die nachfolgenden Methoden ist ein programmatischer Zugriff auf die Tabellenstrukturen verfügbar mit denen ein Tabelle aufgebaut werden kann.

Aufbau mit Eingabefeldwert
RDark
Codeblock
languagephp
themeRDark
titleAufbau mit Eingabefeldwert
collapsetrue
use Brandbox\FrameworkInputTable\Input\Table;
use Brandbox\FrameworkStyleguide;

// $payload ist der Wert des Eingabefeldes
// $collation ist die gewünschte Kollation der Ausgabe

$element = $this
    ->staticController(Table\Manager::class)
    ->getTableElement($payload, $collation)
;

if($element instanceof FrameworkElementAbstract) {
    // $element ist ein fertiges Styleguidelement
}
Codeblock
languagephp
theme
title


Aufbau mit Struktur und Entities
Codeblock
collapselanguagetruephp
use Brandbox\FrameworkInputTable\Input\Table;
use Brandbox\FrameworkStyleguide;

$manager = $this->staticController(Table\Manager::class);

// $id ist die Datensatz-ID der Tabellenstruktur
// $collation ist die gewünschte Kollation der Struktur
// ...$entities sind die auszugebenden Datensätze

$structure = $manager->getTableStructure($id, $collation);
$element = $manager->getElementTable($structure, ...$entities);

if($element instanceof FrameworkElementAbstract) {
    // $element ist ein fertiges Styleguidelement
}

...