Class Action

Действие

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

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

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

Методы

Метод Тип возврата Краткое описание
add Required Widget(requiredWidget) Action Добавляет имена виджетов, которые необходимы этому действию для допустимой отправки.
set All Widgets Are Required(allWidgetsAreRequired) Action Указывает, требует ли это действие входных данных от всех виджетов.
set Function Name(functionName) Action Устанавливает имя вызываемой функции обратного вызова.
set Interaction(interaction) Action Устанавливает взаимодействие с пользователем, необходимое только при открытии диалога.
set Load Indicator(loadIndicator) Action Устанавливает индикатор загрузки, который отображается во время выполнения действия.
set Parameters(parameters) Action Позволяет передавать пользовательские параметры в функцию обратного вызова.
set Persist Values(persistValues) Action Указывает, определяются ли значения формы значениями клиента или значениями сервера после того, как ответ на действие обновляет Card .

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

add Required Widget(requiredWidget)

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

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

const textInput = CardService.newTextInput()
                      .setFieldName('text_input_1')
                      .setTitle('Text input title');

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

Параметры

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

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

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


set All Widgets Are Required(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));

Параметры

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

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

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


set Function Name(functionName)

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

Параметры

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

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

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


set Interaction(interaction)

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

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

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

Параметры

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

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

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


set Load Indicator(loadIndicator)

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

Параметры

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

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

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


set Parameters(parameters)

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

Параметры

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

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

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


set Persist Values(persistValues)

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

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

Сохраняющиеся значения клиента могут помешать вашему сценарию очищать поля формы или переопределять значения формы, поэтому не включайте сохранение для такого типа функций. Без сохранения рекомендуется использовать Load Indicator.SPINNER для событий, поскольку это блокирует пользовательский интерфейс и предотвращает редактирование пользователем до того, как сервер ответит. Альтернативно вы можете использовать Load Indicator.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'),
        );

Параметры

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

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

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

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