Dieses Codepaket wird von brandbox genutzt um Verbindungen zwischen Datensätzen zu verwalten und für einen Anwender zu visualisieren. Über Events können beliebige Datensatzverbindungen hinzugefügt werden (bspw. Fremdschlüssel).
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 |
---|---|
Manager::METHOD_MOVE | Beschreibt das Verschieben eines oder mehrerer Datensätze zwischen zwei verschiedenen Quelldatensätzen. |
Manager::METHOD_SORT | 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. |
Manager::METHOD_ATTACH | Beschreibt das Verknüpfen von einem oder mehreren Datensätzen. |
Manager::METHOD_DETACH | Beschreibt das Entknüpfen/Lösen von einem oder mehreren Datensätzen. |
Manager::METHOD_CREATE | Beschreibt das Erstellen eines neuen Datensatzes innherlab der Datensatzverbindungen. |
Manager::METHOD_EDIT | Beschreibt das Bearbeiten einer Datensatzverbindung. |
Kontextklassen
Diese Kontextklassen stehen in den genannten Komponenten zur Verfügung. Alle implementieren das gemeinsame ContextInterface
-Interface.
Klassenname | Beschreibung |
---|---|
ContextContainer | Kontextklasse für die Datensatzlistenkomponente |
ContextToolbar | Kontextklasse für die Toolbar der Verknüpfungsansicht |
Eventübersicht
Klassenname | Beschreibung |
---|---|
OnExecuteAttach | Wird für einen oder mehrere Datensätze ausgelöst, welche der Datensatzverbindung hinzugefügt werden sollen. |
OnExecuteDetach | Wird für einen oder mehrere Datensätze ausgelöst, welche aus der Datensatzverbindung entfernt werden sollen. |
OnExecuteMove | Wird für einen oder mehrere Datensätze ausgelöst, welche zwischen zwei Verbindungsdefinitionen verschoben werden sollen. |
OnExecuteSort | Wird für einen oder mehrere Datensätze ausgelöst, welche innerhalb einer Datensatzverbindung sortiert werden sollen. |
OnPopulateBuilder | 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. use Brandbox\Framework\Base\Relation; /** @var Relation\Lib\Event\OnPopulateBuilder $event */ $type = $this ->staticController(Relation\Lib\Request\Storage::class) ->getType($event->definition) ; // $status kann einer der folgenden Konstanten entsprechen // Relation\Manager::TYPE_ATTACHED // Relation\Manager::TYPE_ATTACHABLE |
OnPopulateContainer | Wird ausgelöst um den FrameworkContainer innerhalb der Verknüpfungsansicht zu befüllen. |
OnPopulateCount | Wird ausgelöst um die Verbindungsanzahl eines Datensatzes einzusammeln. Diese Information kann für jeden Datensatz abgefragt werden. |
OnPopulateCreate | Wird ausgelöst um den Dialog zum Erstellen eines neuen Datensatzes zu befüllen. |
OnPopulateEdit | Wird ausgelöst um die Oberflächennavigation beim Bearbeiten eines Verbindungsdatensatzes aufzulösen. |
OnPopulateEntities | Wird ausgelöst um die darzustellenden Datensätze der Datensatzliste vor ihrer Ausgabe zu verändern. |
OnPopulateFlags | Wird ausgelöst um die verfügbaren Funktionen für eine Datensatzverbindung oder Verbindungsdefinition einzusammeln. Diese Funktionen werden mit den Relation\Manager::FLAG_ -Konstanten beschrieben. |
OnPopulateIndex | Wird ausgelöst um die Verknüpfungsansicht selbst aufzubauen. |
OnPopulateReferences | Wird ausgelöst um die verbundenen Datensätze eines Definition einzusammeln. |
OnPopulateSettings | Wird ausgelöst um den Ansichteinstellungsanbieter für die Datensatzliste zu ermitteln. |
OnPopulateTarget | Wird ausgelöst um die Entitätendefinition für die zu durchsuchende Datenbanktabelle zu ermitteln. |