Per la maggior parte dei componenti aggiuntivi Editor, le finestre di dialogo e i riquadri della barra laterale sono le interfacce utente principali dei componenti aggiuntivi. Entrambi sono completamente personalizzabili utilizzando HTML e CSS standard e puoi utilizzare il modello di comunicazione client-server di Apps Script per eseguire le funzioni di Apps Script quando l'utente interagisce con la barra laterale o la finestra di dialogo. Il componente aggiuntivo può definire più barre laterali e finestre di dialogo, ma può visualizzarne solo una alla volta.
Se vuoi impedire all'utente di interagire con l'editor finché non effettua una scelta nell'interfaccia del componente aggiuntivo, utilizza una finestra di dialogo; altrimenti utilizza una barra laterale.
Finestre di dialogo
Le finestre di dialogo sono pannelli della finestra che si sovrappongono ai contenuti principali dell'editor. Le finestre di dialogo di Apps Script sono modali; mentre sono aperte, l'utente non può interagire con gli altri elementi dell'interfaccia dell'editor. Puoi personalizzare i contenuti e le dimensioni delle finestre di dialogo.
Le finestre di dialogo dei componenti aggiuntivi vengono create nello stesso modo delle finestre di dialogo personalizzate di Apps Script. La procedura generale consigliata è la seguente:
- Crea un file di progetto script che definisca la struttura HTML, il CSS e il comportamento JavaScript lato client della finestra di dialogo. Quando definisci la finestra di dialogo, fai riferimento alle linee guida di stile del componente aggiuntivo Editor.
- Nel codice lato server in cui vuoi che si apra la finestra di dialogo, chiama
HtmlService.createHtmlOutputFromFile(filename)
per creare un oggettoHtmlOutput
che rappresenta la finestra di dialogo. In alternativa, se utilizzi HTML basato su modelli, puoi chiamareHtmlService.createTemplateFromFile(filename)
per generare un modello e poiHtmlTemplate.evaluate()
per convertirlo in un oggettoHtmlOutput
. - Chiama
Ui.showModalDialog(htmlOutput, dialogTitle)
per visualizzare la finestra di dialogo utilizzandoHtmlOutput
.
Le finestre di dialogo non sospendono lo script lato server mentre sono aperte. Il
codice JavaScript lato client può effettuare chiamate asincrone al lato server
utilizzando google.script.run()
e
le funzioni di gestione associate. Per maggiori dettagli, vedi
Comunicazione client-server.
Finestre di dialogo di apertura file
Le finestre di dialogo di apertura dei file sono finestre di dialogo predefinite che consentono agli utenti di selezionare i file da Google Drive. Puoi aggiungere una finestra di dialogo di apertura file al tuo componente aggiuntivo senza doverla progettare, ma richiede una configurazione aggiuntiva. Devi anche accedere al progetto Google Cloud del componente aggiuntivo per abilitare l'API Google Picker.
Per tutti i dettagli, vedi Finestre di dialogo di apertura dei file.
Barre laterali
Le barre laterali sono riquadri che vengono visualizzati a destra dell'interfaccia dell'editor e sono il tipo più comune di interfaccia dei componenti aggiuntivi. A differenza delle finestre di dialogo, puoi continuare a interagire con gli altri elementi dell'interfaccia dell'editor mentre una barra laterale è aperta. Le barre laterali hanno una larghezza fissa, ma puoi personalizzarne il contenuto.
Le barre laterali dei componenti aggiuntivi vengono create nello stesso modo delle barre laterali personalizzate di Apps Script. La procedura generale consigliata è la seguente:
- Crea un file di progetto script che definisca la struttura HTML, il CSS e il comportamento JavaScript lato client della barra laterale. Quando definisci la barra laterale, fai riferimento alle linee guida di stile per i componenti aggiuntivi dell'editor.
Nel codice lato server in cui vuoi che si apra la barra laterale, chiama
HtmlService.createHtmlOutputFromFile(filename)
per creare un oggettoHtmlOutput
che rappresenta la barra laterale. In alternativa, se utilizzi HTML basato su modelli, puoi chiamareHtmlService.createTemplateFromFile(filename)
per generare un modello e poiHtmlTemplate.evaluate()
per convertirlo in un oggettoHtmlOutput
.Chiama
Ui.showSidebar(htmlOutput)
per visualizzare la barra laterale utilizzandoHtmlOutput
.
Le barre laterali non sospendono lo script lato server mentre sono aperte. Il
codice JavaScript lato client può effettuare chiamate asincrone al lato server
utilizzando google.script.run()
e
le funzioni di gestione associate. Per maggiori dettagli, vedi
Comunicazione client-server.