GridJs de menüleri ve araç çubuklarını nasıl özelleştirirsiniz
Menüleri ve araç çubuğu düğmelerini özelleştirme hakkında
doğrudan kullanışlı API’ler sağlamıyoruz. ancak dom yapısına dayalı bazı js fonksiyonları yazarak bunu başarabiliriz.
Menü çubuğunu özelleştir
örneğin: yalnızca Dosya menüsünü tutmak için, GridJs div kimliğinin “gridjs-divid” olduğunu varsayın
//get menubar parent dom
const menubar=document.querySelector("#gridjs-divid > div > div:nth-child(1) > div > div.x-spreadsheet-banner-info-s > div.x-spreadsheet-toolbar.x-spreadsheet-menubar");
var childs = menubar.childNodes;
for (var i = childs.length - 1; i >= 0; i--)
{
// keep File menu only
if(childs[i].childNodes[0].childNodes[0].textContent!=="File")
{
menubar.removeChild(childs[i]);
}
}
Bu fonksiyon çağrıldıktan sonra

Menü çubuğu öğelerini özelleştir
örneğin: sadece Dosya menüsünde “Farklı Kaydet XLSX Olarak” menü öğesini tutmak için, GridJs div kimliğinin “gridjs-divid” olduğunu varsayın
//get menubar parent dom
const menubar=document.querySelector("#gridjs-divid > div > div:nth-child(1) > div > div.x-spreadsheet-banner-info-s > div.x-spreadsheet-toolbar.x-spreadsheet-menubar");
var childs = menubar.childNodes;
// keep the first one ->File menu only
for (var i = childs.length - 1; i >= 0; i--)
{ //find the File menu
if(childs[i].childNodes[0].childNodes[0].textContent==="File")
{
var dropdownparent = childs[i].childNodes[0].childNodes[1];
var menuitems = dropdownparent.childNodes;
for (var ii = menuitems.length - 1; ii >=0; ii--)
{
//remove other menu item that is not "Download As XLSX"
if (menuitems[ii].textContent !== 'Download As XLSX')
{
dropdownparent.removeChild(menuitems[ii]);
}
}
}
}
Bu fonksiyon çağrıldıktan sonra

Araç çubuğu öğelerini özelleştir
örneğin: yalnızca yakınlaştırma düğmesini tutmak için, GridJs div kimliğinin “gridjs-divid” olduğunu varsayın
//get toolbar parent dom
const toolbar=document.querySelector("#gridjs-divid > div > div.x-spreadsheet-toolbar > div.x-spreadsheet-toolbar-btns");
var childs = toolbar.childNodes;
for (var i = childs.length - 1; i >= 0; i--)
{
// keep File menu only
if(childs[i].getAttribute("data-tooltip")!=="Zoom")
{
toolbar.removeChild(childs[i]);
}
}
Bu fonksiyon çağrıldıktan sonra

Araç Çubuğu hover etkisini özelleştir
Tarayıcı inceleme penceresini açın, araç çubuğu düğmesini seçin,

sonra bu düğme için ilgili CSS anahtarını bulabiliriz:dondur

aşağıdaki CSS kuralını ekleyin:
.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover .x-spreadsheet-icon-img.freeze,
.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active .x-spreadsheet-icon-img.freeze {
background: rgba(4, 71, 33, 0.08);
filter: brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%);
}
sonuç şöyle olacaktır:

Alt Çubuktaki Öğeleri Özelleştir
Genel Bakış
Alt çubuk iki etkileşimli düğme içerir:
- Çalışma Sayfası Ekle Düğmesi (
addsınıfı) - Yeni çalışma sayfaları oluşturur - Çalışma Sayfası Seç Düğmesi (
ellipsissınıfı) - Çalışma sayfası seçimlerini yönetir
DOM Erişimi
Bu elementlere erişmek için kullanabilirsiniz:
// Add Worksheet Button
const addButton = document.querySelector('.x-spreadsheet-icon-img.add');
// Select Worksheet Button
const selectButton = document.querySelector('.x-spreadsheet-icon-img.ellipsis');
Özelleştirme Örnekleri
- Düğmeleri Gizle Bir düğmeyi DOM’dan kaldırmak için:
// Hide Add Worksheet Button
const addButton = document.querySelector('.x-spreadsheet-icon-img.add');
addButton.parentElement.removeChild(addButton);
// Hide Select Worksheet Button
const selectButton = document.querySelector('.x-spreadsheet-icon-img.ellipsis');
selectButton.parentElement.removeChild(selectButton);
- Simgeleri Değiştir İkonları ya harici SVG dosyalarıyla ya da satır içi SVG verileriyle değiştirebilirsiniz.
const addButton = document.querySelector('.x-spreadsheet-icon-img.add');
addButton.style.backgroundImage = "url('https://example.com/fish-icon.svg')";
// Adjust size and position
addButton.style.width = '18px';
addButton.style.height = '18px';
addButton.style.left = '0';
addButton.style.top = '0';
- Buton Davranışını Değiştir İşlevselliği özelleştirmek için tıklama olayını değiştirebilirsiniz:
const addButton = document.querySelector('.x-spreadsheet-icon-img.add');
addButton.addEventListener('click', function() {
// Custom action here
console.log('Custom add worksheet action');
});