Class SelectionInput

SelectionInput

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

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

var 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"));

var 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 seleção múltipla.
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 insere antes de o app consultar o preenchimento automático e exibe itens sugeridos no cartão.
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 que será exibido 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
textObjectTexto a ser mostrado para esse item. Argumentos primitivos que não são de string são convertidos em strings automaticamente.
valueObjectO valor de entrada do formulário que é enviado pelo callback. Argumentos primitivos que não são de string são convertidos em strings automaticamente.
selectedBooleanIndica se 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.

Retorno

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
textObjectTexto a ser mostrado para esse item. Argumentos primitivos que não são de string são convertidos em strings automaticamente.
valueObjectO valor de entrada do formulário que é enviado pelo callback. Argumentos primitivos que não são de string são convertidos em strings automaticamente.
selectedBooleanIndica se 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 seleção múltipla, o URL do ícone exibido ao lado do campo de texto do item. Oferece suporte a arquivos PNG e JPEG.
bottomTextObjectPara menus de seleção múltipla, uma descrição ou rótulo de texto que é exibido abaixo do campo de texto do item.

Retorno

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.

Retorno

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 está visível para o usuário. Obrigatório. Precisa ser exclusivo.

Parâmetros

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

Retorno

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
maxSelectedItemsIntegerNúmero máximo de itens.

Retorno

SelectionInput: este objeto para encadeamento.


setMultiSelectMinQueryLength(queryLength)

Define o número de caracteres de texto que um usuário insere antes de o app consultar o preenchimento automático e exibe itens sugeridos no cartão.

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.

Retorno

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.

Retorno

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. Indisponível para complementos do Google Workspace.

Parâmetros

NomeTipoDescrição
platformDataSourcePlatformDataSourceA fonte de dados.

Retorno

SelectionInput: este objeto para encadeamento.


setTitle(title)

Define o título que será exibido antes do campo de entrada.

Parâmetros

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

Retorno

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.

Retorno

SelectionInput: este objeto para encadeamento.