Platzhalter

Viele Texteingabefelder können ES2015-ähnliche Vorlagenliterale verwenden, um Teile des Textes dynamisch durch bestimmte Werte zu ersetzen. Innerhalb dieser Vorlagenliterale können vordefinierte Platzhalter verwendet werden.

zB Hello ${params.world}

Um einen Platzhalter innerhalb einer URL zu verwenden (z. B. eine Link-Href im Text-Widget), verwenden Sie $$ , um den Wert mit einem URL-Escapezeichen zu versehen (z. B. $${property.customer_name} ).

In Textfeldern, die normalerweise eine URL enthalten (z. B. HREF in der Spalte des Tabellen-Widgets), ist die Verwendung von $$ nicht erforderlich. Dort erfolgt die Flucht automatisch.

Global

Folgende globale Platzhalter stehen zur Verfügung:

  • ${sessionId}

  • ${params.<urlParam>}
    Dieser Platzhalter liest die URL in der Adressleiste des Browsers und sucht nach URL-Parametern, z. B. #/dashboards/details?closeOnBackgroundClick=true

  • ${now}
    Druckt das aktuelle Datum und die aktuelle Uhrzeit gemäß dem vom Browser definierten Gebietsschema
    Benutzerdefiniertes Format gemäß http://momentjs.com/docs/#/displaying/
    zB ${now.format('DD.MM.YYYY HH:mm')}

  • ${today}
    Druckt den aktuellen Tag gemäß dem vom Browser definierten Gebietsschema
    Benutzerdefiniertes Format gemäß http://momentjs.com/docs/#/displaying/
    zB ${today.format('DD.MM.YYYY')}

  • ${filterMatrix.<column>} / ${filterMatrix.<propertyId>}
    Druckt eine durch Kommas getrennte Liste der ausgewählten Werte aus der Filtermatrix.
    z.B
    ${filterMatrix.department} -> Entwicklung,Management
    ${filterMatrix[76]} -> Genf,Zürich

    Mit Leerzeichen nach dem Komma:
    ${filterMatrix.department.replaceAll(',', ', ')} -> Entwicklung, Management

Aktuelles Objekt/Zeile

Wenn ein SKOOR-Objekt vorhanden ist (z. B. in einer Tabellenzeile), können folgende 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 Eigenschafts-Enum-Index anstelle des Werts kann mit enumIndex gedruckt werden (z. B. ${object.properties.foo.enumIndex})

  • ${object.parameters.<parameterKey>}

  • ${object.values.<valueKey>}
    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>']}

Intervallparam

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 (Ausgabe hängt vom aktuellen Gebietsschema ab)

    • ${interval(params.interval).begin -> 01.11.2018 (Ausgabe hängt vom aktuellen Gebietsschema ab)

    • ${interval(params.interval).end -> 30.11.2018 (Ausgabe hängt vom aktuellen Gebietsschema 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

Standardwerte

Wenn kein Platzhalterwert definiert ist (z. B. ein erforderlicher URL-Parameter fehlt), kann mithilfe des logischen Operator oder || ein Standardwert festgelegt werden .

Beispiele:

  • ${param.name || 'no name given'} -> Kein Name angegeben

  • ${interval(params.interval || '2019-01')} -> 01.11.2018 - 30.11.2018 (Ausgabe hängt vom aktuellen Gebietsschema ab)

  • $(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:

  • ${(object.values.Temperature - 25)}

  • ${(columns["Incidents"] / columns["Transactions"]).toFixed(3)} -> .toFixed(3) rundet das Ergebnis auf 3 Nachkommastellen

Inhaltsabhängiger Tabellenzellenstil

Mit Platzhaltern kann das Klassenattribut basierend auf dem Wert der Zelle festgelegt werden.

Dadurch wird der CSS-Klassenname abhängig vom Zellenwert entweder negativ oder positiv gesetzt. Dies kann dann im Dashboard-Formular verwendet werden, um den Wert entsprechend zu formatieren: