Espaces réservés

De nombreux champs de saisie textuelle peuvent utiliser ES2015 comme des littéraux de modèle pour remplacer dynamiquement des parties du texte par certaines valeurs. Dans ces littéraux de modèle, des espaces réservés prédéfinis peuvent être utilisés.

par exemple Hello ${params.world}

Pour utiliser un espace réservé à l'intérieur d'une URL (par exemple un lien href dans le widget de texte), utilisez $$ pour échapper la valeur à l'URL (par exemple $${property.customer_name} ).

L'échappement en utilisant $$ n'est pas nécessaire dans les champs de texte qui contiennent généralement une URL (par exemple HREF dans la colonne du widget de tableau). La fuite se fait automatiquement.

Mondial

Les espaces réservés globaux suivants sont disponibles :

  • ${sessionId}

  • ${params.<urlParam>}
    Cet espace réservé lit l'URL dans la barre d'adresse du navigateur et recherche les paramètres d'URL, par exemple #/dashboards/details?closeOnBackgroundClick=true

  • ${now}
    Imprime la date et l'heure actuelles selon les paramètres régionaux définis par le navigateur
    format personnalisé selon http://momentjs.com/docs/#/displaying/
    par exemple ${now.format('DD.MM.YYYY HH:mm')}

  • ${today}
    Imprime le jour en cours selon les paramètres régionaux définis par le navigateur
    format personnalisé selon http://momentjs.com/docs/#/displaying/
    par exemple ${today.format('DD.MM.YYYY')}

  • ${filterMatrix.<column>} / ${filterMatrix.<propertyId>}
    Imprime une liste séparée par des virgules des valeurs sélectionnées à partir de la matrice de filtre.
    par exemple
    ${filterMatrix.department} -> Développement, Gestion
    ${filterMatrix[76]} -> Genève,Zurich

    Avec un espace après la virgule :
    ${filterMatrix.department.replaceAll(',', ', ')} -> Développement, Gestion

  • ${params.widget12345filter}
    Imprime la valeur de filtre actuelle de la table avec l'ID 12345.

Objet/ligne actuel

Si un objet SKOOR est disponible (par exemple dans une ligne de tableau), les espaces réservés suivants peuvent être utilisés :

  • ${object.id}

  • ${object.deviceId}

  • ${object.name}

  • ${object.type}

  • ${object.subType}

  • ${object.state} / ${object.state.lightbulb(<size>)} / ${object.state.format()}
    taille en px

  • ${object.properties[<propertyId>]} / ${object.properties.<propertyKey>}
    L'index d'énumération de propriété au lieu de la valeur peut être imprimé en utilisant enumIndex (par exemple ${object.properties.foo.enumIndex})

  • ${object.parameters.<parameterKey>}

  • ${object.values.<valueKey>}
    les clés de valeur peuvent être trouvées ici

Il est également possible d'accéder aux colonnes d'une source de données externe :

  • ${columns[index]}
    indice commençant à 0

  • ${columns.<columnName>} / ${columns ['<columnName>']}

Paramètre d'intervalle

Les paramètres d'intervalle peuvent être formatés à l'aide des formats momentJS ( http://momentjs.com/docs/#/displaying/ ).

  • ${interval(params.<name>).begin.format(<format>)}

  • ${interval(params.<name>).end.format(<format>)}

Exemples:

  • #/dashboards/123?interval=2018-11

    • ${interval(params.interval) → 01.11.2018 - 30.11.2018 (la sortie dépend des paramètres régionaux actuels)

    • ${interval(params.interval).begin -> 01.11.2018 (la sortie dépend des paramètres régionaux actuels)

    • ${interval(params.interval).end -> 30.11.2018 (la sortie dépend des paramètres régionaux actuels)

    • ${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

Les valeurs par défaut

Si une valeur d'espace réservé n'est pas définie (par exemple, un paramètre d'URL requis est manquant), on peut définir une valeur par défaut à l'aide de l' operateur logique ou || .

Exemples:

  • ${param.name || 'no name given'} -> Aucun nom donné

  • ${interval(params.interval || '2019-01')} -> 01.11.2018 - 30.11.2018 (la sortie dépend des paramètres régionaux actuels)

  • $(time(params.time || moment())} -> 22.01.2020 13:31

Expressions

Dans les widgets Graphique et Tableau, les valeurs peuvent être calculées à l'aide d'expressions.

Exemples:

  • Table widget: Subtract 25 from a SKOOR object value as ${(object.values.Temperature - 25)}

  • Chart widget: Divide two values using their column names as ${(columns["Incidents"] / columns["Transactions"]).toFixed(3)}
    -> .toFixed(3) arrondit le résultat à 3 chiffres après la virgule décimale

Style de cellule de tableau dépendant du contenu

Les espaces réservés peuvent être utilisés pour définir l'attribut de classe en fonction de la valeur de la cellule.

Cela définit le nom de la classe CSS sur négatif ou positif en fonction de la valeur de la cellule. Cela peut ensuite être utilisé dans le formulaire Tableau de bord pour formater la valeur en conséquence :