Segnaposto
Molti campi di immissione di testo possono utilizzare i letterali template di ES2015 per sostituire dinamicamente parti del testo con determinati valori. All’interno di tali letterali 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 codificare il valore in formato URL (ad es. $${property.customer_name}).
L'escape tramite $$ non è necessario nei campi di testo che di solito contengono un URL (ad es. 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, come specificato su http://momentjs.com/docs/#/displaying/
, ad esempio${now.format('DD.MM.YYYY HH:mm')}${today}
Stampa 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}
Stampa il valore di filtro corrente 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 stampare l'indice dell'enumerazione della proprietà al posto del 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 dati esterna:
${columns[index]}
indice a partire da 0${columns.<columnName>}/${columns ['<columnName>']}
Parametro Interval
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 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 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 nel selettore di date sono consentiti intervalli)$(time(params.time || moment())}-> 22.01.2020 13:31
Espressioni
Nei widget grafico e tabella, i valori possono essere calcolati utilizzando delle 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ò quindi essere utilizzato nel modulo Dashboard per formattare il valore di conseguenza:


