From 2ff4a28b705b8b89cca5b96e27cd748894f334e5 Mon Sep 17 00:00:00 2001 From: Minoricew <154642983+Minoricew@users.noreply.github.com> Date: Sun, 22 Jun 2025 22:24:36 +0800 Subject: [PATCH] =?UTF-8?q?[=F0=9F=9B=A0=EF=B8=8F=20Fix]=20Issue=20#32=20&?= =?UTF-8?q?=20#33?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. [/] 为 Revive 元素添加了自定义事件触发, 从而正确处理 Remount 发生时的情况 2. [/] 为 Input 元素添加了正确的 onSubmit 事件处理 --- src/aura/init/rendererHook/injection.js | 21 ++++++++++++------- src/aura/ui/composables/settingsRenderer.js | 15 +++++++++++-- src/aura/ui/pages/config/config.html | 5 ++++- src/aura/ui/pages/config/config.js | 18 ++++++++++++++++ .../preferences/settings/aura.js | 4 ++++ src/aura/ui/pages/headerIcon/headerIcon.js | 15 ++++++++++--- src/aura/utils/pls.js | 3 ++- 7 files changed, 66 insertions(+), 15 deletions(-) diff --git a/src/aura/init/rendererHook/injection.js b/src/aura/init/rendererHook/injection.js index 5a55778..25e9d9d 100755 --- a/src/aura/init/rendererHook/injection.js +++ b/src/aura/init/rendererHook/injection.js @@ -168,8 +168,8 @@ observers.set(moduleKey, observer); }; - const loadResources = async (resources, type, moduleKey, isRevive) => { - if (!resources || isRevive) return []; + const loadResources = async (resources, type, moduleKey) => { + if (!resources) return []; const resourceArray = Array.isArray(resources) ? resources : [resources]; const loadedResources = []; @@ -232,12 +232,11 @@ const resources = new Set(); moduleResources.set(moduleKey, resources); - if (config.pageCSS) { + if (config.pageCSS && !isRevive) { const cssResources = await loadResources( config.pageCSS, "css", - moduleKey, - isRevive + moduleKey ); cssResources.forEach((resource) => resources.add(resource)); } @@ -250,16 +249,22 @@ insertElement(target, container, config.selectorMode); monitorParent(moduleKey, target, container, config.selectorMode); - if (config.pageScript) { + if (config.pageScript && !isRevive) { const jsResources = await loadResources( config.pageScript, "js", - moduleKey, - isRevive + moduleKey ); jsResources.forEach((resource) => resources.add(resource)); } + if (isRevive) { + const onReviveEvent = new CustomEvent( + `onLoaderElRevive:${moduleKey}` + ); + document.dispatchEvent(onReviveEvent); + } + const observer = new MutationObserver(() => { if ( !document.contains(container) && diff --git a/src/aura/ui/composables/settingsRenderer.js b/src/aura/ui/composables/settingsRenderer.js index 548efe1..9b2abe5 100755 --- a/src/aura/ui/composables/settingsRenderer.js +++ b/src/aura/ui/composables/settingsRenderer.js @@ -145,9 +145,10 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { inputEl.value = entry.valueGetter(); inputEl.placeholder = entry.placeHolder; inputEl.id = entry.id; - inputEl.addEventListener("change", async (event) => { + + const handleSubmit = async (event = null) => { const result = await entry.callbackFn( - event.target.value, + event ? event.target.value : inputEl.value, inputEl, operationArea, descriptionArea @@ -166,7 +167,17 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { descriptionArea.textContent = result.hint; descriptionArea.classList.add("ase-desc-error-hint"); } + }; + + inputEl.addEventListener("change", async (event) => { + await handleSubmit(event); }); + + inputEl.onsubmit = async (evt) => { + evt.preventDefault(); + await handleSubmit(); + }; + operationArea.classList.add("ase-operation-area-expanded"); return inputEl; } diff --git a/src/aura/ui/pages/config/config.html b/src/aura/ui/pages/config/config.html index 9da9827..22f9c8d 100755 --- a/src/aura/ui/pages/config/config.html +++ b/src/aura/ui/pages/config/config.html @@ -13,7 +13,10 @@
雨光之环
- +