פעולה שמאפשרת אינטראקטיביות בתוך רכיבים בממשק המשתמש. הפעולה לא מתבצעת ישירות בלקוח אלא מפעילה פונקציית קריאה חוזרת (callback) של Apps Script עם פרמטרים אופציונליים.
אפשר להשתמש בתוספים ל-Google Workspace ובאפליקציות של Google Chat.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
שיטות
שיטה | סוג הערך שמוחזר | תיאור קצר |
---|---|---|
addRequiredWidget(requiredWidget) | Action | הוספת שמות הווידג'טים שדרושים לפעולה הזו לצורך שליחה חוקית. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | מציין אם הפעולה הזו דורשת קלט מכל הווידג'טים. |
setFunctionName(functionName) | Action | מגדיר את השם של פונקציית הקריאה החוזרת. |
setInteraction(interaction) | Action | מגדיר את האינטראקציה עם המשתמש, שנדרש רק בפתיחת תיבת דו-שיח. |
setLoadIndicator(loadIndicator) | Action | מגדיר את אינדיקטור הטעינה שיוצג בזמן שהפעולה מתבצעת. |
setParameters(parameters) | Action | המדיניות הזו מאפשרת להעביר פרמטרים מותאמים אישית אל פונקציית הקריאה החוזרת. |
setPersistValues(persistValues) | Action | השדה הזה מציין אם ערכי הטופס נקבעים לפי ערכי הלקוח או לפי ערכי השרת אחרי שתגובה לפעולה מעדכנת את Card של הטופס. |
תיעוד מפורט
addRequiredWidget(requiredWidget)
הוספת שמות הווידג'טים שדרושים לפעולה הזו לצורך שליחה חוקית. אם לווידג'טים ברשימה הזו אין ערך כאשר הפעולה הזו מופעלת, שליחת הטופס תבוטל.
רק באפליקציות של Google Chat. לא זמין לתוספים ל-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));
פרמטרים
שם | סוג | תיאור |
---|---|---|
requiredWidget | String | שם הווידג'ט שנדרש על ידי הפעולה הזו. |
החזרות
Action
– האובייקט הזה, לשרשור.
setAllWidgetsAreRequired(allWidgetsAreRequired)
מציין אם הפעולה הזו דורשת קלט מכל הווידג'טים.
רק באפליקציות של Google Chat. לא זמין לתוספים ל-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));
פרמטרים
שם | סוג | תיאור |
---|---|---|
allWidgetsAreRequired | Boolean | האם הפעולה דורשת קלט מכל הווידג'טים. ברירת המחדל היא
false . |
החזרות
Action
– האובייקט הזה, לשרשור.
setFunctionName(functionName)
מגדיר את השם של פונקציית הקריאה החוזרת. חובה.
פרמטרים
שם | סוג | תיאור |
---|---|---|
functionName | String | השם של הפונקציה. אפשר להשתמש בפונקציות מהספריות הכלולות,
כמו Library.libFunction1 . |
החזרות
Action
– האובייקט הזה, לשרשור.
setInteraction(interaction)
מגדיר את האינטראקציה עם המשתמש, שנדרש רק בפתיחת תיבת דו-שיח. אם לא צוין אחרת, האפליקציה מגיבה על ידי הפעלת Action
, כמו פתיחת קישור או הרצת פונקציה, כרגיל.
רק באפליקציות של Google Chat. לא זמין לתוספים ל-Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
פרמטרים
שם | סוג | תיאור |
---|---|---|
interaction | Interaction | האינטראקציה שיש לציין. |
החזרות
Action
– האובייקט הזה, לשרשור.
setLoadIndicator(loadIndicator)
מגדיר את אינדיקטור הטעינה שיוצג בזמן שהפעולה מתבצעת.
פרמטרים
שם | סוג | תיאור |
---|---|---|
loadIndicator | LoadIndicator | המחוון שצריך להציג. |
החזרות
Action
– האובייקט הזה, לשרשור.
setParameters(parameters)
המדיניות הזו מאפשרת להעביר פרמטרים מותאמים אישית אל פונקציית הקריאה החוזרת. זה שינוי אופציונלי.
פרמטרים
שם | סוג | תיאור |
---|---|---|
parameters | Object | המפתחות והערכים חייבים להיות מחרוזות. |
החזרות
Action
– האובייקט הזה, לשרשור.
setPersistValues(persistValues)
השדה הזה מציין אם ערכי הטופס נקבעים לפי ערכי הלקוח או לפי ערכי השרת אחרי שתגובה לפעולה מעדכנת את Card
של הטופס. כשמגדירים את הערך true
, ערכי הלקוח נשמרים אחרי תגובת השרת. כשמגדירים את הערך false
, ערכי השרת מחליפים את ערכי הטופס. ברירת המחדל היא false
.
שמירה על ערכי הלקוח עוזרת למנוע מצבים שבהם טופס משתנה באופן בלתי צפוי אחרי שמשתמש מבצע עריכה. לדוגמה, אם משתמש מבצע עריכה ב-TextInput
אחרי שליחת טופס, אבל לפני שהשרת מגיב. אם הערכים לא משתנים, העריכה של המשתמש נשארת אחרי שהתגובה מהשרת מעדכנת את השדה Card
. אחרת, ערך הטופס חוזר לערך שהמשתמש שלח במקור לטופס.
שמירה על ערכי לקוח קבועה עלולה להפריע ליכולת של הסקריפט לנקות את שדות הטופס או
לבטל ערכי טופס, ולכן כדאי להימנע מהפעלת עקביות לסוג הפונקציונליות הזה. אם לא תתבצע באופן קבוע, מומלץ להשתמש ב-LoadIndicator.SPINNER
לאירועים, כי פעולה זו תנעל את ממשק המשתמש ותמנע עריכות של המשתמשים לפני שהשרת מגיב. לחלופין, אפשר להשתמש ב-LoadIndicator.NONE
ולוודא שלכל רכיב בטופס יש פעולת 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'));
פרמטרים
שם | סוג | תיאור |
---|---|---|
persistValues | Boolean | האם לשמור על ערכים קבועים. ברירת המחדל היא false . |
החזרות
Action
– האובייקט הזה, לשרשור.