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