פעולה שמאפשרת אינטראקטיביות ברכיבי ממשק המשתמש. הפעולה לא מתבצעת ישירות בלקוח, אלא מפעילה פונקציית קריאה חוזרת של Apps Script עם פרמטרים אופציונליים.
זמין לתוספים ל-Google Workspace ולאפליקציות ל-Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
Methods
| שיטה | סוג הערך שמוחזר | תיאור קצר |
|---|---|---|
add | Action | הוספת שמות הווידג'טים שהפעולה הזו צריכה כדי לשלוח נתונים בצורה תקינה. |
set | Action | מציין אם הפעולה הזו דורשת קלט מכל הווידג'טים. |
set | Action | מגדירים את השם של פונקציית הקריאה החוזרת שתופעל. |
set | Action | הגדרה של האינטראקציה עם המשתמש, נדרשת רק כשפותחים תיבת דו-שיח. |
set | Action | מגדיר את אינדיקטור הטעינה שמוצג בזמן שהפעולה מתבצעת. |
set | Action | מאפשר להעביר פרמטרים מותאמים אישית לפונקציית הקריאה החוזרת. |
set | Action | מציין אם הערכים של הטופס נקבעים לפי הערכים של הלקוח או לפי הערכים של השרת אחרי שתשובת פעולה מעדכנת את Card של הטופס. |
תיעוד מפורט
addRequiredWidget(requiredWidget)
הוספת שמות הווידג'טים שהפעולה הזו צריכה כדי לשלוח נתונים בצורה תקינה. אם לווידג'טים ברשימה הזו אין ערך כשמפעילים את הפעולה הזו, שליחת הטופס מבוטלת.
זמין לתוספים ל-Google Workspace ולאפליקציות ל-Google Chat.
const textInput = CardService.newTextInput() .setFieldName('text_input_1') .setTitle('Text input title'); // Creates a footer button that requires an input from the above TextInput // Widget. const action = CardService.newAction() .setFunctionName('notificationCallback') .addRequiredWidget('text_input_1'); const fixedFooter = CardService.newFixedFooter().setPrimaryButton( CardService.newTextButton().setText('help').setOnClickAction(action), );
פרמטרים
| שם | סוג | תיאור |
|---|---|---|
required | String | שם הווידג'ט שנדרש לפעולה הזו. |
חזרה
Action – האובייקט הזה, לשרשור.
setAllWidgetsAreRequired(allWidgetsAreRequired)
מציין אם הפעולה הזו דורשת קלט מכל הווידג'טים.
זמין לתוספים ל-Google Workspace ולאפליקציות ל-Google Chat.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction().setAllWidgetsAreRequired(true));
פרמטרים
| שם | סוג | תיאור |
|---|---|---|
all | Boolean | האם הפעולה דורשת קלט מכל הווידג'טים. ברירת המחדל היא
false. |
חזרה
Action – האובייקט הזה, לשרשור.
setFunctionName(functionName)
מגדירים את השם של פונקציית הקריאה החוזרת שתופעל. חובה.
פרמטרים
| שם | סוג | תיאור |
|---|---|---|
function | 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)
מגדיר את אינדיקטור הטעינה שמוצג בזמן שהפעולה מתבצעת.
פרמטרים
| שם | סוג | תיאור |
|---|---|---|
load | Load | האינדיקטור שיוצג. |
חזרה
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'), );
פרמטרים
| שם | סוג | תיאור |
|---|---|---|
persist | Boolean | האם לשמור את הערכים. ברירת המחדל היא false. |
חזרה
Action – האובייקט הזה, לשרשור.