Segnaposto
Molti campi di immissione testuale possono utilizzare i letterali di template di ES2015 per sostituire dinamicamente parti del testo con determinati valori. All’interno di tali letterali di template è possibile utilizzare segnaposto predefiniti.
Ad esempio: Hello ${params.world}
Per utilizzare un segnaposto all'interno di un URL (ad es. l'attributo href di un link nel widget di testo), utilizzare $$ per eseguire l'escape del valore nell'URL (ad es. $${property.customer_name}).
L'escape tramite $$ non è necessario nei campi di testo che di solito contengono un URL (ad es. l'HREF nella colonna del widget tabella). In quel caso l'escape viene eseguito automaticamente.
Globali
Sono disponibili i seguenti segnaposto globali:
${sessionId}${params.<urlParam>}
Questo segnaposto legge l’URL nella barra degli indirizzi del browser e cerca i parametri dell’URL, ad es. #/dashboards/details?closeOnBackgroundClick=true${now}
Visualizza la data e l’ora correnti secondo il formato personalizzato della lingua
impostata nel browser, in base a http://momentjs.com/docs/#/displaying/
, ad esempio${now.format('DD.MM.YYYY HH:mm')}${today}
Visualizza il giorno corrente secondo il formato personalizzato della lingua
impostata nel browser, come specificato su http://momentjs.com/docs/#/displaying/
, ad esempio${today.format('DD.MM.YYYY')}${filterMatrix.<column>}/${filterMatrix.<propertyId>}
Visualizza un elenco separato da virgole dei valori selezionati dalla matrice di filtro.
Ad es.${filterMatrix.department}
-> Sviluppo, Gestione${filterMatrix[76]}-> Ginevra, Zurigo
Con spazio dopo la virgola:${filterMatrix.department.replaceAll(',', ', ')}-> Sviluppo, Gestione${params.widget12345filter}
Visualizza il valore attuale del filtro della tabella con id 12345.${language},${locale},${languages}
Lingua attualmente in uso, impostazioni locali o lingue disponibili.
Oggetto / riga corrente
Se è disponibile un oggetto SKOOR (ad es. 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>}
: è possibile visualizzare l’indice dell’enumerazione della proprietà anziché il valore utilizzandoenumIndex(ad es.${object.properties.foo.enumIndex})${object.parameters.<parameterKey>}${object.values.<valueKey>}
; le chiavi dei valori sono disponibili qui
È inoltre possibile accedere alle colonne di una fonte di dati esterna:
${columns[index]}
, indice a partire da 0${columns.<columnName>}/${columns ['<columnName>']}
Parametro di intervallo
I parametri di intervallo possono essere formattati utilizzando i formati di 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
Ulteriori informazioni sugli intervalli
${interval(params.interval).begin.weekday(0).format('')}-> Ottiene il primo giorno della settimana in cui inizia l'intervallo${interval(params.interval).begin.subtract(12, 'm').format('')}-> Sottrae 12 mesi dall'inizio dell'intervallo
Valori predefiniti
Se un valore di segnaposto non è definito (ad es. manca un parametro URL obbligatorio), è 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 (l'output 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 grafici e tabellari, 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 la virgola
Stile delle celle della tabella in base al contenuto
È possibile utilizzare i segnaposto per impostare l'attributo "class" in base al valore della cella.
In questo modo il nome della classe CSS viene impostato su "negative" o "positive" a seconda del valore della cella. Ciò può poi essere utilizzato nel modulo Dashboard per formattare il valore di conseguenza:


