Platzhalter
In vielen Texteingabefeldern können ES2015-ähnliche Template-Literale verwendet werden, um Teile des Textes dynamisch durch bestimmte Werte zu ersetzen. Innerhalb dieser Template-Literale können vordefinierte Platzhalter verwendet werden.
Beispiel: Hello ${params.world}
Um einen Platzhalter innerhalb einer URL zu verwenden (z. B. in einem Link-Href im Text-Widget), verwenden Sie „$$“, um den Wert URL-escapen zu lassen (z. B. $${property.customer_name}).
Eine URL-Escape-Verarbeitung mit $$ ist in Textfeldern, die üblicherweise eine URL enthalten (z. B. HREF in der Spalte des Tabellen-Widgets), nicht erforderlich. Dort erfolgt die URL-Escape-Verarbeitung automatisch.
Global
Die folgenden globalen Platzhalter stehen zur Verfügung:
${sessionId}${params.<urlParam>}
Dieser Platzhalter liest die URL aus der Adressleiste des Browsers aus und sucht nach URL-Parametern, z. B. #/dashboards/details?closeOnBackgroundClick=true${now}
Gibt das aktuelle Datum und die aktuelle Uhrzeit gemäß dem im Browser definierten benutzerdefinierten Format für die Ländereinstellung
gemäß http://momentjs.com/docs/#/displaying/
aus, z. B.${now.format('DD.MM.YYYY HH:mm')}${today}
Gibt den aktuellen Tag gemäß dem benutzerdefinierten Format der im Browser festgelegten Ländereinstellung
aus, wie unter http://momentjs.com/docs/#/displaying/
beschrieben, z. B.${today.format('DD.MM.YYYY')}${filterMatrix.<column>}/${filterMatrix.<propertyId>}
Gibt eine durch Kommas getrennte Liste der ausgewählten Werte aus der Filtermatrix aus.
z. B.${filterMatrix.department}-> Entwicklung, Management${filterMatrix[76]}-> Genf, Zürich
Mit Leerzeichen nach dem Komma:${filterMatrix.department.replaceAll(',', ', ')}-> Entwicklung, Management${params.widget12345filter}
Gibt den aktuellen Filterwert der Tabelle mit der ID 12345 aus.${language},${locale},${languages}
Derzeit verwendete Sprache, Ländereinstellung oder verfügbare Sprachen.
Aktuelles Objekt / aktuelle Zeile
Wenn ein SKOOR-Objekt verfügbar ist (z. B. in einer Tabellenzeile), können die folgenden Platzhalter verwendet werden:
${object.id}${object.deviceId}${object.name}${object.type}${object.subType}${object.state}/${object.state.lightbulb(<size>)}/${object.state.format()}
Größe in px${object.properties[<propertyId>]}/${object.properties.<propertyKey>}
Der Enum-Index einer Eigenschaft anstelle des Werts kann mitenumIndexausgegeben werden (z. B.${object.properties.foo.enumIndex})${object.parameters.<parameterKey>}${object.values.<valueKey>}
Die Wertschlüssel finden Sie hier
Es ist auch möglich, auf Spalten einer externen Datenquelle zuzugreifen:
${columns[index]}
Index beginnend bei 0${columns.<columnName>}/${columns ['<columnName>']}
Intervall-Parameter
Intervallparameter können mit MomentJS-Formaten formatiert werden (http://momentjs.com/docs/#/displaying/).
${interval(params.<name>).begin.format(<format>)}${interval(params.<name>).end.format(<format>)}
Beispiele:
#/dashboards/123?interval=2018-11${interval(params.interval)} → 01.11.2018 – 30.11.2018 (die Ausgabe hängt von der aktuellen Ländereinstellung ab)
${interval(params.interval).begin}-> 01.11.2018 (die Ausgabe hängt von der aktuellen Ländereinstellung ab)${interval(params.interval).end}-> 30.11.2018 (die Ausgabe hängt von der aktuellen Ländereinstellung ab)${interval(params.interval).begin.format('DD.MM.YYYY')}-> 01.11.2018${interval(params.interval).end.format('DD.MM.YYYY')}-> 30.11.2018${interval(params.interval).begin.format('YYYY')}-> 2018
#/dashboards/123?interval=2018-W5${interval(params.interval).begin.format('DD.MM.YYYY')}-> 29.01.2018${interval(params.interval).end.format('DD.MM.YYYY')}-> 04.02.2018
Mehr zum Thema Intervalle
${interval(params.interval).begin.weekday(0).format('')}-> Ruft den ersten Wochentag des Intervallbeginns ab${interval(params.interval).begin.subtract(12, 'm').format('')}-> Zieht 12 Monate vom Beginn des Zeitraums ab
Standardwerte
Wenn kein Platzhalterwert definiert ist (z. B. fehlt ein erforderlicher URL-Parameter), kann man mithilfe des logischen Oder-Operators „||“ einen Standardwert festlegen.
Beispiele:
${param.name || 'no name given'}-> Kein Name angegeben${interval(params.interval || '2019-01')}-> 01.11.2018 – 30.11.2018 (die Ausgabe hängt von der aktuellen Ländereinstellung ab)${params.interval || 'BETWEEN(2021,2025)'}→ 2021 – 2025 (sofern Bereiche in einem Datumswähler zulässig sind)$(time(params.time || moment())}-> 22.01.2020 13:31
Ausdrücke
In den Diagramm- und Tabellen-Widgets können Werte mithilfe von Ausdrücken berechnet werden.
Beispiele:
Table widget: Subtract 25 from a SKOOR object value as ${utils.formatNumber(object.values.Temperature - 25)}Chart widget: Divide two values using their column names as ${utils.formatNumber(columns["Incidents"] / columns["Transactions"], 3)}
-> rundet das Ergebnis auf 3 Stellen nach dem Komma
Inhaltsabhängige Formatierung von Tabellenzellen
Platzhalter können verwendet werden, um das Klassenattribut basierend auf dem Wert der Zelle festzulegen.
Dadurch wird der Name der CSS-Klasse je nach Zellwert entweder auf „negative“ oder „positive“ gesetzt. Dies kann dann im Dashboard-Formular verwendet werden, um den Wert entsprechend zu formatieren:


