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 mit enumIndex ausgegeben 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: