FIxes for new dropdowns
parent
46a56f8af5
commit
d295aef332
|
|
@ -350,24 +350,19 @@ state.core = (function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleToggleButton(id, duplicateIds) {
|
function handleToggleButton(id, duplicateIds) {
|
||||||
let btn = gradioApp().querySelector(`button#${id}`);
|
|
||||||
if (! btn) { // New gradio version
|
let selector = duplicateIds ? `[id="${id}"]` : `#${id}`;
|
||||||
btn = gradioApp().querySelector(`.input-accordion#${id} .label-wrap`);
|
|
||||||
}
|
elements = gradioApp().querySelectorAll(`.input-accordion${selector}>.label-wrap`);
|
||||||
if (! btn) {
|
|
||||||
state.logging.warn(`Button not found: ${id}`);
|
elements.forEach(function (element) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (store.get(id) === 'true') {
|
if (store.get(id) === 'true') {
|
||||||
state.utils.clickToggleMenu(btn);
|
state.utils.clickToggleMenu(element);
|
||||||
}
|
}
|
||||||
btn.addEventListener('click', function () {
|
element.addEventListener('click', function () {
|
||||||
let classList = Array.from(this.parentNode.classList);
|
let classList = Array.from(this.parentNode.classList);
|
||||||
if (btn.tagName === 'BUTTON') { // Old gradio version
|
|
||||||
store.set(id, classList.indexOf('secondary-down') === -1);
|
|
||||||
} else {
|
|
||||||
store.set(id, classList.indexOf('input-accordion-open') > -1);
|
store.set(id, classList.indexOf('input-accordion-open') > -1);
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,21 +29,7 @@ state.utils = {
|
||||||
state.logging.warn('Toggle button not found');
|
state.logging.warn('Toggle button not found');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let mouseEvent = new MouseEvent('click', {
|
element.click();
|
||||||
view: window,
|
|
||||||
bubbles: true,
|
|
||||||
cancelable: true
|
|
||||||
});
|
|
||||||
element.dispatchEvent(mouseEvent);
|
|
||||||
let icon = element.parentNode.querySelector('.icon');
|
|
||||||
if (icon) {
|
|
||||||
icon.dispatchEvent(mouseEvent);
|
|
||||||
}
|
|
||||||
let checkbox = element.parentNode.querySelector('input[type="checkbox"]');
|
|
||||||
if (checkbox) {
|
|
||||||
checkbox.checked = !checkbox.checked;
|
|
||||||
checkbox.dispatchEvent(mouseEvent);
|
|
||||||
}
|
|
||||||
return element;
|
return element;
|
||||||
},
|
},
|
||||||
setValue: function setValue(element, value, event) {
|
setValue: function setValue(element, value, event) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue