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 формы в ответ на действие.

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

addRequiredWidget(requiredWidget)

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

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

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 — Этот объект используется для создания цепочек.


setAllWidgetsAreRequired(allWidgetsAreRequired)

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

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

// 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 — Этот объект используется для создания цепочек.


setFunctionName(functionName)

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

Параметры

Имя Тип Описание
function Name 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)

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

Параметры

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

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

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'),
        );

Параметры

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

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

Action — Этот объект используется для создания цепочек.

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