Class Action

اکشن

عملی که امکان تعامل درون عناصر رابط کاربری را فراهم می‌کند. این عمل مستقیماً روی کلاینت اتفاق نمی‌افتد، بلکه یک تابع فراخوانی Apps Script با پارامترهای اختیاری را فراخوانی می‌کند.

برای افزونه‌های Google Workspace و برنامه‌های Google Chat در دسترس است.

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

روش‌ها

روش نوع بازگشتی شرح مختصر
add Required Widget(requiredWidget) Action نام ویجت‌هایی را که این اکشن برای ارسال معتبر به آنها نیاز دارد، اضافه می‌کند.
set All Widgets Are Required(allWidgetsAreRequired) Action نشان می‌دهد که آیا این اقدام به ورودی از همه ویجت‌ها نیاز دارد یا خیر.
set Function Name(functionName) Action نام تابع فراخوانی برگشتی (callback function) که قرار است فراخوانی شود را تعیین می‌کند.
set Interaction(interaction) Action تعامل با کاربر را تنظیم می‌کند، که فقط هنگام باز کردن یک کادر محاوره‌ای مورد نیاز است.
set Load Indicator(loadIndicator) Action نشانگر بارگذاری را که هنگام انجام عمل نمایش داده می‌شود، تنظیم می‌کند.
set Parameters(parameters) Action اجازه می‌دهد پارامترهای سفارشی به تابع فراخوانی (callback) ارسال شوند.
set Persist Values(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),
);

پارامترها

نام نوع توضیحات
required Widget 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 Widgets Are Required Boolean اینکه آیا این اکشن به ورودی از همه ویجت‌ها نیاز دارد یا خیر. مقدار پیش‌فرض false است.

بازگشت

Action — این شیء، برای زنجیره‌سازی.


setFunctionName(functionName)

نام تابع فراخوانی (callback) را تعیین می‌کند. الزامی است.

پارامترها

نام نوع توضیحات
function Name 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 Indicator Load Indicator نشانگری که نمایش داده می‌شود.

بازگشت

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 Values Boolean آیا مقادیر حفظ شوند یا خیر. پیش‌فرض false است.

بازگشت

Action — این شیء، برای زنجیره‌سازی.

متدهای منسوخ شده