Segnaposto
Molti campi di immissione testuale possono utilizzare ES2015 come template literals per sostituire dinamicamente parti del testo con determinati valori. All'interno di tali template literals è possibile utilizzare segnaposto predefiniti.
Ad esempio: Hello ${params.world}
Per utilizzare un segnaposto all'interno di un URL (ad esempio un link href nel widget di testo), utilizzare $$ per eseguire l'escape del valore nell'URL (ad esempio $${property.customer_name}).
L'escape con $$ non è necessario nei campi di testo che di solito contengono un URL (ad esempio HREF nella colonna del widget tabella). In questo caso l'escape viene eseguito automaticamente.
Globale
Sono disponibili i seguenti segnaposto globali:
${sessionId}${params.<urlParam>}
Questo segnaposto legge l'URL nella barra degli indirizzi del browser e cerca i parametri URL, ad esempio #/dashboards/details?closeOnBackgroundClick=true${now}
Stampa la data e l'ora correnti in base al formato personalizzato definito
dal browser in base a http://momentjs.com/docs/#/displaying/
, ad esempio${now.format('DD.MM.YYYY HH:mm')}${today}
Stampa il giorno corrente in base al formato personalizzato
definito dal browser in base a http://momentjs.com/docs/#/displaying/
, ad esempio${today.format('DD.MM.YYYY')}${filterMatrix.<column>}/${filterMatrix.<propertyId>}
Stampa un elenco separato da virgole dei valori selezionati dalla matrice del filtro.
Esempio:${filterMatrix.department}-> Sviluppo, Gestione${filterMatrix[76]}-> Ginevra, Zurigo
Con spazio dopo la virgola:${filterMatrix.department.replaceAll(',', ', ')}-> Sviluppo, Gestione${params.widget12345filter}
Stampa il valore corrente del filtro della tabella con id 12345.${language},${locale},${languages}
Lingua attualmente utilizzata, impostazioni locali o lingue disponibili.
Oggetto/riga corrente
Se è disponibile un oggetto SKOOR (ad esempio in una riga della tabella), è possibile utilizzare i seguenti segnaposto:
${object.id}${object.deviceId}${object.name}${object.type}${object.subType}${object.state}/${object.state.lightbulb(<size>)}/${object.state.format()}
dimensione in px${object.properties[<propertyId>]}/${object.properties.<propertyKey>}L'indice
dell'enumerazione della proprietà invece del valore può essere stampato utilizzandoenumIndex(ad esempio${object.properties.foo.enumIndex})${object.parameters.<parameterKey>}${object.values.<valueKey>}le
chiavi dei valori sono disponibili qui
È anche possibile accedere alle colonne di una fonte di dati esterna:
${columns[index]}
indice a partire da 0${columns.<columnName>}/${columns ['<columnName>']}
Parametro intervallo
I parametri di intervallo possono essere formattati utilizzando i formati momentJS (http://momentjs.com/docs/#/displaying/).
${interval(params.<name>).begin.format(<format>)}${interval(params.<name>).end.format(<format>)}
Esempi:
#/dashboards/123?interval=2018-11${interval(params.interval) → 01.11.2018 - 30.11.2018 (l'output dipende dalle impostazioni locali correnti)
${interval(params.interval).begin}-> 01.11.2018 (il risultato dipende dalle impostazioni locali correnti)${interval(params.interval).end}-> 30.11.2018 (il risultato dipende dalle impostazioni locali correnti)${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
Maggiori informazioni sugli intervalli
${interval(params.interval).begin.weekday(0).format('')}-> Ottiene il primo giorno feriale dell'inizio dell'intervallo${interval(params.interval).begin.subtract(12, 'm').format('')}-> Sottrai 12 mesi dall'inizio dell'intervallo
Valori predefiniti
Se un valore segnaposto non è definito (ad esempio manca un parametro URL richiesto), è possibile impostare un valore predefinito utilizzando l'operatore logico OR ||.
Esempi:
${param.name || 'no name given'}-> Nessun nome specificato${interval(params.interval || '2019-01')}-> 01.11.2018 - 30.11.2018 (il risultato dipende dalle impostazioni locali correnti)${params.interval || 'BETWEEN(2021,2025)'}→ 2021 - 2025 (se gli intervalli sono consentiti in un selettore di date)$(time(params.time || moment())}-> 22.01.2020 13:31
Espressioni
Nei widget grafico e tabella, i valori possono essere calcolati utilizzando espressioni.
Esempi:
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)}
-> arrotonda il risultato a 3 cifre dopo il punto decimale
Stile delle celle della tabella in base al contenuto
È possibile utilizzare i segnaposto per impostare l'attributo di classe in base al valore della cella.
Questo imposta il nome della classe CSS su negativo o positivo a seconda del valore della cella. Questo può quindi essere utilizzato nel modulo Dashboard per formattare il valore di conseguenza:


