এডিটর অ্যাড-অনগুলির জন্য কাস্টম মেনু

প্রকাশিত সম্পাদক অ্যাড-অনগুলি তাদের সম্পাদকের এক্সটেনশন মেনুর অধীনে কাস্টম মেনু আইটেম তৈরি করতে পারে৷ আপনি 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();
}