पब्लिश किए गए एडिटर ऐड-ऑन
अपने एडिटर के एक्सटेंशन मेन्यू में जाकर, पसंद के मुताबिक मेन्यू आइटम बना सकते हैं. Ui.createAddonMenu()
वाला तरीका इस्तेमाल करके ऐड-ऑन मेन्यू डाला जा सकता है और Menu.addItem()
तरीके का इस्तेमाल करके उसमें आइटम जोड़े जा सकते हैं. आम तौर पर, ऐड-ऑन के onOpen(e)
तरीके का इस्तेमाल करके मेन्यू बनाए जाते हैं.
आपके पास ऐसे डाइनैमिक मेन्यू बनाने का विकल्प है जो उपयोगकर्ता के इंटरैक्शन या ऐड-ऑन
की स्थिति के आधार पर बदलते हैं. हालांकि, उपयोगकर्ता की ओर से ऐड-ऑन को अनुमति देने से पहले, ऐड-ऑन को एक शुरुआती मेन्यू बनाना चाहिए. इसलिए, आपको onOpen(e)
में मेन्यू बनाने से पहले, ऐड-ऑन के
अनुमति मोड
की जांच करनी होगी. ScriptApp.AuthMode.NONE
में ऐड-ऑन मौजूद होने पर, ऐसी कोई कार्रवाई न करें जिसके लिए अनुमति की ज़रूरत हो. जैसे, स्क्रिप्ट देखनाProperties
. अनुमति देने के मोड और लाइफ़साइकल के बारे में ज़्यादा जानकारी के लिए,
अनुमति का लाइफ़साइकल देखें.
नीचे दिए गए उदाहरण में, अलग-अलग अनुमति देने के मोड के लिए डाइनैमिक ऐड-ऑन मेन्यू बनाने का तरीका बताया गया है:
function onOpen(e) {
var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or SlidesApp or FormApp.
if (e && e.authMode == ScriptApp.AuthMode.NONE) {
// Add a normal menu item (works in all authorization modes).
menu.addItem('Start workflow', 'startWorkflow');
} else {
// Add a menu item based on properties (doesn't work in AuthMode.NONE).
var properties = PropertiesService.getDocumentProperties();
var workflowStarted = properties.getProperty('workflowStarted');
if (workflowStarted) {
menu.addItem('Check workflow status', 'checkWorkflow');
} else {
menu.addItem('Start workflow', 'startWorkflow');
}
// Record analytics.
UrlFetchApp.fetch('http://www.example.com/analytics?event=open');
}
menu.addToUi();
}