ऐसी कार्रवाई जो यूज़र इंटरफ़ेस (यूआई) एलिमेंट में इंटरैक्टिविटी की सुविधा चालू करती है. यह कार्रवाई सीधे क्लाइंट पर नहीं होती, बल्कि वैकल्पिक पैरामीटर के साथ 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
— चेन करने के लिए यह ऑब्जेक्ट.