Class Action

कार्रवाई

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

पैरामीटर

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

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