Tindakan yang memungkinkan interaktivitas dalam elemen UI. Tindakan ini tidak terjadi secara langsung pada klien, tetapi memanggil fungsi callback Apps Script dengan parameter opsional.
Tersedia untuk Add-on Google Workspace dan aplikasi Google Chat.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
addRequiredWidget(requiredWidget) | Action | Menambahkan nama widget yang diperlukan Action ini untuk pengiriman yang valid. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | Menunjukkan apakah Action ini memerlukan input dari semua widget. |
setFunctionName(functionName) | Action | Menetapkan nama fungsi callback yang akan dipanggil. |
setInteraction(interaction) | Action | Menetapkan interaksi dengan pengguna, hanya diperlukan saat membuka dialog. |
setLoadIndicator(loadIndicator) | Action | Menyetel indikator pemuatan yang ditampilkan saat tindakan sedang berlangsung. |
setParameters(parameters) | Action | Memungkinkan parameter kustom diteruskan ke fungsi callback. |
setPersistValues(persistValues) | Action | Menunjukkan apakah nilai formulir ditentukan oleh nilai klien atau nilai server setelah respons tindakan mengupdate Card formulir. |
Dokumentasi mendetail
addRequiredWidget(requiredWidget)
Menambahkan nama widget yang diperlukan Action ini untuk pengiriman yang valid. Jika widget dalam daftar ini tidak memiliki nilai saat Action ini dipanggil, pengiriman formulir akan dibatalkan.
Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on Google Workspace.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
requiredWidget | String | Nama widget yang diperlukan oleh Action ini. |
Return
Action
— Objek ini, untuk perantaian.
setAllWidgetsAreRequired(allWidgetsAreRequired)
Menunjukkan apakah Action ini memerlukan input dari semua widget.
Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on Google Workspace.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
allWidgetsAreRequired | Boolean | Apakah tindakan memerlukan input dari semua widget. Nilai defaultnya adalah false . |
Return
Action
— Objek ini, untuk perantaian.
setFunctionName(functionName)
Menetapkan nama fungsi callback yang akan dipanggil. Wajib.
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
functionName | String | Nama fungsi. Anda dapat menggunakan fungsi dari library yang disertakan,
seperti Library.libFunction1 . |
Return
Action
— Objek ini, untuk perantaian.
setInteraction(interaction)
Menetapkan interaksi dengan pengguna, hanya diperlukan saat membuka dialog. Jika tidak ditentukan, aplikasi akan merespons dengan mengeksekusi Action
seperti membuka link atau menjalankan fungsi—seperti biasa.
Hanya tersedia untuk aplikasi Google Chat. Tidak tersedia untuk Add-on Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
interaction | Interaction | Interaksi yang akan ditentukan. |
Return
Action
— Objek ini, untuk perantaian.
setLoadIndicator(loadIndicator)
Menyetel indikator pemuatan yang ditampilkan saat tindakan sedang berlangsung.
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
loadIndicator | LoadIndicator | Indikator yang akan ditampilkan. |
Return
Action
— Objek ini, untuk perantaian.
setParameters(parameters)
Memungkinkan parameter kustom diteruskan ke fungsi callback. Opsional.
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
parameters | Object | Kunci dan nilai harus berupa string. |
Return
Action
— Objek ini, untuk perantaian.
setPersistValues(persistValues)
Menunjukkan apakah nilai formulir ditentukan oleh nilai klien atau nilai server setelah respons tindakan mengupdate Card
formulir. Jika ditetapkan ke true
, nilai klien akan tetap ada setelah respons server. Jika ditetapkan ke false
, nilai server akan menimpa nilai formulir. Defaultnya adalah false
.
Mempertahankan nilai klien akan membantu mencegah situasi saat formulir berubah secara tidak terduga
setelah pengguna melakukan pengeditan. Misalnya, jika pengguna melakukan pengeditan pada TextInput
setelah
mengirimkan formulir, tetapi sebelum server merespons. Jika nilai dipertahankan, hasil edit yang dilakukan pengguna akan tetap ada setelah respons server memperbarui Card
; jika tidak, nilai formulir akan kembali ke nilai yang awalnya dikirimkan pengguna ke formulir.
Mempertahankan nilai klien dapat mengganggu kemampuan skrip Anda untuk menghapus kolom formulir atau mengganti nilai formulir. Oleh karena itu, jangan aktifkan persistensi untuk jenis fungsi tersebut. Tanpa persistensi, sebaiknya gunakan LoadIndicator.SPINNER
untuk peristiwa, karena tindakan ini akan mengunci UI dan mencegah pengeditan pengguna sebelum server merespons. Atau, Anda dapat menggunakan LoadIndicator.NONE
dan memastikan setiap elemen dalam formulir memiliki tindakan onChange.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
persistValues | Boolean | Apakah akan mempertahankan nilai. Default-nya adalah false . |
Return
Action
— Objek ini, untuk perantaian.