Class SelectionInput

Entrada de seleção

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

Disponível para os apps do Google Workspace Add-ons e 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
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 várias seleções.
setExternalDataSource(action)SelectionInputDefine a 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 com a interface.
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 digita antes que o app consulte o preenchimento automático e mostre os itens sugeridos no card.
setOnChangeAction(action)SelectionInputDefine uma Action para ser executada sempre que a entrada de seleção mudar.
setPlatformDataSource(platformDataSource)SelectionInputDefine uma fonte de dados do Google Workspace.
setTitle(title)SelectionInputDefine o título que será mostrado antes do campo de entrada.
setType(type)SelectionInputDefine o tipo dessa entrada.

Documentação detalhada

addItem(text, value, selected)

Adiciona um novo item que pode ser selecionado.

Parâmetros

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

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

Retornar

SelectionInput: este objeto, para encadeamento.


setExternalDataSource(action)

Define a 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 com a interface. Não aparece para o usuário. Obrigatório, precisa ser único.

Parâmetros

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

Retornar

SelectionInput: 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 digita antes que o app consulte o preenchimento automático e mostre os 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 uma Action para ser executada 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 múltipla seleção.

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 que 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 dessa entrada. O valor padrão é CHECKBOX.

Parâmetros

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

Retornar

SelectionInput: este objeto, para encadeamento.