ברוב תוספים ל-Editor, חלונות דו-שיח ולוחות בסרגל הצד הם ממשקי המשתמש הראשיים של התוספים. אפשר להתאים אישית את שניהם באמצעות HTML ו-CSS רגילים, ואפשר להשתמש במודל התקשורת בין שרת ללקוח של Apps Script כדי להריץ פונקציות של Apps Script כשהמשתמש מבצע אינטראקציה עם סרגל הצד או תיבת הדו-שיח. אפשר להגדיר כמה סרגל צד ותיבות דו-שיח בתוסף, אבל אפשר להציג רק אחד מהם בכל פעם.
אם אתם רוצים למנוע מהמשתמש לקיים אינטראקציה עם העורך עד שהוא יבצע בחירה כלשהי בממשק התוסף, השתמשו בתיבת דו-שיח. אחרת, השתמשו בסרגל צד.
תיבות דו-שיח
תיבות דו-שיח הן חלוניות שמופיעות מעל התוכן הראשי של העורך. תיבת הדו-שיח של Apps Script היא תיבת דו-שיח רגילה. כשהיא פתוחה, המשתמש לא יכול לבצע פעולות ברכיבים האחרים של ממשק העריכה. אתם יכולים להתאים אישית את התוכן והגודל של תיבת הדו-שיח.
יוצרים תיבות דו-שיח של תוספים באותו אופן שבו יוצרים תיבות דו-שיח בהתאמה אישית ב-Apps Script. הנה התהליך המומלץ באופן כללי:
- יוצרים קובץ של פרויקט סקריפט שמגדיר את מבנה ה-HTML, את ה-CSS ואת התנהגות ה-JavaScript בצד הלקוח של תיבת הדו-שיח. כשמגדירים את תיבת הדו-שיח, כדאי לעיין בהנחיות הסגנון של תוספים ל-Editor.
- בקוד בצד השרת שבו רוצים לפתוח את תיבת הדו-שיח, קוראים ל-
HtmlService.createHtmlOutputFromFile(filename)
כדי ליצור אובייקטHtmlOutput
שמייצג את תיבת הדו-שיח. לחלופין, אם אתם משתמשים ב-HTML עם תבנית, תוכלו להפעיל אתHtmlService.createTemplateFromFile(filename)
כדי ליצור תבנית ואז להפעיל אתHtmlTemplate.evaluate()
כדי להמיר אותה לאובייקטHtmlOutput
. - כדי להציג את תיבת הדו-שיח באמצעות
HtmlOutput
, צריך להפעיל את הפונקציהUi.showModalDialog(htmlOutput, dialogTitle)
.
תיבת דו-שיח לא משהה את הסקריפט בצד השרת בזמן שהיא פתוחה. ה-JavaScript בצד הלקוח יכול לבצע קריאות אסינכרוניות לצד השרת באמצעות google.script.run()
ופונקציות ה-handler המשויכות. פרטים נוספים זמינים במאמר תקשורת בין לקוח לשרת.
תיבות דו-שיח לפתיחת קבצים
תיבות דו-שיח לפתיחת קבצים הן תיבות דו-שיח מוגדרות מראש שמאפשרות למשתמשים לבחור קבצים מ-Google Drive שלהם. אפשר להוסיף לתוסף תיבת דו-שיח לפתיחת קבצים בלי לעצב אותה, אבל צריך לבצע הגדרות נוספות. כדי להפעיל את Google Picker API, נדרשת גם גישה לפרויקט Cloud Platform של התוסף.
פרטים מלאים זמינים במאמר תיבות דו-שיח לפתיחת קבצים.
סרגלי צד
סרגלים צדדים הם חלוניות שמופיעות בצד שמאל של ממשק העריכה, והם הסוג הנפוץ ביותר של ממשק תוסף. בניגוד לחלונות דו-שיח, אפשר להמשיך לבצע פעולות ברכיבים האחרים של ממשק העריכה בזמן שחלונית הצד פתוחה. לחלוניות הצד יש רוחב קבוע, אבל אתם יכולים להתאים אישית את התוכן שלהן.
יוצרים סרגל צד של תוסף באותו אופן שבו יוצרים סרגל צד מותאם אישית ב-Apps Script. הנה התהליך המומלץ באופן כללי:
- יוצרים קובץ פרויקט של סקריפט שמגדיר את מבנה ה-HTML, את ה-CSS ואת התנהגות ה-JavaScript בצד הלקוח של סרגל הצד. כשמגדירים את סרגל הצד, כדאי לעיין בהנחיות הסגנון של תוספים ל-Editor.
בקוד בצד השרת שבו רוצים שסרגל הצד ייפתח, קוראים ל-
HtmlService.createHtmlOutputFromFile(filename)
כדי ליצור אובייקטHtmlOutput
שמייצג את סרגל הצד. לחלופין, אם אתם משתמשים ב-HTML עם תבנית, תוכלו להפעיל אתHtmlService.createTemplateFromFile(filename)
כדי ליצור תבנית ואז להפעיל אתHtmlTemplate.evaluate()
כדי להמיר אותה לאובייקטHtmlOutput
.כדי להציג את סרגל הצד, קוראים לפונקציה
Ui.showSidebar(htmlOutput)
באמצעותHtmlOutput
.
סרגל הצד לא משהה את הסקריפט בצד השרת בזמן שהוא פתוח. ה-JavaScript בצד הלקוח יכול לבצע קריאות אסינכרוניות לצד השרת באמצעות google.script.run()
ופונקציות ה-handler המשויכות. פרטים נוספים זמינים במאמר תקשורת בין לקוח לשרת.