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

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