123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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 = localization[x[0]] ?? x[0];
- var category = localization[x[1]] ?? 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);
- });
- });
- function downloadSysinfo() {
- const pad = (n) => String(n).padStart(2, '0');
- const now = new Date();
- const YY = now.getFullYear();
- const MM = pad(now.getMonth() + 1);
- const DD = pad(now.getDate());
- const HH = pad(now.getHours());
- const mm = pad(now.getMinutes());
- const link = document.createElement('a');
- link.download = `sysinfo-${YY}-${MM}-${DD}-${HH}-${mm}.json`;
- const sysinfo_textbox = gradioApp().querySelector('#internal-sysinfo-textbox textarea');
- const content = sysinfo_textbox.value;
- if (content.startsWith('file=')) {
- link.href = content;
- } else {
- const blob = new Blob([content], {type: 'application/json'});
- link.href = URL.createObjectURL(blob);
- }
- link.click();
- sysinfo_textbox.value = '';
- updateInput(sysinfo_textbox);
- }
- function openTabSysinfo() {
- const sysinfo_textbox = gradioApp().querySelector('#internal-sysinfo-textbox textarea');
- const content = sysinfo_textbox.value;
- if (content.startsWith('file=')) {
- window.open(content, '_blank');
- } else {
- const blob = new Blob([content], {type: 'application/json'});
- const url = URL.createObjectURL(blob);
- window.open(url, '_blank');
- }
- sysinfo_textbox.value = '';
- updateInput(sysinfo_textbox);
- }
|