Class TextInput

TextInput

A input field widget that accepts text input.

Available for Google Workspace Add-ons and Google Chat apps.

var textInput = CardService.newTextInput()
    .setFieldName("text_input_form_input_key")
    .setTitle("Text input title")
    .setHint("Text input hint");

Methods

Method Return type Brief description
TextInput Sets the key that identifies this text input in the event object that is generated when there is a UI interaction.
TextInput Sets a hint for the text input.
TextInput Sets whether the input text shows on one line or multiple lines.
TextInput Sets an action to be performed whenever the text input changes.
TextInput Sets the suggestions for autocompletion in the text field.
TextInput Sets the callback action to fetch suggestions based on user input for autocompletion.
TextInput Sets the title to be shown above the input field.
TextInput Sets the pre-filled value to be set in the input field.

Detailed documentation

setFieldName(fieldName)

Sets the key that identifies this text input in the event object that is generated when there is a UI interaction. Not visible to the user. Required, must be unique.

Parameters

Name Type Description
fieldName
String The key that is used to identify this input.

Return

TextInput — This object, for chaining.


setHint(hint)

Sets a hint for the text input. Used to give the user extra guidance on what to input. For example, a hint could describe formatting ("xxx-xxx-xxxx") for a phone number field.

Parameters

Name Type Description
hint
String The text hint to display below the input field. This text is always visible.

Return

TextInput — This object, for chaining.


setMultiline(multiline)

Sets whether the input text shows on one line or multiple lines.

Parameters

Name Type Description
multiline
Boolean The multiline setting.

Return

TextInput — This object, for chaining.


setOnChangeAction(action)

Sets an action to be performed whenever the text input changes.

Parameters

Name Type Description
action
Action The action to take.

Return

TextInput — This object, for chaining.


setSuggestions(suggestions)

Sets the suggestions for autocompletion in the text field.

Parameters

Name Type Description
suggestions
Suggestions The collection of suggestions to use.

Return

TextInput — This object, for chaining.


setSuggestionsAction(suggestionsAction)

Sets the callback action to fetch suggestions based on user input for autocompletion. The Action parameter must specify a callback function that returns a SuggestionsResponse object.

var action = CardService.newAction()
    .setFunctionName('suggestionCallback')
    .setParameters({'numSuggestions': 3});

CardService.newTextInput()
    .setFieldName('option-field')
    .setTitle('Option Selected')
    .setSuggestionsAction(action);

// ...

function suggestionCallback(e) {
  var suggestions = CardService.newSuggestions();
  var numSuggestions = parseInt(e.parameter['numSuggestions']);
  for(var i = 1; i <= numSuggestions; i++) {
    suggestions.addSuggestion('Suggestion ' + i);
  }
  return CardService.newSuggestionsResponseBuilder()
      .setSuggestions(suggestions)
      .build();
}

Parameters

Name Type Description
suggestionsAction
Action The action that fetches suggestions for this input.

Return

TextInput — This object, for chaining.


setTitle(title)

Sets the title to be shown above the input field. Required.

Parameters

Name Type Description
title
String The text label for this input.

Return

TextInput — This object, for chaining.


setValue(value)

Sets the pre-filled value to be set in the input field.

Parameters

Name Type Description
value
String The default value placed in the input. It is always represented as a string in the form callback parameters.

Return

TextInput — This object, for chaining.