Class Ui

Ui

यह Google ऐप्लिकेशन के लिए यूज़र इंटरफ़ेस एनवायरमेंट का एक इंस्टेंस है. इसकी मदद से स्क्रिप्ट, मेन्यू, डायलॉग, और साइडबार जैसी सुविधाएं जोड़ सकती है. कोई स्क्रिप्ट, सिर्फ़ खुले हुए एडिटर के मौजूदा इंस्टेंस के यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट कर सकती है. ऐसा सिर्फ़ तब किया जा सकता है, जब स्क्रिप्ट एडिटर से कंटेनर-बाउंड हो.

// Display a dialog box with a title, message, input field, and "Yes" and "No"
// buttons. The user can also close the dialog by clicking the close button in
// its title bar.
const ui = SpreadsheetApp.getUi();
const response = ui.prompt(
    'Getting to know you',
    'May I know your name?',
    ui.ButtonSet.YES_NO,
);

// Process the user's response.
if (response.getSelectedButton() === ui.Button.YES) {
  Logger.log('The user\'s name is %s.', response.getResponseText());
} else if (response.getSelectedButton() === ui.Button.NO) {
  Logger.log('The user didn\'t want to provide a name.');
} else {
  Logger.log('The user clicked the close button in the dialog\'s title bar.');
}

प्रॉपर्टी

प्रॉपर्टीटाइपब्यौरा
ButtonButtonयह एक इनम है. यह पहले से तय किए गए, स्थानीय भाषा में उपलब्ध डायलॉग बटन दिखाता है. ये बटन, alert या PromptResponse.getSelectedButton() से मिलते हैं. इनसे यह पता चलता है कि उपयोगकर्ता ने डायलॉग में मौजूद किस बटन पर क्लिक किया है.
ButtonSetButtonSetयह एक इनम है. यह पहले से तय किए गए, स्थानीय भाषा में उपलब्ध डायलॉग बटन के एक या उससे ज़्यादा सेट को दिखाता है. इन्हें सूचना या प्रॉम्प्ट में जोड़ा जा सकता है.

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
alert(prompt)Buttonयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और "ठीक है" बटन होता है.
alert(prompt, buttons)Buttonयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और बटन का सेट होता है.
alert(title, prompt, buttons)Buttonयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया टाइटल, मैसेज, और बटन का सेट होता है.
createAddonMenu()Menuयह एक बिल्डर बनाता है. इसका इस्तेमाल, एडिटर के एक्सटेंशन मेन्यू में सब-मेन्यू डालने के लिए किया जा सकता है.
createMenu(caption)Menuयह एक बिल्डर बनाता है. इसका इस्तेमाल, एडिटर के यूज़र इंटरफ़ेस में मेन्यू जोड़ने के लिए किया जा सकता है.
prompt(prompt)PromptResponseयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और "ठीक है" बटन होता है.
prompt(prompt, buttons)PromptResponseयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और बटन का सेट होता है.
prompt(title, prompt, buttons)PromptResponseयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें टाइटल, मैसेज, और बटन का सेट दिया जाता है.
showModalDialog(userInterface, title)voidयह कुकी, उपयोगकर्ता के एडिटर में एक मोडल डायलॉग बॉक्स खोलती है. इसमें क्लाइंट-साइड का कस्टम कॉन्टेंट होता है.
showModelessDialog(userInterface, title)voidइससे उपयोगकर्ता के एडिटर में, कस्टम क्लाइंट-साइड कॉन्टेंट वाला मॉडलैस डायलॉग बॉक्स खुलता है.
showSidebar(userInterface)voidयह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक साइडबार खोलता है. इसमें क्लाइंट-साइड का कस्टम कॉन्टेंट होता है.

ज़्यादा जानकारी वाला दस्तावेज़

