Class Ui

यूज़र इंटरफ़ेस (यूआई)

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

// 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.
var ui = SpreadsheetApp.getUi();
var 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पहले से तय, जगह के हिसाब से बनाए गए डायलॉग बटन का प्रतिनिधित्व करने वाली enum सुविधा, जो चेतावनी या PromptResponse.getSelectedButton() से पता चलती है कि उपयोगकर्ता ने डायलॉग में किस बटन पर क्लिक किया है.
ButtonSetButtonSetपहले से तय किए गए, एक या ज़्यादा डायलॉग बटन के सेट की ईनम. इन्हें सूचना या निर्देश में जोड़ा जा सकता है.

माटिंग में इस्तेमाल हुए तरीके

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

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

alert(prompt)

दिए गए मैसेज के साथ उपयोगकर्ता के एडिटर में एक डायलॉग बॉक्स खोलता है (&&quot). इस तरीके से डायलॉग खुला होने पर, सर्वर-साइड स्क्रिप्ट निलंबित हो जाती है. जब उपयोगकर्ता डायलॉग को खारिज कर देता है, तब स्क्रिप्ट फिर से शुरू हो जाती है. हालांकि, 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.
var ui = SpreadsheetApp.getUi();
var 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.
var ui = SpreadsheetApp.getUi();
var 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() को कॉल किए जाने तक मेन्यू को असल में अपडेट नहीं किया जाता. अगर स्क्रिप्ट किसी ऐड-ऑन के रूप में चल रही है, तो सब-मेन्यू का नाम वेब स्टोर के ऐड-ऑन और # 39; नाम से मेल खाता है. अगर स्क्रिप्ट, दस्तावेज़ के सीधे बाइंड है, तो सब-मेन्यू का नाम स्क्रिप्ट और # के नाम से मेल खाता है. ज़्यादा जानकारी के लिए, मेन्यू के लिए गाइड देखें.

// 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)

दिए गए मैसेज के साथ उपयोगकर्ता के एडिटर में इनपुट डायलॉग बॉक्स खोलता है, जिसमें '"OK" बटन होता है. इस तरीके से, डायलॉग खुला होने पर सर्वर-साइड स्क्रिप्ट निलंबित हो जाती है. स्क्रिप्ट, उपयोगकर्ता के डायलॉग बॉक्स को खारिज करने के बाद फिर से शुरू हो जाती है. हालांकि, 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.
var ui = SpreadsheetApp.getUi();
var 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.
var ui = SpreadsheetApp.getUi();
var 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.
var ui = SpreadsheetApp.getUi();
var 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.
var 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.
var 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.
var 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

रोके गए तरीके