Added option to hide state ui elements

pull/71/head
ilian.iliev 2024-05-04 20:00:45 +03:00
parent b6b1b3ec6a
commit 6bb7f702cb
3 changed files with 31 additions and 9 deletions

View File

@ -95,7 +95,7 @@ state.core = (function () {
store = new state.Store(); store = new state.Store();
loadUI(); loadUI(config);
restoreTabs(config); restoreTabs(config);
forEachElement(ELEMENTS, config, (element, tab) => { forEachElement(ELEMENTS, config, (element, tab) => {
@ -177,16 +177,26 @@ state.core = (function () {
}; };
} }
function loadUI() { function loadUI(config) {
let quickSettings = gradioApp().getElementById("quicksettings"); let quickSettings = gradioApp().getElementById("quicksettings");
let className = quickSettings.querySelector('button').className; let className = quickSettings.querySelector('button').className;
quickSettings.appendChild(createHeaderButton('State: Reset', "*️⃣", className, {}, actions.resetAll)); let uiConfig = config['state_ui'];
quickSettings.appendChild(createHeaderButton('State: Export',"📤", className, {}, actions.exportState));
let fileInput = createHeaderFileInput('State: Import',"📥", className);
quickSettings.appendChild(fileInput.hiddenButton);
quickSettings.appendChild(fileInput.button);
}
if (!uiConfig || uiConfig.indexOf('Reset Button') > -1) {
quickSettings.appendChild(createHeaderButton('State: Reset', "*️⃣", className, {}, actions.resetAll));
}
if (!uiConfig || uiConfig.indexOf('Export Button') > -1) {
quickSettings.appendChild(createHeaderButton('State: Export',"📤", className, {}, actions.exportState));
}
if (!uiConfig || uiConfig.indexOf('Import Button') > -1) {
let fileInput = createHeaderFileInput('State: Import',"📥", className);
quickSettings.appendChild(fileInput.hiddenButton);
quickSettings.appendChild(fileInput.button);
}
}
function restoreTabs(config) { function restoreTabs(config) {

View File

@ -3,7 +3,7 @@ state = window.state;
state.Store = function Store (prefix) { state.Store = function Store (prefix) {
this.prefix = state.constants.LS_PREFIX + (prefix ? prefix + '-' : ''); this.prefix = state.constants.LS_PREFIX + (prefix ? prefix + '-' : '');
} };
state.Store.prototype.set = function (key, value) { state.Store.prototype.set = function (key, value) {
if (key.startsWith(this.prefix)) { if (key.startsWith(this.prefix)) {

View File

@ -89,5 +89,17 @@ def on_ui_settings():
] ]
}, section=section)) }, section=section))
shared.opts.add_option("state_ui", shared.OptionInfo([
"Reset Button",
"Import Button",
"Export Button"
], "State UI", gr.CheckboxGroup, lambda: {
"choices": [
"Reset Button",
"Import Button",
"Export Button"
],
}, section=section))
scripts.script_callbacks.on_ui_settings(on_ui_settings) scripts.script_callbacks.on_ui_settings(on_ui_settings)