@ibiz-template/vue3-util 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1110,10 +1110,12 @@ async function parseRouteViewData(route, depth) {
1110
1110
  if (routePath.appContext) {
1111
1111
  Object.assign(context, routePath.appContext);
1112
1112
  }
1113
- for (let index = 0; index < depth; index++) {
1114
- const pathNode = routePath.pathNodes[index];
1115
- if (notNilEmpty(pathNode.context)) {
1116
- Object.assign(context, pathNode.context);
1113
+ if (depth !== 1) {
1114
+ for (let index = 0; index < depth; index++) {
1115
+ const pathNode = routePath.pathNodes[index];
1116
+ if (notNilEmpty(pathNode.context)) {
1117
+ Object.assign(context, pathNode.context);
1118
+ }
1117
1119
  }
1118
1120
  }
1119
1121
  const { params, srfnav } = routePath.pathNodes[depth - 1];
@@ -1,2 +1,2 @@
1
- System.register(["@ibiz-template/core","@ibiz-template/runtime","ramda","vue","qx-util","vue-router","qs"],(function(e,t){"use strict";var n,r,o,i,a,s,c,u,l,p,d,f,h,g,m,v,b,P,y,w,N,C,x,E,A,R;return{setters:[function(e){n=e.RuntimeModelError,r=e.RuntimeError,o=e.onClickOutside,i=e.NOOP,a=e.listenJSEvent,s=e.Namespace},function(e){c=e.ViewType,u=e.RemotePluginItem,l=e.getMatchResPath,p=e.calcDeCodeNameById},function(e){d=e.isNil},function(e){f=e.createCommentVNode,h=e.watch,g=e.onBeforeUnmount,m=e.getCurrentInstance,v=e.isReactive,b=e.toRaw,P=e.inject,y=e.reactive,w=e.ref,N=e.provide},function(e){C=e.isFunc,x=e.notNilEmpty,E=e.clearAll},function(e){A=e.useRoute},function(e){R=e.default}],execute:function(){e({calcResRoutePath:X,generateRoutePath:async function(e,t,n,r){const o=J(t);let i=2;n.toRouteDepth?(i=n.toRouteDepth,delete n.toRouteDepth):ibiz.env.isMob&&(o.pathNodes[0]={viewName:"home"});if(o.pathNodes.splice(i-1,o.pathNodes.length-i+1),n.currentSrfNav){const e=o.pathNodes[o.pathNodes.length-1];e.params=e.params||{},e.srfnav=n.currentSrfNav,delete n.currentSrfNav}t.fullPath.startsWith("/appredirectview")&&((null==r?void 0:r.srfindexname)?(o.pathNodes[0].viewName=r.srfindexname,delete r.srfindexname):o.pathNodes[0].viewName="index");if(o.pathNodes.push({viewName:e.codeName.toLowerCase(),context:H(n),params:r}),2===i&&(await X(o,n,e.appDataEntityId),$.includes(e.viewType))){const t=p(e.appDataEntityId);delete o.pathNodes[0].context[t]}return{path:K(o)}},getArrayProps:Re,getAutoCompleteProps:Ce,getCascaderProps:ke,getCheckboxListProps:ue,getCheckboxProps:le,getCodeProps:xe,getColorPickerProps:Se,getDataPickerProps:pe,getDatePickerProps:de,getDateRangeProps:fe,getDropdownProps:ce,getEditorEmits:function(){return{change:(e,t)=>!0,blur:()=>!0,focus:()=>!0}},getEditorProps:ne,getGridArrayProps:function(){return{...Re(),...re()}},getGridAutoCompleteProps:function(){return{...Ce(),...re()}},getGridCascaderProps:function(){return{...ke(),...re()}},getGridCheckboxListProps:function(){return{...ue(),...re()}},getGridCheckboxProps:function(){return{...le(),...re()}},getGridCodeProps:function(){return{...xe(),...re()}},getGridColorPickerProps:function(){return{...Se(),...re()}},getGridDataPickerProps:function(){return{...pe(),...re()}},getGridDatePickerProps:function(){return{...de(),...re()}},getGridDateRangeProps:function(){return{...fe(),...re()}},getGridDropdownProps:function(){return{...ce(),...re()}},getGridEditorCommonProps:re,getGridEditorEmits:function(){return{change:(e,t)=>!0,rowSave:()=>!0}},getGridHtmlProps:function(){return{...Ee(),...re()}},getGridInputIpProps:function(){return{...ae(),...re()}},getGridInputNumberProps:function(){return{...ie(),...re()}},getGridInputProps:function(){return{...oe(),...re()}},getGridListBoxProps:function(){return{...he(),...re()}},getGridMarkDownProps:function(){return{...Ae(),...re()}},getGridNumberRangeProps:function(){return{...ge(),...re()}},getGridRadioProps:function(){return{...me(),...re()}},getGridRateProps:function(){return{...ve(),...re()}},getGridRawProps:function(){return{...be(),...re()}},getGridSliderProps:function(){return{...Pe(),...re()}},getGridSpanProps:function(){return{...se(),...re()}},getGridStepperProps:function(){return{...ye(),...re()}},getGridSwitchProps:function(){return{...we(),...re()}},getGridUploadProps:function(){return{...Ne(),...re()}},getHtmlProps:Ee,getInputIpProps:ae,getInputNumberProps:ie,getInputProps:oe,getListBoxProps:he,getMarkDownProps:Ae,getNestedRoutePath:Q,getNumberRangeProps:ge,getOrigin:W,getOwnRouteContext:H,getRadioProps:me,getRateProps:ve,getRawProps:be,getSliderProps:Pe,getSpanProps:se,getStepperProps:ye,getSwitchProps:we,getUploadProps:Ne,isEmptyVNode:function(e){if(!Array.isArray(e))return e===U;return 1===e.length&&e[0]===U},onRouteChange:function(e,t){const n=A();if(!n)throw new r("无法正确获取route,可能是依赖问题");h((()=>null==n?void 0:n.path),(()=>{const r=Q(n,t);e({currentKey:r,fullPath:n.fullPath})}),{immediate:!0})},parseRouteViewData:async function(e,t){var n;const o=J(e);let i=o.pathNodes[t-1].viewName;if(!i)throw new r("第".concat(t,"级路由不存在视图标识"));"index"===i&&(i=ibiz.hub.defaultAppIndexViewName);const a=await ibiz.hub.getAppView(i);if(!a)throw new r("找不到视图".concat(i));const s={};(null==(n=ibiz.appData)?void 0:n.context)&&Object.assign(s,ibiz.appData.context);o.appContext&&Object.assign(s,o.appContext);for(let e=0;e<t;e++){const t=o.pathNodes[e];x(t.context)&&Object.assign(s,t.context)}const{params:c,srfnav:u}=o.pathNodes[t-1];return{viewModel:a,context:s,params:c,srfnav:u}},prepareControl:function(e){const t=q("control"),{controlType:n,sysCss:r,codeName:o}=e.model,i=n.toLowerCase(),a=null==r?void 0:r.cssName,s=q("control-".concat(i)),c=[t.b(),t.b(i),t.m(o)];a&&c.push(a);return{controlClass:c,ns:s}},route2routePath:J,routePath2string:K,useClickOutside:B,useControlController:function(e){const t=M(),n=T();t.evt.emit("onForecast",n.modelData.name);const r=e(n.modelData,n.context,n.params,t);(function(e,t){const n=["context","params","modelData"];h((()=>{const t={};return Object.keys(e).forEach((r=>{n.includes(r)||(t[r]=e[r])})),t}),((e,n)=>{const r={};Object.keys(e).forEach((t=>{e[t]!==(n||{})[t]&&(r[t]=e[t])})),ibiz.log.debug("部件 [".concat(t.model.name,"] state 变更"),r),Object.keys(r).forEach((e=>{void 0!==r[e]&&(t.state[e]=r[e])}))}),{immediate:!0})})(n,r),r.state=y(r.state),r.force=L();const o=m().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),o.$emit("controllerAppear",r),r.created(),g((()=>r.destroyed())),r},useController:function(e){e.force=L()},useCtx:M,useEventListener:F,useFocusAndBlur:function(e,t){const n=w(),r=w(!1);let o;const i=()=>{r.value||ibiz.log.debug("没有聚焦,不触发失焦"),t(),o.stop(),r.value=!1};return F(n,"click",(t=>{r.value||(o=B(n,(()=>{i()})),r.value=!0,e())}),{capture:!0}),{componentRef:n,isFocus:r,doBlur:i,pause:()=>{o&&o.pause()},stop:()=>{o&&o.stop()}}},useForce:L,useForceTogether:function(e,t){const n=t.force,r=L();t.force=e=>{n(e),r()}},useMobCtx:function(){return P("ctx")},useNamespace:q,useProps:T,usePropsWatch:function(e,t,n){const r=T();Object.prototype.hasOwnProperty.call(r,e)&&(h((()=>r[e]),((e,n)=>{t(W(e),W(n))}),n),t(W(r[e]),void 0))},useRouteKey:function(e,t,n){n||(n=w(""));n.value=e.value;const r=new Y(t);return h(e,((e,t)=>{e!==t&&r.nextChange((()=>{n.value=e}))})),n},useRouterQuery:function(){const e=A(),{query:t}=e;return t},useViewController:function(e){const t=T(),n=P("ctx",void 0);null==n||n.evt.emit("onForecast",t.modelData.name);const r=e(t.modelData,t.context,t.params,n);Z(t,r),ee(t,r),N("ctx",r.ctx),r.state=y(r.state),r.slotProps=y(r.slotProps),t.modal&&(r.modal=t.modal);r.force=L();const o=m().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),r.created(),g((()=>r.destroyed())),r}});var k,S,O=Object.create,D=Object.defineProperty,j=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,_=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,z=(k={"../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js"(e,t){function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var n,r="",o=0,i=-1,a=0,s=0;s<=e.length;++s){if(s<e.length)n=e.charCodeAt(s);else{if(47===n)break;n=47}if(47===n){if(i===s-1||1===a);else if(i!==s-1&&2===a){if(r.length<2||2!==o||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",o=0):o=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),i=s,a=0;continue}}else if(2===r.length||1===r.length){r="",o=0,i=s,a=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(i+1,s):r=e.slice(i+1,s),o=s-i-1;i=s,a=0}else 46===n&&-1!==a?++a:a=-1}return r}var o={resolve:function(){for(var e,t="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a;i>=0?a=arguments[i]:(void 0===e&&(e=process.cwd()),a=e),n(a),0!==a.length&&(t=a+"/"+t,o=47===a.charCodeAt(0))}return t=r(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(n(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return n(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var r=arguments[t];n(r),r.length>0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(n(e),n(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var r=1;r<e.length&&47===e.charCodeAt(r);++r);for(var i=e.length,a=i-r,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,u=a<c?a:c,l=-1,p=0;p<=u;++p){if(p===u){if(c>u){if(47===t.charCodeAt(s+p))return t.slice(s+p+1);if(0===p)return t.slice(s+p)}else a>u&&(47===e.charCodeAt(r+p)?l=p:0===p&&(l=0));break}var d=e.charCodeAt(r+p);if(d!==t.charCodeAt(s+p))break;47===d&&(l=p)}var f="";for(p=r+l+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+t.slice(s+l):(s+=l,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(n(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,o=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');n(e);var r,o=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!a){o=r+1;break}}else-1===c&&(a=!1,c=r+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(i=r):(s=-1,i=c))}return o===i?i=c:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){o=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?"":e.slice(o,i)},extname:function(e){n(e);for(var t=-1,r=0,o=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(i=!1,o=s+1),46===c?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=s+1;break}}return-1===t||-1===o||0===a||1===a&&t===o-1&&t===r+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}("/",e)},parse:function(e){n(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,o=e.charCodeAt(0),i=47===o;i?(t.root="/",r=1):r=0;for(var a=-1,s=0,c=-1,u=!0,l=e.length-1,p=0;l>=r;--l)if(47!==(o=e.charCodeAt(l)))-1===c&&(u=!1,c=l+1),46===o?-1===a?a=l:1!==p&&(p=1):-1!==a&&(p=-1);else if(!u){s=l+1;break}return-1===a||-1===c||0===p||1===p&&a===c-1&&a===s+1?-1!==c&&(t.base=t.name=0===s&&i?e.slice(1,c):e.slice(s,c)):(0===s&&i?(t.name=e.slice(1,a),t.base=e.slice(1,c)):(t.name=e.slice(s,a),t.base=e.slice(s,c)),t.ext=e.slice(a,c)),s>0?t.dir=e.slice(0,s-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}},function(){return S||(0,k[I(k)[0]])((S={exports:{}}).exports,S),S.exports}),V=((e,t,n)=>(n=null!=e?O(_(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of I(t))G.call(e,o)||o===n||D(e,o,{get:()=>t[o],enumerable:!(r=j(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:D(n,"default",{value:e,enumerable:!0}),e)))(z(),1);e("PluginFactory",class{constructor(){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.cache=new Map,this.devPackages=new Map,this.pluginCache=new Map,this.pluginCodes=[],this.predefinedPlugins=new Map}registerPredefinedPlugin(e){this.predefinedPlugins.set(e.name,e)}register(e){this.pluginCodes.forEach((t=>{e.use(t)}))}async loadPredefinedPlugin(e){if(this.predefinedPlugins.has(e)){const t=this.predefinedPlugins.get(e);t&&await this.loadPluginRef(t.name,t.path)}}setPluginCode(e){this.pluginCodes.push(e)}setDevPlugin(e,t){this.devPackages.set(e,t)}async loadPlugin(e){if(!0===e.runtimeObject){const t=e;if(t)try{await this.loadPluginRef(t.rtobjectName,t.rtobjectRepo)}catch(e){throw new n(t,"配置加载失败")}}return!1}async loadPluginRef(e,t){if(this.pluginCache.has(e))return!0;let n=null;const r=this.devPackages.get(e);if(r)n=await r();else{const e=t,r=this.urlReg.test(e)?"".concat(e,"/package.json"):"".concat(ibiz.env.pluginBaseUrl,"/").concat((0,V.join)(e,"package.json")),o=await ibiz.net.axios({method:"get",headers:{"Access-Control-Allow-Origin":"*"},url:r});if(200!==o.status)throw new Error("配置加载失败");n=o.data}const o=new u(e,t,n);if(o)try{return await this.loadScript(o),this.pluginCache.set(e,o),!0}catch(e){ibiz.log.error(e)}return!1}async loadScript(e){const n=e.repo,{name:o,version:i,system:a,module:s}=e.config;let c="";if(c=this.devPackages.has(o)?(0,V.join)("".concat(o,"@").concat(i),s):ibiz.env.dev?this.urlReg.test(n)?"".concat(n,"/").concat((0,V.join)(s)):"".concat(ibiz.env.pluginBaseUrl,"/").concat(n,"/").concat((0,V.join)(s)):"".concat(n).concat(n.endsWith("/")?"":"/").concat((0,V.join)(a)),c){if(this.cache.has(c))return;let e=null;const n=this.parseUrl(c);if(this.devPackages.has(o)){const e=this.devPackages.get(o),t=await e();this.setPluginCode(t.default),this.cache.set(c,!0)}else ibiz.env.dev?e=await t.import(c):(System.addImportMap({imports:{[o]:n}}),e=await System.import(o));if(!e)throw new r("远程插件加载失败, 未找到文件或文件内容格式不正确");if(!e.default)throw new r("远程插件加载失败, 远程插件未找到[default]默认导出");this.setPluginCode(e.default),this.cache.set(c,!0)}}parseUrl(e){if(this.urlReg.test(e))return e;let t="";t=this.urlReg.test(ibiz.env.pluginBaseUrl)?e.startsWith("/")?ibiz.env.pluginBaseUrl+e:"".concat(ibiz.env.pluginBaseUrl,"/").concat(e):"".concat((0,V.join)(ibiz.env.pluginBaseUrl,e));const{origin:n,pathname:r}=window.location;return r.endsWith("/")&&t.startsWith("/")&&(t=t.substring(1)),t="".concat(n).concat(r).concat(t),t}});function B(e,t,n={}){let r=i,a=i,s=i;const c=()=>{r(),r=i,a=i,s=i};return h(e,((e,i)=>{if(e!==i)if(d(e))c();else{const i=o((null==e?void 0:e.$el)||e,t,n);r=i.stop,a=i.pause,s=i.proceed}}),{immediate:!0}),g((()=>{r!==i&&c()})),{stop:()=>r(),pause:()=>a(),proceed:()=>s()}}function T(){return m().proxy.$props}function W(e){return v(e)?b(e):e}function L(){const e=m().proxy;return t=>{e.$forceUpdate(),t&&C(t)&&e.$nextTick((()=>{t()}))}}var U=e("EmptyVNode",f("EmptyVNode"));function M(){return P("ctx")}function F(e,t,n,r={}){let o=i;return h(e,((e,s)=>{e!==s&&(d(e)?(o(),o=i):o=a((null==e?void 0:e.$el)||e,t,n,r))}),{immediate:!0}),g((()=>{o!==i&&o()})),()=>{o()}}function q(e){return new s(e,ibiz.env.namespace)}function H(e){const t=e.getOwnContext(),n=["srfsessionid","srfappid"];return Object.keys(t).forEach((e=>{n.includes(e)&&delete t[e]})),t}var $=e("excludeViewTypes",[c.DE_GRID_VIEW,c.DE_GRID_EXP_VIEW,c.DE_LIST_VIEW,c.DE_LIST_EXP_VIEW,c.DE_DATA_VIEW,c.DE_DATAVIEW_EXP_VIEW,c.DE_CALENDAR_VIEW,c.DE_CALENDAR_EXP_VIEW,c.DE_CHART_VIEW,c.DE_CHART_EXP_VIEW,c.DE_KANBAN_VIEW]);async function X(e,t,n){if(n){const r=await ibiz.hub.getAppDataEntity(n);let o=l(t,r);if(o||(o={path:"",keys:[r.codeName.toLowerCase()]}),o){const n=e.pathNodes[1].context,r={};o.keys.forEach((e=>{t&&Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e],n&&delete n[e])})),e.pathNodes[0].context=r}}else e.pathNodes[0].context=void 0}function J(e){const t=e.matched.length,n=[];for(let r=1;r<=t;r++){const t=e.path.split("/")[2*r],o=e.params["params".concat(r)];let i,a,s;i=o&&o!==ibiz.env.routePlaceholder?R.parse(o,{strictNullHandling:!0,delimiter:";"}):void 0,i&&(1===r?(a=i,i=void 0):(i.srfnavctx&&(a=JSON.parse(decodeURIComponent(i.srfnavctx)),delete i.srfnavctx),i.srfnav&&(s=i.srfnav,delete i.srfnav))),n.push({viewName:t,context:a,params:i,srfnav:s})}let r;return e.params.appContext&&e.params.appContext!==ibiz.env.routePlaceholder&&(r=R.parse(e.params.appContext,{strictNullHandling:!0,delimiter:";"})),{appContext:r,pathNodes:n}}function K(e){let t="";return e.appContext?t+="/".concat(R.stringify(e.appContext,{delimiter:";",strictNullHandling:!0})):t+="/".concat(ibiz.env.routePlaceholder),e.pathNodes.forEach(((e,n)=>{t+="/".concat(e.viewName,"/");let r={};if(0===n)x(e.context)&&(r=e.context);else{if(r=x(e.params)?e.params:{},x(e.context)){const t=JSON.stringify(e.context);"{}"!==t&&(r.srfnavctx=encodeURIComponent(t))}e.srfnav&&(r.srfnav=e.srfnav)}const o=R.stringify(r,{delimiter:";",strictNullHandling:!0,skipNulls:!0});x(o)?t+=o:t+=ibiz.env.routePlaceholder})),t}function Q(e,t,n=!0){if(e.matched.length<t)return"";if(e.name)return e.path;const r=J(e);return r.pathNodes.length<t?e.path:(r.pathNodes.length>t&&(r.pathNodes=r.pathNodes.slice(0,t)),n&&delete r.pathNodes[t-1].srfnav,K(r))}var Y=e("RouteListener",class{constructor(e,t){this.callbacks=[],this.timers=[],this.wait=500,t&&(this.wait=t),h((()=>e.path),((e,t)=>{if(e!==t){if(this.callbacks.length)for(let e=0;e<this.callbacks.length;e++){(0,this.callbacks[e])()}if(this.callbacks=[],this.timers.length)for(let e=0;e<this.timers.length;e++){const t=this.timers[e];clearTimeout(t)}this.timers=[]}}))}nextChange(e){e&&(this.timers.push(setTimeout((()=>{e();const t=this.callbacks.findIndex((t=>t===e));this.callbacks.splice(t,1)}),this.wait)),this.callbacks.push(e))}});e("withInstall",((e,t)=>(e.install=e=>{t(e)},e)));function Z(e,t){h((()=>({context:e.context,params:e.params})),(e=>{t.context.reset({},e.context),E(t.params),Object.assign(t.params,e.params),t.handleContextParams(),ibiz.log.debug("".concat(t.model.id,"的上下文或视图参数变更:"),e)}))}function ee(e,t){h((()=>e.state?{...e.state}:{}),((e,n)=>{const r={};Object.keys(e).forEach((t=>{e[t]!==(n||{})[t]&&(r[t]=e[t])})),ibiz.log.debug("视图 [".concat(t.model.name,"] state 变更"),r),Object.keys(r).forEach((e=>{t.state[e]=r[e]}))}),{immediate:!0})}var te=e("RequiredProp",class{constructor(e,t,n){this.required=!0,t&&(this.default=t),n&&(this.validator=n),this.type=e}});function ne(){return{value:String,controller:new te(Object),data:new te(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function re(){return{hasError:{type:Boolean}}}function oe(){return{...ne(),value:[String,Number]}}function ie(){return{...ne(),value:Number}}function ae(){return{...ne(),value:String}}function se(){return{...ne(),value:[String,Number]}}function ce(){return{...ne(),value:[String,Number]}}function ue(){return{...ne(),value:[String,Number]}}function le(){return{...ne(),value:[String,Number]}}function pe(){return{...ne(),value:[String,Array,Object,Number]}}function de(){return{...ne(),value:[String,Number]}}function fe(){return{...ne(),value:[String,Number]}}function he(){return{...ne(),value:[String,Number]}}function ge(){return{...ne(),value:[String,Number]}}function me(){return{...ne(),value:[String,Number]}}function ve(){return{...ne(),value:[String,Number]}}function be(){return{...ne(),value:[String,Number,Array]}}function Pe(){return{...ne(),value:[String,Number]}}function ye(){return{...ne(),value:[String,Number]}}function we(){return{...ne(),value:[String,Number]}}function Ne(){return{...ne(),value:String}}function Ce(){return{...ne(),value:[String,Number]}}function xe(){return{...ne(),value:String,language:{type:String},theme:{type:String}}}function Ee(){return{...ne(),value:String}}function Ae(){return{...ne(),data:{type:Object,required:!1},controller:{type:Object,required:!1},disabled:{type:Boolean,required:!1}}}function Re(){return{...ne(),value:[Array,Array]}}function ke(){return{...ne(),value:String}}function Se(){return{...ne(),value:String}}}}}));
1
+ System.register(["@ibiz-template/core","@ibiz-template/runtime","ramda","vue","qx-util","vue-router","qs"],(function(e,t){"use strict";var n,r,o,i,a,s,c,u,l,p,d,f,h,g,m,v,b,P,y,w,N,C,x,E,A,R;return{setters:[function(e){n=e.RuntimeModelError,r=e.RuntimeError,o=e.onClickOutside,i=e.NOOP,a=e.listenJSEvent,s=e.Namespace},function(e){c=e.ViewType,u=e.RemotePluginItem,l=e.getMatchResPath,p=e.calcDeCodeNameById},function(e){d=e.isNil},function(e){f=e.createCommentVNode,h=e.watch,g=e.onBeforeUnmount,m=e.getCurrentInstance,v=e.isReactive,b=e.toRaw,P=e.inject,y=e.reactive,w=e.ref,N=e.provide},function(e){C=e.isFunc,x=e.notNilEmpty,E=e.clearAll},function(e){A=e.useRoute},function(e){R=e.default}],execute:function(){e({calcResRoutePath:X,generateRoutePath:async function(e,t,n,r){const o=J(t);let i=2;n.toRouteDepth?(i=n.toRouteDepth,delete n.toRouteDepth):ibiz.env.isMob&&(o.pathNodes[0]={viewName:"home"});if(o.pathNodes.splice(i-1,o.pathNodes.length-i+1),n.currentSrfNav){const e=o.pathNodes[o.pathNodes.length-1];e.params=e.params||{},e.srfnav=n.currentSrfNav,delete n.currentSrfNav}t.fullPath.startsWith("/appredirectview")&&((null==r?void 0:r.srfindexname)?(o.pathNodes[0].viewName=r.srfindexname,delete r.srfindexname):o.pathNodes[0].viewName="index");if(o.pathNodes.push({viewName:e.codeName.toLowerCase(),context:H(n),params:r}),2===i&&(await X(o,n,e.appDataEntityId),$.includes(e.viewType))){const t=p(e.appDataEntityId);delete o.pathNodes[0].context[t]}return{path:K(o)}},getArrayProps:Re,getAutoCompleteProps:Ce,getCascaderProps:ke,getCheckboxListProps:ue,getCheckboxProps:le,getCodeProps:xe,getColorPickerProps:Se,getDataPickerProps:pe,getDatePickerProps:de,getDateRangeProps:fe,getDropdownProps:ce,getEditorEmits:function(){return{change:(e,t)=>!0,blur:()=>!0,focus:()=>!0}},getEditorProps:ne,getGridArrayProps:function(){return{...Re(),...re()}},getGridAutoCompleteProps:function(){return{...Ce(),...re()}},getGridCascaderProps:function(){return{...ke(),...re()}},getGridCheckboxListProps:function(){return{...ue(),...re()}},getGridCheckboxProps:function(){return{...le(),...re()}},getGridCodeProps:function(){return{...xe(),...re()}},getGridColorPickerProps:function(){return{...Se(),...re()}},getGridDataPickerProps:function(){return{...pe(),...re()}},getGridDatePickerProps:function(){return{...de(),...re()}},getGridDateRangeProps:function(){return{...fe(),...re()}},getGridDropdownProps:function(){return{...ce(),...re()}},getGridEditorCommonProps:re,getGridEditorEmits:function(){return{change:(e,t)=>!0,rowSave:()=>!0}},getGridHtmlProps:function(){return{...Ee(),...re()}},getGridInputIpProps:function(){return{...ae(),...re()}},getGridInputNumberProps:function(){return{...ie(),...re()}},getGridInputProps:function(){return{...oe(),...re()}},getGridListBoxProps:function(){return{...he(),...re()}},getGridMarkDownProps:function(){return{...Ae(),...re()}},getGridNumberRangeProps:function(){return{...ge(),...re()}},getGridRadioProps:function(){return{...me(),...re()}},getGridRateProps:function(){return{...ve(),...re()}},getGridRawProps:function(){return{...be(),...re()}},getGridSliderProps:function(){return{...Pe(),...re()}},getGridSpanProps:function(){return{...se(),...re()}},getGridStepperProps:function(){return{...ye(),...re()}},getGridSwitchProps:function(){return{...we(),...re()}},getGridUploadProps:function(){return{...Ne(),...re()}},getHtmlProps:Ee,getInputIpProps:ae,getInputNumberProps:ie,getInputProps:oe,getListBoxProps:he,getMarkDownProps:Ae,getNestedRoutePath:Q,getNumberRangeProps:ge,getOrigin:W,getOwnRouteContext:H,getRadioProps:me,getRateProps:ve,getRawProps:be,getSliderProps:Pe,getSpanProps:se,getStepperProps:ye,getSwitchProps:we,getUploadProps:Ne,isEmptyVNode:function(e){if(!Array.isArray(e))return e===U;return 1===e.length&&e[0]===U},onRouteChange:function(e,t){const n=A();if(!n)throw new r("无法正确获取route,可能是依赖问题");h((()=>null==n?void 0:n.path),(()=>{const r=Q(n,t);e({currentKey:r,fullPath:n.fullPath})}),{immediate:!0})},parseRouteViewData:async function(e,t){var n;const o=J(e);let i=o.pathNodes[t-1].viewName;if(!i)throw new r("第".concat(t,"级路由不存在视图标识"));"index"===i&&(i=ibiz.hub.defaultAppIndexViewName);const a=await ibiz.hub.getAppView(i);if(!a)throw new r("找不到视图".concat(i));const s={};(null==(n=ibiz.appData)?void 0:n.context)&&Object.assign(s,ibiz.appData.context);o.appContext&&Object.assign(s,o.appContext);if(1!==t)for(let e=0;e<t;e++){const t=o.pathNodes[e];x(t.context)&&Object.assign(s,t.context)}const{params:c,srfnav:u}=o.pathNodes[t-1];return{viewModel:a,context:s,params:c,srfnav:u}},prepareControl:function(e){const t=q("control"),{controlType:n,sysCss:r,codeName:o}=e.model,i=n.toLowerCase(),a=null==r?void 0:r.cssName,s=q("control-".concat(i)),c=[t.b(),t.b(i),t.m(o)];a&&c.push(a);return{controlClass:c,ns:s}},route2routePath:J,routePath2string:K,useClickOutside:B,useControlController:function(e){const t=M(),n=T();t.evt.emit("onForecast",n.modelData.name);const r=e(n.modelData,n.context,n.params,t);(function(e,t){const n=["context","params","modelData"];h((()=>{const t={};return Object.keys(e).forEach((r=>{n.includes(r)||(t[r]=e[r])})),t}),((e,n)=>{const r={};Object.keys(e).forEach((t=>{e[t]!==(n||{})[t]&&(r[t]=e[t])})),ibiz.log.debug("部件 [".concat(t.model.name,"] state 变更"),r),Object.keys(r).forEach((e=>{void 0!==r[e]&&(t.state[e]=r[e])}))}),{immediate:!0})})(n,r),r.state=y(r.state),r.force=L();const o=m().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),o.$emit("controllerAppear",r),r.created(),g((()=>r.destroyed())),r},useController:function(e){e.force=L()},useCtx:M,useEventListener:F,useFocusAndBlur:function(e,t){const n=w(),r=w(!1);let o;const i=()=>{r.value||ibiz.log.debug("没有聚焦,不触发失焦"),t(),o.stop(),r.value=!1};return F(n,"click",(t=>{r.value||(o=B(n,(()=>{i()})),r.value=!0,e())}),{capture:!0}),{componentRef:n,isFocus:r,doBlur:i,pause:()=>{o&&o.pause()},stop:()=>{o&&o.stop()}}},useForce:L,useForceTogether:function(e,t){const n=t.force,r=L();t.force=e=>{n(e),r()}},useMobCtx:function(){return P("ctx")},useNamespace:q,useProps:T,usePropsWatch:function(e,t,n){const r=T();Object.prototype.hasOwnProperty.call(r,e)&&(h((()=>r[e]),((e,n)=>{t(W(e),W(n))}),n),t(W(r[e]),void 0))},useRouteKey:function(e,t,n){n||(n=w(""));n.value=e.value;const r=new Y(t);return h(e,((e,t)=>{e!==t&&r.nextChange((()=>{n.value=e}))})),n},useRouterQuery:function(){const e=A(),{query:t}=e;return t},useViewController:function(e){const t=T(),n=P("ctx",void 0);null==n||n.evt.emit("onForecast",t.modelData.name);const r=e(t.modelData,t.context,t.params,n);Z(t,r),ee(t,r),N("ctx",r.ctx),r.state=y(r.state),r.slotProps=y(r.slotProps),t.modal&&(r.modal=t.modal);r.force=L();const o=m().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),r.created(),g((()=>r.destroyed())),r}});var k,S,O=Object.create,D=Object.defineProperty,j=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyNames,_=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,z=(k={"../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js"(e,t){function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var n,r="",o=0,i=-1,a=0,s=0;s<=e.length;++s){if(s<e.length)n=e.charCodeAt(s);else{if(47===n)break;n=47}if(47===n){if(i===s-1||1===a);else if(i!==s-1&&2===a){if(r.length<2||2!==o||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var c=r.lastIndexOf("/");if(c!==r.length-1){-1===c?(r="",o=0):o=(r=r.slice(0,c)).length-1-r.lastIndexOf("/"),i=s,a=0;continue}}else if(2===r.length||1===r.length){r="",o=0,i=s,a=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(i+1,s):r=e.slice(i+1,s),o=s-i-1;i=s,a=0}else 46===n&&-1!==a?++a:a=-1}return r}var o={resolve:function(){for(var e,t="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a;i>=0?a=arguments[i]:(void 0===e&&(e=process.cwd()),a=e),n(a),0!==a.length&&(t=a+"/"+t,o=47===a.charCodeAt(0))}return t=r(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(n(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return n(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var r=arguments[t];n(r),r.length>0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(n(e),n(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var r=1;r<e.length&&47===e.charCodeAt(r);++r);for(var i=e.length,a=i-r,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,u=a<c?a:c,l=-1,p=0;p<=u;++p){if(p===u){if(c>u){if(47===t.charCodeAt(s+p))return t.slice(s+p+1);if(0===p)return t.slice(s+p)}else a>u&&(47===e.charCodeAt(r+p)?l=p:0===p&&(l=0));break}var d=e.charCodeAt(r+p);if(d!==t.charCodeAt(s+p))break;47===d&&(l=p)}var f="";for(p=r+l+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===f.length?f+="..":f+="/..");return f.length>0?f+t.slice(s+l):(s+=l,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(n(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,o=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){o=a;break}}else i=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');n(e);var r,o=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(r=e.length-1;r>=0;--r){var u=e.charCodeAt(r);if(47===u){if(!a){o=r+1;break}}else-1===c&&(a=!1,c=r+1),s>=0&&(u===t.charCodeAt(s)?-1==--s&&(i=r):(s=-1,i=c))}return o===i?i=c:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){o=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?"":e.slice(o,i)},extname:function(e){n(e);for(var t=-1,r=0,o=-1,i=!0,a=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(i=!1,o=s+1),46===c?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=s+1;break}}return-1===t||-1===o||0===a||1===a&&t===o-1&&t===r+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}("/",e)},parse:function(e){n(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,o=e.charCodeAt(0),i=47===o;i?(t.root="/",r=1):r=0;for(var a=-1,s=0,c=-1,u=!0,l=e.length-1,p=0;l>=r;--l)if(47!==(o=e.charCodeAt(l)))-1===c&&(u=!1,c=l+1),46===o?-1===a?a=l:1!==p&&(p=1):-1!==a&&(p=-1);else if(!u){s=l+1;break}return-1===a||-1===c||0===p||1===p&&a===c-1&&a===s+1?-1!==c&&(t.base=t.name=0===s&&i?e.slice(1,c):e.slice(s,c)):(0===s&&i?(t.name=e.slice(1,a),t.base=e.slice(1,c)):(t.name=e.slice(s,a),t.base=e.slice(s,c)),t.ext=e.slice(a,c)),s>0?t.dir=e.slice(0,s-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}},function(){return S||(0,k[I(k)[0]])((S={exports:{}}).exports,S),S.exports}),V=((e,t,n)=>(n=null!=e?O(_(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of I(t))G.call(e,o)||o===n||D(e,o,{get:()=>t[o],enumerable:!(r=j(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:D(n,"default",{value:e,enumerable:!0}),e)))(z(),1);e("PluginFactory",class{constructor(){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.cache=new Map,this.devPackages=new Map,this.pluginCache=new Map,this.pluginCodes=[],this.predefinedPlugins=new Map}registerPredefinedPlugin(e){this.predefinedPlugins.set(e.name,e)}register(e){this.pluginCodes.forEach((t=>{e.use(t)}))}async loadPredefinedPlugin(e){if(this.predefinedPlugins.has(e)){const t=this.predefinedPlugins.get(e);t&&await this.loadPluginRef(t.name,t.path)}}setPluginCode(e){this.pluginCodes.push(e)}setDevPlugin(e,t){this.devPackages.set(e,t)}async loadPlugin(e){if(!0===e.runtimeObject){const t=e;if(t)try{await this.loadPluginRef(t.rtobjectName,t.rtobjectRepo)}catch(e){throw new n(t,"配置加载失败")}}return!1}async loadPluginRef(e,t){if(this.pluginCache.has(e))return!0;let n=null;const r=this.devPackages.get(e);if(r)n=await r();else{const e=t,r=this.urlReg.test(e)?"".concat(e,"/package.json"):"".concat(ibiz.env.pluginBaseUrl,"/").concat((0,V.join)(e,"package.json")),o=await ibiz.net.axios({method:"get",headers:{"Access-Control-Allow-Origin":"*"},url:r});if(200!==o.status)throw new Error("配置加载失败");n=o.data}const o=new u(e,t,n);if(o)try{return await this.loadScript(o),this.pluginCache.set(e,o),!0}catch(e){ibiz.log.error(e)}return!1}async loadScript(e){const n=e.repo,{name:o,version:i,system:a,module:s}=e.config;let c="";if(c=this.devPackages.has(o)?(0,V.join)("".concat(o,"@").concat(i),s):ibiz.env.dev?this.urlReg.test(n)?"".concat(n,"/").concat((0,V.join)(s)):"".concat(ibiz.env.pluginBaseUrl,"/").concat(n,"/").concat((0,V.join)(s)):"".concat(n).concat(n.endsWith("/")?"":"/").concat((0,V.join)(a)),c){if(this.cache.has(c))return;let e=null;const n=this.parseUrl(c);if(this.devPackages.has(o)){const e=this.devPackages.get(o),t=await e();this.setPluginCode(t.default),this.cache.set(c,!0)}else ibiz.env.dev?e=await t.import(c):(System.addImportMap({imports:{[o]:n}}),e=await System.import(o));if(!e)throw new r("远程插件加载失败, 未找到文件或文件内容格式不正确");if(!e.default)throw new r("远程插件加载失败, 远程插件未找到[default]默认导出");this.setPluginCode(e.default),this.cache.set(c,!0)}}parseUrl(e){if(this.urlReg.test(e))return e;let t="";t=this.urlReg.test(ibiz.env.pluginBaseUrl)?e.startsWith("/")?ibiz.env.pluginBaseUrl+e:"".concat(ibiz.env.pluginBaseUrl,"/").concat(e):"".concat((0,V.join)(ibiz.env.pluginBaseUrl,e));const{origin:n,pathname:r}=window.location;return r.endsWith("/")&&t.startsWith("/")&&(t=t.substring(1)),t="".concat(n).concat(r).concat(t),t}});function B(e,t,n={}){let r=i,a=i,s=i;const c=()=>{r(),r=i,a=i,s=i};return h(e,((e,i)=>{if(e!==i)if(d(e))c();else{const i=o((null==e?void 0:e.$el)||e,t,n);r=i.stop,a=i.pause,s=i.proceed}}),{immediate:!0}),g((()=>{r!==i&&c()})),{stop:()=>r(),pause:()=>a(),proceed:()=>s()}}function T(){return m().proxy.$props}function W(e){return v(e)?b(e):e}function L(){const e=m().proxy;return t=>{e.$forceUpdate(),t&&C(t)&&e.$nextTick((()=>{t()}))}}var U=e("EmptyVNode",f("EmptyVNode"));function M(){return P("ctx")}function F(e,t,n,r={}){let o=i;return h(e,((e,s)=>{e!==s&&(d(e)?(o(),o=i):o=a((null==e?void 0:e.$el)||e,t,n,r))}),{immediate:!0}),g((()=>{o!==i&&o()})),()=>{o()}}function q(e){return new s(e,ibiz.env.namespace)}function H(e){const t=e.getOwnContext(),n=["srfsessionid","srfappid"];return Object.keys(t).forEach((e=>{n.includes(e)&&delete t[e]})),t}var $=e("excludeViewTypes",[c.DE_GRID_VIEW,c.DE_GRID_EXP_VIEW,c.DE_LIST_VIEW,c.DE_LIST_EXP_VIEW,c.DE_DATA_VIEW,c.DE_DATAVIEW_EXP_VIEW,c.DE_CALENDAR_VIEW,c.DE_CALENDAR_EXP_VIEW,c.DE_CHART_VIEW,c.DE_CHART_EXP_VIEW,c.DE_KANBAN_VIEW]);async function X(e,t,n){if(n){const r=await ibiz.hub.getAppDataEntity(n);let o=l(t,r);if(o||(o={path:"",keys:[r.codeName.toLowerCase()]}),o){const n=e.pathNodes[1].context,r={};o.keys.forEach((e=>{t&&Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e],n&&delete n[e])})),e.pathNodes[0].context=r}}else e.pathNodes[0].context=void 0}function J(e){const t=e.matched.length,n=[];for(let r=1;r<=t;r++){const t=e.path.split("/")[2*r],o=e.params["params".concat(r)];let i,a,s;i=o&&o!==ibiz.env.routePlaceholder?R.parse(o,{strictNullHandling:!0,delimiter:";"}):void 0,i&&(1===r?(a=i,i=void 0):(i.srfnavctx&&(a=JSON.parse(decodeURIComponent(i.srfnavctx)),delete i.srfnavctx),i.srfnav&&(s=i.srfnav,delete i.srfnav))),n.push({viewName:t,context:a,params:i,srfnav:s})}let r;return e.params.appContext&&e.params.appContext!==ibiz.env.routePlaceholder&&(r=R.parse(e.params.appContext,{strictNullHandling:!0,delimiter:";"})),{appContext:r,pathNodes:n}}function K(e){let t="";return e.appContext?t+="/".concat(R.stringify(e.appContext,{delimiter:";",strictNullHandling:!0})):t+="/".concat(ibiz.env.routePlaceholder),e.pathNodes.forEach(((e,n)=>{t+="/".concat(e.viewName,"/");let r={};if(0===n)x(e.context)&&(r=e.context);else{if(r=x(e.params)?e.params:{},x(e.context)){const t=JSON.stringify(e.context);"{}"!==t&&(r.srfnavctx=encodeURIComponent(t))}e.srfnav&&(r.srfnav=e.srfnav)}const o=R.stringify(r,{delimiter:";",strictNullHandling:!0,skipNulls:!0});x(o)?t+=o:t+=ibiz.env.routePlaceholder})),t}function Q(e,t,n=!0){if(e.matched.length<t)return"";if(e.name)return e.path;const r=J(e);return r.pathNodes.length<t?e.path:(r.pathNodes.length>t&&(r.pathNodes=r.pathNodes.slice(0,t)),n&&delete r.pathNodes[t-1].srfnav,K(r))}var Y=e("RouteListener",class{constructor(e,t){this.callbacks=[],this.timers=[],this.wait=500,t&&(this.wait=t),h((()=>e.path),((e,t)=>{if(e!==t){if(this.callbacks.length)for(let e=0;e<this.callbacks.length;e++){(0,this.callbacks[e])()}if(this.callbacks=[],this.timers.length)for(let e=0;e<this.timers.length;e++){const t=this.timers[e];clearTimeout(t)}this.timers=[]}}))}nextChange(e){e&&(this.timers.push(setTimeout((()=>{e();const t=this.callbacks.findIndex((t=>t===e));this.callbacks.splice(t,1)}),this.wait)),this.callbacks.push(e))}});e("withInstall",((e,t)=>(e.install=e=>{t(e)},e)));function Z(e,t){h((()=>({context:e.context,params:e.params})),(e=>{t.context.reset({},e.context),E(t.params),Object.assign(t.params,e.params),t.handleContextParams(),ibiz.log.debug("".concat(t.model.id,"的上下文或视图参数变更:"),e)}))}function ee(e,t){h((()=>e.state?{...e.state}:{}),((e,n)=>{const r={};Object.keys(e).forEach((t=>{e[t]!==(n||{})[t]&&(r[t]=e[t])})),ibiz.log.debug("视图 [".concat(t.model.name,"] state 变更"),r),Object.keys(r).forEach((e=>{t.state[e]=r[e]}))}),{immediate:!0})}var te=e("RequiredProp",class{constructor(e,t,n){this.required=!0,t&&(this.default=t),n&&(this.validator=n),this.type=e}});function ne(){return{value:String,controller:new te(Object),data:new te(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function re(){return{hasError:{type:Boolean}}}function oe(){return{...ne(),value:[String,Number]}}function ie(){return{...ne(),value:Number}}function ae(){return{...ne(),value:String}}function se(){return{...ne(),value:[String,Number]}}function ce(){return{...ne(),value:[String,Number]}}function ue(){return{...ne(),value:[String,Number]}}function le(){return{...ne(),value:[String,Number]}}function pe(){return{...ne(),value:[String,Array,Object,Number]}}function de(){return{...ne(),value:[String,Number]}}function fe(){return{...ne(),value:[String,Number]}}function he(){return{...ne(),value:[String,Number]}}function ge(){return{...ne(),value:[String,Number]}}function me(){return{...ne(),value:[String,Number]}}function ve(){return{...ne(),value:[String,Number]}}function be(){return{...ne(),value:[String,Number,Array]}}function Pe(){return{...ne(),value:[String,Number]}}function ye(){return{...ne(),value:[String,Number]}}function we(){return{...ne(),value:[String,Number]}}function Ne(){return{...ne(),value:String}}function Ce(){return{...ne(),value:[String,Number]}}function xe(){return{...ne(),value:String,language:{type:String},theme:{type:String}}}function Ee(){return{...ne(),value:String}}function Ae(){return{...ne(),data:{type:Object,required:!1},controller:{type:Object,required:!1},disabled:{type:Boolean,required:!1}}}function Re(){return{...ne(),value:[Array,Array]}}function ke(){return{...ne(),value:String}}function Se(){return{...ne(),value:String}}}}}));
2
2
  //# sourceMappingURL=index.system.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.system.min.js","sources":["index.esm.js"],"sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\nvar require_path_browserify = __commonJS({\n \"../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\"(exports, module) {\n \"use strict\";\n function assertPath(path) {\n if (typeof path !== \"string\") {\n throw new TypeError(\"Path must be a string. Received \" + JSON.stringify(path));\n }\n }\n function normalizeStringPosix(path, allowAboveRoot) {\n var res = \"\";\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47)\n break;\n else\n code = 47;\n if (code === 47) {\n if (lastSlash === i - 1 || dots === 1) {\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += \"/..\";\n else\n res = \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += \"/\" + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n }\n function _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || \"\") + (pathObject.ext || \"\");\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n }\n var posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = \"\";\n var resolvedAbsolute = false;\n var cwd;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === void 0)\n cwd = process.cwd();\n path = cwd;\n }\n assertPath(path);\n if (path.length === 0) {\n continue;\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47;\n }\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return \"/\" + resolvedPath;\n else\n return \"/\";\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return \".\";\n }\n },\n normalize: function normalize(path) {\n assertPath(path);\n if (path.length === 0)\n return \".\";\n var isAbsolute = path.charCodeAt(0) === 47;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47;\n path = normalizeStringPosix(path, !isAbsolute);\n if (path.length === 0 && !isAbsolute)\n path = \".\";\n if (path.length > 0 && trailingSeparator)\n path += \"/\";\n if (isAbsolute)\n return \"/\" + path;\n return path;\n },\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47;\n },\n join: function join2() {\n if (arguments.length === 0)\n return \".\";\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === void 0)\n joined = arg;\n else\n joined += \"/\" + arg;\n }\n }\n if (joined === void 0)\n return \".\";\n return posix.normalize(joined);\n },\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n if (from === to)\n return \"\";\n from = posix.resolve(from);\n to = posix.resolve(to);\n if (from === to)\n return \"\";\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47) {\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47) {\n lastCommonSep = i;\n } else if (i === 0) {\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47)\n lastCommonSep = i;\n }\n var out = \"\";\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47) {\n if (out.length === 0)\n out += \"..\";\n else\n out += \"/..\";\n }\n }\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47)\n ++toStart;\n return to.slice(toStart);\n }\n },\n _makeLong: function _makeLong(path) {\n return path;\n },\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0)\n return \".\";\n var code = path.charCodeAt(0);\n var hasRoot = code === 47;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n matchedSlash = false;\n }\n }\n if (end === -1)\n return hasRoot ? \"/\" : \".\";\n if (hasRoot && end === 1)\n return \"//\";\n return path.slice(0, end);\n },\n basename: function basename(path, ext) {\n if (ext !== void 0 && typeof ext !== \"string\")\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path)\n return \"\";\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n end = i;\n }\n } else {\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47) {\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1)\n return \"\";\n return path.slice(start, end);\n }\n },\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return \"\";\n }\n return path.slice(startDot, end);\n },\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== \"object\") {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format(\"/\", pathObject);\n },\n parse: function parse(path) {\n assertPath(path);\n var ret = { root: \"\", dir: \"\", base: \"\", ext: \"\", name: \"\" };\n if (path.length === 0)\n return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47;\n var start;\n if (isAbsolute) {\n ret.root = \"/\";\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n var preDotState = 0;\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = path.slice(1, end);\n else\n ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n if (startPart > 0)\n ret.dir = path.slice(0, startPart - 1);\n else if (isAbsolute)\n ret.dir = \"/\";\n return ret;\n },\n sep: \"/\",\n delimiter: \":\",\n win32: null,\n posix: null\n };\n posix.posix = posix;\n module.exports = posix;\n }\n});\n\n// src/plugin/plugin-factory/plugin-factory.ts\nvar import_path_browserify = __toESM(require_path_browserify(), 1);\nimport { RuntimeError, RuntimeModelError } from \"@ibiz-template/core\";\nimport {\n RemotePluginItem\n} from \"@ibiz-template/runtime\";\nvar PluginFactory = class {\n constructor() {\n /**\n * 是否为 http || https 开头\n *\n * @author chitanda\n * @date 2022-11-07 14:11:28\n * @protected\n */\n this.urlReg = /^http[s]?:\\/\\/[^\\s]*/;\n /**\n * 是否已经加载过文件缓存\n *\n * @author chitanda\n * @date 2022-10-31 14:10:17\n * @protected\n * @type {Map<string, boolean>}\n */\n this.cache = /* @__PURE__ */ new Map();\n /**\n * 本地开发测试包,只在本地开发生效\n *\n * @author chitanda\n * @date 2022-11-02 21:11:41\n * @protected\n */\n this.devPackages = /* @__PURE__ */ new Map();\n /**\n * 插件缓存\n *\n * @author chitanda\n * @date 2022-10-31 14:10:28\n * @protected\n * @type {Map<string, RemotePluginItem>}\n */\n this.pluginCache = /* @__PURE__ */ new Map();\n /**\n * 所有的插件\n *\n * @author chitanda\n * @date 2023-02-02 16:02:55\n * @protected\n * @type {Plugin[]}\n */\n this.pluginCodes = [];\n /**\n * 预定义插件集合\n *\n * @author chitanda\n * @date 2023-03-09 17:03:46\n * @protected\n * @type {Map<string, IPluginItem>}\n */\n this.predefinedPlugins = /* @__PURE__ */ new Map();\n }\n /**\n * 注册视图默认插件\n *\n * @author chitanda\n * @date 2023-02-06 21:02:10\n * @param {IPluginItem} plugin\n */\n registerPredefinedPlugin(plugin) {\n this.predefinedPlugins.set(plugin.name, plugin);\n }\n /**\n * 给入应用实例,将已经加载的过插件注入。主要用于多实例的情况\n *\n * @author chitanda\n * @date 2023-02-02 16:02:51\n * @param {App} app\n */\n register(app) {\n this.pluginCodes.forEach((plugin) => {\n app.use(plugin);\n });\n }\n /**\n * 加载预置插件\n *\n * @author chitanda\n * @date 2023-03-09 18:03:48\n * @param {string} name\n * @return {*} {Promise<void>}\n */\n async loadPredefinedPlugin(name) {\n if (this.predefinedPlugins.has(name)) {\n const plugin = this.predefinedPlugins.get(name);\n if (plugin) {\n await this.loadPluginRef(plugin.name, plugin.path);\n }\n }\n }\n /**\n * 插件刚加载完成回来,设置到目前所有的 vue 实例当中\n *\n * @author chitanda\n * @date 2023-02-02 17:02:38\n * @protected\n * @param {Plugin} code\n */\n setPluginCode(code) {\n this.pluginCodes.push(code);\n }\n /**\n * 设置开发插件,用于本地调试\n *\n * @author chitanda\n * @date 2022-11-02 21:11:56\n * @param {string} name\n * @param {() => Promise<unknown>} fn\n */\n setDevPlugin(name, fn) {\n this.devPackages.set(name, fn);\n }\n /**\n * 加载插件\n *\n * @author chitanda\n * @date 2022-10-31 14:10:13\n * @param {ISysPFPlugin} plugin\n * @return {*} {Promise<boolean>}\n */\n async loadPlugin(plugin) {\n if (plugin.runtimeObject === true) {\n const pluginRef = plugin;\n if (pluginRef) {\n try {\n await this.loadPluginRef(\n pluginRef.rtobjectName,\n pluginRef.rtobjectRepo\n );\n } catch (error) {\n throw new RuntimeModelError(pluginRef, \"\\u914D\\u7F6E\\u52A0\\u8F7D\\u5931\\u8D25\");\n }\n }\n }\n return false;\n }\n /**\n * 加载应用插件\n *\n * @author chitanda\n * @date 2022-10-31 16:10:57\n * @param {IPSAppPFPluginRef} pluginRef\n * @return {*} {Promise<boolean>}\n */\n async loadPluginRef(rtObjectName, rtObjectRepo) {\n if (this.pluginCache.has(rtObjectName)) {\n return true;\n }\n let configData = null;\n const fn = this.devPackages.get(rtObjectName);\n if (fn) {\n configData = await fn();\n } else {\n const pluginPath = rtObjectRepo;\n const configUrl = this.urlReg.test(pluginPath) ? \"\".concat(pluginPath, \"/package.json\") : \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat((0, import_path_browserify.join)(pluginPath, \"package.json\"));\n const res = await ibiz.net.axios({\n method: \"get\",\n headers: { \"Access-Control-Allow-Origin\": \"*\" },\n url: configUrl\n });\n if (res.status !== 200) {\n throw new Error(\"\\u914D\\u7F6E\\u52A0\\u8F7D\\u5931\\u8D25\");\n }\n configData = res.data;\n }\n const remotePlugin = new RemotePluginItem(\n rtObjectName,\n rtObjectRepo,\n configData\n );\n if (remotePlugin) {\n try {\n await this.loadScript(remotePlugin);\n this.pluginCache.set(rtObjectName, remotePlugin);\n return true;\n } catch (error) {\n ibiz.log.error(error);\n }\n }\n return false;\n }\n /**\n * 加载插件\n *\n * @author chitanda\n * @date 2022-11-02 14:11:31\n * @protected\n * @param {RemotePluginItem} remotePlugin\n * @return {*} {Promise<void>}\n */\n async loadScript(remotePlugin) {\n const pluginPath = remotePlugin.repo;\n const { name, version, system, module } = remotePlugin.config;\n let scriptUrl = \"\";\n if (this.devPackages.has(name)) {\n scriptUrl = (0, import_path_browserify.join)(\"\".concat(name, \"@\").concat(version), module);\n } else if (ibiz.env.dev) {\n scriptUrl = this.urlReg.test(pluginPath) ? \"\".concat(pluginPath, \"/\").concat((0, import_path_browserify.join)(module)) : \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat(pluginPath, \"/\").concat((0, import_path_browserify.join)(module));\n } else {\n scriptUrl = \"\".concat(pluginPath).concat(pluginPath.endsWith(\"/\") ? \"\" : \"/\").concat((0, import_path_browserify.join)(\n system\n ));\n }\n if (scriptUrl) {\n if (this.cache.has(scriptUrl)) {\n return;\n }\n let data = null;\n const url = this.parseUrl(scriptUrl);\n if (this.devPackages.has(name)) {\n const fn = this.devPackages.get(name);\n const pluginModule = await fn();\n this.setPluginCode(pluginModule.default);\n this.cache.set(scriptUrl, true);\n } else if (ibiz.env.dev) {\n data = await import(\n scriptUrl\n /* @vite-ignore */\n );\n } else {\n System.addImportMap({\n imports: {\n [name]: url\n }\n });\n data = await System.import(name);\n }\n if (data) {\n if (data.default) {\n this.setPluginCode(data.default);\n } else {\n throw new RuntimeError(\n \"\\u8FDC\\u7A0B\\u63D2\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25, \\u8FDC\\u7A0B\\u63D2\\u4EF6\\u672A\\u627E\\u5230[default]\\u9ED8\\u8BA4\\u5BFC\\u51FA\"\n );\n }\n this.cache.set(scriptUrl, true);\n } else {\n throw new RuntimeError(\n \"\\u8FDC\\u7A0B\\u63D2\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25, \\u672A\\u627E\\u5230\\u6587\\u4EF6\\u6216\\u6587\\u4EF6\\u5185\\u5BB9\\u683C\\u5F0F\\u4E0D\\u6B63\\u786E\"\n );\n }\n }\n }\n /**\n * 编译请求文件地址\n *\n * @author chitanda\n * @date 2022-10-31 14:10:19\n * @protected\n * @param {string} script\n * @return {*} {string}\n */\n parseUrl(script) {\n if (this.urlReg.test(script)) {\n return script;\n }\n let url = \"\";\n if (this.urlReg.test(ibiz.env.pluginBaseUrl)) {\n if (script.startsWith(\"/\")) {\n url = ibiz.env.pluginBaseUrl + script;\n } else {\n url = \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat(script);\n }\n } else {\n url = \"\".concat((0, import_path_browserify.join)(ibiz.env.pluginBaseUrl, script));\n }\n const { origin, pathname } = window.location;\n if (pathname.endsWith(\"/\") && url.startsWith(\"/\")) {\n url = url.substring(1);\n }\n url = \"\".concat(origin).concat(pathname).concat(url);\n return url;\n }\n};\n\n// src/use/click-outside/click-outside.ts\nimport {\n NOOP,\n onClickOutside\n} from \"@ibiz-template/core\";\nimport { isNil } from \"ramda\";\nimport { onBeforeUnmount, watch } from \"vue\";\nfunction useClickOutside(elRef, handler, options = {}) {\n let stop = NOOP;\n let pause = NOOP;\n let proceed = NOOP;\n const destroy = () => {\n stop();\n stop = NOOP;\n pause = NOOP;\n proceed = NOOP;\n };\n watch(\n elRef,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (isNil(newVal)) {\n destroy();\n } else {\n const result = onClickOutside(\n (newVal == null ? void 0 : newVal.$el) || newVal,\n handler,\n options\n );\n stop = result.stop;\n pause = result.pause;\n proceed = result.proceed;\n }\n }\n },\n { immediate: true }\n );\n onBeforeUnmount(() => {\n if (stop !== NOOP) {\n destroy();\n }\n });\n return {\n stop: () => stop(),\n pause: () => pause(),\n proceed: () => proceed()\n };\n}\n\n// src/use/control/use-control-controller/use-control-controller.ts\nimport { getCurrentInstance as getCurrentInstance2, onBeforeUnmount as onBeforeUnmount2, reactive, watch as watch3 } from \"vue\";\n\n// src/use/vue/vue.ts\nimport { isFunc } from \"qx-util\";\nimport {\n createCommentVNode,\n getCurrentInstance,\n isReactive,\n toRaw,\n watch as watch2\n} from \"vue\";\nfunction useProps() {\n const vue = getCurrentInstance().proxy;\n return vue.$props;\n}\nfunction getOrigin(val) {\n return isReactive(val) ? toRaw(val) : val;\n}\nfunction usePropsWatch(key, callback, options) {\n const props = useProps();\n if (Object.prototype.hasOwnProperty.call(props, key)) {\n watch2(\n () => props[key],\n (newVal, oldVal) => {\n callback(getOrigin(newVal), getOrigin(oldVal));\n },\n options\n );\n callback(getOrigin(props[key]), void 0);\n }\n}\nfunction useForce() {\n const vue = getCurrentInstance().proxy;\n return (callback) => {\n vue.$forceUpdate();\n if (callback && isFunc(callback)) {\n vue.$nextTick(() => {\n callback();\n });\n }\n };\n}\nfunction useForceTogether(vue, controller) {\n const orignForce = controller.force;\n const selfForce = useForce();\n controller.force = (callback) => {\n orignForce(callback);\n selfForce();\n };\n}\nfunction useController(controller) {\n controller.force = useForce();\n}\nvar EmptyVNode = createCommentVNode(\"EmptyVNode\");\nfunction isEmptyVNode(nodes) {\n if (!Array.isArray(nodes)) {\n return nodes === EmptyVNode;\n }\n return nodes.length === 1 && nodes[0] === EmptyVNode;\n}\n\n// src/use/util/index.ts\nimport { inject } from \"vue\";\nfunction useCtx() {\n return inject(\"ctx\");\n}\nfunction useMobCtx() {\n return inject(\"ctx\");\n}\n\n// src/use/control/use-control-controller/use-control-controller.ts\nfunction watchAndUpdateState(props, control) {\n const excludeKeys = [\"context\", \"params\", \"modelData\"];\n watch3(\n () => {\n const watchProps = {};\n Object.keys(props).forEach((key) => {\n if (!excludeKeys.includes(key)) {\n watchProps[key] = props[key];\n }\n });\n return watchProps;\n },\n (newVal, oldVal) => {\n const changeProps = {};\n Object.keys(newVal).forEach((key) => {\n if (newVal[key] !== (oldVal || {})[key]) {\n changeProps[key] = newVal[key];\n }\n });\n ibiz.log.debug(\"\\u90E8\\u4EF6 [\".concat(control.model.name, \"] state \\u53D8\\u66F4\"), changeProps);\n Object.keys(changeProps).forEach((key) => {\n if (changeProps[key] !== void 0) {\n control.state[key] = changeProps[key];\n }\n });\n },\n { immediate: true }\n );\n}\nfunction useControlController(fn) {\n const ctx = useCtx();\n const props = useProps();\n ctx.evt.emit(\"onForecast\", props.modelData.name);\n const c = fn(props.modelData, props.context, props.params, ctx);\n watchAndUpdateState(props, c);\n c.state = reactive(c.state);\n c.force = useForce();\n const vue = getCurrentInstance2().proxy;\n c.evt.onAll((eventName, event) => {\n vue.$emit(eventName.slice(2), event);\n });\n vue.$emit(\"controllerAppear\", c);\n c.created();\n onBeforeUnmount2(() => c.destroyed());\n return c;\n}\n\n// src/use/event/event.ts\nimport { listenJSEvent, NOOP as NOOP2 } from \"@ibiz-template/core\";\nimport { isNil as isNil2 } from \"ramda\";\nimport { onBeforeUnmount as onBeforeUnmount3, watch as watch4 } from \"vue\";\nfunction useEventListener(elRef, eventName, listener, options = {}) {\n let cleanup = NOOP2;\n watch4(\n elRef,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (isNil2(newVal)) {\n cleanup();\n cleanup = NOOP2;\n } else {\n cleanup = listenJSEvent(\n (newVal == null ? void 0 : newVal.$el) || newVal,\n eventName,\n listener,\n options\n );\n }\n }\n },\n { immediate: true }\n );\n onBeforeUnmount3(() => {\n if (cleanup !== NOOP2) {\n cleanup();\n }\n });\n return () => {\n cleanup();\n };\n}\n\n// src/use/focus-blur/focus-blur.ts\nimport { ref } from \"vue\";\nfunction useFocusAndBlur(focus, blur) {\n const componentRef = ref();\n const isFocus = ref(false);\n let outsideFuns;\n const doBlur = () => {\n if (!isFocus.value) {\n ibiz.log.debug(\"\\u6CA1\\u6709\\u805A\\u7126\\uFF0C\\u4E0D\\u89E6\\u53D1\\u5931\\u7126\");\n }\n blur();\n outsideFuns.stop();\n isFocus.value = false;\n };\n const pause = () => {\n if (outsideFuns) {\n outsideFuns.pause();\n }\n };\n const stop = () => {\n if (outsideFuns) {\n outsideFuns.stop();\n }\n };\n useEventListener(\n componentRef,\n \"click\",\n (_evt) => {\n if (!isFocus.value) {\n outsideFuns = useClickOutside(componentRef, () => {\n doBlur();\n });\n isFocus.value = true;\n focus();\n }\n },\n { capture: true }\n // 捕获防止内部ui拦截点击事件\n );\n return { componentRef, isFocus, doBlur, pause, stop };\n}\n\n// src/use/namespace/namespace.ts\nimport { Namespace } from \"@ibiz-template/core\";\nfunction useNamespace(block) {\n return new Namespace(block, ibiz.env.namespace);\n}\n\n// src/use/route/route.ts\nimport { useRoute as useRoute2 } from \"vue-router\";\nimport { ref as ref2, watch as watch7 } from \"vue\";\n\n// src/util/route/route.ts\nimport { notNilEmpty } from \"qx-util\";\nimport { RuntimeError as RuntimeError2 } from \"@ibiz-template/core\";\nimport qs from \"qs\";\nimport { useRoute } from \"vue-router\";\nimport { watch as watch5 } from \"vue\";\nimport {\n calcDeCodeNameById,\n getMatchResPath,\n ViewType\n} from \"@ibiz-template/runtime\";\nfunction getOwnRouteContext(context) {\n const ownContext = context.getOwnContext();\n const excludeKeys = [\"srfsessionid\", \"srfappid\"];\n Object.keys(ownContext).forEach((key) => {\n if (excludeKeys.includes(key)) {\n delete ownContext[key];\n }\n });\n return ownContext;\n}\nvar excludeViewTypes = [\n ViewType.DE_GRID_VIEW,\n ViewType.DE_GRID_EXP_VIEW,\n ViewType.DE_LIST_VIEW,\n ViewType.DE_LIST_EXP_VIEW,\n ViewType.DE_DATA_VIEW,\n ViewType.DE_DATAVIEW_EXP_VIEW,\n ViewType.DE_CALENDAR_VIEW,\n ViewType.DE_CALENDAR_EXP_VIEW,\n ViewType.DE_CHART_VIEW,\n ViewType.DE_CHART_EXP_VIEW,\n ViewType.DE_KANBAN_VIEW\n];\nasync function calcResRoutePath(routePath, context, appDataEntityId) {\n if (!appDataEntityId) {\n routePath.pathNodes[0].context = void 0;\n } else {\n const entity = await ibiz.hub.getAppDataEntity(appDataEntityId);\n let match = getMatchResPath(context, entity);\n if (!match) {\n match = { path: \"\", keys: [entity.codeName.toLowerCase()] };\n }\n if (match) {\n const currentContext = routePath.pathNodes[1].context;\n const resContext = {};\n match.keys.forEach((key) => {\n if (context && Object.prototype.hasOwnProperty.call(context, key)) {\n resContext[key] = context[key];\n if (currentContext) {\n delete currentContext[key];\n }\n }\n });\n routePath.pathNodes[0].context = resContext;\n }\n }\n}\nasync function generateRoutePath(appView, route, context, params) {\n const routePath = route2routePath(route);\n let depth = 2;\n if (context.toRouteDepth) {\n depth = context.toRouteDepth;\n delete context.toRouteDepth;\n } else if (ibiz.env.isMob) {\n routePath.pathNodes[0] = {\n viewName: \"home\"\n };\n }\n routePath.pathNodes.splice(depth - 1, routePath.pathNodes.length - depth + 1);\n if (context.currentSrfNav) {\n const currentNode = routePath.pathNodes[routePath.pathNodes.length - 1];\n currentNode.params = currentNode.params || {};\n currentNode.srfnav = context.currentSrfNav;\n delete context.currentSrfNav;\n }\n if (route.fullPath.startsWith(\"/appredirectview\")) {\n if (params == null ? void 0 : params.srfindexname) {\n routePath.pathNodes[0].viewName = params.srfindexname;\n delete params.srfindexname;\n } else {\n routePath.pathNodes[0].viewName = \"index\";\n }\n }\n routePath.pathNodes.push({\n viewName: appView.codeName.toLowerCase(),\n context: getOwnRouteContext(context),\n params\n });\n if (depth === 2) {\n await calcResRoutePath(routePath, context, appView.appDataEntityId);\n if (excludeViewTypes.includes(appView.viewType)) {\n const deName = calcDeCodeNameById(appView.appDataEntityId);\n delete routePath.pathNodes[0].context[deName];\n }\n }\n return { path: routePath2string(routePath) };\n}\nasync function parseRouteViewData(route, depth) {\n var _a;\n const routePath = route2routePath(route);\n let viewCodeName = routePath.pathNodes[depth - 1].viewName;\n if (!viewCodeName) {\n throw new RuntimeError2(\"\\u7B2C\".concat(depth, \"\\u7EA7\\u8DEF\\u7531\\u4E0D\\u5B58\\u5728\\u89C6\\u56FE\\u6807\\u8BC6\"));\n }\n if (viewCodeName === \"index\") {\n viewCodeName = ibiz.hub.defaultAppIndexViewName;\n }\n const viewModel = await ibiz.hub.getAppView(viewCodeName);\n if (!viewModel) {\n throw new RuntimeError2(\"\\u627E\\u4E0D\\u5230\\u89C6\\u56FE\".concat(viewCodeName));\n }\n const context = {};\n if ((_a = ibiz.appData) == null ? void 0 : _a.context) {\n Object.assign(context, ibiz.appData.context);\n }\n if (routePath.appContext) {\n Object.assign(context, routePath.appContext);\n }\n for (let index = 0; index < depth; index++) {\n const pathNode = routePath.pathNodes[index];\n if (notNilEmpty(pathNode.context)) {\n Object.assign(context, pathNode.context);\n }\n }\n const { params, srfnav } = routePath.pathNodes[depth - 1];\n return {\n viewModel,\n context,\n params,\n srfnav\n };\n}\nfunction route2routePath(route) {\n const depth = route.matched.length;\n const pathNodes = [];\n for (let index = 1; index <= depth; index++) {\n const viewName = route.path.split(\"/\")[index * 2];\n const paramsStr = route.params[\"params\".concat(index)];\n let params;\n let context;\n let srfnav;\n if (!paramsStr || paramsStr === ibiz.env.routePlaceholder) {\n params = void 0;\n } else {\n params = qs.parse(paramsStr, {\n strictNullHandling: true,\n delimiter: \";\"\n });\n }\n if (params) {\n if (index === 1) {\n context = params;\n params = void 0;\n } else {\n if (params.srfnavctx) {\n context = JSON.parse(decodeURIComponent(params.srfnavctx));\n delete params.srfnavctx;\n }\n if (params.srfnav) {\n srfnav = params.srfnav;\n delete params.srfnav;\n }\n }\n }\n pathNodes.push({ viewName, context, params, srfnav });\n }\n let appContext;\n if (route.params.appContext && route.params.appContext !== ibiz.env.routePlaceholder) {\n appContext = qs.parse(route.params.appContext, {\n strictNullHandling: true,\n delimiter: \";\"\n });\n }\n return { appContext, pathNodes };\n}\nfunction routePath2string(routePath) {\n let pathStr = \"\";\n if (routePath.appContext) {\n pathStr += \"/\".concat(qs.stringify(routePath.appContext, {\n delimiter: \";\",\n strictNullHandling: true\n }));\n } else {\n pathStr += \"/\".concat(ibiz.env.routePlaceholder);\n }\n routePath.pathNodes.forEach((pathNode, index) => {\n pathStr += \"/\".concat(pathNode.viewName, \"/\");\n let routeParams = {};\n if (index === 0) {\n if (notNilEmpty(pathNode.context)) {\n routeParams = pathNode.context;\n }\n } else {\n routeParams = notNilEmpty(pathNode.params) ? pathNode.params : {};\n if (notNilEmpty(pathNode.context)) {\n const objStr = JSON.stringify(pathNode.context);\n if (objStr !== \"{}\") {\n routeParams.srfnavctx = encodeURIComponent(objStr);\n }\n }\n if (pathNode.srfnav) {\n routeParams.srfnav = pathNode.srfnav;\n }\n }\n const paramsStr = qs.stringify(routeParams, {\n delimiter: \";\",\n strictNullHandling: true,\n skipNulls: true\n });\n if (notNilEmpty(paramsStr)) {\n pathStr += paramsStr;\n } else {\n pathStr += ibiz.env.routePlaceholder;\n }\n });\n return pathStr;\n}\nfunction getNestedRoutePath(route, depth, noSrfNav = true) {\n if (route.matched.length < depth) {\n return \"\";\n }\n if (route.name) {\n return route.path;\n }\n const routePath = route2routePath(route);\n if (routePath.pathNodes.length < depth) {\n return route.path;\n }\n if (routePath.pathNodes.length > depth) {\n routePath.pathNodes = routePath.pathNodes.slice(0, depth);\n }\n if (noSrfNav) {\n delete routePath.pathNodes[depth - 1].srfnav;\n }\n return routePath2string(routePath);\n}\nfunction onRouteChange(callback, depth) {\n const route = useRoute();\n if (!route) {\n throw new RuntimeError2(\"\\u65E0\\u6CD5\\u6B63\\u786E\\u83B7\\u53D6route,\\u53EF\\u80FD\\u662F\\u4F9D\\u8D56\\u95EE\\u9898\");\n }\n watch5(\n () => route == null ? void 0 : route.path,\n () => {\n const currentKey = getNestedRoutePath(route, depth);\n callback({ currentKey, fullPath: route.fullPath });\n },\n { immediate: true }\n );\n}\n\n// src/util/route/route-listener.ts\nimport { watch as watch6 } from \"vue\";\nvar RouteListener = class {\n constructor(route, wait) {\n /**\n * 回调集合\n *\n * @memberof RouteListener\n */\n this.callbacks = [];\n /**\n * 计时器集合\n *\n * @private\n * @type {any[]}\n * @memberof RouteListener\n */\n this.timers = [];\n /**\n * 等待路由响应时间\n *\n * @private\n * @type {number}\n * @memberof RouteListener\n */\n this.wait = 500;\n if (wait) {\n this.wait = wait;\n }\n watch6(\n () => route.path,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (this.callbacks.length) {\n for (let index = 0; index < this.callbacks.length; index++) {\n const fn = this.callbacks[index];\n fn();\n }\n }\n this.callbacks = [];\n if (this.timers.length) {\n for (let index = 0; index < this.timers.length; index++) {\n const timer = this.timers[index];\n clearTimeout(timer);\n }\n }\n this.timers = [];\n }\n }\n );\n }\n /**\n * 下一次路由变更后执行回调,只执行一次\n *\n * @param {ChangeCallback} callback\n * @memberof RouteListener\n */\n nextChange(callback) {\n if (callback) {\n this.timers.push(\n setTimeout(() => {\n callback();\n const index = this.callbacks.findIndex((item) => item === callback);\n this.callbacks.splice(index, 1);\n }, this.wait)\n );\n this.callbacks.push(callback);\n }\n }\n};\n\n// src/util/install.ts\nvar withInstall = (main, install) => {\n main.install = (app) => {\n install(app);\n };\n return main;\n};\n\n// src/util/control/prepare-control.ts\nfunction prepareControl(c) {\n const commonNs = useNamespace(\"control\");\n const { controlType, sysCss, codeName } = c.model;\n const typeClass = controlType.toLowerCase();\n const sysCssName = sysCss == null ? void 0 : sysCss.cssName;\n const ns = useNamespace(\"control-\".concat(typeClass));\n const controlClass = [\n commonNs.b(),\n commonNs.b(typeClass),\n commonNs.m(codeName)\n ];\n if (sysCssName) {\n controlClass.push(sysCssName);\n }\n return { controlClass, ns };\n}\n\n// src/use/route/route.ts\nfunction useRouterQuery() {\n const route = useRoute2();\n const { query } = route;\n return query;\n}\nfunction useRouteKey(originKey, route, routeKey) {\n if (!routeKey) {\n routeKey = ref2(\"\");\n }\n routeKey.value = originKey.value;\n const routeListener = new RouteListener(route);\n watch7(originKey, (newVal, oldVal) => {\n if (newVal !== oldVal) {\n routeListener.nextChange(() => {\n routeKey.value = newVal;\n });\n }\n });\n return routeKey;\n}\n\n// src/use/view/use-view-controller/use-view-controller.ts\nimport { clearAll } from \"qx-util\";\nimport {\n getCurrentInstance as getCurrentInstance3,\n inject as inject2,\n onBeforeUnmount as onBeforeUnmount4,\n provide,\n reactive as reactive2,\n watch as watch8\n} from \"vue\";\nfunction watchAndUpdateContextParams(props, view) {\n watch8(\n () => ({ context: props.context, params: props.params }),\n (newVal) => {\n view.context.reset({}, newVal.context);\n clearAll(view.params);\n Object.assign(view.params, newVal.params);\n view.handleContextParams();\n ibiz.log.debug(\"\".concat(view.model.id, \"\\u7684\\u4E0A\\u4E0B\\u6587\\u6216\\u89C6\\u56FE\\u53C2\\u6570\\u53D8\\u66F4\\uFF1A\"), newVal);\n }\n );\n}\nfunction watchAndUpdateState2(props, view) {\n watch8(\n () => {\n return props.state ? { ...props.state } : {};\n },\n (newVal, oldVal) => {\n const changeProps = {};\n Object.keys(newVal).forEach((key) => {\n if (newVal[key] !== (oldVal || {})[key]) {\n changeProps[key] = newVal[key];\n }\n });\n ibiz.log.debug(\"\\u89C6\\u56FE [\".concat(view.model.name, \"] state \\u53D8\\u66F4\"), changeProps);\n Object.keys(changeProps).forEach((key) => {\n view.state[key] = changeProps[key];\n });\n },\n { immediate: true }\n );\n}\nfunction useViewController(fn) {\n const props = useProps();\n const ctx = inject2(\"ctx\", void 0);\n ctx == null ? void 0 : ctx.evt.emit(\"onForecast\", props.modelData.name);\n const c = fn(props.modelData, props.context, props.params, ctx);\n watchAndUpdateContextParams(props, c);\n watchAndUpdateState2(props, c);\n provide(\"ctx\", c.ctx);\n c.state = reactive2(c.state);\n c.slotProps = reactive2(c.slotProps);\n if (props.modal) {\n c.modal = props.modal;\n }\n c.force = useForce();\n const vue = getCurrentInstance3().proxy;\n c.evt.onAll((eventName, event) => {\n vue.$emit(eventName.slice(2), event);\n });\n c.created();\n onBeforeUnmount4(() => c.destroyed());\n return c;\n}\n\n// src/props/common.ts\nvar RequiredProp = class {\n constructor(type, _default, validator) {\n this.required = true;\n if (_default) {\n this.default = _default;\n }\n if (validator) {\n this.validator = validator;\n }\n this.type = type;\n }\n};\n\n// src/props/editor/common.ts\nfunction getEditorProps() {\n return {\n value: String,\n controller: new RequiredProp(Object),\n data: new RequiredProp(Object),\n disabled: {\n type: Boolean\n },\n readonly: {\n type: Boolean,\n default: false\n },\n autoFocus: {\n type: Boolean,\n default: false\n }\n };\n}\nfunction getEditorEmits() {\n return {\n /** 值变更事件 */\n change: (_value, _name) => true,\n /** 失焦事件 */\n blur: () => true,\n /** 聚焦事件 */\n focus: () => true\n };\n}\nfunction getGridEditorEmits() {\n return {\n /** 值变更事件 */\n change: (_value, _name) => true,\n /** 是否正在操作事件 */\n rowSave: () => true\n };\n}\nfunction getGridEditorCommonProps() {\n return {\n hasError: {\n type: Boolean\n }\n };\n}\n\n// src/props/editor/text-box.ts\nfunction getInputProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridInputProps() {\n return { ...getInputProps(), ...getGridEditorCommonProps() };\n}\nfunction getInputNumberProps() {\n return { ...getEditorProps(), value: Number };\n}\nfunction getGridInputNumberProps() {\n return { ...getInputNumberProps(), ...getGridEditorCommonProps() };\n}\nfunction getInputIpProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridInputIpProps() {\n return { ...getInputIpProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/span.ts\nfunction getSpanProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSpanProps() {\n return { ...getSpanProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/dropdown-list.ts\nfunction getDropdownProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDropdownProps() {\n return { ...getDropdownProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/check-box-list.ts\nfunction getCheckboxListProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridCheckboxListProps() {\n return { ...getCheckboxListProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/check-box.ts\nfunction getCheckboxProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridCheckboxProps() {\n return { ...getCheckboxProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/data-picker.ts\nfunction getDataPickerProps() {\n return { ...getEditorProps(), value: [String, Array, Object, Number] };\n}\nfunction getGridDataPickerProps() {\n return { ...getDataPickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-picker.ts\nfunction getDatePickerProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDatePickerProps() {\n return { ...getDatePickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-range.ts\nfunction getDateRangeProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDateRangeProps() {\n return { ...getDateRangeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/list-box.ts\nfunction getListBoxProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridListBoxProps() {\n return { ...getListBoxProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/number-range.ts\nfunction getNumberRangeProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridNumberRangeProps() {\n return { ...getNumberRangeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/radio-button-list.ts\nfunction getRadioProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridRadioProps() {\n return { ...getRadioProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/rate.ts\nfunction getRateProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridRateProps() {\n return { ...getRateProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/raw.ts\nfunction getRawProps() {\n return { ...getEditorProps(), value: [String, Number, Array] };\n}\nfunction getGridRawProps() {\n return { ...getRawProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/slider.ts\nfunction getSliderProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSliderProps() {\n return { ...getSliderProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/stepper.ts\nfunction getStepperProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridStepperProps() {\n return { ...getStepperProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/switch.ts\nfunction getSwitchProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSwitchProps() {\n return { ...getSwitchProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/upload.ts\nfunction getUploadProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridUploadProps() {\n return { ...getUploadProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/autocomplete.ts\nfunction getAutoCompleteProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridAutoCompleteProps() {\n return { ...getAutoCompleteProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/code.ts\nfunction getCodeProps() {\n return {\n ...getEditorProps(),\n value: String,\n language: {\n type: String\n },\n theme: {\n type: String\n }\n };\n}\nfunction getGridCodeProps() {\n return { ...getCodeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/html.ts\nfunction getHtmlProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridHtmlProps() {\n return { ...getHtmlProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/markdown.ts\nfunction getMarkDownProps() {\n return {\n ...getEditorProps(),\n data: { type: Object, required: false },\n controller: { type: Object, required: false },\n disabled: {\n type: Boolean,\n required: false\n }\n };\n}\nfunction getGridMarkDownProps() {\n return { ...getMarkDownProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/array.ts\nfunction getArrayProps() {\n return { ...getEditorProps(), value: [Array, Array] };\n}\nfunction getGridArrayProps() {\n return { ...getArrayProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/cascader.ts\nfunction getCascaderProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridCascaderProps() {\n return { ...getCascaderProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/color-picker.ts\nfunction getColorPickerProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridColorPickerProps() {\n return { ...getColorPickerProps(), ...getGridEditorCommonProps() };\n}\nexport {\n EmptyVNode,\n PluginFactory,\n RequiredProp,\n RouteListener,\n calcResRoutePath,\n excludeViewTypes,\n generateRoutePath,\n getArrayProps,\n getAutoCompleteProps,\n getCascaderProps,\n getCheckboxListProps,\n getCheckboxProps,\n getCodeProps,\n getColorPickerProps,\n getDataPickerProps,\n getDatePickerProps,\n getDateRangeProps,\n getDropdownProps,\n getEditorEmits,\n getEditorProps,\n getGridArrayProps,\n getGridAutoCompleteProps,\n getGridCascaderProps,\n getGridCheckboxListProps,\n getGridCheckboxProps,\n getGridCodeProps,\n getGridColorPickerProps,\n getGridDataPickerProps,\n getGridDatePickerProps,\n getGridDateRangeProps,\n getGridDropdownProps,\n getGridEditorCommonProps,\n getGridEditorEmits,\n getGridHtmlProps,\n getGridInputIpProps,\n getGridInputNumberProps,\n getGridInputProps,\n getGridListBoxProps,\n getGridMarkDownProps,\n getGridNumberRangeProps,\n getGridRadioProps,\n getGridRateProps,\n getGridRawProps,\n getGridSliderProps,\n getGridSpanProps,\n getGridStepperProps,\n getGridSwitchProps,\n getGridUploadProps,\n getHtmlProps,\n getInputIpProps,\n getInputNumberProps,\n getInputProps,\n getListBoxProps,\n getMarkDownProps,\n getNestedRoutePath,\n getNumberRangeProps,\n getOrigin,\n getOwnRouteContext,\n getRadioProps,\n getRateProps,\n getRawProps,\n getSliderProps,\n getSpanProps,\n getStepperProps,\n getSwitchProps,\n getUploadProps,\n isEmptyVNode,\n onRouteChange,\n parseRouteViewData,\n prepareControl,\n route2routePath,\n routePath2string,\n useClickOutside,\n useControlController,\n useController,\n useCtx,\n useEventListener,\n useFocusAndBlur,\n useForce,\n useForceTogether,\n useMobCtx,\n useNamespace,\n useProps,\n usePropsWatch,\n useRouteKey,\n useRouterQuery,\n useViewController,\n withInstall\n};\n"],"names":["async","appView","route","context","params","routePath","route2routePath","depth","toRouteDepth","ibiz","env","isMob","pathNodes","viewName","splice","length","currentSrfNav","currentNode","srfnav","fullPath","startsWith","srfindexname","push","codeName","toLowerCase","getOwnRouteContext","calcResRoutePath","appDataEntityId","excludeViewTypes","includes","viewType","deName","calcDeCodeNameById","path","routePath2string","change","_value","_name","blur","focus","getArrayProps","getGridEditorCommonProps","getAutoCompleteProps","getCascaderProps","getCheckboxListProps","getCheckboxProps","getCodeProps","getColorPickerProps","getDataPickerProps","getDatePickerProps","getDateRangeProps","getDropdownProps","rowSave","getHtmlProps","getInputIpProps","getInputNumberProps","getInputProps","getListBoxProps","getMarkDownProps","getNumberRangeProps","getRadioProps","getRateProps","getRawProps","getSliderProps","getSpanProps","getStepperProps","getSwitchProps","getUploadProps","nodes","Array","isArray","EmptyVNode","callback","useRoute","RuntimeError2","watch5","currentKey","getNestedRoutePath","immediate","_a","viewCodeName","concat","hub","defaultAppIndexViewName","viewModel","getAppView","appData","Object","assign","appContext","index","pathNode","notNilEmpty","c","commonNs","useNamespace","controlType","sysCss","model","typeClass","sysCssName","cssName","ns","controlClass","b","m","fn","ctx","useCtx","props","useProps","evt","emit","modelData","name","control","excludeKeys","watch3","watchProps","keys","forEach","key","newVal","oldVal","changeProps","log","debug","state","watchAndUpdateState","reactive","force","useForce","vue","getCurrentInstance2","proxy","onAll","eventName","event","$emit","slice","created","onBeforeUnmount2","destroyed","controller","componentRef","ref","isFocus","outsideFuns","doBlur","value","stop","useEventListener","_evt","useClickOutside","capture","pause","orignForce","selfForce","inject","options","prototype","hasOwnProperty","call","watch2","getOrigin","originKey","routeKey","ref2","routeListener","RouteListener","watch7","nextChange","useRoute2","query","inject2","watchAndUpdateContextParams","watchAndUpdateState2","provide","reactive2","slotProps","modal","getCurrentInstance3","onBeforeUnmount4","cb","mod","__create","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","require_path_browserify","exports","module","assertPath","TypeError","JSON","stringify","normalizeStringPosix","allowAboveRoot","code","res","lastSegmentLength","lastSlash","dots","i","charCodeAt","lastSlashIndex","lastIndexOf","posix","resolve","cwd","resolvedPath","resolvedAbsolute","arguments","process","normalize","isAbsolute","trailingSeparator","join","joined","arg","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","out","_makeLong","dirname","hasRoot","end","matchedSlash","basename","ext","start","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","dir","root","base","_format","parse","ret","delimiter","win32","import_path_browserify","isNodeMode","target","except","desc","get","enumerable","__copyProps","__esModule","__toESM","constructor","this","urlReg","cache","Map","devPackages","pluginCache","pluginCodes","predefinedPlugins","registerPredefinedPlugin","plugin","set","register","app","use","has","loadPluginRef","setPluginCode","setDevPlugin","runtimeObject","pluginRef","rtobjectName","rtobjectRepo","error","RuntimeModelError","rtObjectName","rtObjectRepo","configData","pluginPath","configUrl","test","pluginBaseUrl","net","axios","method","headers","url","status","Error","data","remotePlugin","RemotePluginItem","loadScript","repo","version","system","config","scriptUrl","dev","endsWith","parseUrl","pluginModule","default","import","System","addImportMap","imports","RuntimeError","script","origin","pathname","window","location","substring","elRef","handler","NOOP","proceed","destroy","watch","isNil","result","onClickOutside","$el","onBeforeUnmount","getCurrentInstance","$props","val","isReactive","toRaw","$forceUpdate","isFunc","$nextTick","createCommentVNode","listener","cleanup","NOOP2","watch4","isNil2","listenJSEvent","onBeforeUnmount3","block","Namespace","namespace","ownContext","getOwnContext","ViewType","DE_GRID_VIEW","DE_GRID_EXP_VIEW","DE_LIST_VIEW","DE_LIST_EXP_VIEW","DE_DATA_VIEW","DE_DATAVIEW_EXP_VIEW","DE_CALENDAR_VIEW","DE_CALENDAR_EXP_VIEW","DE_CHART_VIEW","DE_CHART_EXP_VIEW","DE_KANBAN_VIEW","entity","getAppDataEntity","match","getMatchResPath","currentContext","resContext","matched","split","paramsStr","routePlaceholder","qs","strictNullHandling","srfnavctx","decodeURIComponent","pathStr","routeParams","objStr","encodeURIComponent","skipNulls","noSrfNav","wait","callbacks","timers","watch6","timer","clearTimeout","setTimeout","findIndex","item","main","install","view","watch8","reset","clearAll","handleContextParams","id","RequiredProp","type","_default","validator","required","getEditorProps","String","disabled","Boolean","readonly","autoFocus","hasError","Number","language","theme"],"mappings":"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"}
1
+ {"version":3,"file":"index.system.min.js","sources":["index.esm.js"],"sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\nvar require_path_browserify = __commonJS({\n \"../../node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.js\"(exports, module) {\n \"use strict\";\n function assertPath(path) {\n if (typeof path !== \"string\") {\n throw new TypeError(\"Path must be a string. Received \" + JSON.stringify(path));\n }\n }\n function normalizeStringPosix(path, allowAboveRoot) {\n var res = \"\";\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47)\n break;\n else\n code = 47;\n if (code === 47) {\n if (lastSlash === i - 1 || dots === 1) {\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += \"/..\";\n else\n res = \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += \"/\" + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n }\n function _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || \"\") + (pathObject.ext || \"\");\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n }\n var posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = \"\";\n var resolvedAbsolute = false;\n var cwd;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === void 0)\n cwd = process.cwd();\n path = cwd;\n }\n assertPath(path);\n if (path.length === 0) {\n continue;\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47;\n }\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return \"/\" + resolvedPath;\n else\n return \"/\";\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return \".\";\n }\n },\n normalize: function normalize(path) {\n assertPath(path);\n if (path.length === 0)\n return \".\";\n var isAbsolute = path.charCodeAt(0) === 47;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47;\n path = normalizeStringPosix(path, !isAbsolute);\n if (path.length === 0 && !isAbsolute)\n path = \".\";\n if (path.length > 0 && trailingSeparator)\n path += \"/\";\n if (isAbsolute)\n return \"/\" + path;\n return path;\n },\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47;\n },\n join: function join2() {\n if (arguments.length === 0)\n return \".\";\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === void 0)\n joined = arg;\n else\n joined += \"/\" + arg;\n }\n }\n if (joined === void 0)\n return \".\";\n return posix.normalize(joined);\n },\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n if (from === to)\n return \"\";\n from = posix.resolve(from);\n to = posix.resolve(to);\n if (from === to)\n return \"\";\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47) {\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47) {\n lastCommonSep = i;\n } else if (i === 0) {\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47)\n lastCommonSep = i;\n }\n var out = \"\";\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47) {\n if (out.length === 0)\n out += \"..\";\n else\n out += \"/..\";\n }\n }\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47)\n ++toStart;\n return to.slice(toStart);\n }\n },\n _makeLong: function _makeLong(path) {\n return path;\n },\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0)\n return \".\";\n var code = path.charCodeAt(0);\n var hasRoot = code === 47;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n matchedSlash = false;\n }\n }\n if (end === -1)\n return hasRoot ? \"/\" : \".\";\n if (hasRoot && end === 1)\n return \"//\";\n return path.slice(0, end);\n },\n basename: function basename(path, ext) {\n if (ext !== void 0 && typeof ext !== \"string\")\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path)\n return \"\";\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n end = i;\n }\n } else {\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end)\n end = firstNonSlashEnd;\n else if (end === -1)\n end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47) {\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1)\n return \"\";\n return path.slice(start, end);\n }\n },\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return \"\";\n }\n return path.slice(startDot, end);\n },\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== \"object\") {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format(\"/\", pathObject);\n },\n parse: function parse(path) {\n assertPath(path);\n var ret = { root: \"\", dir: \"\", base: \"\", ext: \"\", name: \"\" };\n if (path.length === 0)\n return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47;\n var start;\n if (isAbsolute) {\n ret.root = \"/\";\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n var preDotState = 0;\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot\n preDotState === 0 || // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = path.slice(1, end);\n else\n ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n if (startPart > 0)\n ret.dir = path.slice(0, startPart - 1);\n else if (isAbsolute)\n ret.dir = \"/\";\n return ret;\n },\n sep: \"/\",\n delimiter: \":\",\n win32: null,\n posix: null\n };\n posix.posix = posix;\n module.exports = posix;\n }\n});\n\n// src/plugin/plugin-factory/plugin-factory.ts\nvar import_path_browserify = __toESM(require_path_browserify(), 1);\nimport { RuntimeError, RuntimeModelError } from \"@ibiz-template/core\";\nimport {\n RemotePluginItem\n} from \"@ibiz-template/runtime\";\nvar PluginFactory = class {\n constructor() {\n /**\n * 是否为 http || https 开头\n *\n * @author chitanda\n * @date 2022-11-07 14:11:28\n * @protected\n */\n this.urlReg = /^http[s]?:\\/\\/[^\\s]*/;\n /**\n * 是否已经加载过文件缓存\n *\n * @author chitanda\n * @date 2022-10-31 14:10:17\n * @protected\n * @type {Map<string, boolean>}\n */\n this.cache = /* @__PURE__ */ new Map();\n /**\n * 本地开发测试包,只在本地开发生效\n *\n * @author chitanda\n * @date 2022-11-02 21:11:41\n * @protected\n */\n this.devPackages = /* @__PURE__ */ new Map();\n /**\n * 插件缓存\n *\n * @author chitanda\n * @date 2022-10-31 14:10:28\n * @protected\n * @type {Map<string, RemotePluginItem>}\n */\n this.pluginCache = /* @__PURE__ */ new Map();\n /**\n * 所有的插件\n *\n * @author chitanda\n * @date 2023-02-02 16:02:55\n * @protected\n * @type {Plugin[]}\n */\n this.pluginCodes = [];\n /**\n * 预定义插件集合\n *\n * @author chitanda\n * @date 2023-03-09 17:03:46\n * @protected\n * @type {Map<string, IPluginItem>}\n */\n this.predefinedPlugins = /* @__PURE__ */ new Map();\n }\n /**\n * 注册视图默认插件\n *\n * @author chitanda\n * @date 2023-02-06 21:02:10\n * @param {IPluginItem} plugin\n */\n registerPredefinedPlugin(plugin) {\n this.predefinedPlugins.set(plugin.name, plugin);\n }\n /**\n * 给入应用实例,将已经加载的过插件注入。主要用于多实例的情况\n *\n * @author chitanda\n * @date 2023-02-02 16:02:51\n * @param {App} app\n */\n register(app) {\n this.pluginCodes.forEach((plugin) => {\n app.use(plugin);\n });\n }\n /**\n * 加载预置插件\n *\n * @author chitanda\n * @date 2023-03-09 18:03:48\n * @param {string} name\n * @return {*} {Promise<void>}\n */\n async loadPredefinedPlugin(name) {\n if (this.predefinedPlugins.has(name)) {\n const plugin = this.predefinedPlugins.get(name);\n if (plugin) {\n await this.loadPluginRef(plugin.name, plugin.path);\n }\n }\n }\n /**\n * 插件刚加载完成回来,设置到目前所有的 vue 实例当中\n *\n * @author chitanda\n * @date 2023-02-02 17:02:38\n * @protected\n * @param {Plugin} code\n */\n setPluginCode(code) {\n this.pluginCodes.push(code);\n }\n /**\n * 设置开发插件,用于本地调试\n *\n * @author chitanda\n * @date 2022-11-02 21:11:56\n * @param {string} name\n * @param {() => Promise<unknown>} fn\n */\n setDevPlugin(name, fn) {\n this.devPackages.set(name, fn);\n }\n /**\n * 加载插件\n *\n * @author chitanda\n * @date 2022-10-31 14:10:13\n * @param {ISysPFPlugin} plugin\n * @return {*} {Promise<boolean>}\n */\n async loadPlugin(plugin) {\n if (plugin.runtimeObject === true) {\n const pluginRef = plugin;\n if (pluginRef) {\n try {\n await this.loadPluginRef(\n pluginRef.rtobjectName,\n pluginRef.rtobjectRepo\n );\n } catch (error) {\n throw new RuntimeModelError(pluginRef, \"\\u914D\\u7F6E\\u52A0\\u8F7D\\u5931\\u8D25\");\n }\n }\n }\n return false;\n }\n /**\n * 加载应用插件\n *\n * @author chitanda\n * @date 2022-10-31 16:10:57\n * @param {IPSAppPFPluginRef} pluginRef\n * @return {*} {Promise<boolean>}\n */\n async loadPluginRef(rtObjectName, rtObjectRepo) {\n if (this.pluginCache.has(rtObjectName)) {\n return true;\n }\n let configData = null;\n const fn = this.devPackages.get(rtObjectName);\n if (fn) {\n configData = await fn();\n } else {\n const pluginPath = rtObjectRepo;\n const configUrl = this.urlReg.test(pluginPath) ? \"\".concat(pluginPath, \"/package.json\") : \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat((0, import_path_browserify.join)(pluginPath, \"package.json\"));\n const res = await ibiz.net.axios({\n method: \"get\",\n headers: { \"Access-Control-Allow-Origin\": \"*\" },\n url: configUrl\n });\n if (res.status !== 200) {\n throw new Error(\"\\u914D\\u7F6E\\u52A0\\u8F7D\\u5931\\u8D25\");\n }\n configData = res.data;\n }\n const remotePlugin = new RemotePluginItem(\n rtObjectName,\n rtObjectRepo,\n configData\n );\n if (remotePlugin) {\n try {\n await this.loadScript(remotePlugin);\n this.pluginCache.set(rtObjectName, remotePlugin);\n return true;\n } catch (error) {\n ibiz.log.error(error);\n }\n }\n return false;\n }\n /**\n * 加载插件\n *\n * @author chitanda\n * @date 2022-11-02 14:11:31\n * @protected\n * @param {RemotePluginItem} remotePlugin\n * @return {*} {Promise<void>}\n */\n async loadScript(remotePlugin) {\n const pluginPath = remotePlugin.repo;\n const { name, version, system, module } = remotePlugin.config;\n let scriptUrl = \"\";\n if (this.devPackages.has(name)) {\n scriptUrl = (0, import_path_browserify.join)(\"\".concat(name, \"@\").concat(version), module);\n } else if (ibiz.env.dev) {\n scriptUrl = this.urlReg.test(pluginPath) ? \"\".concat(pluginPath, \"/\").concat((0, import_path_browserify.join)(module)) : \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat(pluginPath, \"/\").concat((0, import_path_browserify.join)(module));\n } else {\n scriptUrl = \"\".concat(pluginPath).concat(pluginPath.endsWith(\"/\") ? \"\" : \"/\").concat((0, import_path_browserify.join)(\n system\n ));\n }\n if (scriptUrl) {\n if (this.cache.has(scriptUrl)) {\n return;\n }\n let data = null;\n const url = this.parseUrl(scriptUrl);\n if (this.devPackages.has(name)) {\n const fn = this.devPackages.get(name);\n const pluginModule = await fn();\n this.setPluginCode(pluginModule.default);\n this.cache.set(scriptUrl, true);\n } else if (ibiz.env.dev) {\n data = await import(\n scriptUrl\n /* @vite-ignore */\n );\n } else {\n System.addImportMap({\n imports: {\n [name]: url\n }\n });\n data = await System.import(name);\n }\n if (data) {\n if (data.default) {\n this.setPluginCode(data.default);\n } else {\n throw new RuntimeError(\n \"\\u8FDC\\u7A0B\\u63D2\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25, \\u8FDC\\u7A0B\\u63D2\\u4EF6\\u672A\\u627E\\u5230[default]\\u9ED8\\u8BA4\\u5BFC\\u51FA\"\n );\n }\n this.cache.set(scriptUrl, true);\n } else {\n throw new RuntimeError(\n \"\\u8FDC\\u7A0B\\u63D2\\u4EF6\\u52A0\\u8F7D\\u5931\\u8D25, \\u672A\\u627E\\u5230\\u6587\\u4EF6\\u6216\\u6587\\u4EF6\\u5185\\u5BB9\\u683C\\u5F0F\\u4E0D\\u6B63\\u786E\"\n );\n }\n }\n }\n /**\n * 编译请求文件地址\n *\n * @author chitanda\n * @date 2022-10-31 14:10:19\n * @protected\n * @param {string} script\n * @return {*} {string}\n */\n parseUrl(script) {\n if (this.urlReg.test(script)) {\n return script;\n }\n let url = \"\";\n if (this.urlReg.test(ibiz.env.pluginBaseUrl)) {\n if (script.startsWith(\"/\")) {\n url = ibiz.env.pluginBaseUrl + script;\n } else {\n url = \"\".concat(ibiz.env.pluginBaseUrl, \"/\").concat(script);\n }\n } else {\n url = \"\".concat((0, import_path_browserify.join)(ibiz.env.pluginBaseUrl, script));\n }\n const { origin, pathname } = window.location;\n if (pathname.endsWith(\"/\") && url.startsWith(\"/\")) {\n url = url.substring(1);\n }\n url = \"\".concat(origin).concat(pathname).concat(url);\n return url;\n }\n};\n\n// src/use/click-outside/click-outside.ts\nimport {\n NOOP,\n onClickOutside\n} from \"@ibiz-template/core\";\nimport { isNil } from \"ramda\";\nimport { onBeforeUnmount, watch } from \"vue\";\nfunction useClickOutside(elRef, handler, options = {}) {\n let stop = NOOP;\n let pause = NOOP;\n let proceed = NOOP;\n const destroy = () => {\n stop();\n stop = NOOP;\n pause = NOOP;\n proceed = NOOP;\n };\n watch(\n elRef,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (isNil(newVal)) {\n destroy();\n } else {\n const result = onClickOutside(\n (newVal == null ? void 0 : newVal.$el) || newVal,\n handler,\n options\n );\n stop = result.stop;\n pause = result.pause;\n proceed = result.proceed;\n }\n }\n },\n { immediate: true }\n );\n onBeforeUnmount(() => {\n if (stop !== NOOP) {\n destroy();\n }\n });\n return {\n stop: () => stop(),\n pause: () => pause(),\n proceed: () => proceed()\n };\n}\n\n// src/use/control/use-control-controller/use-control-controller.ts\nimport { getCurrentInstance as getCurrentInstance2, onBeforeUnmount as onBeforeUnmount2, reactive, watch as watch3 } from \"vue\";\n\n// src/use/vue/vue.ts\nimport { isFunc } from \"qx-util\";\nimport {\n createCommentVNode,\n getCurrentInstance,\n isReactive,\n toRaw,\n watch as watch2\n} from \"vue\";\nfunction useProps() {\n const vue = getCurrentInstance().proxy;\n return vue.$props;\n}\nfunction getOrigin(val) {\n return isReactive(val) ? toRaw(val) : val;\n}\nfunction usePropsWatch(key, callback, options) {\n const props = useProps();\n if (Object.prototype.hasOwnProperty.call(props, key)) {\n watch2(\n () => props[key],\n (newVal, oldVal) => {\n callback(getOrigin(newVal), getOrigin(oldVal));\n },\n options\n );\n callback(getOrigin(props[key]), void 0);\n }\n}\nfunction useForce() {\n const vue = getCurrentInstance().proxy;\n return (callback) => {\n vue.$forceUpdate();\n if (callback && isFunc(callback)) {\n vue.$nextTick(() => {\n callback();\n });\n }\n };\n}\nfunction useForceTogether(vue, controller) {\n const orignForce = controller.force;\n const selfForce = useForce();\n controller.force = (callback) => {\n orignForce(callback);\n selfForce();\n };\n}\nfunction useController(controller) {\n controller.force = useForce();\n}\nvar EmptyVNode = createCommentVNode(\"EmptyVNode\");\nfunction isEmptyVNode(nodes) {\n if (!Array.isArray(nodes)) {\n return nodes === EmptyVNode;\n }\n return nodes.length === 1 && nodes[0] === EmptyVNode;\n}\n\n// src/use/util/index.ts\nimport { inject } from \"vue\";\nfunction useCtx() {\n return inject(\"ctx\");\n}\nfunction useMobCtx() {\n return inject(\"ctx\");\n}\n\n// src/use/control/use-control-controller/use-control-controller.ts\nfunction watchAndUpdateState(props, control) {\n const excludeKeys = [\"context\", \"params\", \"modelData\"];\n watch3(\n () => {\n const watchProps = {};\n Object.keys(props).forEach((key) => {\n if (!excludeKeys.includes(key)) {\n watchProps[key] = props[key];\n }\n });\n return watchProps;\n },\n (newVal, oldVal) => {\n const changeProps = {};\n Object.keys(newVal).forEach((key) => {\n if (newVal[key] !== (oldVal || {})[key]) {\n changeProps[key] = newVal[key];\n }\n });\n ibiz.log.debug(\"\\u90E8\\u4EF6 [\".concat(control.model.name, \"] state \\u53D8\\u66F4\"), changeProps);\n Object.keys(changeProps).forEach((key) => {\n if (changeProps[key] !== void 0) {\n control.state[key] = changeProps[key];\n }\n });\n },\n { immediate: true }\n );\n}\nfunction useControlController(fn) {\n const ctx = useCtx();\n const props = useProps();\n ctx.evt.emit(\"onForecast\", props.modelData.name);\n const c = fn(props.modelData, props.context, props.params, ctx);\n watchAndUpdateState(props, c);\n c.state = reactive(c.state);\n c.force = useForce();\n const vue = getCurrentInstance2().proxy;\n c.evt.onAll((eventName, event) => {\n vue.$emit(eventName.slice(2), event);\n });\n vue.$emit(\"controllerAppear\", c);\n c.created();\n onBeforeUnmount2(() => c.destroyed());\n return c;\n}\n\n// src/use/event/event.ts\nimport { listenJSEvent, NOOP as NOOP2 } from \"@ibiz-template/core\";\nimport { isNil as isNil2 } from \"ramda\";\nimport { onBeforeUnmount as onBeforeUnmount3, watch as watch4 } from \"vue\";\nfunction useEventListener(elRef, eventName, listener, options = {}) {\n let cleanup = NOOP2;\n watch4(\n elRef,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (isNil2(newVal)) {\n cleanup();\n cleanup = NOOP2;\n } else {\n cleanup = listenJSEvent(\n (newVal == null ? void 0 : newVal.$el) || newVal,\n eventName,\n listener,\n options\n );\n }\n }\n },\n { immediate: true }\n );\n onBeforeUnmount3(() => {\n if (cleanup !== NOOP2) {\n cleanup();\n }\n });\n return () => {\n cleanup();\n };\n}\n\n// src/use/focus-blur/focus-blur.ts\nimport { ref } from \"vue\";\nfunction useFocusAndBlur(focus, blur) {\n const componentRef = ref();\n const isFocus = ref(false);\n let outsideFuns;\n const doBlur = () => {\n if (!isFocus.value) {\n ibiz.log.debug(\"\\u6CA1\\u6709\\u805A\\u7126\\uFF0C\\u4E0D\\u89E6\\u53D1\\u5931\\u7126\");\n }\n blur();\n outsideFuns.stop();\n isFocus.value = false;\n };\n const pause = () => {\n if (outsideFuns) {\n outsideFuns.pause();\n }\n };\n const stop = () => {\n if (outsideFuns) {\n outsideFuns.stop();\n }\n };\n useEventListener(\n componentRef,\n \"click\",\n (_evt) => {\n if (!isFocus.value) {\n outsideFuns = useClickOutside(componentRef, () => {\n doBlur();\n });\n isFocus.value = true;\n focus();\n }\n },\n { capture: true }\n // 捕获防止内部ui拦截点击事件\n );\n return { componentRef, isFocus, doBlur, pause, stop };\n}\n\n// src/use/namespace/namespace.ts\nimport { Namespace } from \"@ibiz-template/core\";\nfunction useNamespace(block) {\n return new Namespace(block, ibiz.env.namespace);\n}\n\n// src/use/route/route.ts\nimport { useRoute as useRoute2 } from \"vue-router\";\nimport { ref as ref2, watch as watch7 } from \"vue\";\n\n// src/util/route/route.ts\nimport { notNilEmpty } from \"qx-util\";\nimport { RuntimeError as RuntimeError2 } from \"@ibiz-template/core\";\nimport qs from \"qs\";\nimport { useRoute } from \"vue-router\";\nimport { watch as watch5 } from \"vue\";\nimport {\n calcDeCodeNameById,\n getMatchResPath,\n ViewType\n} from \"@ibiz-template/runtime\";\nfunction getOwnRouteContext(context) {\n const ownContext = context.getOwnContext();\n const excludeKeys = [\"srfsessionid\", \"srfappid\"];\n Object.keys(ownContext).forEach((key) => {\n if (excludeKeys.includes(key)) {\n delete ownContext[key];\n }\n });\n return ownContext;\n}\nvar excludeViewTypes = [\n ViewType.DE_GRID_VIEW,\n ViewType.DE_GRID_EXP_VIEW,\n ViewType.DE_LIST_VIEW,\n ViewType.DE_LIST_EXP_VIEW,\n ViewType.DE_DATA_VIEW,\n ViewType.DE_DATAVIEW_EXP_VIEW,\n ViewType.DE_CALENDAR_VIEW,\n ViewType.DE_CALENDAR_EXP_VIEW,\n ViewType.DE_CHART_VIEW,\n ViewType.DE_CHART_EXP_VIEW,\n ViewType.DE_KANBAN_VIEW\n];\nasync function calcResRoutePath(routePath, context, appDataEntityId) {\n if (!appDataEntityId) {\n routePath.pathNodes[0].context = void 0;\n } else {\n const entity = await ibiz.hub.getAppDataEntity(appDataEntityId);\n let match = getMatchResPath(context, entity);\n if (!match) {\n match = { path: \"\", keys: [entity.codeName.toLowerCase()] };\n }\n if (match) {\n const currentContext = routePath.pathNodes[1].context;\n const resContext = {};\n match.keys.forEach((key) => {\n if (context && Object.prototype.hasOwnProperty.call(context, key)) {\n resContext[key] = context[key];\n if (currentContext) {\n delete currentContext[key];\n }\n }\n });\n routePath.pathNodes[0].context = resContext;\n }\n }\n}\nasync function generateRoutePath(appView, route, context, params) {\n const routePath = route2routePath(route);\n let depth = 2;\n if (context.toRouteDepth) {\n depth = context.toRouteDepth;\n delete context.toRouteDepth;\n } else if (ibiz.env.isMob) {\n routePath.pathNodes[0] = {\n viewName: \"home\"\n };\n }\n routePath.pathNodes.splice(depth - 1, routePath.pathNodes.length - depth + 1);\n if (context.currentSrfNav) {\n const currentNode = routePath.pathNodes[routePath.pathNodes.length - 1];\n currentNode.params = currentNode.params || {};\n currentNode.srfnav = context.currentSrfNav;\n delete context.currentSrfNav;\n }\n if (route.fullPath.startsWith(\"/appredirectview\")) {\n if (params == null ? void 0 : params.srfindexname) {\n routePath.pathNodes[0].viewName = params.srfindexname;\n delete params.srfindexname;\n } else {\n routePath.pathNodes[0].viewName = \"index\";\n }\n }\n routePath.pathNodes.push({\n viewName: appView.codeName.toLowerCase(),\n context: getOwnRouteContext(context),\n params\n });\n if (depth === 2) {\n await calcResRoutePath(routePath, context, appView.appDataEntityId);\n if (excludeViewTypes.includes(appView.viewType)) {\n const deName = calcDeCodeNameById(appView.appDataEntityId);\n delete routePath.pathNodes[0].context[deName];\n }\n }\n return { path: routePath2string(routePath) };\n}\nasync function parseRouteViewData(route, depth) {\n var _a;\n const routePath = route2routePath(route);\n let viewCodeName = routePath.pathNodes[depth - 1].viewName;\n if (!viewCodeName) {\n throw new RuntimeError2(\"\\u7B2C\".concat(depth, \"\\u7EA7\\u8DEF\\u7531\\u4E0D\\u5B58\\u5728\\u89C6\\u56FE\\u6807\\u8BC6\"));\n }\n if (viewCodeName === \"index\") {\n viewCodeName = ibiz.hub.defaultAppIndexViewName;\n }\n const viewModel = await ibiz.hub.getAppView(viewCodeName);\n if (!viewModel) {\n throw new RuntimeError2(\"\\u627E\\u4E0D\\u5230\\u89C6\\u56FE\".concat(viewCodeName));\n }\n const context = {};\n if ((_a = ibiz.appData) == null ? void 0 : _a.context) {\n Object.assign(context, ibiz.appData.context);\n }\n if (routePath.appContext) {\n Object.assign(context, routePath.appContext);\n }\n if (depth !== 1) {\n for (let index = 0; index < depth; index++) {\n const pathNode = routePath.pathNodes[index];\n if (notNilEmpty(pathNode.context)) {\n Object.assign(context, pathNode.context);\n }\n }\n }\n const { params, srfnav } = routePath.pathNodes[depth - 1];\n return {\n viewModel,\n context,\n params,\n srfnav\n };\n}\nfunction route2routePath(route) {\n const depth = route.matched.length;\n const pathNodes = [];\n for (let index = 1; index <= depth; index++) {\n const viewName = route.path.split(\"/\")[index * 2];\n const paramsStr = route.params[\"params\".concat(index)];\n let params;\n let context;\n let srfnav;\n if (!paramsStr || paramsStr === ibiz.env.routePlaceholder) {\n params = void 0;\n } else {\n params = qs.parse(paramsStr, {\n strictNullHandling: true,\n delimiter: \";\"\n });\n }\n if (params) {\n if (index === 1) {\n context = params;\n params = void 0;\n } else {\n if (params.srfnavctx) {\n context = JSON.parse(decodeURIComponent(params.srfnavctx));\n delete params.srfnavctx;\n }\n if (params.srfnav) {\n srfnav = params.srfnav;\n delete params.srfnav;\n }\n }\n }\n pathNodes.push({ viewName, context, params, srfnav });\n }\n let appContext;\n if (route.params.appContext && route.params.appContext !== ibiz.env.routePlaceholder) {\n appContext = qs.parse(route.params.appContext, {\n strictNullHandling: true,\n delimiter: \";\"\n });\n }\n return { appContext, pathNodes };\n}\nfunction routePath2string(routePath) {\n let pathStr = \"\";\n if (routePath.appContext) {\n pathStr += \"/\".concat(qs.stringify(routePath.appContext, {\n delimiter: \";\",\n strictNullHandling: true\n }));\n } else {\n pathStr += \"/\".concat(ibiz.env.routePlaceholder);\n }\n routePath.pathNodes.forEach((pathNode, index) => {\n pathStr += \"/\".concat(pathNode.viewName, \"/\");\n let routeParams = {};\n if (index === 0) {\n if (notNilEmpty(pathNode.context)) {\n routeParams = pathNode.context;\n }\n } else {\n routeParams = notNilEmpty(pathNode.params) ? pathNode.params : {};\n if (notNilEmpty(pathNode.context)) {\n const objStr = JSON.stringify(pathNode.context);\n if (objStr !== \"{}\") {\n routeParams.srfnavctx = encodeURIComponent(objStr);\n }\n }\n if (pathNode.srfnav) {\n routeParams.srfnav = pathNode.srfnav;\n }\n }\n const paramsStr = qs.stringify(routeParams, {\n delimiter: \";\",\n strictNullHandling: true,\n skipNulls: true\n });\n if (notNilEmpty(paramsStr)) {\n pathStr += paramsStr;\n } else {\n pathStr += ibiz.env.routePlaceholder;\n }\n });\n return pathStr;\n}\nfunction getNestedRoutePath(route, depth, noSrfNav = true) {\n if (route.matched.length < depth) {\n return \"\";\n }\n if (route.name) {\n return route.path;\n }\n const routePath = route2routePath(route);\n if (routePath.pathNodes.length < depth) {\n return route.path;\n }\n if (routePath.pathNodes.length > depth) {\n routePath.pathNodes = routePath.pathNodes.slice(0, depth);\n }\n if (noSrfNav) {\n delete routePath.pathNodes[depth - 1].srfnav;\n }\n return routePath2string(routePath);\n}\nfunction onRouteChange(callback, depth) {\n const route = useRoute();\n if (!route) {\n throw new RuntimeError2(\"\\u65E0\\u6CD5\\u6B63\\u786E\\u83B7\\u53D6route,\\u53EF\\u80FD\\u662F\\u4F9D\\u8D56\\u95EE\\u9898\");\n }\n watch5(\n () => route == null ? void 0 : route.path,\n () => {\n const currentKey = getNestedRoutePath(route, depth);\n callback({ currentKey, fullPath: route.fullPath });\n },\n { immediate: true }\n );\n}\n\n// src/util/route/route-listener.ts\nimport { watch as watch6 } from \"vue\";\nvar RouteListener = class {\n constructor(route, wait) {\n /**\n * 回调集合\n *\n * @memberof RouteListener\n */\n this.callbacks = [];\n /**\n * 计时器集合\n *\n * @private\n * @type {any[]}\n * @memberof RouteListener\n */\n this.timers = [];\n /**\n * 等待路由响应时间\n *\n * @private\n * @type {number}\n * @memberof RouteListener\n */\n this.wait = 500;\n if (wait) {\n this.wait = wait;\n }\n watch6(\n () => route.path,\n (newVal, oldVal) => {\n if (newVal !== oldVal) {\n if (this.callbacks.length) {\n for (let index = 0; index < this.callbacks.length; index++) {\n const fn = this.callbacks[index];\n fn();\n }\n }\n this.callbacks = [];\n if (this.timers.length) {\n for (let index = 0; index < this.timers.length; index++) {\n const timer = this.timers[index];\n clearTimeout(timer);\n }\n }\n this.timers = [];\n }\n }\n );\n }\n /**\n * 下一次路由变更后执行回调,只执行一次\n *\n * @param {ChangeCallback} callback\n * @memberof RouteListener\n */\n nextChange(callback) {\n if (callback) {\n this.timers.push(\n setTimeout(() => {\n callback();\n const index = this.callbacks.findIndex((item) => item === callback);\n this.callbacks.splice(index, 1);\n }, this.wait)\n );\n this.callbacks.push(callback);\n }\n }\n};\n\n// src/util/install.ts\nvar withInstall = (main, install) => {\n main.install = (app) => {\n install(app);\n };\n return main;\n};\n\n// src/util/control/prepare-control.ts\nfunction prepareControl(c) {\n const commonNs = useNamespace(\"control\");\n const { controlType, sysCss, codeName } = c.model;\n const typeClass = controlType.toLowerCase();\n const sysCssName = sysCss == null ? void 0 : sysCss.cssName;\n const ns = useNamespace(\"control-\".concat(typeClass));\n const controlClass = [\n commonNs.b(),\n commonNs.b(typeClass),\n commonNs.m(codeName)\n ];\n if (sysCssName) {\n controlClass.push(sysCssName);\n }\n return { controlClass, ns };\n}\n\n// src/use/route/route.ts\nfunction useRouterQuery() {\n const route = useRoute2();\n const { query } = route;\n return query;\n}\nfunction useRouteKey(originKey, route, routeKey) {\n if (!routeKey) {\n routeKey = ref2(\"\");\n }\n routeKey.value = originKey.value;\n const routeListener = new RouteListener(route);\n watch7(originKey, (newVal, oldVal) => {\n if (newVal !== oldVal) {\n routeListener.nextChange(() => {\n routeKey.value = newVal;\n });\n }\n });\n return routeKey;\n}\n\n// src/use/view/use-view-controller/use-view-controller.ts\nimport { clearAll } from \"qx-util\";\nimport {\n getCurrentInstance as getCurrentInstance3,\n inject as inject2,\n onBeforeUnmount as onBeforeUnmount4,\n provide,\n reactive as reactive2,\n watch as watch8\n} from \"vue\";\nfunction watchAndUpdateContextParams(props, view) {\n watch8(\n () => ({ context: props.context, params: props.params }),\n (newVal) => {\n view.context.reset({}, newVal.context);\n clearAll(view.params);\n Object.assign(view.params, newVal.params);\n view.handleContextParams();\n ibiz.log.debug(\"\".concat(view.model.id, \"\\u7684\\u4E0A\\u4E0B\\u6587\\u6216\\u89C6\\u56FE\\u53C2\\u6570\\u53D8\\u66F4\\uFF1A\"), newVal);\n }\n );\n}\nfunction watchAndUpdateState2(props, view) {\n watch8(\n () => {\n return props.state ? { ...props.state } : {};\n },\n (newVal, oldVal) => {\n const changeProps = {};\n Object.keys(newVal).forEach((key) => {\n if (newVal[key] !== (oldVal || {})[key]) {\n changeProps[key] = newVal[key];\n }\n });\n ibiz.log.debug(\"\\u89C6\\u56FE [\".concat(view.model.name, \"] state \\u53D8\\u66F4\"), changeProps);\n Object.keys(changeProps).forEach((key) => {\n view.state[key] = changeProps[key];\n });\n },\n { immediate: true }\n );\n}\nfunction useViewController(fn) {\n const props = useProps();\n const ctx = inject2(\"ctx\", void 0);\n ctx == null ? void 0 : ctx.evt.emit(\"onForecast\", props.modelData.name);\n const c = fn(props.modelData, props.context, props.params, ctx);\n watchAndUpdateContextParams(props, c);\n watchAndUpdateState2(props, c);\n provide(\"ctx\", c.ctx);\n c.state = reactive2(c.state);\n c.slotProps = reactive2(c.slotProps);\n if (props.modal) {\n c.modal = props.modal;\n }\n c.force = useForce();\n const vue = getCurrentInstance3().proxy;\n c.evt.onAll((eventName, event) => {\n vue.$emit(eventName.slice(2), event);\n });\n c.created();\n onBeforeUnmount4(() => c.destroyed());\n return c;\n}\n\n// src/props/common.ts\nvar RequiredProp = class {\n constructor(type, _default, validator) {\n this.required = true;\n if (_default) {\n this.default = _default;\n }\n if (validator) {\n this.validator = validator;\n }\n this.type = type;\n }\n};\n\n// src/props/editor/common.ts\nfunction getEditorProps() {\n return {\n value: String,\n controller: new RequiredProp(Object),\n data: new RequiredProp(Object),\n disabled: {\n type: Boolean\n },\n readonly: {\n type: Boolean,\n default: false\n },\n autoFocus: {\n type: Boolean,\n default: false\n }\n };\n}\nfunction getEditorEmits() {\n return {\n /** 值变更事件 */\n change: (_value, _name) => true,\n /** 失焦事件 */\n blur: () => true,\n /** 聚焦事件 */\n focus: () => true\n };\n}\nfunction getGridEditorEmits() {\n return {\n /** 值变更事件 */\n change: (_value, _name) => true,\n /** 是否正在操作事件 */\n rowSave: () => true\n };\n}\nfunction getGridEditorCommonProps() {\n return {\n hasError: {\n type: Boolean\n }\n };\n}\n\n// src/props/editor/text-box.ts\nfunction getInputProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridInputProps() {\n return { ...getInputProps(), ...getGridEditorCommonProps() };\n}\nfunction getInputNumberProps() {\n return { ...getEditorProps(), value: Number };\n}\nfunction getGridInputNumberProps() {\n return { ...getInputNumberProps(), ...getGridEditorCommonProps() };\n}\nfunction getInputIpProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridInputIpProps() {\n return { ...getInputIpProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/span.ts\nfunction getSpanProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSpanProps() {\n return { ...getSpanProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/dropdown-list.ts\nfunction getDropdownProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDropdownProps() {\n return { ...getDropdownProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/check-box-list.ts\nfunction getCheckboxListProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridCheckboxListProps() {\n return { ...getCheckboxListProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/check-box.ts\nfunction getCheckboxProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridCheckboxProps() {\n return { ...getCheckboxProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/data-picker.ts\nfunction getDataPickerProps() {\n return { ...getEditorProps(), value: [String, Array, Object, Number] };\n}\nfunction getGridDataPickerProps() {\n return { ...getDataPickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-picker.ts\nfunction getDatePickerProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDatePickerProps() {\n return { ...getDatePickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-range.ts\nfunction getDateRangeProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridDateRangeProps() {\n return { ...getDateRangeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/list-box.ts\nfunction getListBoxProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridListBoxProps() {\n return { ...getListBoxProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/number-range.ts\nfunction getNumberRangeProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridNumberRangeProps() {\n return { ...getNumberRangeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/radio-button-list.ts\nfunction getRadioProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridRadioProps() {\n return { ...getRadioProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/rate.ts\nfunction getRateProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridRateProps() {\n return { ...getRateProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/raw.ts\nfunction getRawProps() {\n return { ...getEditorProps(), value: [String, Number, Array] };\n}\nfunction getGridRawProps() {\n return { ...getRawProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/slider.ts\nfunction getSliderProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSliderProps() {\n return { ...getSliderProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/stepper.ts\nfunction getStepperProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridStepperProps() {\n return { ...getStepperProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/switch.ts\nfunction getSwitchProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridSwitchProps() {\n return { ...getSwitchProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/upload.ts\nfunction getUploadProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridUploadProps() {\n return { ...getUploadProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/autocomplete.ts\nfunction getAutoCompleteProps() {\n return { ...getEditorProps(), value: [String, Number] };\n}\nfunction getGridAutoCompleteProps() {\n return { ...getAutoCompleteProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/code.ts\nfunction getCodeProps() {\n return {\n ...getEditorProps(),\n value: String,\n language: {\n type: String\n },\n theme: {\n type: String\n }\n };\n}\nfunction getGridCodeProps() {\n return { ...getCodeProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/html.ts\nfunction getHtmlProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridHtmlProps() {\n return { ...getHtmlProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/markdown.ts\nfunction getMarkDownProps() {\n return {\n ...getEditorProps(),\n data: { type: Object, required: false },\n controller: { type: Object, required: false },\n disabled: {\n type: Boolean,\n required: false\n }\n };\n}\nfunction getGridMarkDownProps() {\n return { ...getMarkDownProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/array.ts\nfunction getArrayProps() {\n return { ...getEditorProps(), value: [Array, Array] };\n}\nfunction getGridArrayProps() {\n return { ...getArrayProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/cascader.ts\nfunction getCascaderProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridCascaderProps() {\n return { ...getCascaderProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/color-picker.ts\nfunction getColorPickerProps() {\n return { ...getEditorProps(), value: String };\n}\nfunction getGridColorPickerProps() {\n return { ...getColorPickerProps(), ...getGridEditorCommonProps() };\n}\nexport {\n EmptyVNode,\n PluginFactory,\n RequiredProp,\n RouteListener,\n calcResRoutePath,\n excludeViewTypes,\n generateRoutePath,\n getArrayProps,\n getAutoCompleteProps,\n getCascaderProps,\n getCheckboxListProps,\n getCheckboxProps,\n getCodeProps,\n getColorPickerProps,\n getDataPickerProps,\n getDatePickerProps,\n getDateRangeProps,\n getDropdownProps,\n getEditorEmits,\n getEditorProps,\n getGridArrayProps,\n getGridAutoCompleteProps,\n getGridCascaderProps,\n getGridCheckboxListProps,\n getGridCheckboxProps,\n getGridCodeProps,\n getGridColorPickerProps,\n getGridDataPickerProps,\n getGridDatePickerProps,\n getGridDateRangeProps,\n getGridDropdownProps,\n getGridEditorCommonProps,\n getGridEditorEmits,\n getGridHtmlProps,\n getGridInputIpProps,\n getGridInputNumberProps,\n getGridInputProps,\n getGridListBoxProps,\n getGridMarkDownProps,\n getGridNumberRangeProps,\n getGridRadioProps,\n getGridRateProps,\n getGridRawProps,\n getGridSliderProps,\n getGridSpanProps,\n getGridStepperProps,\n getGridSwitchProps,\n getGridUploadProps,\n getHtmlProps,\n getInputIpProps,\n getInputNumberProps,\n getInputProps,\n getListBoxProps,\n getMarkDownProps,\n getNestedRoutePath,\n getNumberRangeProps,\n getOrigin,\n getOwnRouteContext,\n getRadioProps,\n getRateProps,\n getRawProps,\n getSliderProps,\n getSpanProps,\n getStepperProps,\n getSwitchProps,\n getUploadProps,\n isEmptyVNode,\n onRouteChange,\n parseRouteViewData,\n prepareControl,\n route2routePath,\n routePath2string,\n useClickOutside,\n useControlController,\n useController,\n useCtx,\n useEventListener,\n useFocusAndBlur,\n useForce,\n useForceTogether,\n useMobCtx,\n useNamespace,\n useProps,\n usePropsWatch,\n useRouteKey,\n useRouterQuery,\n useViewController,\n withInstall\n};\n"],"names":["async","appView","route","context","params","routePath","route2routePath","depth","toRouteDepth","ibiz","env","isMob","pathNodes","viewName","splice","length","currentSrfNav","currentNode","srfnav","fullPath","startsWith","srfindexname","push","codeName","toLowerCase","getOwnRouteContext","calcResRoutePath","appDataEntityId","excludeViewTypes","includes","viewType","deName","calcDeCodeNameById","path","routePath2string","change","_value","_name","blur","focus","getArrayProps","getGridEditorCommonProps","getAutoCompleteProps","getCascaderProps","getCheckboxListProps","getCheckboxProps","getCodeProps","getColorPickerProps","getDataPickerProps","getDatePickerProps","getDateRangeProps","getDropdownProps","rowSave","getHtmlProps","getInputIpProps","getInputNumberProps","getInputProps","getListBoxProps","getMarkDownProps","getNumberRangeProps","getRadioProps","getRateProps","getRawProps","getSliderProps","getSpanProps","getStepperProps","getSwitchProps","getUploadProps","nodes","Array","isArray","EmptyVNode","callback","useRoute","RuntimeError2","watch5","currentKey","getNestedRoutePath","immediate","_a","viewCodeName","concat","hub","defaultAppIndexViewName","viewModel","getAppView","appData","Object","assign","appContext","index","pathNode","notNilEmpty","c","commonNs","useNamespace","controlType","sysCss","model","typeClass","sysCssName","cssName","ns","controlClass","b","m","fn","ctx","useCtx","props","useProps","evt","emit","modelData","name","control","excludeKeys","watch3","watchProps","keys","forEach","key","newVal","oldVal","changeProps","log","debug","state","watchAndUpdateState","reactive","force","useForce","vue","getCurrentInstance2","proxy","onAll","eventName","event","$emit","slice","created","onBeforeUnmount2","destroyed","controller","componentRef","ref","isFocus","outsideFuns","doBlur","value","stop","useEventListener","_evt","useClickOutside","capture","pause","orignForce","selfForce","inject","options","prototype","hasOwnProperty","call","watch2","getOrigin","originKey","routeKey","ref2","routeListener","RouteListener","watch7","nextChange","useRoute2","query","inject2","watchAndUpdateContextParams","watchAndUpdateState2","provide","reactive2","slotProps","modal","getCurrentInstance3","onBeforeUnmount4","cb","mod","__create","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","require_path_browserify","exports","module","assertPath","TypeError","JSON","stringify","normalizeStringPosix","allowAboveRoot","code","res","lastSegmentLength","lastSlash","dots","i","charCodeAt","lastSlashIndex","lastIndexOf","posix","resolve","cwd","resolvedPath","resolvedAbsolute","arguments","process","normalize","isAbsolute","trailingSeparator","join","joined","arg","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","out","_makeLong","dirname","hasRoot","end","matchedSlash","basename","ext","start","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","dir","root","base","_format","parse","ret","delimiter","win32","import_path_browserify","isNodeMode","target","except","desc","get","enumerable","__copyProps","__esModule","__toESM","constructor","this","urlReg","cache","Map","devPackages","pluginCache","pluginCodes","predefinedPlugins","registerPredefinedPlugin","plugin","set","register","app","use","has","loadPluginRef","setPluginCode","setDevPlugin","runtimeObject","pluginRef","rtobjectName","rtobjectRepo","error","RuntimeModelError","rtObjectName","rtObjectRepo","configData","pluginPath","configUrl","test","pluginBaseUrl","net","axios","method","headers","url","status","Error","data","remotePlugin","RemotePluginItem","loadScript","repo","version","system","config","scriptUrl","dev","endsWith","parseUrl","pluginModule","default","import","System","addImportMap","imports","RuntimeError","script","origin","pathname","window","location","substring","elRef","handler","NOOP","proceed","destroy","watch","isNil","result","onClickOutside","$el","onBeforeUnmount","getCurrentInstance","$props","val","isReactive","toRaw","$forceUpdate","isFunc","$nextTick","createCommentVNode","listener","cleanup","NOOP2","watch4","isNil2","listenJSEvent","onBeforeUnmount3","block","Namespace","namespace","ownContext","getOwnContext","ViewType","DE_GRID_VIEW","DE_GRID_EXP_VIEW","DE_LIST_VIEW","DE_LIST_EXP_VIEW","DE_DATA_VIEW","DE_DATAVIEW_EXP_VIEW","DE_CALENDAR_VIEW","DE_CALENDAR_EXP_VIEW","DE_CHART_VIEW","DE_CHART_EXP_VIEW","DE_KANBAN_VIEW","entity","getAppDataEntity","match","getMatchResPath","currentContext","resContext","matched","split","paramsStr","routePlaceholder","qs","strictNullHandling","srfnavctx","decodeURIComponent","pathStr","routeParams","objStr","encodeURIComponent","skipNulls","noSrfNav","wait","callbacks","timers","watch6","timer","clearTimeout","setTimeout","findIndex","item","main","install","view","watch8","reset","clearAll","handleContextParams","id","RequiredProp","type","_default","validator","required","getEditorProps","String","disabled","Boolean","readonly","autoFocus","hasError","Number","language","theme"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/util/route/route.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,IAAI,KAAK,EAAY,MAAM,YAAY,CAAC;AAE9E,OAAO,EAGL,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAS7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAYpC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwD3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CA+DxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAuD9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,OAAc,GACvB,MAAM,CAwBR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAClE,KAAK,EAAE,MAAM,GACZ,IAAI,CAaN"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/util/route/route.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,IAAI,KAAK,EAAY,MAAM,YAAY,CAAC;AAE9E,OAAO,EAGL,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAS7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAYpC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwD3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CAqDzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CA+DxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAuD9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,OAAc,GACvB,MAAM,CAwBR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAClE,KAAK,EAAE,MAAM,GACZ,IAAI,CAaN"}
@@ -185,11 +185,13 @@ export async function parseRouteViewData(route, depth) {
185
185
  if (routePath.appContext) {
186
186
  Object.assign(context, routePath.appContext);
187
187
  }
188
- // 逐层合并视图上下文
189
- for (let index = 0; index < depth; index++) {
190
- const pathNode = routePath.pathNodes[index];
191
- if (notNilEmpty(pathNode.context)) {
192
- Object.assign(context, pathNode.context);
188
+ // 逐层合并视图上下文,第一层首页不合,它的上下文是资源路径属于子视图。
189
+ if (depth !== 1) {
190
+ for (let index = 0; index < depth; index++) {
191
+ const pathNode = routePath.pathNodes[index];
192
+ if (notNilEmpty(pathNode.context)) {
193
+ Object.assign(context, pathNode.context);
194
+ }
193
195
  }
194
196
  }
195
197
  // 最后一级路由对应的视图才会解析视图参数
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-util",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "description": "vue3 工具包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -30,9 +30,9 @@
30
30
  "author": "chitanda",
31
31
  "license": "MIT",
32
32
  "devDependencies": {
33
- "@ibiz-template/core": "^0.1.20",
34
- "@ibiz-template/runtime": "^0.1.21",
35
- "@ibiz/model-core": "^0.0.15",
33
+ "@ibiz-template/core": "^0.1.22",
34
+ "@ibiz-template/runtime": "^0.1.22",
35
+ "@ibiz/model-core": "^0.0.16",
36
36
  "@types/path-browserify": "^1.0.0",
37
37
  "@types/qs": "^6.9.7",
38
38
  "@types/systemjs": "^6.13.1",
@@ -46,7 +46,7 @@
46
46
  "peerDependencies": {
47
47
  "@ibiz-template/core": "^0.1.0",
48
48
  "@ibiz-template/runtime": "^0.1.0",
49
- "@ibiz/model-core": "^0.0.15",
49
+ "@ibiz/model-core": "^0.0.16",
50
50
  "path-browserify": "^1.0.1",
51
51
  "qs": "^6.11.1",
52
52
  "qx-util": "^0.4.8",
@@ -54,5 +54,5 @@
54
54
  "vue": "^3.3.4",
55
55
  "vue-router": "^4.2.4"
56
56
  },
57
- "gitHead": "51da056249d0ed3e037db1e6d8a3b646e1ce06b6"
57
+ "gitHead": "f8669b2ed9d163605092bf12902afe7a3b3d8719"
58
58
  }
@@ -216,11 +216,14 @@ export async function parseRouteViewData(
216
216
  if (routePath.appContext) {
217
217
  Object.assign(context, routePath.appContext);
218
218
  }
219
- // 逐层合并视图上下文
220
- for (let index = 0; index < depth; index++) {
221
- const pathNode = routePath.pathNodes[index];
222
- if (notNilEmpty(pathNode.context)) {
223
- Object.assign(context, pathNode.context);
219
+
220
+ // 逐层合并视图上下文,第一层首页不合,它的上下文是资源路径属于子视图。
221
+ if (depth !== 1) {
222
+ for (let index = 0; index < depth; index++) {
223
+ const pathNode = routePath.pathNodes[index];
224
+ if (notNilEmpty(pathNode.context)) {
225
+ Object.assign(context, pathNode.context);
226
+ }
224
227
  }
225
228
  }
226
229