Çoğu Düzenleyici eklentisi için iletişim kutuları ve kenar çubuğu panelleri, birincil eklenti kullanıcı arayüzleridir. Her ikisi de standart HTML ve CSS kullanılarak tamamen özelleştirilebilir. Ayrıca, kullanıcı kenar çubuğu veya iletişim kutusuyla etkileşime girdiğinde Apps Komut Dosyası işlevlerini çalıştırmak için Google Apps Komut Dosyası'nın istemci-sunucu iletişim modelini kullanabilirsiniz. Eklentiniz birden fazla kenar çubuğu ve iletişim kutusu tanımlayabilir ancak eklenti aynı anda yalnızca birini gösterebilir.
Kullanıcının, eklenti arayüzünde bir seçim yapana kadar düzenleyiciyle etkileşimde bulunmasını engellemek istediğinizde iletişim kutusu kullanın. Aksi takdirde kenar çubuğu kullanın.
İletişim kutuları
İletişim kutuları, ana düzenleyici içeriğinin üzerinde yer alan pencere panelleridir. Apps Komut Dosyası iletişim kutuları kalıcıdır. Kullanıcı, bu iletişim kutuları açıkken düzenleyici arayüzünün diğer öğeleriyle etkileşimde bulunamaz. İletişim kutularının içeriğini ve boyutunu özelleştirebilirsiniz.
Eklenti iletişim kutularını Apps Komut Dosyası özel iletişim kutularıyla aynı şekilde oluşturursunuz. Genel prosedür şöyledir:
- İletişim kutunuzun HTML yapısını, CSS'sini ve istemci tarafı JavaScript davranışını tanımlayan bir komut dosyası proje dosyası oluşturun. Düzenleyici eklentisi stil kurallarına bakın.
- İletişim kutusunun açılmasını istediğiniz sunucu tarafı kodunuzda, iletişim kutusunu temsil eden bir
HtmlOutputnesnesi oluşturmak içinHtmlService.createHtmlOutputFromFileişlevini çağırın. Alternatif olarak, şablonlu HTML kullanıyorsanızHtmlService.createTemplateFromFileişlevini çağırarak şablon oluşturabilir, ardındanHtmlTemplate.evaluateişlevini çağırarak şablonuHtmlOutputnesnesine dönüştürebilirsiniz. - İletişim kutusunu
Ui.showModalDialogkullanarak görüntülemek içinHtmlOutputçağrısı yapın.
İletişim kutuları açıkken sunucu tarafı komut dosyası askıya alınmaz. İstemci tarafı JavaScript, google.script.run ve ilişkili işleyici işlevlerini kullanarak sunucu tarafına eşzamansız çağrılar yapabilir. Daha fazla bilgi için İstemciden sunucuya iletişim başlıklı makaleyi inceleyin.
Dosya açma iletişim kutuları
Dosya açma iletişim kutuları, kullanıcılarınızın Google Drive'larından dosya seçmesine olanak tanıyan önceden oluşturulmuş iletişim kutularıdır. Dosya açma iletişim kutusunu eklentinize tasarlamanıza gerek kalmadan ekleyebilirsiniz ancak bunun için bazı ek yapılandırmalar yapmanız gerekir. Google Picker API'yi etkinleştirmek için eklentinin Cloud Platform projesine de erişmeniz gerekir.
Daha fazla bilgi için Dosya açma iletişim kutuları başlıklı makaleyi inceleyin.
Kenar çubukları
Kenar çubukları, düzenleyici arayüzünün sağ tarafında görünen panellerdir ve en yaygın eklenti arayüzü türüdür. Kenar çubuğu açıkken, iletişim kutularının aksine düzenleyici arayüzünün diğer öğeleriyle etkileşimde bulunmaya devam edebilirsiniz. Kenar çubuklarının genişliği sabittir ancak içeriklerini özelleştirebilirsiniz.
Eklenti kenar çubuklarını, Apps Komut Dosyası özel kenar çubuklarıyla aynı şekilde oluşturursunuz. Genel prosedür şöyledir:
- Kenar çubuğunuzun HTML yapısını, CSS'sini ve istemci tarafı JavaScript davranışını tanımlayan bir komut dosyası proje dosyası oluşturun. Kenar çubuğunu tanımlarken Editor eklentisi stil kurallarına bakın.
Kenar çubuğunun açılmasını istediğiniz sunucu tarafı kodunuzda, kenar çubuğunu temsil eden bir
HtmlOutputnesnesi oluşturmak içinHtmlService.createHtmlOutputFromFileişlevini çağırın. Alternatif olarak, şablonlu HTML kullanıyorsanızHtmlService.createTemplateFromFileişlevini çağırarak şablon oluşturabilir, ardındanHtmlTemplate.evaluateişlevini çağırarak şablonuHtmlOutputnesnesine dönüştürebilirsiniz.Eklenti kenar çubuklarının genişliği 300 pikseldir ve
HtmlOutput.setWidthçağrılarak değiştirilemez.Ui.showSidebartuşlarına basarakHtmlOutputkullanarak kenar çubuğunu görüntüleyin.
Kenar çubukları açıkken sunucu tarafı komut dosyası askıya alınmaz. İstemci tarafı JavaScript, google.script.run ve ilişkili işleyici işlevlerini kullanarak sunucu tarafına eşzamansız çağrılar yapabilir. Daha fazla bilgi için İstemciden sunucuya iletişim başlıklı makaleyi inceleyin.