สำหรับส่วนเสริมของเอดิเตอร์ส่วนใหญ่ หน้าต่างกล่องโต้ตอบและแผงแถบด้านข้างคืออินเทอร์เฟซผู้ใช้หลักของส่วนเสริม ทั้ง 2 อย่างนี้ปรับแต่งได้อย่างเต็มที่โดยใช้ HTML และ CSS มาตรฐาน และคุณสามารถใช้รูปแบบการสื่อสารแบบไคลเอ็นต์-เซิร์ฟเวอร์ของ Apps Script เพื่อเรียกใช้ฟังก์ชัน Apps Script เมื่อผู้ใช้โต้ตอบกับแถบด้านข้างหรือกล่องโต้ตอบ ส่วนเสริมของคุณสามารถกำหนดแถบด้านข้างและกล่องโต้ตอบได้หลายรายการ แต่จะแสดงได้ครั้งละ 1 รายการเท่านั้น
เมื่อต้องการป้องกันไม่ให้ผู้ใช้โต้ตอบกับเครื่องมือแก้ไขจนกว่าผู้ใช้จะเลือกตัวเลือกบางอย่างในอินเทอร์เฟซของส่วนเสริม ให้ใช้กล่องโต้ตอบ หรือใช้แถบด้านข้าง
กล่องโต้ตอบ
กล่องโต้ตอบคือแผงหน้าต่างที่ซ้อนทับเนื้อหาของเครื่องมือแก้ไขหลัก กล่องโต้ตอบของ Apps Script เป็นแบบโมดัล ขณะที่กล่องโต้ตอบเปิดอยู่ ผู้ใช้จะโต้ตอบกับ องค์ประกอบอื่นๆ ของอินเทอร์เฟซเอดิเตอร์ไม่ได้ คุณปรับแต่งเนื้อหาและขนาด ของกล่องโต้ตอบได้
คุณสร้างกล่องโต้ตอบของส่วนเสริมได้ในลักษณะเดียวกับกล่องโต้ตอบที่กำหนดเองของ Apps Script โดยขั้นตอนทั่วไปที่แนะนำมีดังนี้
- สร้างไฟล์โปรเจ็กต์สคริปต์ที่กำหนดโครงสร้าง HTML ของกล่องโต้ตอบ CSS และลักษณะการทำงานของ JavaScript ฝั่งไคลเอ็นต์ เมื่อกำหนดกล่องโต้ตอบ โปรดดูหลักเกณฑ์ด้านสไตล์ของส่วนเสริมของเอดิเตอร์
- ในโค้ดฝั่งเซิร์ฟเวอร์ที่คุณต้องการให้กล่องโต้ตอบเปิดขึ้น ให้เรียกใช้
HtmlService.createHtmlOutputFromFile(filename)
เพื่อสร้างออบเจ็กต์HtmlOutput
ที่แสดงกล่องโต้ตอบ หรือหากใช้ HTML ที่มีเทมเพลต คุณสามารถเรียกใช้HtmlService.createTemplateFromFile(filename)
เพื่อสร้างเทมเพลต แล้วใช้HtmlTemplate.evaluate()
เพื่อแปลงเป็นออบเจ็กต์HtmlOutput
- โทรหา
Ui.showModalDialog(htmlOutput, dialogTitle)
เพื่อแสดงกล่องโต้ตอบโดยใช้HtmlOutput
กล่องโต้ตอบจะไม่ระงับสคริปต์ฝั่งเซิร์ฟเวอร์ขณะที่เปิดอยู่ JavaScript ฝั่งไคลเอ็นต์สามารถทำการเรียกแบบไม่พร้อมกันไปยังฝั่งเซิร์ฟเวอร์ได้
โดยใช้ google.script.run()
และ
ฟังก์ชันแฮนเดิลที่เกี่ยวข้อง โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อ
การสื่อสารระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์
กล่องโต้ตอบการเปิดไฟล์
กล่องโต้ตอบการเปิดไฟล์เป็นกล่องโต้ตอบที่สร้างไว้ล่วงหน้าซึ่งช่วยให้ผู้ใช้เลือกไฟล์ จาก Google ไดรฟ์ได้ คุณเพิ่มกล่องโต้ตอบการเปิดไฟล์ลงในส่วนเสริมได้โดยไม่ต้องออกแบบ แต่ต้องมีการกำหนดค่าเพิ่มเติม นอกจากนี้ คุณยังต้องมีสิทธิ์เข้าถึงโปรเจ็กต์ Cloud Platform ของส่วนเสริม เพื่อเปิดใช้ Google Picker API
ดูรายละเอียดทั้งหมดได้ที่กล่องโต้ตอบการเปิดไฟล์
แถบด้านข้าง
แถบด้านข้างคือแผงที่ปรากฏทางด้านขวาของอินเทอร์เฟซเครื่องมือแก้ไข และเป็นอินเทอร์เฟซส่วนเสริมประเภทที่พบได้บ่อยที่สุด คุณจะโต้ตอบกับองค์ประกอบอื่นๆ ของอินเทอร์เฟซเอดิเตอร์ต่อไปได้ขณะที่แถบด้านข้างเปิดอยู่ ซึ่งต่างจากกล่องโต้ตอบ แถบด้านข้างมีความกว้างคงที่ แต่คุณปรับแต่งเนื้อหาได้
คุณสร้างแถบด้านข้างของส่วนเสริมได้ในลักษณะเดียวกับแถบด้านข้างที่กำหนดเองของ Apps Script โดยขั้นตอนทั่วไปที่แนะนำมีดังนี้
- สร้างไฟล์โปรเจ็กต์สคริปต์ที่กำหนดโครงสร้าง HTML ของแถบด้านข้าง CSS และลักษณะการทำงานของ JavaScript ฝั่งไคลเอ็นต์ เมื่อกำหนดแถบด้านข้าง โปรดดูหลักเกณฑ์ด้านรูปแบบของส่วนเสริมของเอดิเตอร์
ในโค้ดฝั่งเซิร์ฟเวอร์ที่คุณต้องการให้แถบด้านข้างเปิดขึ้น ให้เรียกใช้
HtmlService.createHtmlOutputFromFile(filename)
เพื่อสร้างออบเจ็กต์HtmlOutput
ที่แสดงแถบด้านข้าง หรือหากใช้ HTML ที่มีเทมเพลต คุณสามารถเรียกใช้HtmlService.createTemplateFromFile(filename)
เพื่อสร้างเทมเพลต แล้วใช้HtmlTemplate.evaluate()
เพื่อแปลงเป็นออบเจ็กต์HtmlOutput
เรียกใช้
Ui.showSidebar(htmlOutput)
เพื่อแสดงแถบด้านข้างโดยใช้HtmlOutput
แถบด้านข้างจะไม่ระงับสคริปต์ฝั่งเซิร์ฟเวอร์ขณะเปิดอยู่ JavaScript ฝั่งไคลเอ็นต์สามารถทำการเรียกแบบไม่พร้อมกันไปยังฝั่งเซิร์ฟเวอร์ได้
โดยใช้ google.script.run()
และ
ฟังก์ชันแฮนเดิลที่เกี่ยวข้อง โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อ
การสื่อสารระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์