Class SelectionInput

Entradade seleção

Um campo de entrada que permite escolher entre um conjunto de opções predefinidas.

Compatível apenas com a validação de envio de formulário para os menus SelectionInputType.DROP_DOWN e SelectionInputType.MULTI_SELECT. Quando Action.setAllWidgetsAreRequired(allWidgetsAreRequired) é definido como true ou este widget é especificado por Action.addRequiredWidget(requiredWidget), a ação de envio é bloqueada, a menos que um valor seja selecionado.

Disponível para complementos do Google Workspace e apps do Google Chat.

const checkboxGroup =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.CHECK_BOX)
        .setTitle('A group of checkboxes. Multiple selections are allowed.')
        .setFieldName('checkbox_field')
        .addItem('checkbox one title', 'checkbox_one_value', false)
        .addItem('checkbox two title', 'checkbox_two_value', true)
        .addItem('checkbox three title', 'checkbox_three_value', true)
        .setOnChangeAction(
            CardService.newAction().setFunctionName('handleCheckboxChange'),
        );

const radioGroup =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.RADIO_BUTTON)
        .setTitle(
            'A group of radio buttons. Only a single selection is allowed.')
        .setFieldName('checkbox_field')
        .addItem('radio button one title', 'radio_one_value', true)
        .addItem('radio button two title', 'radio_two_value', false)
        .addItem('radio button three title', 'radio_three_value', false);

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
            )
        .setMultiSelectMaxSelectedItems(3)
        .setMultiSelectMinQueryLength(1);

Métodos

MétodoTipo de retornoBreve descrição
addDataSourceConfig(dataSourceConfig)SelectionInputDefine as configurações da fonte de dados para o controle de seleção.
addEventAction(eventAction)WidgetAdiciona a ação de evento que pode ser realizada no widget.
addItem(text, value, selected)SelectionInputAdiciona um novo item que pode ser selecionado.
addMultiSelectItem(text, value, selected, startIconUri, bottomText)SelectionInputAdiciona um novo item que pode ser selecionado para menus de seleção múltipla.
setExternalDataSource(action)SelectionInputDefine uma fonte de dados externa, como um banco de dados relacional.
setFieldName(fieldName)SelectionInputDefine a chave que identifica essa entrada de seleção no objeto de evento gerado quando há uma interação da interface.
setId(id)WidgetDefine o ID exclusivo atribuído que é usado para identificar o widget a ser alterado.
setMultiSelectMaxSelectedItems(maxSelectedItems)SelectionInputDefine o número máximo de itens que um usuário pode selecionar.
setMultiSelectMinQueryLength(queryLength)SelectionInputDefine o número de caracteres de texto que um usuário insere antes que o app consulte o preenchimento automático e mostre itens sugeridos no card.
setOnChangeAction(action)SelectionInputDefine um Action a ser executado sempre que a entrada de seleção mudar.
setPlatformDataSource(platformDataSource)SelectionInputDefine uma fonte de dados do Google Workspace.
setTitle(title)SelectionInputDefine o título a ser mostrado antes do campo de entrada.
setType(type)SelectionInputDefine o tipo desta entrada.
setVisibility(visibility)WidgetDefine a visibilidade do widget.

Documentação detalhada

addDataSourceConfig(dataSourceConfig)

Define as configurações da fonte de dados para o controle de seleção. Esse campo oferece um controle mais refinado sobre a fonte de dados. Esse campo é opcional.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .setDataSourceConfig(
            CardService.newDataSourceConfig().setPlatformDataSource(
                CardService.newPlatformDataSource().setCommonDataSource(
                    CardService.CommonDataSource.USER,
                )
            )
        );

Parâmetros

NomeTipoDescrição
dataSourceConfigDataSourceConfigA configuração da fonte de dados a ser aplicada à entrada de seleção.

Retornar

SelectionInput: este objeto, para encadeamento.


addEventAction(eventAction)

Adiciona a ação de evento que pode ser realizada no widget.

Parâmetros

NomeTipoDescrição
eventActionEventActionO EventAction a ser adicionado.

Retornar

Widget: o objeto para encadeamento.


addItem(text, value, selected)

Adiciona um novo item que pode ser selecionado.

Parâmetros

NomeTipoDescrição
textObjectO texto a ser mostrado para este item. Os argumentos primitivos que não são de string são convertidos automaticamente em strings.
valueObjectO valor de entrada do formulário enviado pelo callback. Argumentos primitivos que não são de string são convertidos automaticamente em strings.
selectedBooleanSe o item está selecionado por padrão. Se a entrada de seleção aceitar apenas um valor (como botões de opção ou um menu suspenso), defina esse campo para apenas um item.

