import{a as t,f as n}from"./p-38dcedc4.js";function e(t){if(t)switch(t.modeltype){case"PSAPPINDEXVIEW":case"PSAPPDEVIEW":case"PSDELIST":case"PSDETOOLBAR":case"PSDEFORM_SEARCHFORM":case"PSDEDATAVIEW":case"PSDEFORM_EDITFORM":case"PSDEGRID":case"PSDECHART":return!0}return!1}function r(t){return t.getPSModelService().getParentPSModelObject(t,"app.view.IPSAppView")}function s(t,n){return t.sort(((t,e)=>{const r=n?t[n]:t,s=n?e[n]:e;return r>s?1:r<s?-1:0}))}class c{constructor(){this.map=new Map,this.maxListeners=100}setMaxListeners(t){this.maxListeners=t}addListener(t,n){if(n instanceof Function){this.map.has(t)||this.map.set(t,[]);const e=this.map.get(t);e.length<this.maxListeners?e.push(n):console.warn("事件监听已达最大上限,无法新增监听!")}else console.error("回调必须是一个函数!")}removeListener(t,n){if(this.map.has(t)){const e=this.map.get(t);if(e.length>0)for(let t=0;t<e.length;t++)if(e[t]===n){e.splice(t,1);break}}}emit(t,...n){this.map.has(t)&&this.map.get(t).forEach((t=>{t(...n)}))}}class i{constructor(t){this.e=new c,this.e.setMaxListeners(t||300)}on(t,n){this.e.addListener(t,n)}off(t,n){this.e.removeListener(t,n)}emit(t,n){this.e.emit(t,n)}}function o(t){return"[object Object]"===Object.prototype.toString.call(t)}function u(t){return"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"object"==typeof t&&!0===t["@@functional/placeholder"]}function f(t){return function n(e){return 0===arguments.length||a(e)?n:t.apply(this,arguments)}}function l(t){return function n(e,r){switch(arguments.length){case 0:return n;case 1:return a(e)?n:f((function(n){return t(e,n)}));default:return a(e)&&a(r)?n:a(e)?f((function(n){return t(n,r)})):a(r)?f((function(n){return t(e,n)})):t(e,r)}}}const h=Array.isArray||function(t){return null!=t&&t.length>=0&&"[object Array]"===Object.prototype.toString.call(t)};function p(t,n){return Object.prototype.hasOwnProperty.call(n,t)}var y=Object.prototype.toString,b=function(){return"[object Arguments]"===y.call(arguments)?function(t){return"[object Arguments]"===y.call(t)}:function(t){return p("callee",t)}}(),g=!{toString:null}.propertyIsEnumerable("toString"),j=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],O=function(){return arguments.propertyIsEnumerable("length")}(),A=function(t,n){for(var e=0;e<t.length;){if(t[e]===n)return!0;e+=1}return!1},S=f("function"!=typeof Object.keys||O?function(t){if(Object(t)!==t)return[];var n,e,r=[],s=O&&b(t);for(n in t)!p(n,t)||s&&"length"===n||(r[r.length]=n);if(g)for(e=j.length-1;e>=0;)p(n=j[e],t)&&!A(r,n)&&(r[r.length]=n),e-=1;return r}:function(t){return Object(t)!==t?[]:Object.keys(t)}),d=f((function(t){return null==t})),w=f((function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)}));function P(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}function E(t,n,e){for(var r=0,s=e.length;r<s;){if(t(n,e[r]))return!0;r+=1}return!1}const v="function"==typeof Object.is?Object.is:function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n};function D(t,n,e,r){var s=P(t);function c(t,n){return m(t,n,e.slice(),r.slice())}return!E((function(t,n){return!E(c,n,t)}),P(n),s)}function m(t,n,e,r){if(v(t,n))return!0;var s,c=w(t);if(c!==w(n))return!1;if(null==t||null==n)return!1;if("function"==typeof t["fantasy-land/equals"]||"function"==typeof n["fantasy-land/equals"])return"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](n)&&"function"==typeof n["fantasy-land/equals"]&&n["fantasy-land/equals"](t);if("function"==typeof t.equals||"function"==typeof n.equals)return"function"==typeof t.equals&&t.equals(n)&&"function"==typeof n.equals&&n.equals(t);switch(c){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===(null==(s=String(t.constructor).match(/^function (\w*)/))?"":s[1]))return t===n;break;case"Boolean":case"Number":case"String":if(typeof t!=typeof n||!v(t.valueOf(),n.valueOf()))return!1;break;case"Date":if(!v(t.valueOf(),n.valueOf()))return!1;break;case"Error":return t.name===n.name&&t.message===n.message;case"RegExp":if(t.source!==n.source||t.global!==n.global||t.ignoreCase!==n.ignoreCase||t.multiline!==n.multiline||t.sticky!==n.sticky||t.unicode!==n.unicode)return!1}for(var i=e.length-1;i>=0;){if(e[i]===t)return r[i]===n;i-=1}switch(c){case"Map":return t.size===n.size&&D(t.entries(),n.entries(),e.concat([t]),r.concat([n]));case"Set":return t.size===n.size&&D(t.values(),n.values(),e.concat([t]),r.concat([n]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=S(t);if(o.length!==S(n).length)return!1;var u=e.concat([t]),a=r.concat([n]);for(i=o.length-1;i>=0;){var f=o[i];if(!p(f,n)||!m(n[f],t[f],u,a))return!1;i-=1}return!0}var I=l((function(t,n){return m(t,n,[],[])})),M=f((function(t){return null!=t&&"function"==typeof t["fantasy-land/empty"]?t["fantasy-land/empty"]():null!=t&&null!=t.constructor&&"function"==typeof t.constructor["fantasy-land/empty"]?t.constructor["fantasy-land/empty"]():null!=t&&"function"==typeof t.empty?t.empty():null!=t&&null!=t.constructor&&"function"==typeof t.constructor.empty?t.constructor.empty():h(t)?[]:function(t){return"[object String]"===Object.prototype.toString.call(t)}(t)?"":function(t){return"[object Object]"===Object.prototype.toString.call(t)}(t)?{}:b(t)?function(){return arguments}():void 0})),R=f((function(t){return null!=t&&I(t,M(t))}));function x(t){return!d(t)&&!R(t)}function C(t){return!(!d(t)&&!R(t))}const F=/^(cache|getPSDynaInsts|function)$/;function T(t){if(t){const n=s(Object.keys(t.M)),e={};return n.forEach((n=>{if(!F.test(n))try{const r=t.M[n];let s;(o(r)||u(r))&&(s=t[n]()),e[n]=new $(s,r,n)}catch(e){console.error("模型转换失败:"+n,t),console.error(e)}})),e}return null}function L(t){return x(t)?t.map((t=>new $(t))):[]}function U(t){const n=x(t.M)?t.M:t.refM;if(t.instanceof("app.view.IPSAppView")&&n.modelref)return n.view?`${n.view}[${n.viewType}]`:n.viewType;const e=n.name||n.codeName||n.id,r=n.logicName||n.title||n.caption;return x(r)?`${r}[${e}]`:e}class ${constructor(t,n,e){this.enableOpenDesign=!1,this.text=null,this.key=e,u(t)?(this.type="array",this.models=t,this.text=e):o(t)?(this.type="object",this.model=t,this.text=U(this.model),this.calcEnableOpenDesign(this.model)):(this.type="default",this.text=e,"[object Boolean]"===Object.prototype.toString.call(n)?this.value=n.toString():o(n)?(this.value=n.id,this.text=`<ref> ${n.id}`):this.value=n),C(this.text)&&console.error("展示文本计算异常!",this.model)}get existKey(){return x(this.key)}get isDefault(){return"default"===this.type}get isArray(){return"array"===this.type}get isObj(){return"object"===this.type}get data(){return this.isObj?this.model.isFill?this.model.M:this.model.refM:this.models}calcEnableOpenDesign(t){this.enableOpenDesign=e(t)}}const k=t=>!("isConnected"in t)||t.isConnected,B=(()=>{let t;return(...n)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let n of t.keys())t.set(n,t.get(n).filter(k))})(...n)}),2e3)}})();class V{constructor(){this.appLoaded=!1,this.modelService=null,this.model=null,this.context={},this.params={}}}class N extends class{constructor(){this.evt=new i(3e3),this.store=((e,r)=>{const s=((t,n=((t,n)=>t!==n))=>{let e=new Map(Object.entries(null!=t?t:{}));const r={dispose:[],get:[],set:[],reset:[]},s=()=>{e=new Map(Object.entries(null!=t?t:{})),r.reset.forEach((t=>t()))},c=t=>(r.get.forEach((n=>n(t))),e.get(t)),i=(t,s)=>{const c=e.get(t);n(s,c,t)&&(e.set(t,s),r.set.forEach((n=>n(t,s,c))))},o="undefined"==typeof Proxy?{}:new Proxy(t,{get:(t,n)=>c(n),ownKeys:()=>Array.from(e.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,n)=>e.has(n),set:(t,n,e)=>(i(n,e),!0)}),u=(t,n)=>(r[t].push(n),()=>{((t,n)=>{const e=t.indexOf(n);e>=0&&(t[e]=t[t.length-1],t.length--)})(r[t],n)});return{state:o,get:c,set:i,on:u,onChange:(n,e)=>{const r=u("set",((t,r)=>{t===n&&e(r)})),s=u("reset",(()=>e(t[n])));return()=>{r(),s()}},use:(...t)=>t.forEach((t=>{t.set&&u("set",t.set),t.get&&u("get",t.get),t.reset&&u("reset",t.reset)})),dispose:()=>{r.dispose.forEach((t=>t())),s()},reset:s,forceUpdate:t=>{const n=e.get(t);r.set.forEach((e=>e(t,n,n)))}}})(e,r);return(({on:e})=>{const r=new Map;"function"==typeof t&&(e("dispose",(()=>{r.clear()})),e("get",(n=>{const e=t();e&&((t,n,e)=>{const r=t.get(n);r?r.includes(e)||r.push(e):t.set(n,[e])})(r,n,e)})),e("set",(t=>{const e=r.get(t);e&&r.set(t,e.filter(n)),B(r)})),e("reset",(()=>{r.forEach((t=>t.forEach(n))),B(r)})))})(s),s})(this.getState()),this.data=this.store.state,this.init()}init(){for(const t in this.data)this.store.onChange(t,(n=>{this.evt.emit(t,n),this.evt.emit("change",t,n)}))}on(t,n){return this.evt.on(t,n)}off(t,n){return this.evt.off(t,n)}onChange(t){this.evt.on("change",t)}offChange(t){this.evt.off("change",t)}}{constructor(){if(N.instance)return N.instance;super()}getState(){return new V}static getInstance(){return this.instance}}N.instance=new N;export{N as G,$ as M,e as a,s as b,r as c,L as d,U as e,T as g,C as i,x as n}