From d5d0438c0fed7c357bccc85353330eafc7170131 Mon Sep 17 00:00:00 2001 From: hako-mikan <122196982+hako-mikan@users.noreply.github.com> Date: Thu, 19 Jun 2025 22:55:26 +0900 Subject: [PATCH] fix --- javascript/inputAccordion.js | 56 ------------------------------------ 1 file changed, 56 deletions(-) delete mode 100644 javascript/inputAccordion.js diff --git a/javascript/inputAccordion.js b/javascript/inputAccordion.js deleted file mode 100644 index b193df1..0000000 --- a/javascript/inputAccordion.js +++ /dev/null @@ -1,56 +0,0 @@ -function setupAccordion(accordion) { - // 既に処理済みの場合はスキップ - if (accordion.getAttribute('data-processed') === 'true') { - return; - } - accordion.setAttribute('data-processed', 'true'); // 処理済みフラグを追加 - - var labelWrap = accordion.querySelector('.label-wrap'); - var gradioCheckbox = gradioApp().querySelector('#' + accordion.id + "-checkbox input"); - var extra = gradioApp().querySelector('#' + accordion.id + "-extra"); - var span = labelWrap.querySelector('span'); - - // 初期状態をGradioの状態に基づいて設定 - var visibleCheckbox = document.createElement('INPUT'); - visibleCheckbox.type = 'checkbox'; - visibleCheckbox.checked = gradioCheckbox.checked; // Gradioの初期状態を継承 - visibleCheckbox.id = accordion.id + "-visible-checkbox"; - visibleCheckbox.className = gradioCheckbox.className + " input-accordion-checkbox"; - - // 既にチェックボックスが存在していないか確認して追加 - if (!span.querySelector(`#${visibleCheckbox.id}`)) { - span.insertBefore(visibleCheckbox, span.firstChild); - } - - accordion.visibleCheckbox = visibleCheckbox; - - if (extra) { - labelWrap.insertBefore(extra, labelWrap.lastElementChild); - } - - // チェックボックスクリック時のイベント - visibleCheckbox.addEventListener('click', function(event) { - event.stopPropagation(); // クリックイベントの伝播を停止 - console.log(`Checkbox in accordion ${accordion.id} is now: `, visibleCheckbox.checked); - - // Gradioのチェックボックス状態を更新 - gradioCheckbox.checked = visibleCheckbox.checked; - gradioCheckbox.dispatchEvent(new Event('input', { bubbles: true })); - }); - - // Gradioチェックボックスの変更を監視して表示用チェックボックスを更新 - var observer = new MutationObserver(function(mutations) { - mutations.forEach(function(mutation) { - visibleCheckbox.checked = gradioCheckbox.checked; - console.log(`Visible checkbox in accordion ${accordion.id} updated to: `, visibleCheckbox.checked); - }); - }); - - observer.observe(gradioCheckbox, { attributes: true, attributeFilter: ['checked'] }); -} - -onUiLoaded(function() { - for (var accordion of gradioApp().querySelectorAll('.input-accordion-m')) { - setupAccordion(accordion); - } -});