एक कार्रवाई जो यूज़र इंटरफ़ेस (यूआई) एलिमेंट के अंदर इंटरैक्टिविटी को चालू करती है. यह कार्रवाई सीधे क्लाइंट पर नहीं होती है, बल्कि वैकल्पिक पैरामीटर के साथ Apps Script कॉलबैक फ़ंक्शन शुरू करती है.
यह सुविधा, 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));
पैरामीटर
नाम | टाइप | कंपनी का ब्यौरा |
---|---|---|
requiredWidget | String | इस कार्रवाई के लिए ज़रूरी विजेट का नाम. |
रिटर्न
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));
पैरामीटर
नाम | टाइप | कंपनी का ब्यौरा |
---|---|---|
allWidgetsAreRequired | Boolean | कार्रवाई के लिए सभी विजेट से इनपुट की ज़रूरत है या नहीं. डिफ़ॉल्ट
false . |
रिटर्न
Action
— यह ऑब्जेक्ट, चेन बनाने के लिए है.
setFunctionName(functionName)
यह कॉल किए जाने वाले कॉलबैक फ़ंक्शन का नाम सेट करता है. ज़रूरी है.
पैरामीटर
नाम | टाइप | कंपनी का ब्यौरा |
---|---|---|
functionName | 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)
लोड होने का इंडिकेटर सेट करता है, जो कार्रवाई के दौरान दिखता है.
पैरामीटर
नाम | टाइप | कंपनी का ब्यौरा |
---|---|---|
loadIndicator | LoadIndicator | इंंडिकेटर. |
रिटर्न
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'));
पैरामीटर
नाम | टाइप | कंपनी का ब्यौरा |
---|---|---|
persistValues | Boolean | वैल्यू को बनाए रखना है या नहीं. डिफ़ॉल्ट वैल्यू false होती है. |
रिटर्न
Action
— यह ऑब्जेक्ट, चेन बनाने के लिए है.