Class Action

פעולה

פעולה שמאפשרת אינטראקטיביות ברכיבי ממשק המשתמש. הפעולה לא מתבצעת ישירות בלקוח, אלא מפעילה פונקציית קריאה חוזרת של 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 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),
);

פרמטרים

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

חזרה

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

פרמטרים

שםסוגתיאור
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 – האובייקט הזה, לשרשור.

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