תיבות דו-שיח וסרגלי צד בתוסף העריכה

ברוב התוסף ל-Editor, חלונות דיאלוג וחלוניות בסרגל הצד הם ממשקי המשתמש הראשיים של התוספים. אפשר להתאים אישית את שניהם באמצעות HTML ו-CSS רגילים, וניתן להשתמש במודל התקשורת בין שרת הלקוח של Apps Script כדי להריץ פונקציות של Apps Script כשהמשתמש מקיים אינטראקציה עם סרגל הצד או עם תיבת הדו-שיח. התוסף יכול להגדיר מספר סרגלי צד ותיבות דו-שיח, אבל התוסף יכול להציג רק אחד מהם בכל פעם.

כשרוצים למנוע מהמשתמש אינטראקציה עם העורך עד שיבצע בחירה מסוימת בממשק של התוסף, השתמשו בתיבת דו-שיח. אם לא, השתמשו בסרגל הצד.

תיבות דו-שיח

תיבות דו-שיח הן חלוניות בחלונות שמכסה את התוכן של העורך הראשי. תיבות הדו-שיח של Apps Script הן מודולריות. בזמן שהן פתוחות, המשתמש לא יכול לקיים אינטראקציה עם האלמנטים האחרים בממשק העורך. אפשר להתאים אישית את התוכן והגודל של תיבות הדו-שיח.

היצירה של תיבות דו-שיח של תוספים זהה לבניית תיבות דו-שיח בהתאמה אישית ב-Apps Script, בהתאם לתהליך הכללי המומלץ:

  1. יוצרים קובץ פרויקט לסקריפט שמגדיר את מבנה ה-HTML של תיבת הדו-שיח, את ה-CSS ואת ההתנהגות של JavaScript בצד הלקוח. כשמגדירים את תיבת הדו-שיח, יש לעיין בהנחיות הסגנון של תוסף העריכה.
  2. בקוד בצד השרת שבו רוצים לפתוח את תיבת הדו-שיח, צריך לבצע קריאה אל HtmlService.createHtmlOutputFromFile(filename) כדי ליצור אובייקט HtmlOutput שמייצג את תיבת הדו-שיח. לחלופין, אם אתם משתמשים בתבנית HTML, אפשר לקרוא לפונקציה HtmlService.createTemplateFromFile(filename) כדי ליצור תבנית ולאחר מכן להשתמש ב-HtmlTemplate.evaluate() כדי להמיר אותה לאובייקט HtmlOutput.
  3. קוראים ל-Ui.showModalDialog(htmlOutput, dialogTitle) כדי להציג את תיבת הדו-שיח באמצעות ה-HtmlOutput הזה.

תיבות דו-שיח לא משעות את הסקריפט בצד השרת בזמן שהן פתוחות. קוד ה-JavaScript בצד הלקוח יכול לבצע קריאות אסינכרוניות לצד השרת באמצעות google.script.run() ופונקציות handler משויכות. למידע נוסף, קראו את המאמר תקשורת בין לקוחות לשרת.

תיבות דו-שיח לפתיחת קובץ

תיבות דו-שיח לפתיחת קובץ הן תיבות דו-שיח מוכנות מראש שמאפשרות למשתמשים לבחור קבצים מ-Google Drive. אפשר להוסיף לתוסף תיבת דו-שיח לפתיחת קובץ בלי שתצטרכו לעצב אותו, אבל נדרשת הגדרה נוספת. כדי להפעיל את Google Picker API צריך לתת גם גישה לפרויקט ב-Cloud Platform של התוסף.

פרטים מלאים זמינים בתיבות דו-שיח לפתיחת קובץ.

סרגלי צד הם לוחות שמופיעים בצד שמאל של ממשק העריכה, והם הסוג הנפוץ ביותר של ממשק תוספים. בניגוד לתיבות דו-שיח, אפשר להמשיך לבצע פעולות עם הרכיבים האחרים בממשק העורך בזמן שסרגל הצד פתוח. לסרגלי הצד יש רוחב קבוע, אבל אפשר להתאים אישית את התוכן שלהם.

היצירה של סרגלי צד של תוספים זהה לבניית סרגלי צד בהתאמה אישית ב-Apps Script, בהתאם לתהליך הכללי המומלץ:

  1. יוצרים קובץ פרויקט לסקריפט שמגדיר את מבנה ה-HTML, שירותי ה-CSS והתנהגות ה-JavaScript בצד הלקוח. כשמגדירים את סרגל הצד, חשוב לקרוא את ההנחיות לסגנון של תוסף עריכה.
  2. בקוד בצד השרת שבו רוצים שסרגל הצד ייפתח, קוראים לפונקציה HtmlService.createHtmlOutputFromFile(filename) כדי ליצור אובייקט HtmlOutput שמייצג את סרגל הצד. לחלופין, אם אתם משתמשים בתבנית HTML, אפשר לקרוא לפונקציה HtmlService.createTemplateFromFile(filename) כדי ליצור תבנית ולאחר מכן להשתמש ב-HtmlTemplate.evaluate() כדי להמיר אותה לאובייקט HtmlOutput.

  3. קוראים לפונקציה Ui.showSidebar(htmlOutput) כדי להציג את סרגל הצד באמצעות ה-HtmlOutput הזה.

סרגלי צד לא משעים את הסקריפט בצד השרת בזמן שהם פתוחים. קוד ה-JavaScript בצד הלקוח יכול לבצע קריאות אסינכרוניות לצד השרת באמצעות google.script.run() ופונקציות handler משויכות. למידע נוסף, קראו את המאמר תקשורת בין לקוחות לשרת.