编辑器插件的对话框和边栏

对于大多数编辑器插件,对话框窗口和边栏面板是主要的插件界面。这两者都可以使用标准 HTML 和 CSS 进行完全自定义,并且您可以使用 Apps 脚本的客户端-服务器通信模型,在用户与边栏或对话框互动时运行 Apps 脚本函数。您的插件可以定义多个边栏和对话框,但一次只能显示一个。

如果您希望在用户在插件界面中做出选择之前阻止他们与编辑器互动,请使用对话框;否则,请使用边栏。

对话框

对话框是叠加在主要编辑器内容上的窗口面板。Apps Script 对话框是模态对话框;在对话框打开时,用户无法与编辑器界面的其他元素互动。您可以自定义对话框的内容和大小。

构建插件对话框的方式与构建 Apps 脚本自定义对话框的方式相同;建议的一般流程如下:

  1. 创建一个脚本项目文件,用于定义对话框的 HTML 结构、CSS 和客户端 JavaScript 行为。定义对话框时,请参阅编辑器插件样式准则
  2. 在您希望打开对话框的服务器端代码中,调用 HtmlService.createHtmlOutputFromFile(filename) 以创建表示对话框的 HtmlOutput 对象。或者,如果您使用的是模板化 HTML,则可以调用 HtmlService.createTemplateFromFile(filename) 生成模板,然后调用 HtmlTemplate.evaluate() 将其转换为 HtmlOutput 对象。
  3. 调用 Ui.showModalDialog(htmlOutput, dialogTitle) 以使用该 HtmlOutput 显示对话框。

对话框在打开期间不会暂停服务器端脚本。客户端 JavaScript 可以使用 google.script.run() 和关联的处理程序函数向服务器端发出异步调用。如需了解详情,请参阅客户端到服务器通信

文件打开对话框

文件打开对话框是预构建的对话框,可让用户从 Google 云端硬盘中选择文件。您可以向插件添加文件打开对话框,而无需自行设计,但需要进行一些额外的配置。您还需要有权访问该插件的 Cloud Platform 项目,才能启用 Google Picker API。

如需了解完整详情,请参阅文件打开对话框

边栏是显示在编辑器界面右侧的面板,是最常见的插件界面类型。与对话框不同,在边栏打开时,您可以继续与编辑器界面的其他元素互动。边栏的宽度是固定的,但您可以自定义其内容。

您可以像构建 Apps 脚本自定义边栏一样构建插件边栏;建议的一般流程如下:

  1. 创建一个脚本项目文件,用于定义边栏的 HTML 结构、CSS 和客户端 JavaScript 行为。在定义边栏时,请参阅编辑器插件样式准则
  2. 在您希望打开边栏的服务器端代码中,调用 HtmlService.createHtmlOutputFromFile(filename) 以创建表示边栏的 HtmlOutput 对象。或者,如果您使用的是模板化 HTML,则可以调用 HtmlService.createTemplateFromFile(filename) 生成模板,然后调用 HtmlTemplate.evaluate() 将其转换为 HtmlOutput 对象。

  3. 调用 Ui.showSidebar(htmlOutput) 以使用该 HtmlOutput 显示边栏。

边栏在打开时不会暂停服务器端脚本。客户端 JavaScript 可以使用 google.script.run() 和关联的处理程序函数向服务器端发出异步调用。如需了解详情,请参阅客户端到服务器通信