دیالوگ ها و نوارهای جانبی برای ویرایشگر افزونه

برای اکثر افزونه‌های ویرایشگر ، پنجره‌های محاوره‌ای و پانل‌های نوار کناری رابط‌های کاربر اصلی هستند. هر دو کاملاً با استفاده از HTML و CSS استاندارد قابل تنظیم هستند، و می‌توانید از مدل ارتباطی سرویس گیرنده-سرور Apps Script برای اجرای عملکردهای Apps Script در هنگام تعامل کاربر با نوار کناری یا گفتگو استفاده کنید. برافزای شما می‌تواند چندین نوار کناری و دیالوگ را تعریف کند، اما افزونه می‌تواند هر بار تنها یکی را نمایش دهد.

هنگامی که می خواهید مانع از تعامل کاربر با ویرایشگر شوید تا زمانی که در واسط افزونه انتخابی انجام دهد، از یک گفتگو استفاده کنید. در غیر این صورت از نوار کناری استفاده کنید.

دیالوگ ها

دیالوگ ها پانل های پنجره ای هستند که محتوای ویرایشگر اصلی را پوشش می دهند. دیالوگ های Apps Script حالتی هستند. در حالی که آنها باز هستند، کاربر نمی تواند با سایر عناصر رابط ویرایشگر تعامل داشته باشد. می توانید محتوا و اندازه دیالوگ ها را سفارشی کنید.

شما دیالوگ های افزودنی را مانند گفتگوهای سفارشی Apps Script می سازید. روش کلی توصیه شده به شرح زیر است:

  1. یک فایل پروژه اسکریپت ایجاد کنید که ساختار HTML، CSS و رفتار جاوا اسکریپت سمت سرویس گیرنده را تعریف کند. هنگام تعریف گفتگو، به دستورالعمل‌های سبک افزودنی ویرایشگر مراجعه کنید.
  2. در کد سمت سرور، جایی که می‌خواهید گفتگو باز شود، HtmlService.createHtmlOutputFromFile(filename) را فراخوانی کنید تا یک شی HtmlOutput که نمایانگر گفتگو است ایجاد کنید. از طرف دیگر، اگر از HTML قالب استفاده می‌کنید، می‌توانید HtmlService.createTemplateFromFile(filename) برای تولید یک الگو و سپس HtmlTemplate.evaluate() برای تبدیل آن به یک شی HtmlOutput فراخوانی کنید.
  3. Ui.showModalDialog(htmlOutput, dialogTitle) را فراخوانی کنید تا گفتگو با استفاده از آن HtmlOutput نمایش داده شود.

دیالوگ ها اسکریپت سمت سرور را تا زمانی که باز هستند به حالت تعلیق در نمی آورند. جاوا اسکریپت سمت کلاینت می تواند با استفاده از google.script.run() و توابع مربوط به کنترل کننده، تماس های ناهمزمان با سمت سرور برقرار کند. برای جزئیات بیشتر، ارتباط مشتری به سرور را ببینید.

دیالوگ های باز کردن فایل

دیالوگ های باز کردن فایل دیالوگ های از پیش ساخته شده ای هستند که به کاربران شما امکان می دهد فایل ها را از Google Drive خود انتخاب کنند. می‌توانید بدون نیاز به طراحی، یک دیالوگ باز کردن فایل را به افزونه خود اضافه کنید، اما نیاز به تنظیمات بیشتری دارد. همچنین برای فعال کردن Google Picker API نیاز به دسترسی به پروژه Cloud Platform افزونه دارید.

برای جزئیات کامل، گفتگوهای باز کردن فایل را ببینید.

سایدبارها پنل هایی هستند که در سمت راست رابط ویرایشگر ظاهر می شوند و رایج ترین نوع رابط افزودنی هستند. برخلاف دیالوگ‌ها، می‌توانید در حالی که یک نوار کناری باز است، به تعامل با سایر عناصر رابط ویرایشگر ادامه دهید. سایدبارها دارای عرض ثابت هستند، اما می توانید محتوای آنها را سفارشی کنید.

شما نوارهای جانبی افزودنی را مانند نوارهای فرعی سفارشی Apps Script می سازید. روش کلی توصیه شده به شرح زیر است:

  1. یک فایل پروژه اسکریپت ایجاد کنید که ساختار HTML، CSS و رفتار جاوا اسکریپت سمت کلاینت نوار کناری شما را تعریف کند. هنگام تعریف نوار کناری، به دستورالعمل‌های سبک افزودنی ویرایشگر مراجعه کنید.
  2. در کد سمت سرور خود، جایی که می‌خواهید نوار کناری باز شود، HtmlService.createHtmlOutputFromFile(filename) را فراخوانی کنید تا یک شی HtmlOutput که نشان دهنده نوار کناری است ایجاد کنید. از طرف دیگر، اگر از HTML قالب استفاده می‌کنید، می‌توانید HtmlService.createTemplateFromFile(filename) برای تولید یک الگو و سپس HtmlTemplate.evaluate() برای تبدیل آن به یک شی HtmlOutput فراخوانی کنید.

  3. برای نمایش نوار کناری با استفاده از آن HtmlOutput Ui.showSidebar(htmlOutput) فراخوانی کنید.

سایدبارها اسکریپت سمت سرور را تا زمانی که باز هستند به حالت تعلیق در نمی آورند. جاوا اسکریپت سمت کلاینت می تواند با استفاده از google.script.run() و توابع مربوط به کنترل کننده، تماس های ناهمزمان با سمت سرور برقرار کند. برای جزئیات بیشتر، ارتباط مشتری به سرور را ببینید.