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 | Menyetel interaksi dengan pengguna, yang hanya diperlukan saat membuka dialog. |
setLoadIndicator(loadIndicator) | Action | Menetapkan indikator pemuatan yang ditampilkan saat tindakan sedang berlangsung. |
setParameters(parameters) | Action | Memungkinkan parameter kustom untuk diteruskan ke fungsi callback. |
setPersistValues(persistValues) | Action | Menunjukkan apakah nilai formulir ditentukan oleh nilai klien atau nilai server
setelah respons tindakan memperbarui Card formulir. |
Dokumentasi mendetail
addRequiredWidget(requiredWidget)
Menambahkan nama widget yang diperlukan Action ini untuk pengiriman yang valid. Jika widget di 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. |
Pulang pergi
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. Default-nya adalah
false . |
Pulang pergi
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 {i>library<i} yang disertakan,
misalnya Library.libFunction1 . |
Pulang pergi
Action
— Objek ini, untuk perantaian.
setInteraction(interaction)
Menyetel interaksi dengan pengguna, yang hanya diperlukan saat membuka dialog. Jika tidak ditentukan, aplikasi
merespons dengan menjalankan 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. |
Pulang pergi
Action
— Objek ini, untuk perantaian.
setLoadIndicator(loadIndicator)
Menetapkan indikator pemuatan yang ditampilkan saat tindakan sedang berlangsung.
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
loadIndicator | LoadIndicator | Indikator yang akan ditampilkan. |
Pulang pergi
Action
— Objek ini, untuk perantaian.
setParameters(parameters)
Memungkinkan parameter kustom untuk diteruskan ke fungsi callback. Opsional.
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
parameters | Object | Kunci dan nilai harus berupa string. |
Pulang pergi
Action
— Objek ini, untuk perantaian.
setPersistValues(persistValues)
Menunjukkan apakah nilai formulir ditentukan oleh nilai klien atau nilai server
setelah respons tindakan memperbarui Card
formulir. Jika ditetapkan ke true
,
nilai klien tetap ada setelah respons server. Jika disetel ke false
, atribut
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 mengedit TextInput
setelah
mengirim formulir, tetapi
sebelum server menanggapi. Jika nilai dipertahankan, edit
yang dibuat pengguna tetap setelah respons server memperbarui Card
; jika tidak, nilai formulir
kembali ke nilai yang awalnya dikirim pengguna ke formulir.
Mempertahankan nilai klien dapat mengganggu kemampuan skrip Anda untuk membersihkan kolom formulir atau
mengganti nilai formulir, jadi hindari mengaktifkan persistensi untuk jenis fungsi tersebut. Tanpa
persistensi, sebaiknya gunakan LoadIndicator.SPINNER
untuk peristiwa,
karena tindakan ini mengunci UI dan mencegah
pengeditan pengguna sebelum server merespons. Sebagai alternatif,
Anda dapat menggunakan LoadIndicator.NONE
dan memastikan setiap elemen dalam formulir memiliki onChange
tindakan.
// 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 . |
Pulang pergi
Action
— Objek ini, untuk perantaian.