Files
oops-plugin-framework/dist/common/AssetDirectory.js
dgflash d2c68fbab5 fix(gui): 修复 onBeforeRemove 回调不触发的问题
问题原因:
在 LayerUI.remove() 方法中,state.valid 被提前设置为 false,
导致 LayerUIElement.remove() 中判断 state.valid 时条件不成立,
从而跳过了 onBeforeRemove 回调的触发。

修复方案:
将 state.valid = false 的赋值操作移动到 LayerUIElement.remove()
调用之后执行,确保回调能正常触发。

影响范围:
- 修复通过 oops.gui.remove() 关闭界面时 onBeforeRemove 回调不执行的问题
- 不影响界面缓存和异步加载的僵尸节点防护逻辑
2026-04-01 22:38:10 +08:00

8 lines
1.2 KiB
JavaScript

"use strict";var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var m=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},u=(e,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of l(t))!c.call(e,n)&&n!==i&&o(e,n,{get:()=>t[n],enumerable:!(s=d(t,n))||s.enumerable});return e};var p=e=>u(o({},"__esModule",{value:!0}),e);var x={};m(x,{$:()=>h,close:()=>y,ready:()=>$,template:()=>f,update:()=>g});module.exports=p(x);var r=require("fs"),a=require("path"),h={code:"#code",section:"#section"},f=`
<ui-section id="section" header="\u8D44\u6E90\u76EE\u5F55\u8BF4\u660E" :expanded="true" style="transform: translateY(-38px);" expand>
<ui-code id="code"></ui-code>
</ui-section>
`;function g(e,t){this.assetList=e,this.metaList=t,e.length===0?this.$.code.innerHTML="":this.$.code.innerHTML=e.filter(i=>{let s=(0,a.join)(i.file,`.${i.name}.md`);return(0,r.existsSync)(s)}).map(i=>{let s=(0,a.join)(i.file,`.${i.name}.md`),n=(0,r.readFileSync)(s,"utf-8");return e.length>1?`${i.url}:
${n}`:n}).join(`
`)||"",this.$.code.innerHTML===""?this.$.section.hidden=!0:this.$.section.hidden=!1}function $(){}function y(){}0&&(module.exports={$,close,ready,template,update});