Ç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. Kullanıcı kenar çubuğu veya iletişim kutusuyla etkileşime geçtiğinde Apps Script işlevlerini çalıştırmak için Apps Script'in istemci-sunucu iletişim modelini kullanabilirsiniz. Eklentiniz birden fazla kenar çubuğu ve iletişim kutusu tanımlayabilir ancak aynı anda yalnızca birini görüntüleyebilir.
Kullanıcının, eklenti arayüzünde bir seçim yapana kadar düzenleyiciyle etkileşime geçmesini engellemek istediğinizde iletişim kutusu, aksi takdirde kenar çubuğu kullanın.
İletişim kutuları
İletişim kutuları, birincil düzenleyici içeriğinin üzerine gelen pencere panelleridir. Apps Komut Dosyası iletişim kutuları modaldır; açıkken kullanıcı, düzenleyici arayüzünün diğer öğeleriyle etkileşime geçemez. İ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. Önerilen genel prosedür aşağıdaki gibidir:
- İletişiminizin 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 yönergelerine bakın.
- İletişim kutusunun açılmasını istediğiniz sunucu tarafı kodunuzda, iletişim kutusunu temsil eden bir
HtmlOutput
nesnesi oluşturmak içinHtmlService.createHtmlOutputFromFile(filename)
işlevini çağırın. Alternatif olarak, şablonlu HTML kullanıyorsanız bir şablon oluşturmak içinHtmlService.createTemplateFromFile(filename)
, ardından şablonuHtmlOutput
nesnesine dönüştürmek içinHtmlTemplate.evaluate()
işlevini çağırabilirsiniz. HtmlOutput
öğesini kullanarak iletişim kutusunu görüntülemek içinUi.showModalDialog(htmlOutput, dialogTitle)
öğesini çağırın.
İletişim kutuları açıkken sunucu tarafı komut dosyasını askıya almaz. İ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 ile sunucu arasındaki 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. Tasarlamanıza gerek kalmadan eklentinize dosya açma iletişim kutusu ekleyebilirsiniz ancak bunun için ek yapılandırma gerekir. Google Seçici API'yi etkinleştirmek için eklentinin Cloud Platform projesine de erişiminizin olması gerekir.
Tüm ayrıntılar 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 ve en yaygın eklenti arayüzü türüdür. İletişim kutularının aksine, kenar çubuğu açıkken düzenleyici arayüzünün diğer öğeleriyle etkileşime geçmeye devam edebilirsiniz. Kenar çubuklarının genişliği sabit olsa da içeriklerini özelleştirebilirsiniz.
Eklenti kenar çubuklarını, Apps Script özel kenar çubukları ile aynı şekilde oluşturursunuz. Önerilen genel prosedür aşağıdaki gibidir:
- 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 Düzenleyici eklentisi stil yönergelerine bakın.
Kenar çubuğunun açılmasını istediğiniz sunucu tarafı kodunuzda, kenar çubuğunu temsil eden bir
HtmlOutput
nesnesi oluşturmak içinHtmlService.createHtmlOutputFromFile(filename)
işlevini çağırın. Alternatif olarak, şablonlu HTML kullanıyorsanız bir şablon oluşturmak içinHtmlService.createTemplateFromFile(filename)
, ardından şablonuHtmlOutput
nesnesine dönüştürmek içinHtmlTemplate.evaluate()
işlevini çağırabilirsiniz.HtmlOutput
kullanarak kenar çubuğunu görüntülemek içinUi.showSidebar(htmlOutput)
işlevini çağırın.
Kenar çubukları açıkken sunucu tarafı komut dosyasını askıya almaz. İ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 ile sunucu arasındaki iletişim başlıklı makaleyi inceleyin.