alert(prompt)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और "ठीक है" बटन होता है. डायलॉग बॉक्स खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbc कनेक्शन और LockService लॉक, निलंबन के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display "Hello, world" in a dialog box with an "OK" button. The user can also
// close the dialog by clicking the close button in its title bar.
SpreadsheetApp.getUi().alert('Hello, world');

पैरामीटर

नामटाइपब्यौरा
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.

वापसी का टिकट

Button — वह बटन जिस पर उपयोगकर्ता ने क्लिक किया.


alert(prompt, buttons)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और बटन का सेट होता है. डायलॉग बॉक्स खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbc कनेक्शन और LockService लॉक, निलंबन के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display a dialog box with a message and "Yes" and "No" buttons. The user can
// also close the dialog by clicking the close button in its title bar.
const ui = SpreadsheetApp.getUi();
const response = ui.alert(
    'Are you sure you want to continue?',
    ui.ButtonSet.YES_NO,
);

// Process the user's response.
if (response === ui.Button.YES) {
  Logger.log('The user clicked "Yes."');
} else {
  Logger.log(
      'The user clicked "No" or the close button in the dialog\'s title bar.',
  );
}

पैरामीटर

नामटाइपब्यौरा
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.
buttonsButtonSetडायलॉग बॉक्स में दिखने के लिए सेट किया गया बटन.

वापसी का टिकट

Button — वह बटन जिस पर उपयोगकर्ता ने क्लिक किया.


alert(title, prompt, buttons)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है. इसमें दिया गया टाइटल, मैसेज, और बटन का सेट होता है. डायलॉग बॉक्स खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद, स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbcकनेक्शन और LockService लॉक, निलंबन के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display a dialog box with a title, message, and "Yes" and "No" buttons. The
// user can also close the dialog by clicking the close button in its title bar.
const ui = SpreadsheetApp.getUi();
const response = ui.alert(
    'Confirm',
    'Are you sure you want to continue?',
    ui.ButtonSet.YES_NO,
);

// Process the user's response.
if (response === ui.Button.YES) {
  Logger.log('The user clicked "Yes."');
} else {
  Logger.log(
      'The user clicked "No" or the close button in the dialog\'s title bar.',
  );
}

पैरामीटर

नामटाइपब्यौरा
titleStringडायलॉग बॉक्स के ऊपर दिखने वाला टाइटल.
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.
buttonsButtonSetडायलॉग बॉक्स में दिखने के लिए सेट किया गया बटन.

वापसी का टिकट

Button — वह बटन जिस पर उपयोगकर्ता ने क्लिक किया.


createAddonMenu()

यह एक बिल्डर बनाता है. इसका इस्तेमाल, एडिटर के एक्सटेंशन मेन्यू में सब-मेन्यू डालने के लिए किया जा सकता है. Menu.addToUi() को कॉल किए जाने तक, मेन्यू को अपडेट नहीं किया जाता. अगर स्क्रिप्ट ऐड-ऑन के तौर पर चल रही है, तो सब-मेन्यू का नाम, वेब स्टोर में ऐड-ऑन के नाम से मैच करता है. अगर स्क्रिप्ट सीधे तौर पर दस्तावेज़ से बाइंड है, तो सब-मेन्यू का नाम, स्क्रिप्ट के नाम से मैच करता है. ज़्यादा जानकारी के लिए, मेन्यू की गाइड देखें.

// Add an item to the add-on menu, under a sub-menu whose name is set
// automatically.
function onOpen(e) {
  SpreadsheetApp.getUi()
      .createAddonMenu()
      .addItem('Show', 'showSidebar')
      .addToUi();
}

वापसी का टिकट

Menu — नया मेन्यू बिल्डर.


createMenu(caption)

