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

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

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

对话框

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

您可以使用与构建 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() 和关联的处理函数对服务器端进行异步调用。如需了解详情,请参阅客户端与服务器之间的通信