let settingsExcludeTabsFromShowAll = { settings_tab_defaults: 1, settings_tab_sysinfo: 1, settings_tab_actions: 1, settings_tab_licenses: 1, }; function settingsShowAllTabs() { gradioApp().querySelectorAll('#settings > div').forEach(function(elem) { if (settingsExcludeTabsFromShowAll[elem.id]) return; elem.style.display = "block"; }); } function settingsShowOneTab() { gradioApp().querySelector('#settings_show_one_page').click(); } onUiLoaded(function() { var edit = gradioApp().querySelector('#settings_search'); var editTextarea = gradioApp().querySelector('#settings_search > label > input'); var buttonShowAllPages = gradioApp().getElementById('settings_show_all_pages'); var settings_tabs = gradioApp().querySelector('#settings div'); onEdit('settingsSearch', editTextarea, 250, function() { var searchText = (editTextarea.value || "").trim().toLowerCase(); gradioApp().querySelectorAll('#settings > div[id^=settings_] div[id^=column_settings_] > *').forEach(function(elem) { var visible = elem.textContent.trim().toLowerCase().indexOf(searchText) != -1; elem.style.display = visible ? "" : "none"; }); if (searchText != "") { settingsShowAllTabs(); } else { settingsShowOneTab(); } }); settings_tabs.insertBefore(edit, settings_tabs.firstChild); settings_tabs.appendChild(buttonShowAllPages); buttonShowAllPages.addEventListener("click", settingsShowAllTabs); }); onOptionsChanged(function() { if (gradioApp().querySelector('#settings .settings-category')) return; var sectionMap = {}; gradioApp().querySelectorAll('#settings > div > button').forEach(function(x) { sectionMap[x.textContent.trim()] = x; }); opts._categories.forEach(function(x) { var section = x[0]; var category = x[1]; var span = document.createElement('SPAN'); span.textContent = category; span.className = 'settings-category'; var sectionElem = sectionMap[section]; if (!sectionElem) return; sectionElem.parentElement.insertBefore(span, sectionElem); }); });