Düzenleyici eklentisi için iletişim kutuları ve kenar çubukları

Ç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 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, 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ı modaldır. Açık oldukları sürece kullanıcı, 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 olarak önerilen prosedür şöyledir:

  1. İletişim kutunuzun HTML yapısını, CSS'sini ve istemci tarafı JavaScript davranışını tanımlayan bir komut dosyası proje dosyası oluşturun. İletişim kutusunu tanımlarken Düzenleyici eklentisi stil kurallarına bakın.
  2. İletişim kutusunun açılmasını istediğiniz sunucu tarafı kodunuzda, iletişim kutusunu temsil eden bir HtmlOutput nesnesi oluşturmak için HtmlService.createHtmlOutputFromFile(filename) işlevini çağırın. Alternatif olarak, şablonlu HTML kullanıyorsanız HtmlService.createTemplateFromFile(filename) işlevini çağırarak şablon oluşturabilir ve ardından HtmlTemplate.evaluate() işlevini çağırarak şablonu HtmlOutput nesnesine dönüştürebilirsiniz.
  3. İletişim kutusunu Ui.showModalDialog(htmlOutput, dialogTitle) kullanarak görüntülemek için HtmlOutput ç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 İstemci-sunucu iletişimi 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. Eklentinize, tasarlamanıza gerek kalmadan dosya açma iletişim kutusu ekleyebilirsiniz ancak bunun için bazı ek yapılandırmalar gerekir. Google Seçici API'yi etkinleştirmek için eklentinin Cloud Platform projesine de erişmeniz gerekir.

Tüm ayrıntılar için Dosya açma iletişim kutuları başlıklı makaleyi inceleyin.

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. İletişim kutularının aksine, bir kenar çubuğu açıkken düzenleyici arayüzünün diğer öğeleriyle etkileşime 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 olarak önerilen prosedür şöyledir:

  1. 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.
  2. Kenar çubuğunun açılmasını istediğiniz sunucu tarafı kodunuzda, kenar çubuğunu temsil eden bir HtmlOutput nesnesi oluşturmak için HtmlService.createHtmlOutputFromFile(filename) çağrısı yapın. Alternatif olarak, şablonlu HTML kullanıyorsanız HtmlService.createTemplateFromFile(filename) işlevini çağırarak şablon oluşturabilir ve ardından HtmlTemplate.evaluate() işlevini çağırarak şablonu HtmlOutput nesnesine dönüştürebilirsiniz.

  3. Ui.showSidebar(htmlOutput) tuşuna basarak HtmlOutput kullanarak 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 İstemci-sunucu iletişimi başlıklı makaleyi inceleyin.