From 46a56f8af5f936b580ea48d330067af7cd52b0e7 Mon Sep 17 00:00:00 2001 From: "ilian.iliev" Date: Sun, 6 Oct 2024 14:59:40 +0300 Subject: [PATCH] Addes support for tailed diffusion --- javascript/state.core.js | 7 +++++-- javascript/state.utils.js | 5 +++-- scripts/state_settings.py | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/javascript/state.core.js b/javascript/state.core.js index d2ca014..3dbe218 100644 --- a/javascript/state.core.js +++ b/javascript/state.core.js @@ -48,6 +48,7 @@ state.core = (function () { const TOGGLE_BUTTONS = { // Toggle buttons 'hires_fix': 'hr', 'refiner': 'enable', + 'tiled_diffusion': 'MD-t2i-enabled', }; // *** Exceptions *** // @@ -63,6 +64,7 @@ state.core = (function () { 'upscaler_scale_to_crop', 'upscaler_1', 'upscaler_2', + 'tiled_diffusion', ]; // Elements that have the same id in different tabs @@ -75,6 +77,7 @@ state.core = (function () { 'upscaler_scale_to_crop', 'upscaler_1', 'upscaler_2', + 'tiled_diffusion', ]; let store = null; @@ -349,7 +352,7 @@ state.core = (function () { function handleToggleButton(id, duplicateIds) { let btn = gradioApp().querySelector(`button#${id}`); if (! btn) { // New gradio version - btn = gradioApp().querySelector(`.input-accordion#${id}`); + btn = gradioApp().querySelector(`.input-accordion#${id} .label-wrap`); } if (! btn) { state.logging.warn(`Button not found: ${id}`); @@ -359,7 +362,7 @@ state.core = (function () { state.utils.clickToggleMenu(btn); } btn.addEventListener('click', function () { - let classList = Array.from(this.classList); + let classList = Array.from(this.parentNode.classList); if (btn.tagName === 'BUTTON') { // Old gradio version store.set(id, classList.indexOf('secondary-down') === -1); } else { diff --git a/javascript/state.utils.js b/javascript/state.utils.js index 972f4d3..885ccb4 100644 --- a/javascript/state.utils.js +++ b/javascript/state.utils.js @@ -35,12 +35,13 @@ state.utils = { cancelable: true }); element.dispatchEvent(mouseEvent); - let icon = element.querySelector('.icon'); + let icon = element.parentNode.querySelector('.icon'); if (icon) { icon.dispatchEvent(mouseEvent); } - let checkbox = element.querySelector('input[type="checkbox"]'); + let checkbox = element.parentNode.querySelector('input[type="checkbox"]'); if (checkbox) { + checkbox.checked = !checkbox.checked; checkbox.dispatchEvent(mouseEvent); } return element; diff --git a/scripts/state_settings.py b/scripts/state_settings.py index 42c20f6..45c781a 100644 --- a/scripts/state_settings.py +++ b/scripts/state_settings.py @@ -45,6 +45,7 @@ def on_ui_settings(): "upscaler_1", "upscaler_2", "upscaler_2_visibility", + "tiled_diffusion", "script" ] }, section=section)) @@ -76,6 +77,7 @@ def on_ui_settings(): "cfg_scale", "denoising_strength", "seed", + "tiled_diffusion", "script" ] }, section=section))