@ibiz-template/vue3-util 0.1.2 → 0.1.3
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
|
@@ -1173,11 +1173,13 @@ function routePath2string(routePath) {
|
|
|
1173
1173
|
routeParams.srfnav = pathNode.srfnav;
|
|
1174
1174
|
}
|
|
1175
1175
|
}
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1176
|
+
const paramsStr = qs.stringify(routeParams, {
|
|
1177
|
+
delimiter: ";",
|
|
1178
|
+
strictNullHandling: true,
|
|
1179
|
+
skipNulls: true
|
|
1180
|
+
});
|
|
1181
|
+
if (notNilEmpty(paramsStr)) {
|
|
1182
|
+
pathStr += paramsStr;
|
|
1181
1183
|
} else {
|
|
1182
1184
|
pathStr += ibiz.env.routePlaceholder;
|
|
1183
1185
|
}
|
package/dist/index.system.min.js
CHANGED
|
@@ -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,f,d,h,g,m,v,b,P,w,y,x,C,N,k;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.RemotePluginItem,u=e.getMatchResPath},function(e){l=e.isNil},function(e){p=e.createCommentVNode,f=e.watch,d=e.onBeforeUnmount,h=e.getCurrentInstance,g=e.isReactive,m=e.toRaw,v=e.inject,b=e.reactive,P=e.ref,w=e.provide},function(e){y=e.isFunc,x=e.notNilEmpty,C=e.clearAll},function(e){N=e.useRoute},function(e){k=e.default}],execute:function(){e({calcResRoutePath:W,generateRoutePath:async function(e,t,n,r){const o=q(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");o.pathNodes.push({viewName:e.codeName.toLowerCase(),context:H(n),params:r}),2===i&&await W(o,n,e.appDataEntityId);return{path:_(o)}},getArrayProps:Ne,getAutoCompleteProps:we,getCascaderProps:ke,getCheckboxListProps:ae,getCheckboxProps:se,getCodeProps:ye,getDataPickerProps:ce,getDatePickerProps:ue,getDateRangeProps:le,getDropdownProps:ie,getEditorEmits:function(){return{change:(e,t)=>!0,blur:()=>!0,focus:()=>!0}},getEditorProps:Z,getGridArrayProps:function(){return{...Ne(),...ee()}},getGridAutoCompleteProps:function(){return{...we(),...ee()}},getGridCascaderProps:function(){return{...ke(),...ee()}},getGridCheckboxListProps:function(){return{...ae(),...ee()}},getGridCheckboxProps:function(){return{...se(),...ee()}},getGridCodeProps:function(){return{...ye(),...ee()}},getGridDataPickerProps:function(){return{...ce(),...ee()}},getGridDatePickerProps:function(){return{...ue(),...ee()}},getGridDateRangeProps:function(){return{...le(),...ee()}},getGridDropdownProps:function(){return{...ie(),...ee()}},getGridEditorCommonProps:ee,getGridEditorEmits:function(){return{change:(e,t)=>!0,rowSave:()=>!0}},getGridHtmlProps:function(){return{...xe(),...ee()}},getGridInputIpProps:function(){return{...re(),...ee()}},getGridInputNumberProps:function(){return{...ne(),...ee()}},getGridInputProps:function(){return{...te(),...ee()}},getGridListBoxProps:function(){return{...pe(),...ee()}},getGridMarkDownProps:function(){return{...Ce(),...ee()}},getGridNumberRangeProps:function(){return{...fe(),...ee()}},getGridRadioProps:function(){return{...de(),...ee()}},getGridRateProps:function(){return{...he(),...ee()}},getGridRawProps:function(){return{...ge(),...ee()}},getGridSliderProps:function(){return{...me(),...ee()}},getGridSpanProps:function(){return{...oe(),...ee()}},getGridStepperProps:function(){return{...ve(),...ee()}},getGridSwitchProps:function(){return{...be(),...ee()}},getGridUploadProps:function(){return{...Pe(),...ee()}},getHtmlProps:xe,getInputIpProps:re,getInputNumberProps:ne,getInputProps:te,getListBoxProps:pe,getMarkDownProps:Ce,getNestedRoutePath:J,getNumberRangeProps:fe,getOrigin:M,getOwnRouteContext:H,getRadioProps:de,getRateProps:he,getRawProps:ge,getSliderProps:me,getSpanProps:oe,getStepperProps:ve,getSwitchProps:be,getUploadProps:Pe,isEmptyVNode:function(e){if(!Array.isArray(e))return e===F;return 1===e.length&&e[0]===F},onRouteChange:function(e,t){const n=N();if(!n)throw new r("无法正确获取route,可能是依赖问题");f((()=>null==n?void 0:n.path),(()=>{const r=J(n,t);e({currentKey:r,fullPath:n.fullPath})}),{immediate:!0})},parseRouteViewData:async function(e,t){var n;const o=q(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=$("control"),{controlType:n,sysCss:r,codeName:o}=e.model,i=n.toLowerCase(),a=null==r?void 0:r.cssName,s=$("control-".concat(i)),c=[t.b(),t.b(i),t.m(o)];a&&c.push(a);return{controlClass:c,ns:s}},route2routePath:q,routePath2string:_,useClickOutside:B,useControlController:function(e){const t=T(),n=U();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"];f((()=>{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=b(r.state),r.force=L();const o=h().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),o.$emit("controllerAppear",r),r.created(),d((()=>r.destroyed())),r},useController:function(e){e.force=L()},useCtx:T,useEventListener:V,useFocusAndBlur:function(e,t){const n=P(),r=P(!1);let o;const i=()=>{r.value||ibiz.log.debug("没有聚焦,不触发失焦"),t(),o.stop(),r.value=!1};return V(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 v("ctx")},useNamespace:$,useProps:U,usePropsWatch:function(e,t,n){const r=U();Object.prototype.hasOwnProperty.call(r,e)&&(f((()=>r[e]),((e,n)=>{t(M(e),M(n))}),n),t(M(r[e]),void 0))},useRouteKey:function(e,t,n){n||(n=P(""));n.value=e.value;const r=new K(t);return f(e,((e,t)=>{e!==t&&r.nextChange((()=>{n.value=e}))})),n},useRouterQuery:function(){const e=N(),{query:t}=e;return t},useViewController:function(e){const t=U(),n=v("ctx",void 0);null==n||n.evt.emit("onForecast",t.modelData.name);const r=e(t.modelData,t.context,t.params,n);Q(t,r),X(t,r),w("ctx",r.ctx),r.state=b(r.state),r.slotProps=b(r.slotProps),t.modal&&(r.modal=t.modal);r.force=L();const o=h().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),r.created(),d((()=>r.destroyed())),r}});var S,R,A=Object.create,O=Object.defineProperty,j=Object.getOwnPropertyDescriptor,E=Object.getOwnPropertyNames,z=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,D=(S={"../../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 f=e.charCodeAt(r+p);if(f!==t.charCodeAt(s+p))break;47===f&&(l=p)}var d="";for(p=r+l+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+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 R||(0,S[E(S)[0]])((R={exports:{}}).exports,R),R.exports}),I=((e,t,n)=>(n=null!=e?A(z(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of E(t))G.call(e,o)||o===n||O(e,o,{get:()=>t[o],enumerable:!(r=j(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:O(n,"default",{value:e,enumerable:!0}),e)))(D(),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,I.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 c(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,I.join)("".concat(o,"@").concat(i),s):ibiz.env.dev?this.urlReg.test(n)?"".concat(n,"/").concat((0,I.join)(s)):"".concat(ibiz.env.pluginBaseUrl,"/").concat(n,"/").concat((0,I.join)(s)):"".concat(n).concat(n.endsWith("/")?"":"/").concat((0,I.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,I.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 f(e,((e,i)=>{if(e!==i)if(l(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}),d((()=>{r!==i&&c()})),{stop:()=>r(),pause:()=>a(),proceed:()=>s()}}function U(){return h().proxy.$props}function M(e){return g(e)?m(e):e}function L(){const e=h().proxy;return t=>{e.$forceUpdate(),t&&y(t)&&e.$nextTick((()=>{t()}))}}var F=e("EmptyVNode",p("EmptyVNode"));function T(){return v("ctx")}function V(e,t,n,r={}){let o=i;return f(e,((e,s)=>{e!==s&&(l(e)?(o(),o=i):o=a((null==e?void 0:e.$el)||e,t,n,r))}),{immediate:!0}),d((()=>{o!==i&&o()})),()=>{o()}}function $(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}async function W(e,t,n){if(n){const r=await ibiz.hub.getAppDataEntity(n);let o=u(t,r);if(o||(o={path:"",keys:[r.codeName.toLowerCase()]}),o){const t=e.pathNodes[1].context,n={};o.keys.forEach((e=>{t&&Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e],delete t[e])})),e.pathNodes[0].context=n}}else e.pathNodes[0].context=void 0}function q(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?k.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=k.parse(e.params.appContext,{strictNullHandling:!0,delimiter:";"})),{appContext:r,pathNodes:n}}function _(e){let t="";return e.appContext?t+="/".concat(k.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)}x(r)?t+=k.stringify(r,{delimiter:";",strictNullHandling:!0}):t+=ibiz.env.routePlaceholder})),t}function J(e,t,n=!0){if(e.matched.length<t)return"";if(e.name)return e.path;const r=q(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,_(r))}var K=e("RouteListener",class{constructor(e,t){this.callbacks=[],this.timers=[],this.wait=500,t&&(this.wait=t),f((()=>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 Q(e,t){f((()=>({context:e.context,params:e.params})),(e=>{t.context.reset({},e.context),C(t.params),Object.assign(t.params,e.params),t.handleContextParams(),ibiz.log.debug("".concat(t.model.id,"的上下文或视图参数变更:"),e)}))}function X(e,t){f((()=>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 Y=e("RequiredProp",class{constructor(e,t,n){this.required=!0,t&&(this.default=t),n&&(this.validator=n),this.type=e}});function Z(){return{value:String,controller:new Y(Object),data:new Y(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function ee(){return{hasError:{type:Boolean}}}function te(){return{...Z(),value:String}}function ne(){return{...Z(),value:Number}}function re(){return{...Z(),value:String}}function oe(){return{...Z(),value:[String,Number]}}function ie(){return{...Z(),value:String}}function ae(){return{...Z(),value:[String,Number]}}function se(){return{...Z(),value:[String,Number]}}function ce(){return{...Z(),value:String}}function ue(){return{...Z(),value:String}}function le(){return{...Z(),value:[String,Number]}}function pe(){return{...Z(),value:[String,Number]}}function fe(){return{...Z(),value:[String,Number]}}function de(){return{...Z(),value:[String,Number]}}function he(){return{...Z(),value:[String,Number]}}function ge(){return{...Z(),value:[String,Number]}}function me(){return{...Z(),value:[String,Number]}}function ve(){return{...Z(),value:[String,Number]}}function be(){return{...Z(),value:[String,Number]}}function Pe(){return{...Z(),value:String}}function we(){return{...Z(),value:String}}function ye(){return{...Z(),value:String,language:{type:String},theme:{type:String}}}function xe(){return{...Z(),value:String}}function Ce(){return{...Z()}}function Ne(){return{...Z(),value:[Array,Array]}}function ke(){return{...Z(),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,f,d,h,g,m,v,b,P,w,y,x,C,N,k;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.RemotePluginItem,u=e.getMatchResPath},function(e){l=e.isNil},function(e){p=e.createCommentVNode,f=e.watch,d=e.onBeforeUnmount,h=e.getCurrentInstance,g=e.isReactive,m=e.toRaw,v=e.inject,b=e.reactive,P=e.ref,w=e.provide},function(e){y=e.isFunc,x=e.notNilEmpty,C=e.clearAll},function(e){N=e.useRoute},function(e){k=e.default}],execute:function(){e({calcResRoutePath:W,generateRoutePath:async function(e,t,n,r){const o=q(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");o.pathNodes.push({viewName:e.codeName.toLowerCase(),context:H(n),params:r}),2===i&&await W(o,n,e.appDataEntityId);return{path:_(o)}},getArrayProps:Ne,getAutoCompleteProps:we,getCascaderProps:ke,getCheckboxListProps:ae,getCheckboxProps:se,getCodeProps:ye,getDataPickerProps:ce,getDatePickerProps:ue,getDateRangeProps:le,getDropdownProps:ie,getEditorEmits:function(){return{change:(e,t)=>!0,blur:()=>!0,focus:()=>!0}},getEditorProps:Z,getGridArrayProps:function(){return{...Ne(),...ee()}},getGridAutoCompleteProps:function(){return{...we(),...ee()}},getGridCascaderProps:function(){return{...ke(),...ee()}},getGridCheckboxListProps:function(){return{...ae(),...ee()}},getGridCheckboxProps:function(){return{...se(),...ee()}},getGridCodeProps:function(){return{...ye(),...ee()}},getGridDataPickerProps:function(){return{...ce(),...ee()}},getGridDatePickerProps:function(){return{...ue(),...ee()}},getGridDateRangeProps:function(){return{...le(),...ee()}},getGridDropdownProps:function(){return{...ie(),...ee()}},getGridEditorCommonProps:ee,getGridEditorEmits:function(){return{change:(e,t)=>!0,rowSave:()=>!0}},getGridHtmlProps:function(){return{...xe(),...ee()}},getGridInputIpProps:function(){return{...re(),...ee()}},getGridInputNumberProps:function(){return{...ne(),...ee()}},getGridInputProps:function(){return{...te(),...ee()}},getGridListBoxProps:function(){return{...pe(),...ee()}},getGridMarkDownProps:function(){return{...Ce(),...ee()}},getGridNumberRangeProps:function(){return{...fe(),...ee()}},getGridRadioProps:function(){return{...de(),...ee()}},getGridRateProps:function(){return{...he(),...ee()}},getGridRawProps:function(){return{...ge(),...ee()}},getGridSliderProps:function(){return{...me(),...ee()}},getGridSpanProps:function(){return{...oe(),...ee()}},getGridStepperProps:function(){return{...ve(),...ee()}},getGridSwitchProps:function(){return{...be(),...ee()}},getGridUploadProps:function(){return{...Pe(),...ee()}},getHtmlProps:xe,getInputIpProps:re,getInputNumberProps:ne,getInputProps:te,getListBoxProps:pe,getMarkDownProps:Ce,getNestedRoutePath:J,getNumberRangeProps:fe,getOrigin:M,getOwnRouteContext:H,getRadioProps:de,getRateProps:he,getRawProps:ge,getSliderProps:me,getSpanProps:oe,getStepperProps:ve,getSwitchProps:be,getUploadProps:Pe,isEmptyVNode:function(e){if(!Array.isArray(e))return e===F;return 1===e.length&&e[0]===F},onRouteChange:function(e,t){const n=N();if(!n)throw new r("无法正确获取route,可能是依赖问题");f((()=>null==n?void 0:n.path),(()=>{const r=J(n,t);e({currentKey:r,fullPath:n.fullPath})}),{immediate:!0})},parseRouteViewData:async function(e,t){var n;const o=q(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=$("control"),{controlType:n,sysCss:r,codeName:o}=e.model,i=n.toLowerCase(),a=null==r?void 0:r.cssName,s=$("control-".concat(i)),c=[t.b(),t.b(i),t.m(o)];a&&c.push(a);return{controlClass:c,ns:s}},route2routePath:q,routePath2string:_,useClickOutside:B,useControlController:function(e){const t=T(),n=U();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"];f((()=>{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=b(r.state),r.force=L();const o=h().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),o.$emit("controllerAppear",r),r.created(),d((()=>r.destroyed())),r},useController:function(e){e.force=L()},useCtx:T,useEventListener:V,useFocusAndBlur:function(e,t){const n=P(),r=P(!1);let o;const i=()=>{r.value||ibiz.log.debug("没有聚焦,不触发失焦"),t(),o.stop(),r.value=!1};return V(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 v("ctx")},useNamespace:$,useProps:U,usePropsWatch:function(e,t,n){const r=U();Object.prototype.hasOwnProperty.call(r,e)&&(f((()=>r[e]),((e,n)=>{t(M(e),M(n))}),n),t(M(r[e]),void 0))},useRouteKey:function(e,t,n){n||(n=P(""));n.value=e.value;const r=new K(t);return f(e,((e,t)=>{e!==t&&r.nextChange((()=>{n.value=e}))})),n},useRouterQuery:function(){const e=N(),{query:t}=e;return t},useViewController:function(e){const t=U(),n=v("ctx",void 0);null==n||n.evt.emit("onForecast",t.modelData.name);const r=e(t.modelData,t.context,t.params,n);Q(t,r),X(t,r),w("ctx",r.ctx),r.state=b(r.state),r.slotProps=b(r.slotProps),t.modal&&(r.modal=t.modal);r.force=L();const o=h().proxy;return r.evt.onAll(((e,t)=>{o.$emit(e.slice(2),t)})),r.created(),d((()=>r.destroyed())),r}});var S,R,A=Object.create,O=Object.defineProperty,j=Object.getOwnPropertyDescriptor,E=Object.getOwnPropertyNames,z=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,D=(S={"../../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 f=e.charCodeAt(r+p);if(f!==t.charCodeAt(s+p))break;47===f&&(l=p)}var d="";for(p=r+l+1;p<=i;++p)p!==i&&47!==e.charCodeAt(p)||(0===d.length?d+="..":d+="/..");return d.length>0?d+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 R||(0,S[E(S)[0]])((R={exports:{}}).exports,R),R.exports}),I=((e,t,n)=>(n=null!=e?A(z(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of E(t))G.call(e,o)||o===n||O(e,o,{get:()=>t[o],enumerable:!(r=j(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:O(n,"default",{value:e,enumerable:!0}),e)))(D(),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,I.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 c(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,I.join)("".concat(o,"@").concat(i),s):ibiz.env.dev?this.urlReg.test(n)?"".concat(n,"/").concat((0,I.join)(s)):"".concat(ibiz.env.pluginBaseUrl,"/").concat(n,"/").concat((0,I.join)(s)):"".concat(n).concat(n.endsWith("/")?"":"/").concat((0,I.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,I.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 f(e,((e,i)=>{if(e!==i)if(l(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}),d((()=>{r!==i&&c()})),{stop:()=>r(),pause:()=>a(),proceed:()=>s()}}function U(){return h().proxy.$props}function M(e){return g(e)?m(e):e}function L(){const e=h().proxy;return t=>{e.$forceUpdate(),t&&y(t)&&e.$nextTick((()=>{t()}))}}var F=e("EmptyVNode",p("EmptyVNode"));function T(){return v("ctx")}function V(e,t,n,r={}){let o=i;return f(e,((e,s)=>{e!==s&&(l(e)?(o(),o=i):o=a((null==e?void 0:e.$el)||e,t,n,r))}),{immediate:!0}),d((()=>{o!==i&&o()})),()=>{o()}}function $(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}async function W(e,t,n){if(n){const r=await ibiz.hub.getAppDataEntity(n);let o=u(t,r);if(o||(o={path:"",keys:[r.codeName.toLowerCase()]}),o){const t=e.pathNodes[1].context,n={};o.keys.forEach((e=>{t&&Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e],delete t[e])})),e.pathNodes[0].context=n}}else e.pathNodes[0].context=void 0}function q(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?k.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=k.parse(e.params.appContext,{strictNullHandling:!0,delimiter:";"})),{appContext:r,pathNodes:n}}function _(e){let t="";return e.appContext?t+="/".concat(k.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=k.stringify(r,{delimiter:";",strictNullHandling:!0,skipNulls:!0});x(o)?t+=o:t+=ibiz.env.routePlaceholder})),t}function J(e,t,n=!0){if(e.matched.length<t)return"";if(e.name)return e.path;const r=q(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,_(r))}var K=e("RouteListener",class{constructor(e,t){this.callbacks=[],this.timers=[],this.wait=500,t&&(this.wait=t),f((()=>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 Q(e,t){f((()=>({context:e.context,params:e.params})),(e=>{t.context.reset({},e.context),C(t.params),Object.assign(t.params,e.params),t.handleContextParams(),ibiz.log.debug("".concat(t.model.id,"的上下文或视图参数变更:"),e)}))}function X(e,t){f((()=>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 Y=e("RequiredProp",class{constructor(e,t,n){this.required=!0,t&&(this.default=t),n&&(this.validator=n),this.type=e}});function Z(){return{value:String,controller:new Y(Object),data:new Y(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function ee(){return{hasError:{type:Boolean}}}function te(){return{...Z(),value:String}}function ne(){return{...Z(),value:Number}}function re(){return{...Z(),value:String}}function oe(){return{...Z(),value:[String,Number]}}function ie(){return{...Z(),value:String}}function ae(){return{...Z(),value:[String,Number]}}function se(){return{...Z(),value:[String,Number]}}function ce(){return{...Z(),value:String}}function ue(){return{...Z(),value:String}}function le(){return{...Z(),value:[String,Number]}}function pe(){return{...Z(),value:[String,Number]}}function fe(){return{...Z(),value:[String,Number]}}function de(){return{...Z(),value:[String,Number]}}function he(){return{...Z(),value:[String,Number]}}function ge(){return{...Z(),value:[String,Number]}}function me(){return{...Z(),value:[String,Number]}}function ve(){return{...Z(),value:[String,Number]}}function be(){return{...Z(),value:[String,Number]}}function Pe(){return{...Z(),value:String}}function we(){return{...Z(),value:String}}function ye(){return{...Z(),value:String,language:{type:String},theme:{type:String}}}function xe(){return{...Z(),value:String}}function Ce(){return{...Z()}}function Ne(){return{...Z(),value:[Array,Array]}}function ke(){return{...Z(),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 { getMatchResPath } 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}\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 (currentContext && Object.prototype.hasOwnProperty.call(currentContext, key)) {\n resContext[key] = currentContext[key];\n delete currentContext[key];\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 }\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 if (notNilEmpty(routeParams)) {\n pathStr += qs.stringify(routeParams, {\n delimiter: \";\",\n strictNullHandling: true\n });\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 watchAndUpateContextParams(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 watchAndUpateContextParams(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 };\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 };\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 };\n}\nfunction getGridDataPickerProps() {\n return { ...getDataPickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-picker.ts\nfunction getDatePickerProps() {\n return { ...getEditorProps(), value: String };\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] };\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 };\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 };\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}\nexport {\n EmptyVNode,\n PluginFactory,\n RequiredProp,\n RouteListener,\n calcResRoutePath,\n generateRoutePath,\n getArrayProps,\n getAutoCompleteProps,\n getCascaderProps,\n getCheckboxListProps,\n getCheckboxProps,\n getCodeProps,\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 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","path","routePath2string","change","_value","_name","blur","focus","getArrayProps","getGridEditorCommonProps","getAutoCompleteProps","getCascaderProps","getCheckboxListProps","getCheckboxProps","getCodeProps","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","includes","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","watchAndUpateContextParams","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","entity","getAppDataEntity","match","getMatchResPath","currentContext","resContext","matched","split","paramsStr","routePlaceholder","qs","strictNullHandling","srfnavctx","decodeURIComponent","pathStr","routeParams","objStr","encodeURIComponent","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 { getMatchResPath } 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}\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 (currentContext && Object.prototype.hasOwnProperty.call(currentContext, key)) {\n resContext[key] = currentContext[key];\n delete currentContext[key];\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 }\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 watchAndUpateContextParams(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 watchAndUpateContextParams(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 };\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 };\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 };\n}\nfunction getGridDataPickerProps() {\n return { ...getDataPickerProps(), ...getGridEditorCommonProps() };\n}\n\n// src/props/editor/date-picker.ts\nfunction getDatePickerProps() {\n return { ...getEditorProps(), value: String };\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] };\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 };\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 };\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}\nexport {\n EmptyVNode,\n PluginFactory,\n RequiredProp,\n RouteListener,\n calcResRoutePath,\n generateRoutePath,\n getArrayProps,\n getAutoCompleteProps,\n getCascaderProps,\n getCheckboxListProps,\n getCheckboxProps,\n getCodeProps,\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 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","path","routePath2string","change","_value","_name","blur","focus","getArrayProps","getGridEditorCommonProps","getAutoCompleteProps","getCascaderProps","getCheckboxListProps","getCheckboxProps","getCodeProps","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","includes","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","watchAndUpateContextParams","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","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,EAAmB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAS7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;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,CAkD3B;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,
|
|
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,EAAmB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE7E;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAS7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;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,CAkD3B;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"}
|
package/out/util/route/route.js
CHANGED
|
@@ -290,12 +290,14 @@ export function routePath2string(routePath) {
|
|
|
290
290
|
routeParams.srfnav = pathNode.srfnav;
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
+
const paramsStr = qs.stringify(routeParams, {
|
|
294
|
+
delimiter: ';',
|
|
295
|
+
strictNullHandling: true,
|
|
296
|
+
skipNulls: true,
|
|
297
|
+
});
|
|
293
298
|
// 把路由参数转换到路由路径上去
|
|
294
|
-
if (notNilEmpty(
|
|
295
|
-
pathStr +=
|
|
296
|
-
delimiter: ';',
|
|
297
|
-
strictNullHandling: true,
|
|
298
|
-
});
|
|
299
|
+
if (notNilEmpty(paramsStr)) {
|
|
300
|
+
pathStr += paramsStr;
|
|
299
301
|
}
|
|
300
302
|
else {
|
|
301
303
|
pathStr += ibiz.env.routePlaceholder;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/vue3-util",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "vue3 工具包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"author": "chitanda",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@ibiz-template/core": "^0.1.
|
|
34
|
-
"@ibiz-template/runtime": "^0.1.
|
|
33
|
+
"@ibiz-template/core": "^0.1.3",
|
|
34
|
+
"@ibiz-template/runtime": "^0.1.3",
|
|
35
35
|
"@ibiz/model-core": "^0.0.14",
|
|
36
36
|
"@types/path-browserify": "^1.0.0",
|
|
37
37
|
"@types/qs": "^6.9.7",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"vue": "^3.2.47",
|
|
55
55
|
"vue-router": "^4.1.6"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "1dd8759a918fa93fe6af75f7104a6911c46b186a"
|
|
58
58
|
}
|
package/src/util/route/route.ts
CHANGED
|
@@ -329,12 +329,14 @@ export function routePath2string(routePath: IRoutePath): string {
|
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
+
const paramsStr = qs.stringify(routeParams, {
|
|
333
|
+
delimiter: ';',
|
|
334
|
+
strictNullHandling: true,
|
|
335
|
+
skipNulls: true,
|
|
336
|
+
});
|
|
332
337
|
// 把路由参数转换到路由路径上去
|
|
333
|
-
if (notNilEmpty(
|
|
334
|
-
pathStr +=
|
|
335
|
-
delimiter: ';',
|
|
336
|
-
strictNullHandling: true,
|
|
337
|
-
});
|
|
338
|
+
if (notNilEmpty(paramsStr)) {
|
|
339
|
+
pathStr += paramsStr;
|
|
338
340
|
} else {
|
|
339
341
|
pathStr += ibiz.env.routePlaceholder;
|
|
340
342
|
}
|