Placeholders

De nombreux champs de saisie de texte peuvent utiliser ES2015, comme les littéraux de modèle, pour remplacer dynamiquement certaines parties du texte par des valeurs spécifiques. Au sein de 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é dans une URL (par exemple, un lien href dans le widget texte), utilisez $$ pour échapper la valeur (par exemple, $${property.customer_name}).

L'échappement à l'aide de $$ 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). L'échappement s'effectue automatiquement.

Global

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

  • ${sessionId}

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

  • ${now}
    Affiche la date et l'heure actuelles selon le format personnalisé défini
    par le navigateur conformément à http://momentjs.com/docs/#/displaying/,
    par exemple ${now.format('DD.MM.YYYY HH:mm')}

  • ${today}
    Affiche le jour actuel selon le format personnalisé défini
    par le navigateur conformément à http://momentjs.com/docs/#/displaying/,
    par exemple ${today.format('DD.MM.YYYY')}

  • ${filterMatrix.<column>} /${filterMatrix.<propertyId>}
    Affiche une liste séparée par des virgules des valeurs sélectionnées dans la matrice de filtrage.
    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}
    Affiche la valeur actuelle du filtre de la table avec l'ID 12345.

  • ${language} , ${locale} , ${languages}
    Langue actuellement utilisée, paramètres régionaux ou langues disponibles.

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 de
    l'énumération de propriétés peut être imprimé à la place de la valeur à l'aide de enumIndex (par exemple ${object.properties.foo.enumIndex})

  • ${object.parameters.<parameterKey>}

  • ${object.values.<valueKey>} Les clés
    de valeur se trouvent ici

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

  • ${columns[index]}
    index 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 (le résultat dépend des paramètres régionaux actuels)

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

    • ${interval(params.interval).end} -> 30.11.2018 (le résultat 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

En savoir plus sur les intervalles

  • ${interval(params.interval).begin.weekday(0).format('')} -> Obtenir le premier jour de la semaine du début de l'intervalle

  • ${interval(params.interval).begin.subtract(12, 'm').format('')} -> Soustraire 12 mois du début de l'intervalle

Valeurs par défaut

Si une valeur de remplacement n'est pas définie (par exemple, un paramètre URL requis est manquant), il est possible de définir une valeur par défaut à l'aide de l'opérateur logique « ou » ||.

Exemples :

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

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

  • ${params.interval || 'BETWEEN(2021,2025)'} → 2021 - 2025 (si les plages sont autorisées dans un sélecteur de date)

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

Expressions

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

Exemples :

  • 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)}
    -> arrondit le résultat à 3 chiffres après la virgule décimale

Stylisation des cellules du tableau en fonction 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 permet de définir le nom de la classe CSS comme négatif ou positif en fonction de la valeur de la cellule. Cela peut ensuite être utilisé dans le formulaire du tableau de bord pour formater la valeur en conséquence :