Class Action

कार्रवाई

ऐसी कार्रवाई जो यूज़र इंटरफ़ेस (यूआई) एलिमेंट में इंटरैक्टिविटी की सुविधा चालू करती है. यह कार्रवाई सीधे क्लाइंट पर नहीं होती, बल्कि वैकल्पिक पैरामीटर के साथ Apps Script कॉलबैक फ़ंक्शन को ट्रिगर करती है.

Google Workspace के ऐड-ऑन और Google Chat ऐप्लिकेशन के लिए उपलब्ध है.

const 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 के ऐड-ऑन के लिए उपलब्ध नहीं है.

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),
);

पैरामीटर

नामटाइपब्यौरा
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 — चेन करने के लिए यह ऑब्जेक्ट.

अब काम न करने वाले तरीके