Class Action

פעולה

פעולה שמאפשרת אינטראקציה בתוך רכיבי ממשק משתמש. הפעולה לא מתבצעת ישירות אצל הלקוח, אלא מפעילה פונקציית callback של Apps Script עם פרמטרים אופציונליים.

התכונה זמינה בתוספים של Google Workspace ובאפליקציות של Google Chat.

const image = CardService.newImage().setOnClickAction(
    CardService.newAction().setFunctionName('handleImageClick').setParameters({
      imageSrc: 'carImage'
    }),
);

Methods

שיטהסוג הערך המוחזרתיאור קצר
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.

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),
);

פרמטרים

שםסוגתיאור
requiredWidgetStringהשם של הווידג'ט שנדרש לפעולה הזו.

חזרה

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));

פרמטרים

שםסוגתיאור
allWidgetsAreRequiredBooleanאם הפעולה דורשת קלט מכל הווידג'טים. ברירת המחדל היא false.

חזרה

Action – האובייקט הזה, לצורך קישור.


setFunctionName(functionName)

מגדיר את השם של פונקציית הקריאה החוזרת שתופעל. חובה.

פרמטרים

שםסוגתיאור
functionNameStringשם הפונקציה. אפשר להשתמש בפונקציות מספריות כלולות, כמו Library.libFunction1.

חזרה

Action – האובייקט הזה, לצורך קישור.


setInteraction(interaction)

הגדרת האינטראקציה עם משתמש. האפשרות הזו נדרשת רק כשפותחים תיבת דו-שיח. אם לא מציינים אירוע, האפליקציה מגיבה על ידי ביצוע אירוע Action, כמו פתיחת קישור או הפעלת פונקציה – כרגיל.

התכונה הזו זמינה רק באפליקציות של Google Chat. לא זמין לתוספים של Google Workspace.

const action = CardService.newAction()
                   .setFunctionName('handleDialog')
                   .setInteraction(CardService.Interaction.OPEN_DIALOG);

פרמטרים

שםסוגתיאור
interactionInteractionהאינטראקציה שרוצים לציין.

חזרה

Action – האובייקט הזה, לצורך קישור.


setLoadIndicator(loadIndicator)

הגדרת אינדיקטור הטעינה שמוצג בזמן שהפעולה מתבצעת.

פרמטרים

שםסוגתיאור
loadIndicatorLoadIndicatorהאינדיקטור שיוצג.

חזרה

Action – האובייקט הזה, לצורך קישור.


setParameters(parameters)

מאפשר להעביר פרמטרים מותאמים אישית לפונקציית הקריאה החוזרת. זה שינוי אופציונלי.

פרמטרים

שםסוגתיאור
parametersObjectגם המפתחות וגם הערכים חייבים להיות מחרוזות.

חזרה

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'),
        );

פרמטרים

שםסוגתיאור
persistValuesBooleanהאם לשמור את הערכים. ברירת המחדל היא false.

חזרה

Action – האובייקט הזה, לצורך קישור.

שיטות שהוצאו משימוש