This commit is contained in:
Robin Grenzdörfer 2023-05-28 19:23:56 +00:00
parent 5bfff30e90
commit 8839bd1111
2 changed files with 141 additions and 9 deletions

View File

@ -2,13 +2,13 @@
# Übersicht # Übersicht
Die bereitgestellte Konfiguration ist eine Spezifikation für ein Dashboard-Layout und seine Komponenten. Dieses Layout bestimmt die Anzeige und Interaktion von verschiedenen Datenvisualisierungen, vor allem in Form von Diagrammen (Graphen). Die Konfiguration ist in zwei Hauptabschnitte unterteilt: "majorItems" und "minorItems". Die "majorItems" sind größere, prominentere Darstellungen von Daten, während die "minorItems" kleinere, weniger prominente Datenelemente repräsentieren. Jedes Element innerhalb dieser Abschnitte ist ein einzelnes Modul oder eine Komponente auf dem Dashboard und kann verschiedene Arten von Datenvisualisierungen darstellen, einschließlich Linien-, Balken-, Kreis- (donut) und Flächendiagramme. Die bereitgestellte Konfiguration ist eine Spezifikation für ein Dashboard-Layout und seine Komponenten. Dieses Layout bestimmt die Anzeige und Interaktion von verschiedenen Datenvisualisierungen, vor allem in Form von Diagrammen (Graphen). Die Konfiguration ist in zwei Hauptabschnitte unterteilt: "majorItems" und "minorItems". Die "majorItems" sind größere, prominentere Darstellungen von Daten, während die "minorItems" kleinere, weniger prominente Datenelemente repräsentieren. Jedes Element innerhalb dieser Abschnitte ist ein einzelnes Modul oder eine Komponente auf dem Dashboard und kann verschiedene Arten von Datenvisualisierungen darstellen, einschließlich Linien-, Balken-, Kreis- (donut) und Flächendiagramme. Generell ist zu sagen, dass bei jeder string angabe auch I18n verwendet werden kann und bei nahezu jeder String angabe ist ebenfalls die eval angabe möglich.
# Elementbeschreibungen # Elementbeschreibungen
## type ## type
Der Typ des Dashboard-Elements ist ein entscheidendes Attribut. Wenn der Typ "graph" ist, wird das Element als Diagramm dargestellt. Dies ermöglicht eine Vielzahl von Visualisierungen wie Linien-, Balken-, Kuchen-, Donut- oder Flächendiagramme, abhängig vom graphType. Der Typ "swiper" erstellt ein Karussell-ähnliches Element, das eine Reihe von anderen Elementen enthält, die durchgeblättert werden können. Jedes Element innerhalb des "swiper"-Typs wird genauso konfiguriert wie ein normales Dashboard-Element, was bedeutet, dass sie jeweils ihren eigenen type, title, etc. haben können. Die "reference"-Typ Elemente sind Verweise auf Collections. Außerdem gibt es den type "comparison", wobei man ein timespan auswählt und dieser timespan und der timespan davor mit einander auf einen bestimmten Wert verglichen werden Der Typ des Dashboard-Elements ist ein entscheidendes Attribut. Wenn der Typ "graph" ist, wird das Element als Diagramm dargestellt. Dies ermöglicht eine Vielzahl von Visualisierungen wie Linien-, Balken-, Kuchen-, Donut- oder Flächendiagramme, abhängig vom graphType. Der Typ "swiper" erstellt ein Karussell-ähnliches Element, das eine Reihe von anderen Elementen enthält, die durchgeblättert werden können. Jedes Element innerhalb des "swiper"-Typs wird genauso konfiguriert wie ein normales Dashboard-Element, was bedeutet, dass sie jeweils ihren eigenen type, title, etc. haben können. Die "reference"-Typ Elemente sind Verweise auf Collections. Außerdem gibt es den type "comparison", wobei man ein timespan auswählt und dieser timespan und der timespan davor mit einander auf einen bestimmten Wert verglichen werden. Der "sectionTitle" type ist wie der name schon sagt, ein Titel für einen Abschnitt vom dashboard
## title ## title
@ -123,10 +123,94 @@ Dies ist das Feld, das den Zeitstempel in der Datensammlung repräsentiert. Es w
```yaml ```yaml
dashboard: dashboard:
majorItems: # Liste der Hauptelemente des Dashboards majorItems: # Liste der Hauptelemente des Dashboards
- type: sectionTitle
title: "Overview" #i18n or eval
- type: swiper
containerProps:
class: "random-class"
layout:
breakBefore: false # no html elements before
breakAfter: false #no html elmenets after
size: #different classes depending on innerWidth
default: "col-8"
small: "col-12"
large: "col-4"
elements:
- type: comparison
collection: contact_form
timespan: "QTD" #QTD & MTD with last quarter, month or year
value: total
valueType: absolute #oder relative (prozentual)
path: paymentValues
dateTimeField: Date
field: paymentValue
title: toller titel #string or eval
subTitle: { de: "YTD Vergleich zum Vorjahr", en: "YTD comparison with last year" }
- type: comparison
collection: contact_form
timespan: "QTD" #QTD & MTD with last quarter, month or year
value: total
valueType: absolute #oder relative (prozentual)
dateTimeField: Date
field: paymentValue
title: toller titel #i18n or eval
subTitle: { de: "YTD Vergleich zum Vorjahr", en: "YTD comparison with last year" }
- type: swiper
css:
graph:
wrapper:
eval: |
`
background-color: green ;
`
containerProps:
class: "random-class"
layout:
breakBefore: false # no html elements before
breakAfter: true #no html elmenets after
size: #different classes depending on innerWidth
default: "col-8"
small: "col-12"
large: "col-4"
elements:
- type: comparison
collection: contact_form
timespan: "QTD" #QTD & MTD with last quarter, month or year
value: total
valueType: relative #oder relative (prozentual)
path: paymentValues
dateTimeField: Date
field: paymentValue
title: toller titel #string or eval
subTitle: { de: "YTD Vergleich zum Vorjahr", en: "YTD comparison with last year" }
- type: comparison
collection: contact_form
timespan: "QTD" #QTD & MTD with last quarter, month or year
value: total
valueType: relative #oder relative (prozentual)
dateTimeField: Date
field: paymentValue
title: toller titel #string or eval
subTitle: { de: "YTD Vergleich zum Vorjahr", en: "YTD comparison with last year" }
- type: sectionTitle
title: "Details"
- type: graph # Art des Elements, hier ein Graph - type: graph # Art des Elements, hier ein Graph
css:
graph:
wrapper:
eval: |
`
background-color: yellow ;
`
title: # Titel des Graphen title: # Titel des Graphen
#eval anstelle von value möglich #eval anstelle von value möglich
value: total # Haupttitel des Graphen value: total #o. amount Haupttitel des Graphen
contentAfter: "€" # Nach dem Haupttitel hinzugefügte Inhalte contentAfter: "€" # Nach dem Haupttitel hinzugefügte Inhalte
contentBefore: "xyz" # Vor dem Haupttitel hinzugefügte Inhalte contentBefore: "xyz" # Vor dem Haupttitel hinzugefügte Inhalte
timeInterval: "day" # Zeitintervall der Daten im Graphen timeInterval: "day" # Zeitintervall der Daten im Graphen
@ -135,7 +219,17 @@ dashboard:
graphBaseColor: "#ff0000" # Basisfarbe des Graphen graphBaseColor: "#ff0000" # Basisfarbe des Graphen
subTitle: { de: "Umsatz", en: "sales volume" } # Untertitel des Graphen, mehrsprachig subTitle: { de: "Umsatz", en: "sales volume" } # Untertitel des Graphen, mehrsprachig
xAxis: timeline # Art der x-Achse, hier eine Zeitachse xAxis: timeline # Art der x-Achse, hier eine Zeitachse
class: col-6 # CSS-Klasse des Elements class: "random-class" #Class added
containerProps:
#optional class prop
layout:
breakBefore: false
breakAfter: false
size:
default: "col-8"
small: "col-12"
large: "col-4"
graphs: # Liste der Graphen in diesem Element graphs: # Liste der Graphen in diesem Element
- yAxis: sum # Art der y-Achse, hier eine Summe - yAxis: sum # Art der y-Achse, hier eine Summe
field: paymentValue # Feld der Daten für den Graphen field: paymentValue # Feld der Daten für den Graphen
@ -160,8 +254,17 @@ dashboard:
graphBaseColor: "#ff0000" graphBaseColor: "#ff0000"
subTitle: { de: "Umsatz", en: "sales volume" } subTitle: { de: "Umsatz", en: "sales volume" }
xAxis: timeline xAxis: timeline
class: col-6
multipleYAxes: true # Option für mehrere y-Achsen multipleYAxes: true # Option für mehrere y-Achsen
containerProps:
#optional class prop
layout:
breakBefore: false
breakAfter: false
size:
default: "col-8"
small: "col-12"
large: "col-4"
graphs: graphs:
- yAxis: sum - yAxis: sum
yAxisTitle: Summe nr 1 yAxisTitle: Summe nr 1
@ -170,6 +273,7 @@ dashboard:
dateTimeField: Date dateTimeField: Date
collection: contact_form collection: contact_form
graphName: { de: "Umsatz", en: "sales volume" } graphName: { de: "Umsatz", en: "sales volume" }
- graphName: { de: "Umsatz anderes feldes", en: "Sum of other values" } - graphName: { de: "Umsatz anderes feldes", en: "Sum of other values" }
path: paymentValues path: paymentValues
yAxisTitle: Summe nr 2 yAxisTitle: Summe nr 2
@ -179,7 +283,16 @@ dashboard:
field: paymentValue field: paymentValue
collection: contact_form collection: contact_form
- type: swiper # Art des Elements, hier ein Swiper - type: swiper # Art des Elements, hier ein Swiper
class: col-6 containerProps:
#optional class prop
layout:
breakBefore: false
breakAfter: false
size:
default: "col-8"
small: "col-12"
large: "col-4"
elements: # Liste der Elemente in diesem Swiper elements: # Liste der Elemente in diesem Swiper
- type: graph - type: graph
title: title:
@ -221,7 +334,15 @@ dashboard:
dateTimeField: Date dateTimeField: Date
field: paymentValue field: paymentValue
collection: contact_form collection: contact_form
- class: col-8 - containerProps:
#optional class prop
layout:
breakBefore: false
breakAfter: false
size:
default: "col-8"
small: "col-12"
large: "col-4"
type: graph type: graph
title: title:
value: total value: total
@ -229,7 +350,7 @@ dashboard:
subTitle: { de: "Umsatz", en: "sales volume" } subTitle: { de: "Umsatz", en: "sales volume" }
xAxis: timeline xAxis: timeline
timeInterval: "day" timeInterval: "day"
until: "lastMonth"
graphType: "area" # Art des Graphen, hier ein Flächendiagramm graphType: "area" # Art des Graphen, hier ein Flächendiagramm
graphs: graphs:
- field: paymentValue - field: paymentValue
@ -239,13 +360,22 @@ dashboard:
path: "this" # Pfad zu den Daten im Feld, hier das aktuelle Objekt, keine Angabe hat den gleichen Wert path: "this" # Pfad zu den Daten im Feld, hier das aktuelle Objekt, keine Angabe hat den gleichen Wert
graphName: { de: "Umsatz", en: "sales volume" } graphName: { de: "Umsatz", en: "sales volume" }
- type: swiper - type: swiper
class: col-4 containerProps:
#optional class prop
layout:
breakBefore: false
breakAfter: true
size:
default: "col-8"
small: "col-12"
large: "col-4"
elements: elements:
- class: col-6 - class: col-6
type: graph type: graph
subTitle: { de: "Produktmenge", en: "Amount of products" } subTitle: { de: "Produktmenge", en: "Amount of products" }
xAxis: timeline xAxis: timeline
timeInterval: "day" timeInterval: "day"
filter: false #deaktiviert die Filter möglichkeit für den Nutzer beim diagramm, normalerweise aktiviert. Hierbei sind alle kombinationen x >= until möglich
dateTimeField: Date dateTimeField: Date
until: "lastMonth" until: "lastMonth"
graphType: "bar" graphType: "bar"
@ -256,6 +386,7 @@ dashboard:
collection: contact_form collection: contact_form
- class: col-8 - class: col-8
type: graph type: graph
filter: false
title: title:
value: total value: total
contentAfter: "€" contentAfter: "€"
@ -263,6 +394,7 @@ dashboard:
xAxis: timeline xAxis: timeline
timeInterval: "day" timeInterval: "day"
dateTimeField: Date dateTimeField: Date
graphType: "line"
until: "lastMonth" until: "lastMonth"
graphs: graphs:
- field: paymentValue - field: paymentValue

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 109 KiB