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 |
---|---|
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 |
---|---|
Index |
|
| Bietet die Möglichkeit, Framework-Elemente in der Index-Ansicht zu manipulieren / anzureichern. |
| Bietet die Möglichkeit, Framework-Elemente in der Container-Index-Ansicht zu manipulieren / anzureichern. |
PredefinedFilter |
|
| Bietet die Möglichkeit, weitere Filter-Elemente zu platzieren. |
| Wird bei der Auswahl eines Filters getriggert. Bietet die Möglichkeit, den ausgewählten Wert zu manipulieren. |
| Bietet die Möglichkeit, weitere Informationen, bzgl. der Filter darzustellen. |
Query |
|
| Wird beim Rendern vom Diagramm ausgelöst. Hierrüber können Filterkriterien angewendet werden. |
Render |
|
| Wird beim Rendern von Diagrammen ausgelöst. Das Diagramm kann hierrüber manipuliert werden. |
Settings |
|
| Wird beim zurücksetzen der Filter ausgelöst. Bietet die Möglichkeit, Standardkriterien festzulegen o.ä. |
| Bietet die Möglichkeit, weitere Informationen in der Index-Zusammenfassung darzustellen |
Table |
|
| Wird beim Rendern der Tabelle ausgelöst. Bietet die Möglichkeit, Styling oder Werte zu manipulieren. |