Class Action

الإجراء

يشير ذلك المصطلح إلى إجراء يتيح التفاعل ضِمن عناصر واجهة المستخدم. لا يحدث الإجراء مباشرة على العميل ولكنه يستدعي دالة استدعاء "برمجة تطبيقات Google" مع معلمات اختيارية.

يتوفّر هذا الخيار لإضافات 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));

المعلمات

الاسمالنوعالوصف
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 — هذا العنصر، للتسلسل.

طرق متوقّفة نهائيًا