Class Action

Действие

Действие, которое обеспечивает интерактивность элементов пользовательского интерфейса. Действие не происходит непосредственно на клиенте, а вызывает функцию обратного вызова Apps Script с дополнительными параметрами.

Доступно для дополнений Google Workspace и приложений Google Chat.

var image = CardService.newImage()
    .setOnClickAction(CardService.newAction()
        .setFunctionName("handleImageClick")
        .setParameters({imageSrc: 'carImage'}));

Методы

Метод Тип возврата Краткое описание
addRequiredWidget(requiredWidget) Action Добавляет имена виджетов, которые необходимы этому действию для допустимой отправки.
setAllWidgetsAreRequired(allWidgetsAreRequired) Action Указывает, требует ли это действие входных данных от всех виджетов.
setFunctionName(functionName) Action Устанавливает имя вызываемой функции обратного вызова.
setInteraction(interaction) Action Устанавливает взаимодействие с пользователем, необходимое только при открытии диалога.
setLoadIndicator(loadIndicator) Action Устанавливает индикатор загрузки, который отображается во время выполнения действия.
setParameters(parameters) Action Позволяет передавать пользовательские параметры в функцию обратного вызова.
setPersistValues(persistValues) Action Указывает, определяются ли значения формы значениями клиента или значениями сервера после того, как ответ на действие обновляет Card .

Подробная документация

addRequiredWidget(requiredWidget)

Добавляет имена виджетов, которые необходимы этому действию для допустимой отправки. Если виджеты в этом списке не имеют значения при вызове этого действия, отправка формы прерывается.

Доступно только для приложений Google Chat. Недоступно для дополнений Google Workspace.

var textInput = CardService.newTextInput()
    .setFieldName("text_input_1")
    .setTitle("Text input title")

// Creates a footer button that requires an input from the above TextInput Widget.
var action = CardService.newAction()
    .setFunctionName("notificationCallback")
    .addRequiredWidget("text_input_1");
var fixedFooter =
      CardService
          .newFixedFooter()
          .setPrimaryButton(
              CardService
                  .newTextButton()
                  .setText("help")
                  .setOnClickAction(action));

Параметры

Имя Тип Описание
requiredWidget String Имя виджета, требуемого для этого действия.

Возвращаться

Action — Этот объект для цепочки.


setAllWidgetsAreRequired(allWidgetsAreRequired)

Указывает, требует ли это действие входных данных от всех виджетов.

Доступно только для приложений Google Chat. Недоступно для дополнений Google Workspace.

// Creates a button with an action that requires inputs from all widgets.
const button = CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(
        CardService.newAction()
            .setAllWidgetsAreRequired(true));

Параметры

Имя Тип Описание
allWidgetsAreRequired Boolean Требует ли действие входных данных от всех виджетов. По умолчанию установлено значение false .

Возвращаться

Action — Этот объект для цепочки.


setFunctionName(functionName)

Устанавливает имя вызываемой функции обратного вызова. Необходимый.

Параметры

Имя Тип Описание
functionName String Имя функции. Вы можете использовать функции из включенных библиотек, например Library.libFunction1 .

Возвращаться

Action — Этот объект для цепочки.


setInteraction(interaction)

Устанавливает взаимодействие с пользователем, необходимое только при открытии диалога. Если не указано, приложение отвечает, выполняя Action , например открытие ссылки или запуск функции — как обычно.

Доступно только для приложений Google Chat. Недоступно для дополнений Google Workspace.

const action = CardService.newAction()
    .setFunctionName('handleDialog')
    .setInteraction(CardService.Interaction.OPEN_DIALOG);

Параметры

Имя Тип Описание
interaction Interaction Взаимодействие, которое необходимо указать.

Возвращаться

Action — Этот объект для цепочки.


setLoadIndicator(loadIndicator)

Устанавливает индикатор загрузки, который отображается во время выполнения действия.

Параметры

Имя Тип Описание
loadIndicator LoadIndicator Индикатор для отображения.

Возвращаться

Action — Этот объект для цепочки.


setParameters(parameters)

Позволяет передавать пользовательские параметры в функцию обратного вызова. Необязательный.

Параметры

Имя Тип Описание
parameters Object И ключи, и значения должны быть строками.

Возвращаться

Action — Этот объект для цепочки.


setPersistValues(persistValues)

Указывает, определяются ли значения формы значениями клиента или значениями сервера после того, как ответ на действие обновляет Card . Если установлено значение true , значения клиента сохраняются после ответа сервера. Если установлено значение false , значения сервера перезаписывают значения формы. По умолчанию установлено значение false .

Сохранение значений клиента помогает предотвратить ситуации, когда форма неожиданно изменяется после внесения пользователем изменений. Например, если пользователь вносит изменения в TextInput после отправки формы, но до того, как сервер ответит. Если значения сохраняются, изменения, внесенные пользователем, сохраняются после того, как ответ сервера обновит Card ; в противном случае значение формы возвращается к значению, которое пользователь первоначально отправил в форму.

Сохраняющиеся значения клиента могут помешать вашему сценарию очищать поля формы или переопределять значения формы, поэтому не включайте сохранение для такого типа функций. Без сохранения рекомендуется использовать LoadIndicator.SPINNER для событий, поскольку это блокирует пользовательский интерфейс и предотвращает редактирование пользователем до того, как сервер ответит. Альтернативно вы можете использовать LoadIndicator.NONE и убедиться, что каждый элемент формы имеет действие onChange.

// Creates a button with an action that persists the client's values as the on-click action.
const button = CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(
        CardService.newAction()
            .setPersistValues(true)
            .setFunctionName('functionName'));

Параметры

Имя Тип Описание
persistValues Boolean Сохранять ли ценности. По умолчанию установлено значение false .

Возвращаться

Action — Этот объект для цепочки.

Устаревшие методы