Class SelectionInput

SelectionInput

Es un campo de entrada que permite elegir entre un conjunto de opciones predefinidas.

Está disponible para los complementos de Google Workspace y las apps de 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 datos que se muestraDescripción breve
addItem(text, value, selected)SelectionInputAgrega un nuevo elemento que se puede seleccionar.
addMultiSelectItem(text, value, selected, startIconUri, bottomText)SelectionInputAgrega un elemento nuevo que se puede seleccionar para menús de selección múltiple.
setExternalDataSource(action)SelectionInputEstablece una fuente de datos externa, como una base de datos relacional.
setFieldName(fieldName)SelectionInputEstablece la clave que identifica esta entrada de selección en el objeto de evento que se genera cuando hay una interacción de la IU.
setMultiSelectMaxSelectedItems(maxSelectedItems)SelectionInputEstablece la cantidad máxima de elementos que puede seleccionar un usuario.
setMultiSelectMinQueryLength(queryLength)SelectionInputEstablece la cantidad de caracteres de texto que un usuario ingresa antes de que la app consulte automáticamente muestra elementos sugeridos en la tarjeta.
setOnChangeAction(action)SelectionInputConfigura una Action para que se realice cada vez que cambie la entrada de selección.
setPlatformDataSource(platformDataSource)SelectionInputEstablece una fuente de datos de Google Workspace.
setTitle(title)SelectionInputEstablece que el título se muestre antes del campo de entrada.
setType(type)SelectionInputEstablece el tipo de esta entrada.

Documentación detallada

addItem(text, value, selected)

Agrega un nuevo elemento que se puede seleccionar.

Parámetros

NombreTipoDescripción
textObjectEs el texto que se mostrará para este elemento. Los argumentos primitivos que no son cadenas se convierten en automáticamente.
valueObjectEs el valor de entrada del formulario que se envía a través de la devolución de llamada. Argumentos primitivos que no son cadenas se convierten en cadenas automáticamente.
selectedBooleanIndica si el elemento está seleccionado de forma predeterminada. Si la entrada de selección solo acepta un valor (como para los botones de selección o un menú desplegable), establece este campo solo para un elemento.

Volver

SelectionInput: Este objeto para el encadenamiento.


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

Agrega un elemento nuevo que se puede seleccionar para menús de selección múltiple.

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

NombreTipoDescripción
textObjectEs el texto que se mostrará para este elemento. Los argumentos primitivos que no son cadenas se convierten en automáticamente.
valueObjectEs el valor de entrada del formulario que se envía a través de la devolución de llamada. Argumentos primitivos que no son cadenas se convierten en cadenas automáticamente.
selectedBooleanIndica si el elemento está seleccionado de forma predeterminada. Si la entrada de selección solo acepta un valor (como para los botones de selección o un menú desplegable), establece este campo solo para un elemento.
startIconUriObjectEn el caso de los menús de selección múltiple, la URL del icono aparece junto al nombre del elemento campo de texto. Admite archivos PNG y JPEG.
bottomTextObjectEn el caso de los menús de selección múltiple, una descripción de texto o etiqueta que se muestra debajo del campo de texto del elemento.

Volver

SelectionInput: Este objeto para el encadenamiento.


setExternalDataSource(action)

Establece una fuente de datos externa, como una base de datos 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

NombreTipoDescripción
actionActionLa fuente de datos externa.

Volver

SelectionInput: Este objeto para el encadenamiento.


setFieldName(fieldName)

Establece la clave que identifica esta entrada de selección en el objeto de evento que se genera cuando hay una interacción de la IU. No es visible para el usuario. Obligatorio, debe ser único.

Parámetros

NombreTipoDescripción
fieldNameStringEs el nombre que se asignará a esta entrada.

Volver

SelectionInput: Este objeto para el encadenamiento.


setMultiSelectMaxSelectedItems(maxSelectedItems)

Establece la cantidad máxima de elementos que puede seleccionar un usuario.

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

NombreTipoDescripción
maxSelectedItemsIntegerEs la cantidad máxima de elementos.

Volver

SelectionInput: Este objeto para el encadenamiento.


setMultiSelectMinQueryLength(queryLength)

Establece la cantidad de caracteres de texto que un usuario ingresa antes de que la app consulte automáticamente muestra elementos sugeridos en la tarjeta.

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

NombreTipoDescripción
queryLengthIntegerLa cantidad de caracteres de texto.

Volver

SelectionInput: Este objeto para el encadenamiento.


setOnChangeAction(action)

Configura una Action para que se realice cada vez que cambie la entrada de selección.

Parámetros

NombreTipoDescripción
actionActionLa acción por realizar.

Volver

SelectionInput: Este objeto para el encadenamiento.


setPlatformDataSource(platformDataSource)

Establece una fuente de datos de Google Workspace. Se usa para propagar elementos en un menú de selección múltiple.

const multiSelect = CardService.newSelectionInput()
    .setType(CardService.SelectionInputType.MULTI_SELECT)
    .setFieldName("contacts")
    .setTitle("Selected contacts")
    .setPlatformDataSource(
       CardService.newPlatformDataSource()
         .setCommonDataSource(CardService.CommonDataSource.USER));
Solo está disponible para las apps de Google Chat. No está disponible para los complementos de Google Workspace.

Parámetros

NombreTipoDescripción
platformDataSourcePlatformDataSourceEs la fuente de datos.

Volver

SelectionInput: Este objeto para el encadenamiento.


setTitle(title)

Establece que el título se muestre antes del campo de entrada.

Parámetros

NombreTipoDescripción
titleStringEl título del campo de entrada.

Volver

SelectionInput: Este objeto para el encadenamiento.


setType(type)

Establece el tipo de esta entrada. La configuración predeterminada es CHECKBOX.

Parámetros

NombreTipoDescripción
typeSelectionInputTypeEl tipo de selección.

Volver

SelectionInput: Este objeto para el encadenamiento.