Zeilen dynamisch anhand des Inhaltes gestalten
Es ist möglich, über das Monitor Setting row_style CSS-Styles für die jeweilige Zeile anhand der Daten zu definieren.
Mit dem weiteren Setting row_styleEnabled kann man dies Feature de/aktivieren, global - für alle definierten Views.
[
{
"columnList": ["STATUS"],
"rowClasses": ".-STATUS-ERROR {background-color: rgba(255, 211, 211, 0.2);}",
"views": ["viewA", "viewB"]
},
{
"columnList": ["STATUS"],
"rowClasses": ".-STATUS-ERROR {background-color: green;}",
"views": ["viewC", "viewD"]
}
]
Einerseits werden über columnList die Spalten aufgelistet, deren Inhalte für die Gestaltung relevant sind.
Das ist notwendig, um unnötige CSS-Klassen-Zuordnungen zu erstellen, die die Browser-Performance belasten.
Für jede gelistete Spalte wird an jeder Zeile eine CSS-Klasse mit dem Schema "MONITORID-SPALTENNAME-SPALTENWERT" erzeugt.
Der CSS-String im Feld rowClasses wird als Stylesheet im Dokument erzeugt.
Dabei müssen keine Monitor-IDs eingetragen werden, diese werden automatisch eingefügt bzw. wird ".-" durch ".MONITORID-" ersetzt.
Der Spaltenwert wird immer in UPPERCASE angegeben.
Sollten mehrere CSS-Regeln zutreffen und sich Angaben überschneiden (z.B. Hintergrundfarbe), entscheidet der Browser selbst, welche Angabe er nutzt.
Man kann jedoch einzelne Angaben priorisieren.
Dies geschieht mit der standard CSS-Angabe !important.
Zuletzt sollte unter views angegeben werden, in welchen Ansichten die Gestaltung eingesetzt werden soll (falls function_gridMultipleViews aktiviert ist).
Ein Monitor lässt sich mit mehreren Style-Regeln gestalten.
Wenn keine Views angegeben werden, werden die Regeln für alle Ansichten im Monitor eingesetzt.