यह एक बिल्डर बनाता है. इसका इस्तेमाल, एडिटर के यूज़र इंटरफ़ेस में मेन्यू जोड़ने के लिए किया जा सकता है. Menu.addToUi() को कॉल किए जाने तक, मेन्यू को जोड़ा नहीं जाएगा. ज़्यादा जानकारी के लिए, मेन्यू की गाइड देखें. टॉप-लेवल मेन्यू का लेबल, हेडलाइन केस (सभी मुख्य शब्द कैपिटल लेटर में) में होना चाहिए. हालांकि, सब-मेन्यू का लेबल, सेंटेंस केस (सिर्फ़ पहला शब्द कैपिटल लेटर में) में होना चाहिए. अगर स्क्रिप्ट को ऐड-ऑन के तौर पर पब्लिश किया जाता है, तो caption पैरामीटर को अनदेखा कर दिया जाता है. साथ ही, मेन्यू को एक्सटेंशन मेन्यू के सब-मेन्यू के तौर पर जोड़ा जाता है. यह createAddonMenu() के बराबर होता है.

// Add a custom menu to the active document, including a separator and a
// sub-menu.
function onOpen(e) {
  SpreadsheetApp.getUi()
      .createMenu('My Menu')
      .addItem('My menu item', 'myFunction')
      .addSeparator()
      .addSubMenu(
          SpreadsheetApp.getUi()
              .createMenu('My sub-menu')
              .addItem('One sub-menu item', 'mySecondFunction')
              .addItem('Another sub-menu item', 'myThirdFunction'),
          )
      .addToUi();
}

पैरामीटर

नामटाइपब्यौरा
captionStringमेन्यू का लेबल. इसमें टॉप-लेवल मेन्यू के लिए, सभी मुख्य शब्दों को कैपिटल लेटर में लिखा जाता है. वहीं, सब-मेन्यू के लिए, सिर्फ़ पहले शब्द को कैपिटल लेटर में लिखा जाता है.

वापसी का टिकट

Menu — नया मेन्यू बिल्डर.


prompt(prompt)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और "ठीक है" बटन होता है. डायलॉग बॉक्स खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद, स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbcकनेक्शन और LockService लॉक, निलंबन के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display a dialog box with a message, input field, and an "OK" button. The
// user can also close the dialog by clicking the close button in its title bar.
const ui = SpreadsheetApp.getUi();
const response = ui.prompt('Enter your name:');

// Process the user's response.
if (response.getSelectedButton() === ui.Button.OK) {
  Logger.log('The user\'s name is %s.', response.getResponseText());
} else {
  Logger.log('The user clicked the close button in the dialog\'s title bar.');
}

पैरामीटर

नामटाइपब्यौरा
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.

वापसी का टिकट

PromptResponse — यह उपयोगकर्ता के जवाब को दिखाता है.


prompt(prompt, buttons)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें दिया गया मैसेज और बटन का सेट होता है. डायलॉग बॉक्स खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद, स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbcकनेक्शन और LockService लॉक, निलंबन के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display a dialog box with a message, input field, and "Yes" and "No" buttons.
// The user can also close the dialog by clicking the close button in its title
// bar.
const ui = SpreadsheetApp.getUi();
const response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO);

// Process the user's response.
if (response.getSelectedButton() === ui.Button.YES) {
  Logger.log('The user\'s name is %s.', response.getResponseText());
} else if (response.getSelectedButton() === ui.Button.NO) {
  Logger.log('The user didn\'t want to provide a name.');
} else {
  Logger.log('The user clicked the close button in the dialog\'s title bar.');
}

पैरामीटर

नामटाइपब्यौरा
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.
buttonsButtonSetडायलॉग बॉक्स में दिखने के लिए सेट किया गया बटन.

वापसी का टिकट

PromptResponse — यह उपयोगकर्ता के जवाब को दिखाता है.


prompt(title, prompt, buttons)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक इनपुट डायलॉग बॉक्स खोलता है. इसमें टाइटल, मैसेज, और बटन का सेट दिया जाता है. डायलॉग खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित कर देता है. उपयोगकर्ता के डायलॉग को खारिज करने के बाद स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, Jdbc कनेक्शन और LockService लॉक, स्क्रिप्ट के निलंबित होने के दौरान बने नहीं रहते. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

