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

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

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

תיבות דו-שיח

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

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

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

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

תיבות דו-שיח לפתיחת קבצים

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

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

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

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

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

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

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