Salta ai contenuti

Aggiungi uno script a un modulo

Uno script aggiunge al modulo comportamenti automatici durante la compilazione: per esempio, riempie alcuni campi all’apertura, come i dati della sede, oppure aggiorna un campo quando chi compila ne modifica un altro.

Lo script si scrive in JavaScript, nel modulo stesso, con l’editor semplificato o con quello avanzato. Scriverlo richiede conoscenze tecniche del linguaggio.

  • Nell’editor semplificato, clicca l’icona Configurazione (un ingranaggio) e apri la scheda Script. La scheda elenca anche gli id dei campi del modulo.
  • Nell’editor avanzato, seleziona l’elemento Modulo, il primo della scheda Albero, e nel pannello delle proprietà apri la sezione Input: lo script si scrive nel campo Event Map.
  1. Per eseguire del codice all’apertura del modulo, scrivi una funzione onInit.
  2. Per reagire a un evento di un campo, scrivi una funzione che si chiama come l’id del campo seguito da On e dal nome dell’evento: testo_1OnChange viene eseguita quando cambia il valore del campo testo_1.
  3. Le funzioni con un nome diverso sono funzioni di appoggio: si richiamano dalle altre con this. davanti al nome, per esempio this.calcola().

L’id di un campo si vede e si cambia così:

  • nell’editor semplificato, con l’azione Identità campo (l’ingranaggio accanto al campo), nel campo Widget Id;
  • nell’editor avanzato, nella proprietà ID univoco del componente.

Ogni id è diverso da quello di ogni altro campo del modulo. Nell’editor semplificato contiene solo lettere, numeri e trattini bassi, e non comincia con un numero.

Questo script, preso dal Registro presenze del corso, passa all’intestazione il progetto e la sede dell’elemento da cui il modulo è stato aperto:

function onInit(event) {
const context = this.runtime.context || {};
const header = this.getWidget('form-header');
if (header) {
header.project_id = context.project_id;
header.office_id = context.office_id;
}
}
Nel codiceCosa contiene
this.rootil modulo
this.getWidget(id)il campo o componente con quell’id
this.runtime.contextl’elemento da cui il modulo è stato aperto: entity_id, entity_type, project_id, project_country, office_id, office_country, unit_id, unit_country
this.runtime.targetil punto di lancio da cui il modulo è stato aperto
this.nomeFunzione()una funzione di appoggio scritta nello script

Un modulo aperto dal file system non parte da un elemento, quindi il contesto può essere incompleto. Se una funzione contiene un errore, il modulo si apre comunque e l’errore compare nella console del browser.

Questo sito è protetto da reCAPTCHA e si applicano le Norme sulla privacy e i Termini di servizio di Google.