القوائم المخصّصة لإضافات المحرِّر

إضافات المحرِّرين المنشورة يمكنهم إنشاء عناصر قائمة مخصّصة ضمن قائمة الإضافات في المحرر. يمكنك لإدراج قائمة الإضافات باستخدام طريقة واحدة (Ui.createAddonMenu()) وإضافة عناصر إليها باستخدام Menu.addItem() . يتم عادةً إنشاء القوائم باتّباع طريقة onOpen(e) الخاصة بالإضافة.

يمكنك إنشاء قوائم ديناميكية تتغير استنادًا إلى تفاعلات المستخدم أو الإضافة. الولاية. ومع ذلك، يجب أن تنشئ الإضافات قائمة مبدئية قبل إنشاء الإضافة من قبل المستخدم. ولهذا السبب، عليك التحقّق من الإضافات وضع التفويض قبل إنشاء القوائم في onOpen(e). لا تحاول اتخاذ أي إجراء يتطلب تفويضًا (مثل التحقق من النص البرمجي Properties) عندما تكون الإضافة في "ScriptApp.AuthMode.NONE" يمكنك الاطّلاع على مراحل نشاط التفويض لمزيد من التفاصيل حول أوضاع الأذونات ومراحل نشاطها.

يوضح المثال التالي كيفية إنشاء قائمة إضافات ديناميكية لمختلف أوضاع التفويض:

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();
}