Retornar

SelectionInput: este objeto, para encadeamento.


addMultiSelectItem(text, value, selected, startIconUri, bottomText)

Adiciona um novo item que pode ser selecionado para menus de seleção múltipla.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

Parâmetros

NomeTipoDescrição
textObjectO texto a ser mostrado para este item. Os argumentos primitivos que não são de string são convertidos automaticamente em strings.
valueObjectO valor de entrada do formulário enviado pelo callback. Argumentos primitivos que não são de string são convertidos automaticamente em strings.
selectedBooleanSe o item está selecionado por padrão. Se a entrada de seleção aceitar apenas um valor (como botões de opção ou um menu suspenso), defina esse campo para apenas um item.
startIconUriObjectPara menus de seleção múltipla, o URL do ícone exibido ao lado do campo de texto do item. Compatível com arquivos PNG e JPEG.
bottomTextObjectPara menus de seleção múltipla, uma descrição ou um rótulo de texto exibido abaixo do campo de texto do item.

Retornar

SelectionInput: este objeto, para encadeamento.


setExternalDataSource(action)

Define uma fonte de dados externa, como um banco de dados relacional.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .setMultiSelectMaxSelectedItems(5)
        .setMultiSelectMinQueryLength(2)
        .setExternalDataSource(
            CardService.newAction().setFunctionName('getContacts'),
        );

Parâmetros

NomeTipoDescrição
actionActionA fonte de dados externa.

Retornar

SelectionInput: este objeto, para encadeamento.


setFieldName(fieldName)

Define a chave que identifica essa entrada de seleção no objeto de evento gerado quando há uma interação da interface. Não visível para o usuário. Obrigatório e precisa ser exclusivo.

Parâmetros

NomeTipoDescrição
fieldNameStringO nome a ser atribuído a essa entrada.

Retornar

SelectionInput: este objeto, para encadeamento.


setId(id)

Define o ID exclusivo atribuído que é usado para identificar o widget a ser alterado. A mutação de widget só é compatível com complementos.

Parâmetros

NomeTipoDescrição
idStringO ID do widget, com um limite de 64 caracteres e no formato `[a-zA-Z0-9-]+`.

Retornar

Widget: este objeto, para encadeamento.


setMultiSelectMaxSelectedItems(maxSelectedItems)

Define o número máximo de itens que um usuário pode selecionar.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .setMultiSelectMaxSelectedItems(3)
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

Parâmetros

NomeTipoDescrição
maxSelectedItemsIntegerO número máximo de itens.

Retornar

SelectionInput: este objeto, para encadeamento.


setMultiSelectMinQueryLength(queryLength)

Define o número de caracteres de texto que um usuário insere antes que o app consulte o preenchimento automático e mostre itens sugeridos no card.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .setMultiSelectMinQueryLength(1)
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

Parâmetros

NomeTipoDescrição
queryLengthIntegerO número de caracteres de texto.

Retornar

SelectionInput: este objeto, para encadeamento.


setOnChangeAction(action)

Define um Action a ser executado sempre que a entrada de seleção mudar.

Parâmetros

NomeTipoDescrição
actionActionA ação a ser tomada.

Retornar

SelectionInput: este objeto, para encadeamento.


setPlatformDataSource(platformDataSource)

Define uma fonte de dados do Google Workspace. Usado para preencher itens em um menu de seleção múltipla.

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .setPlatformDataSource(
            CardService.newPlatformDataSource().setCommonDataSource(
                CardService.CommonDataSource.USER,
                ),
        );
Disponível apenas para apps do Google Chat. Não disponível para complementos do Google Workspace.

Parâmetros

NomeTipoDescrição
platformDataSourcePlatformDataSourceA fonte de dados.

Retornar

SelectionInput: este objeto, para encadeamento.


setTitle(title)

Define o título a ser mostrado antes do campo de entrada.

Parâmetros

NomeTipoDescrição
titleStringO título do campo de entrada.

Retornar

SelectionInput: este objeto, para encadeamento.


setType(type)

Define o tipo desta entrada. O valor padrão é CHECKBOX.

Parâmetros

NomeTipoDescrição
typeSelectionInputTypeO tipo de seleção.

Retornar

SelectionInput: este objeto, para encadeamento.


setVisibility(visibility)

Define a visibilidade do widget. O valor padrão é "VISIBLE".

Parâmetros

NomeTipoDescrição
visibilityVisibilityO Visibility do widget.

Retornar

Widget: o objeto para encadeamento.