// Display a dialog box with a title, message, input field, and "Yes" and "No"
// buttons. The user can also close the dialog by clicking the close button in
// its title bar.
const ui = SpreadsheetApp.getUi();
const response = ui.prompt(
    'Getting to know you',
    'May I know your name?',
    ui.ButtonSet.YES_NO,
);

// Process the user's response.
if (response.getSelectedButton() === ui.Button.YES) {
  Logger.log('The user\'s name is %s.', response.getResponseText());
} else if (response.getSelectedButton() === ui.Button.NO) {
  Logger.log('The user didn\'t want to provide a name.');
} else {
  Logger.log('The user clicked the close button in the dialog\'s title bar.');
}

पैरामीटर

नामटाइपब्यौरा
titleStringडायलॉग बॉक्स के ऊपर दिखने वाला टाइटल.
promptStringडायलॉग बॉक्स में दिखने वाला मैसेज.
buttonsButtonSetडायलॉग बॉक्स में दिखने के लिए सेट किया गया बटन.

वापसी का टिकट

PromptResponse — यह उपयोगकर्ता के जवाब को दिखाता है.


showModalDialog(userInterface, title)

यह कुकी, उपयोगकर्ता के एडिटर में एक मोडल डायलॉग बॉक्स खोलती है. इसमें क्लाइंट-साइड का कस्टम कॉन्टेंट होता है. डायलॉग खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित नहीं करता. सर्वर-साइड स्क्रिप्ट से कम्यूनिकेट करने के लिए, क्लाइंट-साइड कॉम्पोनेंट को HtmlService के लिए google.script एपीआई का इस्तेमाल करके, एसिंक्रोनस कॉलबैक करने होंगे. डायलॉग को प्रोग्राम के हिसाब से बंद करने के लिए, HtmlService वेब ऐप्लिकेशन के क्लाइंट साइड पर google.script.host.close() को कॉल करें. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

मॉडल डायलॉग की वजह से, उपयोगकर्ता को डायलॉग के अलावा किसी और चीज़ से इंटरैक्ट करने की ज़रूरत नहीं हाेती. इसके उलट, मोडलैस डायलॉग और साइडबार की मदद से, उपयोगकर्ता एडिटर के साथ इंटरैक्ट कर सकता है. ज़्यादातर मामलों में, मॉडलैस डायलॉग के बजाय मोडल डायलॉग या साइडबार बेहतर विकल्प होता है.

// Display a modal dialog box with custom HtmlService content.
const htmlOutput = HtmlService
                       .createHtmlOutput(
                           '<p>A change of speed, a change of style...</p>',
                           )
                       .setWidth(250)
                       .setHeight(300);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'My add-on');

पैरामीटर

नामटाइपब्यौरा
userInterfaceObjectHtmlOutput इंटरफ़ेस को दिखाता है.
titleStringडायलॉग का टाइटल. यह userInterface ऑब्जेक्ट पर setTitle() को कॉल करके सेट किए गए किसी भी टाइटल को बदल देता है.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट के लिए, इनमें से एक या उससे ज़्यादा स्कोप के साथ अनुमति लेना ज़रूरी है:

  • https://www.googleapis.com/auth/script.container.ui

showModelessDialog(userInterface, title)

इससे उपयोगकर्ता के एडिटर में, कस्टम क्लाइंट-साइड कॉन्टेंट वाला मॉडलैस डायलॉग बॉक्स खुलता है. डायलॉग खुला होने पर, यह तरीका सर्वर-साइड स्क्रिप्ट को निलंबित नहीं करता. सर्वर-साइड स्क्रिप्ट से कम्यूनिकेट करने के लिए, क्लाइंट-साइड कॉम्पोनेंट को HtmlService के लिए google.script एपीआई का इस्तेमाल करके, एसिंक्रोनस कॉलबैक करने होंगे. डायलॉग को प्रोग्राम के हिसाब से बंद करने के लिए, HtmlService वेब ऐप्लिकेशन के क्लाइंट साइड पर google.script.host.close() को कॉल करें. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

