Class SelectionInput

SelectionInput

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

Disponível nos complementos do Google Workspace e nos 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 em 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 esta entrada de seleção no objeto de evento que é gerado quando há uma interação de 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 as consultas do aplicativo serem preenchidas automaticamente e exibe os itens sugeridos no cartão.
setOnChangeAction(action)SelectionInputDefine um Action a ser executado sempre que a entrada da 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.

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 este item. Argumentos primitivos sem string são convertidos em strings automaticamente.
valueObjectO valor de entrada do formulário enviado por meio do callback. Argumentos primitivos sem string são convertidos em strings automaticamente.
selectedBooleanIndica se o item está selecionado por padrão. Se a entrada de seleção só aceitar 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 em 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. Argumentos primitivos sem string são convertidos em strings automaticamente.
valueObjectO valor de entrada do formulário enviado por meio do callback. Argumentos primitivos sem string são convertidos em strings automaticamente.
selectedBooleanIndica se o item está selecionado por padrão. Se a entrada de seleção só aceitar 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 atributo campo de texto. Compatível com arquivos PNG e JPEG.
bottomTextObjectPara menus de seleção múltipla, um rótulo ou descrição de texto que é 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 esta entrada de seleção no objeto de evento que é gerado quando há uma interação de 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 a esta 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 insere antes de as consultas do aplicativo serem preenchidas automaticamente e exibe os 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.

Retornar

SelectionInput: este objeto, para encadeamento.


setOnChangeAction(action)

Define um Action a ser executado sempre que a entrada da 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 nos 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.