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