Skip to content

enterstudio/apps-script-dialog2sidebar

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dialog to Sidebar Communication in Apps Script

This script demonstrates a method of setting up a communication channel between a dialog and a sidebar in Apps Script. This helps solve the common problem of having your sidebar know when a dialog is opened, is submitted, closed, etc.

With the introduction of the IFRAME sandbox mode, HtmlService UIs can take advantage of the HTML5 localStorage API. The open source library intercom.js builds a messaging system on top of this API, allowing for dialogs and sidebars in the same browser to communicate with each other.

An overview of the process is as follows:

  • The sidebar requests a new dialog to be opened.
  • The backend generates a new ID for the dialog, opens the dialog (passing in that ID as a template parameter), and sends the ID back to the sidebar.
  • The sidebar listens for events on the dialog's intercom.js channel.
  • The dialog regularly "checks in" with the sidebar, resetting a timer.
  • When the user completes the dialog (by clicking either the "OK" or "Cancel" button) it sends this status change to the sidebar.
  • If the sidebar's timer actually fires, that means the dialog hasn't checked in recently, and it is considered "lost".

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 87.7%
  • JavaScript 12.3%