Dieses Codepaket wird von brandbox genutzt um Verbindungen zwischen Datensätzen zu verwalten und für einen Anwender zu visualisieren. Standardmäßig werden von diesem Codepaket die Relationsdefinitionen (Eltern-Kind-Beziehungen) von brandbox unterstützt. Über Events können aber weitere beliebige Datensatzverbindungen unterstzützt hinzugefügt werden (bspw. Fremdschlüssel).
Codeblock | ||||
---|---|---|---|---|
| ||||
use Brandbox\Framework\Base\Relation;
$source = 'shopGroup'; // Identifikator der Quelldatenbanktabelle
$target = 'shopArticle'; // Identifikator der Zieldatenbanktabelle
$type = 'CustomRelation'; // Benutzerdefinierter Typ der Datensatzverbindung
$id = 123; // ID des Quelldatensatzes
$element = $this
->staticController(Relation\Manager::class)
->getButtonRelation($source, $target, $type, $id)
;
// $element ist null oder eine Instanz von \Brandbox\FrameworkStyleguide\Entity\FrameworkButton |
Funktionsumfang
Dieses Codepaket stellt eine Oberfläche innerhalb von Base zur Verfügung um Datensatzverbindungen in einer Datensatzliste darzustellen. Zudem werden Funktionen für das Erstellen, Ver- und Entknüpfen, Sortieren und Verschieben von Datensätzen angeboten. Die Oberfläche und Funktionen werden durch Events beeinflusst und enthalten immer alle Informationen (Quell- und Zieltabelle, Datensatzverbindungstyp, Quelldatensatz-ID). Alle verfügbaren Funktionen werden über die nachfolgenden Konstanten beschrieben.
Konstante | Beschreibung |
---|---|
|
| Beschreibt das Verschieben eines oder mehrerer Datensätze zwischen zwei verschiedenen Quelldatensätzen. |
| Beschreibt das Sortieren von einem oder mehreren Datensätzen über die Kontextmenüfunktion eines Datensatzes oder des Mehrfachfunktionsmenüs. Die Referenzeigenschaft enthält den vorherigen Datensatz nachdem alle gewählten Datensätze einsortiert werden sollen. |
|
|
| Beschreibt das |
Verknüpfen von einem oder mehreren Datensätzen |
. |
|
|
| Beschreibt das |
Entknüpfen/Lösen von einem oder mehreren Datensätzen |
. |
|
|
| Beschreibt das |
Erstellen eines neuen Datensatzes innherlab der Datensatzverbindungen. |
|
|
| Beschreibt das |
Bearbeiten einer Datensatzverbindung. |
Kontextklassen
Diese Kontextklassen stehen in den genannten Komponenten zur Verfügung. Alle implementieren das gemeinsame ContextInterface
-Interface.
Klassenname | Beschreibung |
---|
ContainerContext
| Kontextklasse für die Datensatzlistenkomponente |
RelationContext
| Kontextklasse für |
ToolbarContext
die Toolbar der Verknüpfungsansicht |
TreeContext
Eventübersicht
Klassenname | Beschreibung |
---|
OnExecuteCreate
| Wird |
OnExecuteExecute
action
wird die ausgeführte Funktion benannt.OnPopulateActions
OnPopulateContainer
FrameworkContainer
innerhalb der Verknüpfungsansicht zu befüllen.OnPopulateIndex
OnPopulateQueryBuilder
QueryBuilder
veweist hierbei auf die Zieldatenbanktabelle der Verknüpfungsansicht. Der aktuelle Zustand Ansichtumschalters kann mit nachfolgendem Code abgefragt für einen oder mehrere Datensätze ausgelöst, welche der Datensatzverbindung hinzugefügt werden sollen. | |||||
| Wird für einen oder mehrere Datensätze ausgelöst, welche aus der Datensatzverbindung entfernt werden sollen. | ||||
| Wird für einen oder mehrere Datensätze ausgelöst, welche zwischen zwei Verbindungsdefinitionen verschoben werden sollen. | ||||
| Wird für einen oder mehrere Datensätze ausgelöst, welche innerhalb einer Datensatzverbindung sortiert werden sollen. | ||||
| Wird ausgelöst um den QueryBuilder für die Datensatzliste zu befüllen. Der aktuelle Zustand der Datensatzliste kann hierbei mit dem folgenden Code abgerufen werden.
|
|
|
|
|
|
|
|
|
OnPopulateRelation
| |
| Wird ausgelöst um den |
| Wird ausgelöst um die Verbindungsanzahl eines Datensatzes einzusammeln. Diese Information kann für jeden Datensatz abgefragt werden. |
| Wird ausgelöst um den Dialog zum Erstellen eines neuen Datensatzes zu befüllen. |
| Wird ausgelöst um die Oberflächennavigation beim Bearbeiten eines Verbindungsdatensatzes aufzulösen. |
| Wird ausgelöst um die darzustellenden Datensätze der Datensatzliste vor ihrer Ausgabe zu verändern. |
| Wird ausgelöst um die verfügbaren Funktionen für eine Datensatzverbindung oder Verbindungsdefinition einzusammeln. Diese Funktionen werden mit den |
| Wird ausgelöst um die Verknüpfungsansicht selbst aufzubauen. |
| Wird ausgelöst um die verbundenen Datensätze eines Definition einzusammeln. |
| Wird ausgelöst um den Ansichteinstellungsanbieter für die Datensatzliste zu ermitteln. |
| Wird ausgelöst um die Entitätendefinition für die zu durchsuchende Datenbanktabelle zu ermitteln. |
| Wird ausgelöst um den Container für den Suchfilter zu ermitteln. |
Drawio | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|