Diagramme (framework-diagram)

Diagramme können in brandbox über eine Definition dargestellt werden.

Die Definitionen werden in einem persistenten Cache zwischengespeichert um die Performance zu Verbesserern. Dieser Cache nutzt der Namespace brandbox/framework-diagram, welcher sowohl über die Administrationsoberfläche als auch programmatisch geleert werden kann.

Definition

Eine diagram.json muss dem in framework-diagram/resources/diagram-schema.json beschriebenen JSON-Schema folgen. Eine Entwicklungsumgebung wie bspw. PHP-Storm verfügt über eine einfache Validierungsmöglichkeit für die Schemata.

{ "diagrams": [ { "identifier": "countDatasets", "type": "table", "labels": { "de": "Anzahl Request Logs", "en": "Count Request log" }, "repository": "Administrator", "query": { "source": "\\Brandbox\\FrameworkDiagram\\Diagram\\Test\\Lib\\Query\\RequestLog", "filter": [ { "repository": "Administrator", "source": "definition:plugin/remote/brandbox/framework-diagram/src/Diagram/Test/Lib/Structure/AdministratorFilterDefinition.json" }, { "repository": "RequestLog", "source": "definition:plugin/remote/brandbox/framework-diagram/src/Diagram/Test/Lib/Structure/RequestLogFilterDefinition.json" } ] }, "configuration": { //Individuelle Konfiguration } } ] }

Key

Beschreibung

Key

Beschreibung

identifier

Eindeutiger Wert für das Diagramm

type

Entscheidet die Darstellung in brandbox

repository

Ausgangsrepository für das Diagramm. Wird im Kontext-Menü dargestellt

labels

Bezeichnung vom Diagramm. Wird im Tab dargestellt

source

Pfad zur Query-Klasse

filter

Filtereinstellungen für das Diagramm

Konfiguration

Tabelle

Die Konfiguration regelt das Mapping zwischen der Tabelle und dem Result aus dem Query. Hier ist es notwendig, dass die Keys in der Konfiguration der Properties aus dem DTO entsprechen. Des weiteren können noch Varianten für das Styling ergänzt werden.

"configuration": { "columns": { "mail": { "labels": { "de": "E-Mail", "en": "E-Mail" }, "variants": [ "strong" ] }, "count": { "labels": { "de": "Anzahl RequestLogs", "en": "Count Logins" }, "variants": [ "strong" ] } }, "variants": [ "narrow" ] }

Predefined Filter

Filter für die Diagramme können über eine definition.json konfiguriert werden. Siehe auch https://konmedia.atlassian.net/wiki/x/nZWiAQ

{ "type": "definition", "elements": [ { "identifier": "AdministratorFilterGroup", "elements": [ { "identifier": "AdministratorFilterSet", "elements": [ { "identifier": "firstname", "type": "input", "label": { "de": "Vorname", "en": "Firstname" } }, { "identifier": "lastname", "type": "input", "label": { "de": "Nachname", "en": "Lastname" } } ] } ] } ] }

 

Eventübersicht

Klassenname

Beschreibung

Klassenname

Beschreibung

Index

 

OnPopulateIndex

Bietet die Möglichkeit, Framework-Elemente in der Index-Ansicht zu manipulieren / anzureichern.

OnPopulateIndexContainer

Bietet die Möglichkeit, Framework-Elemente in der Container-Index-Ansicht zu manipulieren / anzureichern.

PredefinedFilter

 

OnPopulateContainer

Bietet die Möglichkeit, weitere Filter-Elemente zu platzieren.

OnExecuteFilter

Wird bei der Auswahl eines Filters getriggert. Bietet die Möglichkeit, den ausgewählten Wert zu manipulieren.

OnPopulateSummary

Bietet die Möglichkeit, weitere Informationen, bzgl. der Filter darzustellen.

Query

 

OnPopulateQueryBuilder

Wird beim Rendern vom Diagramm ausgelöst. Hierrüber können Filterkriterien angewendet werden.

Render

 

OnPopulateDiagram

Wird beim Rendern von Diagrammen ausgelöst. Das Diagramm kann hierrüber manipuliert werden.

Settings

 

OnExecuteReset

Wird beim zurücksetzen der Filter ausgelöst. Bietet die Möglichkeit, Standardkriterien festzulegen o.ä.

OnPopulateSummary

Bietet die Möglichkeit, weitere Informationen in der Index-Zusammenfassung darzustellen

Table

 

OnPopulateTable

Wird beim Rendern der Tabelle ausgelöst. Bietet die Möglichkeit, Styling oder Werte zu manipulieren.