إجراء يتيح التفاعل داخل عناصر واجهة المستخدم لا يتم تنفيذ الإجراء مباشرةً على العميل، بل يتم استدعاء دالة استدعاء في Apps Script مع مَعلمات اختيارية.
تتوفّر هذه الميزة لإضافات Google Workspace وتطبيقات Google Chat.
const image = CardService.newImage().setOnClickAction( CardService.newAction().setFunctionName('handleImageClick').setParameters({ imageSrc: 'carImage' }), );
الطُرق
الطريقة | نوع القيمة التي يتم عرضها | وصف قصير |
---|---|---|
add | Action | تُضيف أسماء التطبيقات المصغّرة التي يحتاج إليها هذا الإجراء لإرسال بيانات صالحة. |
set | Action | يشير إلى ما إذا كان هذا الإجراء يتطلّب إدخالات من جميع التطبيقات المصغّرة. |
set | Action | تُستخدَم لضبط اسم دالة ردّ الاتصال التي سيتمّ استدعاؤها. |
set | Action | لضبط التفاعل مع المستخدِم، وهو مطلوب فقط عند فتح مربّع حوار. |
set | Action | لضبط مؤشر التحميل الذي يظهر أثناء تنفيذ الإجراء |
set | Action | السماح بتمرير مَعلمات مخصّصة إلى دالة ردّ الاتصال |
set | Action | تشير إلى ما إذا كانت قيم النموذج يتم تحديدها حسب قيم العميل أو قيم الخادم
بعد أن تعدّل استجابة إجراء Card النموذج. |
مستندات تفصيلية
add Required Widget(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), );
المعلمات
الاسم | النوع | الوصف |
---|---|---|
required | String | اسم التطبيق المصغّر المطلوب لهذا الإجراء |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set All Widgets Are Required(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));
المعلمات
الاسم | النوع | الوصف |
---|---|---|
all | Boolean | ما إذا كان الإجراء يتطلّب إدخالات من جميع التطبيقات المصغّرة. الإعداد التلقائي هو
false . |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set Function Name(functionName)
تُستخدَم لضبط اسم دالة ردّ الاتصال التي سيتمّ استدعاؤها. مطلوب.
المعلمات
الاسم | النوع | الوصف |
---|---|---|
function | String | اسم الدالة يمكنك استخدام دوال من المكتبات المضمّنة،
مثل Library.libFunction1 . |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set Interaction(interaction)
لضبط التفاعل مع المستخدِم، وهو مطلوب فقط عند فتح مربّع حوار. إذا لم يتم تحديد الإجراء، يستجيب التطبيق
من خلال تنفيذ Action
كالمعتاد، مثل فتح رابط أو تشغيل دالة.
لا تتوفّر هذه الميزة إلا لتطبيقات Google Chat. لا تتوفّر الإضافات في Google Workspace.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
المعلمات
الاسم | النوع | الوصف |
---|---|---|
interaction | Interaction | التفاعل المطلوب تحديده |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set Load Indicator(loadIndicator)
لضبط مؤشر التحميل الذي يظهر أثناء تنفيذ الإجراء
المعلمات
الاسم | النوع | الوصف |
---|---|---|
load | Load | المؤشر الذي سيتم عرضه. |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set Parameters(parameters)
السماح بتمرير مَعلمات مخصّصة إلى دالة ردّ الاتصال اختيارية:
المعلمات
الاسم | النوع | الوصف |
---|---|---|
parameters | Object | يجب أن تكون كلّ من المفاتيح والقيم سلاسل. |
الإرجاع
Action
: هذا العنصر، لإنشاء سلسلة.
set Persist Values(persistValues)
تشير إلى ما إذا كانت قيم النموذج يتم تحديدها حسب قيم العميل أو قيم الخادم
بعد أن تعدّل استجابة إجراء Card
النموذج. عند ضبطه على true
، تظل قيم العميل محفوظة بعد استجابة الخادم. عند ضبطه على false
، تلغي قيم الخادم
قيم النموذج. الإعداد التلقائي هو false
.
يساعد الاحتفاظ بقيم العميل في منع حدوث حالات يتغيّر فيها النموذج بشكل غير متوقّع
بعد إجراء تعديل من قِبل أحد المستخدمين. على سبيل المثال، إذا أجرى مستخدم تعديلاً على Text
بعد
إرسال نموذج، ولكن قبل أن يستجيب الخادم. في حال ثبات القيم، يبقى التعديل الذي أجراه العميل بعد أن يعدّل ردّ الخادم القيمة Card
، وإلا تعود قيمة النموذج إلى القيمة التي أرسلها العميل في الأصل إلى النموذج.
يمكن أن تتداخل قيم العميل الثابتة مع قدرة النص البرمجي على محو حقول النماذج أو
تجاوز قيم النماذج، لذا تجنَّب تفعيل ميزة الاحتفاظ بالقيم لهذا النوع من الوظائف. في حال عدم استخدام ميزة
الاستمرارية، ننصحك باستخدام Load
للأحداث،
لأنّ ذلك يؤدي إلى قفل واجهة المستخدم ويمنع تعديلات المستخدم قبل أن يستجيب الخادم. بدلاً من ذلك،
يمكنك استخدام Load
والتأكّد من أنّ كل عنصر في النموذج يحتوي على إجراء 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
: هذا العنصر، لإنشاء سلسلة.