मॉडलैस डायलॉग की मदद से, उपयोगकर्ता डायलॉग के पीछे मौजूद एडिटर के साथ इंटरैक्ट कर सकता है. इसके उलट, मोडल डायलॉग ऐसा नहीं करते. लगभग सभी मामलों में, मॉडलैस डायलॉग के बजाय मोडल डायलॉग या साइडबार का इस्तेमाल करना बेहतर होता है.

// Display a modeless dialog box with custom HtmlService content.
const htmlOutput = HtmlService
                       .createHtmlOutput(
                           '<p>A change of speed, a change of style...</p>',
                           )
                       .setWidth(250)
                       .setHeight(300);
SpreadsheetApp.getUi().showModelessDialog(htmlOutput, 'My add-on');

पैरामीटर

नामटाइपब्यौरा
userInterfaceObjectHtmlOutput इंटरफ़ेस को दिखाता है.
titleStringडायलॉग का टाइटल. यह userInterface ऑब्जेक्ट पर setTitle() को कॉल करके सेट किए गए किसी भी टाइटल को बदल देता है.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट के लिए, इनमें से एक या उससे ज़्यादा स्कोप के साथ अनुमति लेना ज़रूरी है:

  • https://www.googleapis.com/auth/script.container.ui

showSidebar(userInterface)

यह फ़ंक्शन, उपयोगकर्ता के एडिटर में एक साइडबार खोलता है. इसमें क्लाइंट-साइड का कस्टम कॉन्टेंट होता है. इस तरीके से, साइडबार खुला होने पर सर्वर-साइड स्क्रिप्ट निलंबित नहीं होती है. सर्वर-साइड स्क्रिप्ट से कम्यूनिकेट करने के लिए, क्लाइंट-साइड कॉम्पोनेंट को HtmlService के लिए google.script एपीआई का इस्तेमाल करके, एसिंक्रोनस कॉलबैक करने होंगे. साइडबार को प्रोग्राम के हिसाब से बंद करने के लिए, HtmlService वेब ऐप्लिकेशन के क्लाइंट साइड पर google.script.host.close() को कॉल करें. ज़्यादा जानकारी के लिए, डायलॉग और साइडबार से जुड़ी गाइड देखें.

जिन उपयोगकर्ताओं के एनवायरमेंट में बाईं से दाईं ओर लिखी जाने वाली भाषा का इस्तेमाल किया जाता है उनके लिए साइडबार, एडिटर के दाईं ओर दिखता है. वहीं, दाईं से बाईं ओर लिखी जाने वाली भाषाओं के लिए, यह एडिटर के बाईं ओर दिखता है. स्क्रिप्ट से दिखाए गए सभी साइडबार, 300 पिक्सल चौड़े होते हैं.

// Display a sidebar with custom HtmlService content.
const htmlOutput = HtmlService
                       .createHtmlOutput(
                           '<p>A change of speed, a change of style...</p>',
                           )
                       .setTitle('My add-on');
SpreadsheetApp.getUi().showSidebar(htmlOutput);

पैरामीटर

नामटाइपब्यौरा
userInterfaceObjectHtmlOutput इंटरफ़ेस को दिखाता है.

अनुमति देना

इस तरीके का इस्तेमाल करने वाली स्क्रिप्ट के लिए, इनमें से एक या उससे ज़्यादा स्कोप के साथ अनुमति लेना ज़रूरी है:

  • https://www.googleapis.com/auth/script.container.ui

ऐसे तरीके जिन्हें अब इस्तेमाल नहीं किया जा सकता