@ibiz-template/core 0.6.1-dev.1 → 0.6.2-dev.0

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
@@ -2238,6 +2238,12 @@ var StringUtil = class {
2238
2238
  /**
2239
2239
  * 填充字符串中的数据
2240
2240
  *
2241
+ * @description 填充字符串中的数据 用法:传入需要替换的字符串和对象 返回值是string类型
2242
+ * @example
2243
+ * ```
2244
+ * StringUtil.fill('姓名:${context.name},年龄:${data.age}', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => '姓名:张三,年龄:25'
2245
+ * StringUtil.fill('', { name: '张三', age: 10 }, { name: '李四', age: 25 }); // => ''
2246
+ * ```
2241
2247
  * @author chitanda
2242
2248
  * @date 2021-04-23 20:04:17
2243
2249
  * @static
@@ -2363,7 +2369,6 @@ function isEventInside(event, el) {
2363
2369
  }
2364
2370
 
2365
2371
  // src/utils/history-list/history-item.ts
2366
- import { clone as clone2 } from "ramda";
2367
2372
  var _HistoryItem = class _HistoryItem {
2368
2373
  constructor(data = {}) {
2369
2374
  this.data = data;
@@ -2378,14 +2383,7 @@ var _HistoryItem = class _HistoryItem {
2378
2383
  * @return {*} {HistoryItem<E>}
2379
2384
  */
2380
2385
  clone() {
2381
- const history = new _HistoryItem(clone2(this.data));
2382
- if (history._prev && history._prev !== _HistoryItem.Undefined) {
2383
- history._prev = clone2(this._prev);
2384
- }
2385
- if (history._next && history._next !== _HistoryItem.Undefined) {
2386
- history._next = clone2(this._next);
2387
- }
2388
- return history;
2386
+ throw new RuntimeError("\u672A\u5B9E\u73B0");
2389
2387
  }
2390
2388
  };
2391
2389
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2393,7 +2391,7 @@ _HistoryItem.Undefined = new _HistoryItem(void 0);
2393
2391
  var HistoryItem = _HistoryItem;
2394
2392
 
2395
2393
  // src/utils/history-list/history-list.ts
2396
- import { clone as clone3 } from "ramda";
2394
+ import { clone as clone2 } from "ramda";
2397
2395
  var HistoryList = class _HistoryList {
2398
2396
  /**
2399
2397
  * 当前的数据
@@ -2429,7 +2427,7 @@ var HistoryList = class _HistoryList {
2429
2427
  */
2430
2428
  save() {
2431
2429
  const oldCur = this._cur;
2432
- const data = clone3(oldCur.data);
2430
+ const data = clone2(oldCur.data);
2433
2431
  const history = new HistoryItem(data);
2434
2432
  history._prev = oldCur;
2435
2433
  oldCur._next._prev = HistoryItem.Undefined;
@@ -2496,7 +2494,7 @@ var HistoryList = class _HistoryList {
2496
2494
  */
2497
2495
  clone() {
2498
2496
  const history = new _HistoryList({});
2499
- history._cur = clone3(this._cur);
2497
+ history._cur = clone2(this._cur);
2500
2498
  return this;
2501
2499
  }
2502
2500
  /**
@@ -2611,10 +2609,10 @@ function colorBlend(color1, color2, p = 0.5, format = "hex") {
2611
2609
  ];
2612
2610
  if (format === "hex") {
2613
2611
  const hex = [
2614
- result[0].toString(16),
2615
- result[1].toString(16),
2616
- result[2].toString(16),
2617
- result[3] === 0 ? "00" : r(result[3] * 255).toString(16)
2612
+ result[0].toString(16).padStart(2, "0"),
2613
+ result[1].toString(16).padStart(2, "0"),
2614
+ result[2].toString(16).padStart(2, "0"),
2615
+ result[3] === 0 ? "00" : r(result[3] * 255).toString(16).padStart(2, "0")
2618
2616
  ];
2619
2617
  return "#".concat(hex[0]).concat(hex[1]).concat(hex[2]).concat(hex[3]);
2620
2618
  }
@@ -2623,49 +2621,49 @@ function colorBlend(color1, color2, p = 0.5, format = "hex") {
2623
2621
 
2624
2622
  // src/utils/download-file/download-file.ts
2625
2623
  function calcMimeByFileName(fileName) {
2626
- const ext = fileName.split(".").pop();
2624
+ const ext = fileName.includes(".") ? fileName.split(".").pop() : "";
2627
2625
  let mime = "";
2628
2626
  switch (ext) {
2629
- case ".wps":
2627
+ case "wps":
2630
2628
  mime = "application/kswps";
2631
2629
  break;
2632
- case ".doc":
2630
+ case "doc":
2633
2631
  mime = "application/msword";
2634
2632
  break;
2635
- case ".docx":
2633
+ case "docx":
2636
2634
  mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
2637
2635
  break;
2638
- case ".txt":
2636
+ case "txt":
2639
2637
  mime = "text/plain";
2640
2638
  break;
2641
- case ".zip":
2639
+ case "zip":
2642
2640
  mime = "application/zip";
2643
2641
  break;
2644
- case ".png":
2642
+ case "png":
2645
2643
  mime = "image/png";
2646
2644
  break;
2647
- case ".gif":
2645
+ case "gif":
2648
2646
  mime = "image/gif";
2649
2647
  break;
2650
- case ".jpeg":
2648
+ case "jpeg":
2651
2649
  mime = "image/jpeg";
2652
2650
  break;
2653
- case ".jpg":
2651
+ case "jpg":
2654
2652
  mime = "image/jpeg";
2655
2653
  break;
2656
- case ".rtf":
2654
+ case "rtf":
2657
2655
  mime = "application/rtf";
2658
2656
  break;
2659
- case ".avi":
2657
+ case "avi":
2660
2658
  mime = "video/x-msvideo";
2661
2659
  break;
2662
- case ".gz":
2660
+ case "gz":
2663
2661
  mime = "application/x-gzip";
2664
2662
  break;
2665
- case ".tar":
2663
+ case "tar":
2666
2664
  mime = "application/x-tar";
2667
2665
  break;
2668
- case ".xlsx":
2666
+ case "xlsx":
2669
2667
  mime = "application/vnd.ms-excel";
2670
2668
  break;
2671
2669
  default:
@@ -2674,11 +2672,11 @@ function calcMimeByFileName(fileName) {
2674
2672
  return mime;
2675
2673
  }
2676
2674
  function isImage(fileName) {
2677
- const ext = fileName.split(".").pop();
2675
+ const ext = fileName.includes(".") ? fileName.split(".").pop() : "";
2678
2676
  if (!ext) {
2679
2677
  return false;
2680
2678
  }
2681
- const imageTypes = [".jpeg", "jpg", "gif", "png", "bmp", "svg"];
2679
+ const imageTypes = ["jpeg", "jpg", "gif", "png", "bmp", "svg"];
2682
2680
  return imageTypes.includes(ext);
2683
2681
  }
2684
2682
  function downloadFileFromBlob(file, fileName) {
@@ -3109,7 +3107,7 @@ function customizeFn(value) {
3109
3107
  var DefaultCloneOpts = {
3110
3108
  deep: true
3111
3109
  };
3112
- function clone4(value, opts) {
3110
+ function clone3(value, opts) {
3113
3111
  const options = mergeDeepRight3(DefaultCloneOpts, opts || {});
3114
3112
  if (options.deep) {
3115
3113
  return cloneDeepWith(value, customizeFn);
@@ -3240,7 +3238,7 @@ export {
3240
3238
  awaitTimeout,
3241
3239
  calcMimeByFileName,
3242
3240
  calcOpenModeStyle,
3243
- clone4 as clone,
3241
+ clone3 as clone,
3244
3242
  colorBlend,
3245
3243
  commands,
3246
3244
  compareArr,
@@ -1 +1 @@
1
- System.register(["ramda","lodash-es","qx-util","axios","qs","loglevel","loglevel-plugin-prefix"],(function(e){"use strict";var t,n,s,r,i,a,o,c,l,h,u,d,p,m,f,g,b,w,v;return{setters:[function(e){t=e.clone,n=e.isNotNil,s=e.isNil,r=e.mergeDeepRight},function(e){i=e.debounce,a=e.merge,o=e.cloneDeepWith,c=e.cloneWith,l=e.isObject,h=e.isFunction,u=e.uniqueId,e.round,e.cloneDeep},function(e){d=e.getCookie,p=e.notNilEmpty,m=e.createUUID,f=e.QXEvent},function(e){g=e.default},function(e){b=e.default},function(e){w=e.default},function(e){v=e.default}],execute:function(){function y(e){let t,n,s,r=!1;return function(i){void 0===t?(t=i,n=0,s=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,i);const a=t.length;let o=0;for(;n<a;){r&&(10===t[n]&&(o=++n),r=!1);let i=-1;for(;n<a&&-1===i;++n)switch(t[n]){case 58:-1===s&&(s=n-o);break;case 13:r=!0;case 10:i=n}if(-1===i)break;e(t.subarray(o,i),s),o=n,s=-1}o===a?t=void 0:0!==o&&(t=t.subarray(o),n-=o)}}e({awaitTimeout:async function(e,t,n){if(await new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),t)return t(...n||[])},calcMimeByFileName:fe,calcOpenModeStyle:function(e,t){if(e>=0&&e<=100)return"".concat(e,"%");if(e>100)return"drawer"===t?e:"".concat(e,"px");return ibiz.log.error("无效输入值,必须>=0"),""},clone:function(e,t){if(r(xe,t||{}).deep)return o(e,_e);return c(e,_e)},colorBlend:function(e,t,n=.5,s="hex"){e=e.trim(),t=t.trim();const r=me(e),i=me(t),a=[pe((1-n)*r[0]+n*i[0]),pe((1-n)*r[1]+n*i[1]),pe((1-n)*r[2]+n*i[2]),(1-n)*r[3]+n*i[3]];if("hex"===s){const e=[a[0].toString(16),a[1].toString(16),a[2].toString(16),0===a[3]?"00":pe(255*a[3]).toString(16)];return"#".concat(e[0]).concat(e[1]).concat(e[2]).concat(e[3])}return"rgb(".concat(a[0]," ").concat(a[1]," ").concat(a[2]," / ").concat(a[3],")")},compareArr:function(e,t,n){const s=new Set([...e,...t]),r=[],i=[],a=[];if(n){const o=e.map((e=>e[n])),c=t.map((e=>e[n]));s.forEach((e=>{o.includes(e[n])?c.includes(e[n])?a.push(e):r.push(e):i.push(e)}))}else s.forEach((n=>{e.includes(n)?t.includes(n)?a.push(n):r.push(n):i.push(n)}));return{more:r,less:i,same:a}},debounce:function(e,t,n){let s;return function(...r){if(s&&clearTimeout(s),n){const n=!s;s=setTimeout((()=>{s=null}),t),n&&e.apply(this,r)}else s=setTimeout((()=>{e.apply(this,r)}),t)}},debounceAndAsyncMerge:function(e,t,n){let s,r=[];const a=i((async(...t)=>{s=void 0;try{const n=await e(...t);return r.forEach((e=>{e.resolve(n)})),r=[],n}catch(e){r.forEach((t=>{t.reject(e)})),r=[]}}),n);return async(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,a(...n),new Promise(((e,t)=>{r.push({resolve:e,reject:t})}))}},debounceAndMerge:function(e,t,n){let s;const r=i(((...t)=>(s=void 0,e(...t))),n);return(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,r(...n)}},downloadFileFromBlob:function(e,t){const n=fe(t),s=new Blob([e],{type:n}),r=URL.createObjectURL(s),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)},eventPath:oe,fetchEventSource:R,fileListToArr:ge,findRecursiveChild:function(e,t,n){const{compareField:s,compareCallback:i}=r(Ee,n||{}),a=i||(e=>e[s]===t);let o;return ye(e,(e=>{if(a(e,t,s))return o=e,!0}),n),o},getToken:q,install:function(){if(window.ibiz)throw new Error("ibiz 已经存在, 无需重复安装");window.ibiz=new Te},isBase64Image:function(e){return/^data:image\/[a-zA-Z+]+;base64,([/+=\w\s]+|[^,]+)$/.test(e)},isElementSame:function(e,t,n){if(e.length!==t.length)return!1;const s=n?[...e.map((e=>e[n])),...t.map((e=>e[n]))]:[...e,...t];return Array.from(new Set(s)).length===e.length},isEventInside:le,isImage:function(e){const t=e.split(".").pop();if(!t)return!1;return[".jpeg","jpg","gif","png","bmp","svg"].includes(t)},isOverlap:function(e,t){return Array.from(new Set([...e,...t])).length!==e.length+t.length},isSvg:function(e){return F.test(e)},listenJSEvent:ce,mergeDefaultInLeft:function(e,t){Object.keys(t).forEach((r=>{n(t[r])&&s(e[r])&&(e[r]=t[r])}))},mergeInLeft:function(e,t){Object.keys(t).forEach((s=>{n(t[s])&&(e[s]=t[s])}))},onClickOutside:function(e,t,n={}){const{window:s=de,ignore:r=[],capture:i=!0}=n;if(!e)throw new B("target元素不存在");if(!s)throw new B("找不到window");let a=!0;const o=t=>![e,...r].some((e=>le(t,e)));let c=!1;let l;const h=e=>{c||(s.clearTimeout(l),a&&o(e)&&t(e))},u=[ce(s,"click",h,{passive:!0,capture:i}),ce(s,"pointerdown",(e=>{c||(a=o(e))}),{passive:!0}),ce(s,"pointerup",(e=>{if(!c&&0===e.button){const t=oe(e);e.composedPath=()=>t,l=s.setTimeout((()=>h(e)),50)}}),{passive:!0})].filter(Boolean);return{stop:()=>u.forEach((e=>e())),pause:()=>{c=!0},proceed:()=>{c=!1}}},plus:function(e,t){let n,s;try{n=e.toString().split(".")[1].length}catch(e){n=0}try{s=t.toString().split(".")[1].length}catch(e){s=0}const r=10**Math.max(n,s);return(e*r+t*r)/r},recursiveIterate:ye,selectFile:be,setRemoteStyle:async function(e){try{const t=await ibiz.net.get(e),n=document.createElement("style");n.setAttribute("title","app-style-css"),n.innerText=t.data,document.head.appendChild(n)}catch(t){ibiz.log.debug("加载远程样式表失败",e)}},throttle:function(e,t){let n=null;return function(...s){n||(n=setTimeout((()=>{e.apply(this,s),n=null}),t))}},toDisposable:I,toNumberOrNil:function(e){if(s(e))return;const t=Number(e);if(Number.isNaN(t))return;return t},updateKeyDefine:function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))},uploadFile:function(e){const t=a({multiple:!0,accept:"",separate:!0,beforeUpload:(e,t)=>!0,finish:e=>{},success:(e,t)=>{},error:(e,t)=>{},progress:e=>{}},e),n=async e=>{const n=e.map((e=>({status:"uploading",name:e.name,uid:u(),percentage:0})));if(!t.beforeUpload(e,n))return n.forEach((e=>{e.status="cancel"})),ibiz.log.debug("取消上传",n),n;try{const s=await(async(e,n)=>{if(t.request&&h(t.request))return t.request(e);const s=new FormData;throw e.forEach((e=>{s.append("file",e)})),new B("多应用模式等待重新实现请求")})(e);n.forEach((e=>{e.status="finished"})),t.success(n,s),n.forEach((e=>{e.response=s}))}catch(s){n.forEach((e=>{e.status="fail"})),t.error(n,s),n.forEach((e=>{e.error=s})),ibiz.log.error(s),ibiz.log.error("".concat(e.map((e=>e.name)).join(","),"上传失败"))}return n};be({accept:t.accept,multiple:t.multiple,onSelected:e=>{(async e=>{const s=t.separate?e.map((e=>[e])):[e],r=await Promise.allSettled(s.map((async e=>n(e)))),i=[];r.forEach((e=>{"fulfilled"===e.status&&i.push(...e.value)})),t.finish(i)})(e)}})}});var E=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n},_=e("EventStreamContentType","text/event-stream"),x=1e3,O="last-event-id";function R(e,t){var{signal:n,headers:s,onopen:r,onmessage:i,onclose:a,onerror:o,openWhenHidden:c,fetch:l}=t,h=E(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,u)=>{const d=Object.assign({},s);let p;function m(){p.abort(),document.hidden||E()}d.accept||(d.accept=_),c||document.addEventListener("visibilitychange",m);let f=x,g=0;function b(){document.removeEventListener("visibilitychange",m),window.clearTimeout(g),p.abort()}null==n||n.addEventListener("abort",(()=>{b(),t()}));const w=null!=l?l:window.fetch,v=null!=r?r:A;async function E(){var n;p=new AbortController;try{const n=await w(e,Object.assign(Object.assign({},h),{headers:d,signal:p.signal}));await v(n),await async function(e,t){const n=e.getReader();let s;for(;!(s=await n.read()).done;)t(s.value)}(n.body,y(function(e,t,n){let s={data:"",event:"",id:"",retry:void 0};const r=new TextDecoder;return function(i,a){if(0===i.length)null==n||n(s),s={data:"",event:"",id:"",retry:void 0};else if(a>0){const n=r.decode(i.subarray(0,a)),o=a+(32===i[a+1]?2:1),c=r.decode(i.subarray(o));switch(n){case"data":s.data=s.data?s.data+"\n"+c:c;break;case"event":s.event=c;break;case"id":e(s.id=c);break;case"retry":const n=parseInt(c,10);isNaN(n)||t(s.retry=n)}}}}((e=>{e?d[O]=e:delete d[O]}),(e=>{f=e}),i))),null==a||a(),b(),t()}catch(e){if(!p.signal.aborted)try{const t=null!==(n=null==o?void 0:o(e))&&void 0!==n?n:f;window.clearTimeout(g),g=window.setTimeout(E,t)}catch(e){b(),u(e)}}}E()}))}function A(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(_)))throw new Error("Expected content-type to be ".concat(_,", Actual: ").concat(t))}var T=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};T.Undefined=new T(void 0);var C=T,U=e("LinkedList",class{constructor(){this._first=C.Undefined,this._last=C.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===C.Undefined}clear(){let e=this._first;for(;e!==C.Undefined;){const{next:t}=e;e.prev=C.Undefined,e.next=C.Undefined,e=t}this._first=C.Undefined,this._last=C.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new C(e);if(this._first===C.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(n))}}shift(){if(this._first===C.Undefined)return;const e=this._first.element;return this._remove(this._first),e}pop(){if(this._last===C.Undefined)return;const e=this._last.element;return this._remove(this._last),e}_remove(e){if(e.prev!==C.Undefined&&e.next!==C.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===C.Undefined&&e.next===C.Undefined?(this._first=C.Undefined,this._last=C.Undefined):e.next===C.Undefined?(this._last=this._last.prev,this._last.next=C.Undefined):e.prev===C.Undefined&&(this._first=this._first.next,this._first.prev=C.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==C.Undefined;)yield e.element,e=e.next}});function N(e){const t=this;let n,s=!1;return function(){return s||(s=!0,n=e.apply(t,arguments)),n}}function I(e){return{dispose:N((()=>{e()}))}}var M=e("CommandsRegistry",class{constructor(){this.commands=new Map}registerCommand(e,t,n){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t,opts:n})}const{id:s}=e;let r=this.commands.get(s);r||(r=new U,this.commands.set(s,r));const i=r.unshift(e);return I((()=>{i();const e=this.commands.get(s);(null==e?void 0:e.isEmpty())&&this.commands.delete(s)}))}hasCommand(e){return this.commands.has(e)}getCommand(e){const t=this.commands.get(e);if(t&&!t.isEmpty())return t[Symbol.iterator]().next().value}getCommands(){const e=new Map,t=this.commands.keys();for(const n of t){const t=this.getCommand(n);t&&e.set(n,t)}return e}getCommandOpt(e){const t=this.getCommand(e);return null==t?void 0:t.opts}}),P=e("CommandController",class{constructor(){this.commandRegister=new M}register(e,t,n){return this.commandRegister.registerCommand(e,t,n)}async execute(e,...t){const n=this.commandRegister.getCommand(e);if(n)return n.handler(...t);throw new Error("未注册指令: ".concat(e,",请先注册指令"))}hasCommand(e,t){const n=!!this.commandRegister.hasCommand(e);if(!0===t&&!0===n)throw new Error("未注册指令: ".concat(e,",请先注册指令"));return n}getCommandOpts(e){return this.commandRegister.getCommandOpt(e)}}),S=(e("commands",new P),e("CoreConst",class{}));S.DEFAULT_MODEL_SERVICE_TAG="default",S.TOKEN="ibzuaa-token",S.REFRESH_TOKEN="ibzuaa-refresh-token",S.TOKEN_EXPIRES="ibzuaa-token-expires",S.TOKEN_REMEMBER="ibizuaa-token-remember",S.IS_ANONYMOUS="ibizuaa-is-anonymous";var k=e("NOOP",(()=>{})),L=(e("HttpStatusMessageConst",{200:"服务器成功返回请求的数据。",201:"新建或修改数据成功。",202:"一个请求已经进入后台排队(异步任务)。",204:"删除数据成功。",400:"发出的请求有错误,服务器没有进行新建或修改数据的操作。",401:"用户没有权限(令牌、用户名、密码错误)。",403:"用户得到授权,但是访问是被禁止的。",404:"发出的请求针对的是不存在的记录,服务器没有进行操作。",406:"请求的格式不可得。",410:"请求的资源被永久删除,且不会再得到的。",422:"当创建一个对象时,发生一个验证错误。",500:"服务器发生错误,请检查服务器。",502:"网关错误。",503:"服务不可用,服务器暂时过载或维护。",504:"网关超时。"}),e("LoginMode",(e=>(e.DEFAULT="DEFAULT",e.CUSTOM="CUSTOM",e.CAS="CAS",e))(L||{}))),j=e("MenuPermissionMode",(e=>(e.MIXIN="MIXIN",e.RESOURCE="RESOURCE",e.RT="RT",e))(j||{})),D=(e("IBizContext",class e{constructor(e={},t){Object.defineProperty(this,"_associationContext",{enumerable:!1,value:[]}),t&&this.initWithParent(t),Object.assign(this,e)}initWithParent(e){const t=this;Object.defineProperty(this,"_parent",{enumerable:!1,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!1,writable:!0,value:{}});const n={};Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||(n[e]={enumerable:!0,set(n){t._context[e]=null==n?null:n},get:()=>void 0!==t._context[e]?t._context[e]:t._parent[e]})})),Object.defineProperties(this,n)}getOwnContext(){const e={};return Object.keys(this).forEach((t=>{this._parent&&Object.prototype.hasOwnProperty.call(this._parent,t)&&!Object.prototype.hasOwnProperty.call(this._context,t)||(e[t]=this[t])})),e}destroy(){this._parent=void 0,this._context={},this._associationContext.forEach((e=>{e.destroy()}))}clone(){const n=new e(t(this.getOwnContext()),this._parent);return this._associationContext.push(n),n}reset(e={},t){this._associationContext.forEach((e=>{e.destroy()})),this._parent&&(this._parent={},this._context={}),Object.keys(this).forEach((e=>{try{delete this[e]}catch(e){}})),t&&this.initWithParent(t),Object.assign(this,e)}static create(t,n){return new e(t,n)}}),e("IBizParams",class{constructor(e,t){return Object.defineProperty(this,"_parent",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_params",{enumerable:!1,configurable:!0,writable:!0,value:e||{}}),this.createProxy()}createProxy(){return new Proxy(this,{set:(e,t,n)=>(["_params","_parent"].includes(t)?e[t]=n:e._params[t]=n,!0),get:(e,t,n)=>void 0!==e[t]?e[t]:void 0!==e._params[t]?e._params[t]:e._parent&&void 0!==e._parent[t]?e._parent[t]:void 0,ownKeys(e){const t=[...new Set([...Object.keys(e._params),...Object.keys(e._parent||{})])];return function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))}(e,t),t}})}reset(e,t){this._params=e||{},this._parent=t}destroy(){this._params={},this._parent=void 0}}),e("Environment",{dev:!1,hub:!0,enableMqtt:!1,mqttUrl:"/portal/mqtt/mqtt",isEnableMultiLan:!1,anonymousUser:"",anonymousPwd:"",enableAnonymous:!1,logLevel:"ERROR",baseUrl:"/api",appId:"",pluginBaseUrl:"http://172.16.240.221",isLocalModel:!1,remoteModelUrl:"/remotemodel",assetsUrl:"./assets",dcSystem:"",downloadFileUrl:"/ibizutil/download/{cat}",uploadFileUrl:"/ibizutil/upload/{cat}",casLoginUrl:"",loginMode:"DEFAULT",menuPermissionMode:"MIXIN",enablePermission:!0,routePlaceholder:"-",enableWfAllHistory:!1,isMob:!1,isSaaSMode:!0,AppTitle:"应用",favicon:"./favicon.ico"})),z=e("HttpError",class extends Error{constructor(e){super("HttpError"),this.name="HttpError";const t=e.response;this.response=e.response,t?(t.data?this.message=t.data.message:this.message=t.statusText,this.message||(this.message="网络异常,请稍后重试!"),this.status=t.status):(this.message=e.message||"",this.status=500)}}),B=(e("ModelError",class extends Error{constructor(e,t){super("「".concat(e.id,"」模型").concat(t?": ".concat(t):"")),this.model=e,this.name="未支持的模型"}}),e("RuntimeError",class extends Error{constructor(e){super(e),this.message=e,this.name="Runtime Error"}}));e("RuntimeModelError",class extends Error{constructor(e,t){super("「".concat(e.id,"」模型").concat(t?": ".concat(t):"")),this.model=e,this.name="模型配置缺失"}}),e("NoticeError",class extends Error{constructor(e,t){super(e),this.message=e,this.duration=t,this.name="notice Error"}});function q(){return d(S.TOKEN)}var F=/<svg\b[^>]*>[\s\S]*?<\/svg>/;var H=e("Interceptor",class{async onBeforeRequest(e){return e}onRequestError(e){return Promise.reject(e)}async onResponseSuccess(e){return e}onResponseError(e){return Promise.reject(e)}use(e){this.requestTag=e.interceptors.request.use(this.onBeforeRequest,this.onRequestError),this.responseTag=e.interceptors.response.use(this.onResponseSuccess,this.onResponseError)}eject(e){this.requestTag&&e.interceptors.request.eject(this.requestTag),this.responseTag&&e.interceptors.response.eject(this.responseTag)}}),V=e("CoreInterceptor",class extends H{async onBeforeRequest(e){e=await super.onBeforeRequest(e);const{headers:t}=e;t.set("Authorization","Bearer ".concat(q()));let n=ibiz.env.dcSystem;const{orgData:s}=ibiz;return s&&(s.systemid&&(n=s.systemid),s.orgid&&t.set("srforgid",s.orgid)),t.set("srfsystemid",n),e}}),W=class{constructor(e){this.parent=e,this.evt=new f(1e3)}next(e){this.evt.emit("all",e),this.parent&&this.nextParent(e)}nextParent(e){this.parent&&(this.parent.evt.emit("all",e),this.parent.nextParent(e))}on(e){this.evt.on("all",e)}off(e){this.evt.off("all",e)}},Y=class extends W{},J=class extends W{sendCommand(e,t){const n={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,data:e};this.next(n)}},K=class extends J{send(e){this.sendCommand(e,"OBJECTCREATED")}},$=class extends J{send(e){this.sendCommand(e,"OBJECTUPDATED")}},G=class extends J{send(e){this.sendCommand(e,"OBJECTREMOVED")}},X=class extends J{},Z=class extends J{send(e){this.sendCommand(e,"ASYNCACTION")}},Q=class extends J{send(e){this.sendCommand(e,"INTERNALMESSAGE")}},ee=class extends J{send(e){this.sendCommand(e,"MARKOPENDATA")}},te=class extends W{constructor(){super(...arguments),this.change=new X,this.create=new K(this),this.update=new $(this),this.remove=new G(this),this.asyncAction=new Z(this),this.internalMessage=new Q(this),this.markOpenData=new ee(this)}next(e){switch(e.subtype){case"OBJECTCREATED":this.create.next(e),this.change.next(e);break;case"OBJECTUPDATED":this.update.next(e),this.change.next(e);break;case"OBJECTREMOVED":this.remove.next(e),this.change.next(e);break;case"ASYNCACTION":this.asyncAction.next(e);break;case"INTERNALMESSAGE":this.internalMessage.next(e);break;case"MARKOPENDATA":this.markOpenData.next(e);break;default:super.next(e)}}nextParent(e){switch(e.subtype){case"OBJECTCREATED":case"OBJECTUPDATED":case"OBJECTREMOVED":this.change.next(e)}super.nextParent(e)}send(e,t){const n={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,data:e};this.next(n)}},ne=class extends W{send(e){const t={messageid:m(),messagename:"console",type:"CONSOLE",data:e};this.next(t)}},se=e("MessageCenter",class{constructor(){this.all=new Y,this.command=new te(this.all),this.console=new ne(this.all)}next(e){"COMMAND"===e.type?this.command.next(e):"CONSOLE"===e.type?this.console.next(e):this.all.next(e)}on(e){this.all.on(e)}off(e){this.all.off(e)}});function re(e,t,n,s,r){let i="".concat(e,"-").concat(t);return n&&(i+="-".concat(n)),s&&(i+="__".concat(s)),r&&(i+="--".concat(r)),i}e("Namespace",class{constructor(e,t){this.block=e,this.namespace=t||"ibiz"}b(e=""){return re(this.namespace,this.block,e,"","")}e(e){return e?re(this.namespace,this.block,"",e,""):""}m(e){return e?re(this.namespace,this.block,"","",e):""}be(e,t){return e&&t?re(this.namespace,this.block,e,t,""):""}em(e,t){return e&&t?re(this.namespace,this.block,"",e,t):""}bm(e,t){return e&&t?re(this.namespace,this.block,e,"",t):""}bem(e,t,n){return e&&t&&n?re(this.namespace,this.block,e,t,n):""}is(e,t){return e&&t?"".concat("is-").concat(e):""}cssVar(e){const t={};for(const n in e)e[n]&&(t[this.cssVarName(n)]=e[n]);return t}cssVarBlock(e){const t={};for(const n in e)e[n]&&(t[this.cssVarBlockName(n)]=e[n]);return t}cssVarName(e){return"--".concat(this.namespace,"-").concat(e)}cssVarBlockName(e){return"--".concat(this.namespace,"-").concat(this.block,"-").concat(e)}}),e("HttpResponse",class{constructor(e,t,n){this.local=!0,this.ok=!1,this.headers={},this.config={headers:new g.AxiosHeaders},this.data=e,this.status=t||200,this.statusText=n||"",this.status>=200&&this.status<300&&(this.ok=!0)}});var ie=e("Net",class{constructor(e){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.waitRequest=new Map,this.interceptors=new Map,this.instance=g.create(e),this.addInterceptor("Default",new V)}get baseUrl(){return this.instance.defaults.baseURL||"".concat(ibiz.env.baseUrl,"/").concat(ibiz.env.appId)}addInterceptor(e,t){t.use(this.instance),this.interceptors.set(e,t)}removeInterceptor(e){const t=this.interceptors.get(e);t&&(t.eject(this.instance),this.interceptors.delete(e))}get presetConfig(){return{baseURL:this.baseUrl,headers:{"Content-Type":"application/json;charset=UTF-8",Accept:"application/json"}}}mergeConfig(...e){const t=this.presetConfig;if(0===e.length)return t;const{url:n}=e[0];return n&&this.urlReg.test(n)&&delete t.baseURL,a(t,...e)}async post(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"post",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw new z(e)}}async get(e,t={},n={},s={}){e=this.attachUrlParam(e,t);try{const t=await this.request(e,a({method:"get",headers:n},s));return this.doResponseResult(t)}catch(e){throw new z(e)}}async delete(e,t,n={}){e=this.handleAppPresetParam(e,t);try{const t=await this.request(e,{method:"delete",headers:n});return this.doResponseResult(t)}catch(e){throw new z(e)}}async put(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"put",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw new z(e)}}async getModel(e,t={}){try{const n=await this.instance.get(e,{headers:t});return this.doResponseResult(n)}catch(e){throw new z(e)}}async request(e,t={}){const n=this.mergeConfig({url:e},t),s=JSON.stringify(n);try{let e=null;this.waitRequest.has(s)?e=this.waitRequest.get(s):(e=this.instance.request(n),this.waitRequest.set(s,e));const t=await e;return this.waitRequest.has(s)&&this.waitRequest.delete(s),this.doResponseResult(t)}catch(e){throw this.waitRequest.has(s)&&this.waitRequest.delete(s),new z(e)}}axios(e){return g(e)}async sse(e,t,n={}){e=this.attachUrlParam(this.baseUrl+e,t),n.headers||(n.headers={});const s=n.headers;{s.Authorization="Bearer ".concat(q());let e=ibiz.env.dcSystem;const{orgData:t}=ibiz;t&&(t.systemid&&(e=t.systemid),t.orgid&&(s.srforgid=t.orgid)),s.srfsystemid=e}const i=r({openWhenHidden:!0,method:"POST"},n);await R(e,i)}doResponseResult(e){const t=e;if(t.status>=200&&t.status<=299){t.ok=!0;const e=t.data;""!==e&&null!==e||(t.data=void 0)}return t}handleAppPresetParam(e,t){return t?this.attachUrlParam(e,t):e}attachUrlParam(e,t){{const t=e.split("?");t[0]=t[0].split("/").map((e=>encodeURIComponent(e))).join("/"),e=t.length>1?t.join("?"):t[0]}const n=b.stringify(t);return p(n)&&(e=e.endsWith("?")||-1!==e.indexOf("?")&&e.endsWith("&")?"".concat(e).concat(n):-1===e.indexOf("?")||e.endsWith("&")?"".concat(e,"?").concat(n):"".concat(e,"&").concat(n)),e}}),ae=e("StringUtil",class{static fill(e,t,n){if(p(e)){if(p(t)){const n=e.match(this.contextReg);null==n||n.forEach((n=>{const s=n.slice(10,n.length-1);e=e.replace("${context.".concat(s,"}"),t[s]||"")}))}if(p(n)){const t=e.match(this.dataReg);null==t||t.forEach((t=>{const s=t.slice(7,t.length-1);e=e.replace("${data.".concat(s,"}"),n[s]||"")}))}}return e}});ae.contextReg=/\$\{context.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g,ae.dataReg=/\$\{data.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;e("UrlHelper",class{static get routeBase(){const e=window.location.href.lastIndexOf("#/");return window.location.href.slice(0,e+1)}static get appBase(){const{origin:e,pathname:t}=window.location;return"".concat(e).concat(t).replace(/\/$/,"")}static get routePath(){return window.location.hash.replace("#","")}static get fullPath(){return window.location.href}});function oe(e){const t=e.composedPath&&e.composedPath()||e.path;if(null!=t)return t;return[e.target].concat(function e(t,n=[]){const s=t.parentNode;return s?e(s,n.concat([s])):n}(e.target))}function ce(e,t,n,s={}){e.addEventListener(t,n,s);let r=()=>{e.removeEventListener(t,n,s),r=k};return()=>{r()}}function le(e,t){return t&&(e.target===t||oe(e).includes(t))}var he=class e{constructor(t={}){this.data=t,this._prev=e.Undefined,this._next=e.Undefined}clone(){const n=new e(t(this.data));return n._prev&&n._prev!==e.Undefined&&(n._prev=t(this._prev)),n._next&&n._next!==e.Undefined&&(n._next=t(this._next)),n}};he.Undefined=new he(void 0);var ue=e("HistoryItem",he),de=(e("HistoryList",class e{get data(){return this._cur.data}constructor(e){this._cur=new ue(e)}assign(e){e&&(this.save(),Object.assign(this._cur.data,e))}save(){const e=this._cur,n=t(e.data),s=new ue(n);s._prev=e,e._next._prev=ue.Undefined,this._clear(e._next),e._next=s,this._cur=s}prev(){return!(!this._cur._prev||this._cur._prev===ue.Undefined)&&(this._cur=this._cur._prev,!0)}next(){return!(!this._cur._next||this._cur._next===ue.Undefined)&&(this._cur=this._cur._next,!0)}_clear(e){e._prev&&e._prev!==ue.Undefined&&(e._prev._next=ue.Undefined,this._clear(e._prev),e._prev=ue.Undefined),e._next&&e._next!==ue.Undefined&&(e._next._prev=ue.Undefined,this._clear(e._next),e._next=ue.Undefined),e.data={}}clone(){return new e({})._cur=t(this._cur),this}destroy(){this._clear(this._cur)}}),"undefined"!=typeof window?window:void 0);var pe=Math.round;function me(e){const t=e.length,n=[];if("rgb"===e.slice(0,3).toLowerCase()){const t=e.match(/([\d|.%]{1,3})/g);n[0]=parseInt(t[0],10),n[1]=parseInt(t[1],10),n[2]=parseInt(t[2],10),n[3]=t[3]?-1!==t[3].indexOf("%")?parseInt(t[3],10)/100:parseFloat(t[3]):1}else{let s;s=t<6?parseInt(String(e[1])+e[1]+e[2]+e[2]+e[3]+e[3]+(t>4?String(e[4])+e[4]:""),16):parseInt(e.slice(1),16),n[0]=s>>16&255,n[1]=s>>8&255,n[2]=255&s,n[3]=9===t||5===t?pe((s>>24&255)/255*1e4)/1e4:1}return n}function fe(e){let t="";switch(e.split(".").pop()){case".wps":t="application/kswps";break;case".doc":t="application/msword";break;case".docx":t="application/vnd.openxmlformats-officedocument.wordprocessingml.document";break;case".txt":t="text/plain";break;case".zip":t="application/zip";break;case".png":t="image/png";break;case".gif":t="image/gif";break;case".jpeg":case".jpg":t="image/jpeg";break;case".rtf":t="application/rtf";break;case".avi":t="video/x-msvideo";break;case".gz":t="application/x-gzip";break;case".tar":t="application/x-tar";break;case".xlsx":t="application/vnd.ms-excel";break;default:t=""}return t}function ge(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t}function be(e){const t=a({multiple:!0,accept:""},e),n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("multiple","".concat(t.multiple)),n.setAttribute("accept",t.accept),n.onchange=e=>{const n=e.target,s=n.files?ge(n.files):[];0!==s.length&&(t.onSelected(s),n.value="")},document.body.appendChild(n),n.click(),document.body.removeChild(n)}e("CountLatch",class{constructor(){this.promise=null,this.resolve=null,this.count=0}startPromise(){this.promise=new Promise((e=>{this.resolve=e}))}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)throw new B("lock和unlock次数不匹配!");this.count-=1,0===this.count&&this.endPromise()}async await(){this.promise&&await this.promise}});var we={childrenFields:["children"]},ve=new Error("中断操作");function ye(e,t,n){try{!function(e,t,n){const{childrenFields:s}=r(we,n||{}),i=function(e,t){var n;for(const s of t)if(null==(n=e[s])?void 0:n.length)return e[s]}(e,s);if(null==i?void 0:i.length)for(const e of i){if(t(e))throw ve;ye(e,t,n)}}(e,t,n)}catch(e){if(e!==ve)throw e}}var Ee={...we,compareField:"name"};function _e(e){if(l(e)&&h(e.clone))return e.clone()}e("DataTypes",class{static isNumber(e){return["BIGINT","BINARY","DECIMAL","FLOAT","INT","MONEY","NUMERIC","REAL","SMALLINT","SMALLMONEY","TINYINT","VARBINARY"].includes(this.toString(e))}static isDate(e){return["DATETIME","SMALLDATETIME","DATE","TIME"].includes(this.toString(e))}static toString(e){return this.typeMap[e]}}).typeMap={0:"UNKNOWN",1:"BIGINT",2:"BINARY",3:"BIT",4:"CHAR",5:"DATETIME",6:"DECIMAL",7:"FLOAT",8:"IMAGE",9:"INT",10:"MONEY",11:"NCHAR",12:"NTEXT",13:"NVARCHAR",14:"NUMERIC",15:"REAL",16:"SMALLDATETIME",17:"SMALLINT",18:"SMALLMONEY",19:"SQL_VARIANT",20:"SYSNAME",21:"TEXT",22:"TIMESTAMP",23:"TINYINT",24:"VARBINARY",25:"VARCHAR",26:"UNIQUEIDENTIFIER",27:"DATE",28:"TIME",29:"BIGDECIMAL"};var xe={deep:!0};function Oe(e){return!(!e||e&e-1)}function Re(e){if(!Oe(e))throw new B("".concat(e,"不是2的幂"))}e("BitMask",{validate:Oe,setPermission:function(e=0,t){return Re(t),e|t},removePermission:function(e=0,t){return Re(t),e&~t},checkPermission:function(e=0,t){return Re(t),0!=(e&t)}});var Ae=w.noConflict();v.reg(Ae),v.apply(Ae);var Te=e("IBizSys",class{constructor(){this.env=D,this.log=Ae,this.net=new ie,this.commands=new P,this.mc=new se}})}}}));
1
+ System.register(["ramda","lodash-es","qx-util","axios","qs","loglevel","loglevel-plugin-prefix"],(function(e){"use strict";var t,n,s,r,i,a,o,c,l,h,u,d,p,m,f,g,b,w,v;return{setters:[function(e){t=e.clone,n=e.isNotNil,s=e.isNil,r=e.mergeDeepRight},function(e){i=e.debounce,a=e.merge,o=e.cloneDeepWith,c=e.cloneWith,l=e.isObject,h=e.isFunction,u=e.uniqueId,e.round,e.cloneDeep},function(e){d=e.getCookie,p=e.notNilEmpty,m=e.createUUID,f=e.QXEvent},function(e){g=e.default},function(e){b=e.default},function(e){w=e.default},function(e){v=e.default}],execute:function(){function y(e){let t,n,s,r=!1;return function(i){void 0===t?(t=i,n=0,s=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,i);const a=t.length;let o=0;for(;n<a;){r&&(10===t[n]&&(o=++n),r=!1);let i=-1;for(;n<a&&-1===i;++n)switch(t[n]){case 58:-1===s&&(s=n-o);break;case 13:r=!0;case 10:i=n}if(-1===i)break;e(t.subarray(o,i),s),o=n,s=-1}o===a?t=void 0:0!==o&&(t=t.subarray(o),n-=o)}}e({awaitTimeout:async function(e,t,n){if(await new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),t)return t(...n||[])},calcMimeByFileName:fe,calcOpenModeStyle:function(e,t){if(e>=0&&e<=100)return"".concat(e,"%");if(e>100)return"drawer"===t?e:"".concat(e,"px");return ibiz.log.error("无效输入值,必须>=0"),""},clone:function(e,t){if(r(xe,t||{}).deep)return o(e,_e);return c(e,_e)},colorBlend:function(e,t,n=.5,s="hex"){e=e.trim(),t=t.trim();const r=me(e),i=me(t),a=[pe((1-n)*r[0]+n*i[0]),pe((1-n)*r[1]+n*i[1]),pe((1-n)*r[2]+n*i[2]),(1-n)*r[3]+n*i[3]];if("hex"===s){const e=[a[0].toString(16).padStart(2,"0"),a[1].toString(16).padStart(2,"0"),a[2].toString(16).padStart(2,"0"),0===a[3]?"00":pe(255*a[3]).toString(16).padStart(2,"0")];return"#".concat(e[0]).concat(e[1]).concat(e[2]).concat(e[3])}return"rgb(".concat(a[0]," ").concat(a[1]," ").concat(a[2]," / ").concat(a[3],")")},compareArr:function(e,t,n){const s=new Set([...e,...t]),r=[],i=[],a=[];if(n){const o=e.map((e=>e[n])),c=t.map((e=>e[n]));s.forEach((e=>{o.includes(e[n])?c.includes(e[n])?a.push(e):r.push(e):i.push(e)}))}else s.forEach((n=>{e.includes(n)?t.includes(n)?a.push(n):r.push(n):i.push(n)}));return{more:r,less:i,same:a}},debounce:function(e,t,n){let s;return function(...r){if(s&&clearTimeout(s),n){const n=!s;s=setTimeout((()=>{s=null}),t),n&&e.apply(this,r)}else s=setTimeout((()=>{e.apply(this,r)}),t)}},debounceAndAsyncMerge:function(e,t,n){let s,r=[];const a=i((async(...t)=>{s=void 0;try{const n=await e(...t);return r.forEach((e=>{e.resolve(n)})),r=[],n}catch(e){r.forEach((t=>{t.reject(e)})),r=[]}}),n);return async(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,a(...n),new Promise(((e,t)=>{r.push({resolve:e,reject:t})}))}},debounceAndMerge:function(e,t,n){let s;const r=i(((...t)=>(s=void 0,e(...t))),n);return(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,r(...n)}},downloadFileFromBlob:function(e,t){const n=fe(t),s=new Blob([e],{type:n}),r=URL.createObjectURL(s),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)},eventPath:oe,fetchEventSource:R,fileListToArr:ge,findRecursiveChild:function(e,t,n){const{compareField:s,compareCallback:i}=r(Ee,n||{}),a=i||(e=>e[s]===t);let o;return ye(e,(e=>{if(a(e,t,s))return o=e,!0}),n),o},getToken:q,install:function(){if(window.ibiz)throw new Error("ibiz 已经存在, 无需重复安装");window.ibiz=new Te},isBase64Image:function(e){return/^data:image\/[a-zA-Z+]+;base64,([/+=\w\s]+|[^,]+)$/.test(e)},isElementSame:function(e,t,n){if(e.length!==t.length)return!1;const s=n?[...e.map((e=>e[n])),...t.map((e=>e[n]))]:[...e,...t];return Array.from(new Set(s)).length===e.length},isEventInside:le,isImage:function(e){const t=e.includes(".")?e.split(".").pop():"";if(!t)return!1;return["jpeg","jpg","gif","png","bmp","svg"].includes(t)},isOverlap:function(e,t){return Array.from(new Set([...e,...t])).length!==e.length+t.length},isSvg:function(e){return F.test(e)},listenJSEvent:ce,mergeDefaultInLeft:function(e,t){Object.keys(t).forEach((r=>{n(t[r])&&s(e[r])&&(e[r]=t[r])}))},mergeInLeft:function(e,t){Object.keys(t).forEach((s=>{n(t[s])&&(e[s]=t[s])}))},onClickOutside:function(e,t,n={}){const{window:s=de,ignore:r=[],capture:i=!0}=n;if(!e)throw new B("target元素不存在");if(!s)throw new B("找不到window");let a=!0;const o=t=>![e,...r].some((e=>le(t,e)));let c=!1;let l;const h=e=>{c||(s.clearTimeout(l),a&&o(e)&&t(e))},u=[ce(s,"click",h,{passive:!0,capture:i}),ce(s,"pointerdown",(e=>{c||(a=o(e))}),{passive:!0}),ce(s,"pointerup",(e=>{if(!c&&0===e.button){const t=oe(e);e.composedPath=()=>t,l=s.setTimeout((()=>h(e)),50)}}),{passive:!0})].filter(Boolean);return{stop:()=>u.forEach((e=>e())),pause:()=>{c=!0},proceed:()=>{c=!1}}},plus:function(e,t){let n,s;try{n=e.toString().split(".")[1].length}catch(e){n=0}try{s=t.toString().split(".")[1].length}catch(e){s=0}const r=10**Math.max(n,s);return(e*r+t*r)/r},recursiveIterate:ye,selectFile:be,setRemoteStyle:async function(e){try{const t=await ibiz.net.get(e),n=document.createElement("style");n.setAttribute("title","app-style-css"),n.innerText=t.data,document.head.appendChild(n)}catch(t){ibiz.log.debug("加载远程样式表失败",e)}},throttle:function(e,t){let n=null;return function(...s){n||(n=setTimeout((()=>{e.apply(this,s),n=null}),t))}},toDisposable:I,toNumberOrNil:function(e){if(s(e))return;const t=Number(e);if(Number.isNaN(t))return;return t},updateKeyDefine:function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))},uploadFile:function(e){const t=a({multiple:!0,accept:"",separate:!0,beforeUpload:(e,t)=>!0,finish:e=>{},success:(e,t)=>{},error:(e,t)=>{},progress:e=>{}},e),n=async e=>{const n=e.map((e=>({status:"uploading",name:e.name,uid:u(),percentage:0})));if(!t.beforeUpload(e,n))return n.forEach((e=>{e.status="cancel"})),ibiz.log.debug("取消上传",n),n;try{const s=await(async(e,n)=>{if(t.request&&h(t.request))return t.request(e);const s=new FormData;throw e.forEach((e=>{s.append("file",e)})),new B("多应用模式等待重新实现请求")})(e);n.forEach((e=>{e.status="finished"})),t.success(n,s),n.forEach((e=>{e.response=s}))}catch(s){n.forEach((e=>{e.status="fail"})),t.error(n,s),n.forEach((e=>{e.error=s})),ibiz.log.error(s),ibiz.log.error("".concat(e.map((e=>e.name)).join(","),"上传失败"))}return n};be({accept:t.accept,multiple:t.multiple,onSelected:e=>{(async e=>{const s=t.separate?e.map((e=>[e])):[e],r=await Promise.allSettled(s.map((async e=>n(e)))),i=[];r.forEach((e=>{"fulfilled"===e.status&&i.push(...e.value)})),t.finish(i)})(e)}})}});var E=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n},_=e("EventStreamContentType","text/event-stream"),x=1e3,O="last-event-id";function R(e,t){var{signal:n,headers:s,onopen:r,onmessage:i,onclose:a,onerror:o,openWhenHidden:c,fetch:l}=t,h=E(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,u)=>{const d=Object.assign({},s);let p;function m(){p.abort(),document.hidden||E()}d.accept||(d.accept=_),c||document.addEventListener("visibilitychange",m);let f=x,g=0;function b(){document.removeEventListener("visibilitychange",m),window.clearTimeout(g),p.abort()}null==n||n.addEventListener("abort",(()=>{b(),t()}));const w=null!=l?l:window.fetch,v=null!=r?r:A;async function E(){var n;p=new AbortController;try{const n=await w(e,Object.assign(Object.assign({},h),{headers:d,signal:p.signal}));await v(n),await async function(e,t){const n=e.getReader();let s;for(;!(s=await n.read()).done;)t(s.value)}(n.body,y(function(e,t,n){let s={data:"",event:"",id:"",retry:void 0};const r=new TextDecoder;return function(i,a){if(0===i.length)null==n||n(s),s={data:"",event:"",id:"",retry:void 0};else if(a>0){const n=r.decode(i.subarray(0,a)),o=a+(32===i[a+1]?2:1),c=r.decode(i.subarray(o));switch(n){case"data":s.data=s.data?s.data+"\n"+c:c;break;case"event":s.event=c;break;case"id":e(s.id=c);break;case"retry":const n=parseInt(c,10);isNaN(n)||t(s.retry=n)}}}}((e=>{e?d[O]=e:delete d[O]}),(e=>{f=e}),i))),null==a||a(),b(),t()}catch(e){if(!p.signal.aborted)try{const t=null!==(n=null==o?void 0:o(e))&&void 0!==n?n:f;window.clearTimeout(g),g=window.setTimeout(E,t)}catch(e){b(),u(e)}}}E()}))}function A(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(_)))throw new Error("Expected content-type to be ".concat(_,", Actual: ").concat(t))}var T=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};T.Undefined=new T(void 0);var C=T,U=e("LinkedList",class{constructor(){this._first=C.Undefined,this._last=C.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===C.Undefined}clear(){let e=this._first;for(;e!==C.Undefined;){const{next:t}=e;e.prev=C.Undefined,e.next=C.Undefined,e=t}this._first=C.Undefined,this._last=C.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new C(e);if(this._first===C.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(n))}}shift(){if(this._first===C.Undefined)return;const e=this._first.element;return this._remove(this._first),e}pop(){if(this._last===C.Undefined)return;const e=this._last.element;return this._remove(this._last),e}_remove(e){if(e.prev!==C.Undefined&&e.next!==C.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===C.Undefined&&e.next===C.Undefined?(this._first=C.Undefined,this._last=C.Undefined):e.next===C.Undefined?(this._last=this._last.prev,this._last.next=C.Undefined):e.prev===C.Undefined&&(this._first=this._first.next,this._first.prev=C.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==C.Undefined;)yield e.element,e=e.next}});function N(e){const t=this;let n,s=!1;return function(){return s||(s=!0,n=e.apply(t,arguments)),n}}function I(e){return{dispose:N((()=>{e()}))}}var M=e("CommandsRegistry",class{constructor(){this.commands=new Map}registerCommand(e,t,n){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t,opts:n})}const{id:s}=e;let r=this.commands.get(s);r||(r=new U,this.commands.set(s,r));const i=r.unshift(e);return I((()=>{i();const e=this.commands.get(s);(null==e?void 0:e.isEmpty())&&this.commands.delete(s)}))}hasCommand(e){return this.commands.has(e)}getCommand(e){const t=this.commands.get(e);if(t&&!t.isEmpty())return t[Symbol.iterator]().next().value}getCommands(){const e=new Map,t=this.commands.keys();for(const n of t){const t=this.getCommand(n);t&&e.set(n,t)}return e}getCommandOpt(e){const t=this.getCommand(e);return null==t?void 0:t.opts}}),S=e("CommandController",class{constructor(){this.commandRegister=new M}register(e,t,n){return this.commandRegister.registerCommand(e,t,n)}async execute(e,...t){const n=this.commandRegister.getCommand(e);if(n)return n.handler(...t);throw new Error("未注册指令: ".concat(e,",请先注册指令"))}hasCommand(e,t){const n=!!this.commandRegister.hasCommand(e);if(!0===t&&!0===n)throw new Error("未注册指令: ".concat(e,",请先注册指令"));return n}getCommandOpts(e){return this.commandRegister.getCommandOpt(e)}}),P=(e("commands",new S),e("CoreConst",class{}));P.DEFAULT_MODEL_SERVICE_TAG="default",P.TOKEN="ibzuaa-token",P.REFRESH_TOKEN="ibzuaa-refresh-token",P.TOKEN_EXPIRES="ibzuaa-token-expires",P.TOKEN_REMEMBER="ibizuaa-token-remember",P.IS_ANONYMOUS="ibizuaa-is-anonymous";var k=e("NOOP",(()=>{})),L=(e("HttpStatusMessageConst",{200:"服务器成功返回请求的数据。",201:"新建或修改数据成功。",202:"一个请求已经进入后台排队(异步任务)。",204:"删除数据成功。",400:"发出的请求有错误,服务器没有进行新建或修改数据的操作。",401:"用户没有权限(令牌、用户名、密码错误)。",403:"用户得到授权,但是访问是被禁止的。",404:"发出的请求针对的是不存在的记录,服务器没有进行操作。",406:"请求的格式不可得。",410:"请求的资源被永久删除,且不会再得到的。",422:"当创建一个对象时,发生一个验证错误。",500:"服务器发生错误,请检查服务器。",502:"网关错误。",503:"服务不可用,服务器暂时过载或维护。",504:"网关超时。"}),e("LoginMode",(e=>(e.DEFAULT="DEFAULT",e.CUSTOM="CUSTOM",e.CAS="CAS",e))(L||{}))),j=e("MenuPermissionMode",(e=>(e.MIXIN="MIXIN",e.RESOURCE="RESOURCE",e.RT="RT",e))(j||{})),D=(e("IBizContext",class e{constructor(e={},t){Object.defineProperty(this,"_associationContext",{enumerable:!1,value:[]}),t&&this.initWithParent(t),Object.assign(this,e)}initWithParent(e){const t=this;Object.defineProperty(this,"_parent",{enumerable:!1,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!1,writable:!0,value:{}});const n={};Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||(n[e]={enumerable:!0,set(n){t._context[e]=null==n?null:n},get:()=>void 0!==t._context[e]?t._context[e]:t._parent[e]})})),Object.defineProperties(this,n)}getOwnContext(){const e={};return Object.keys(this).forEach((t=>{this._parent&&Object.prototype.hasOwnProperty.call(this._parent,t)&&!Object.prototype.hasOwnProperty.call(this._context,t)||(e[t]=this[t])})),e}destroy(){this._parent=void 0,this._context={},this._associationContext.forEach((e=>{e.destroy()}))}clone(){const n=new e(t(this.getOwnContext()),this._parent);return this._associationContext.push(n),n}reset(e={},t){this._associationContext.forEach((e=>{e.destroy()})),this._parent&&(this._parent={},this._context={}),Object.keys(this).forEach((e=>{try{delete this[e]}catch(e){}})),t&&this.initWithParent(t),Object.assign(this,e)}static create(t,n){return new e(t,n)}}),e("IBizParams",class{constructor(e,t){return Object.defineProperty(this,"_parent",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_params",{enumerable:!1,configurable:!0,writable:!0,value:e||{}}),this.createProxy()}createProxy(){return new Proxy(this,{set:(e,t,n)=>(["_params","_parent"].includes(t)?e[t]=n:e._params[t]=n,!0),get:(e,t,n)=>void 0!==e[t]?e[t]:void 0!==e._params[t]?e._params[t]:e._parent&&void 0!==e._parent[t]?e._parent[t]:void 0,ownKeys(e){const t=[...new Set([...Object.keys(e._params),...Object.keys(e._parent||{})])];return function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))}(e,t),t}})}reset(e,t){this._params=e||{},this._parent=t}destroy(){this._params={},this._parent=void 0}}),e("Environment",{dev:!1,hub:!0,enableMqtt:!1,mqttUrl:"/portal/mqtt/mqtt",isEnableMultiLan:!1,anonymousUser:"",anonymousPwd:"",enableAnonymous:!1,logLevel:"ERROR",baseUrl:"/api",appId:"",pluginBaseUrl:"http://172.16.240.221",isLocalModel:!1,remoteModelUrl:"/remotemodel",assetsUrl:"./assets",dcSystem:"",downloadFileUrl:"/ibizutil/download/{cat}",uploadFileUrl:"/ibizutil/upload/{cat}",casLoginUrl:"",loginMode:"DEFAULT",menuPermissionMode:"MIXIN",enablePermission:!0,routePlaceholder:"-",enableWfAllHistory:!1,isMob:!1,isSaaSMode:!0,AppTitle:"应用",favicon:"./favicon.ico"})),z=e("HttpError",class extends Error{constructor(e){super("HttpError"),this.name="HttpError";const t=e.response;this.response=e.response,t?(t.data?this.message=t.data.message:this.message=t.statusText,this.message||(this.message="网络异常,请稍后重试!"),this.status=t.status):(this.message=e.message||"",this.status=500)}}),B=(e("ModelError",class extends Error{constructor(e,t){super("「".concat(e.id,"」模型").concat(t?": ".concat(t):"")),this.model=e,this.name="未支持的模型"}}),e("RuntimeError",class extends Error{constructor(e){super(e),this.message=e,this.name="Runtime Error"}}));e("RuntimeModelError",class extends Error{constructor(e,t){super("「".concat(e.id,"」模型").concat(t?": ".concat(t):"")),this.model=e,this.name="模型配置缺失"}}),e("NoticeError",class extends Error{constructor(e,t){super(e),this.message=e,this.duration=t,this.name="notice Error"}});function q(){return d(P.TOKEN)}var F=/<svg\b[^>]*>[\s\S]*?<\/svg>/;var H=e("Interceptor",class{async onBeforeRequest(e){return e}onRequestError(e){return Promise.reject(e)}async onResponseSuccess(e){return e}onResponseError(e){return Promise.reject(e)}use(e){this.requestTag=e.interceptors.request.use(this.onBeforeRequest,this.onRequestError),this.responseTag=e.interceptors.response.use(this.onResponseSuccess,this.onResponseError)}eject(e){this.requestTag&&e.interceptors.request.eject(this.requestTag),this.responseTag&&e.interceptors.response.eject(this.responseTag)}}),V=e("CoreInterceptor",class extends H{async onBeforeRequest(e){e=await super.onBeforeRequest(e);const{headers:t}=e;t.set("Authorization","Bearer ".concat(q()));let n=ibiz.env.dcSystem;const{orgData:s}=ibiz;return s&&(s.systemid&&(n=s.systemid),s.orgid&&t.set("srforgid",s.orgid)),t.set("srfsystemid",n),e}}),W=class{constructor(e){this.parent=e,this.evt=new f(1e3)}next(e){this.evt.emit("all",e),this.parent&&this.nextParent(e)}nextParent(e){this.parent&&(this.parent.evt.emit("all",e),this.parent.nextParent(e))}on(e){this.evt.on("all",e)}off(e){this.evt.off("all",e)}},Y=class extends W{},J=class extends W{sendCommand(e,t){const n={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,data:e};this.next(n)}},K=class extends J{send(e){this.sendCommand(e,"OBJECTCREATED")}},$=class extends J{send(e){this.sendCommand(e,"OBJECTUPDATED")}},G=class extends J{send(e){this.sendCommand(e,"OBJECTREMOVED")}},X=class extends J{},Z=class extends J{send(e){this.sendCommand(e,"ASYNCACTION")}},Q=class extends J{send(e){this.sendCommand(e,"INTERNALMESSAGE")}},ee=class extends J{send(e){this.sendCommand(e,"MARKOPENDATA")}},te=class extends W{constructor(){super(...arguments),this.change=new X,this.create=new K(this),this.update=new $(this),this.remove=new G(this),this.asyncAction=new Z(this),this.internalMessage=new Q(this),this.markOpenData=new ee(this)}next(e){switch(e.subtype){case"OBJECTCREATED":this.create.next(e),this.change.next(e);break;case"OBJECTUPDATED":this.update.next(e),this.change.next(e);break;case"OBJECTREMOVED":this.remove.next(e),this.change.next(e);break;case"ASYNCACTION":this.asyncAction.next(e);break;case"INTERNALMESSAGE":this.internalMessage.next(e);break;case"MARKOPENDATA":this.markOpenData.next(e);break;default:super.next(e)}}nextParent(e){switch(e.subtype){case"OBJECTCREATED":case"OBJECTUPDATED":case"OBJECTREMOVED":this.change.next(e)}super.nextParent(e)}send(e,t){const n={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,data:e};this.next(n)}},ne=class extends W{send(e){const t={messageid:m(),messagename:"console",type:"CONSOLE",data:e};this.next(t)}},se=e("MessageCenter",class{constructor(){this.all=new Y,this.command=new te(this.all),this.console=new ne(this.all)}next(e){"COMMAND"===e.type?this.command.next(e):"CONSOLE"===e.type?this.console.next(e):this.all.next(e)}on(e){this.all.on(e)}off(e){this.all.off(e)}});function re(e,t,n,s,r){let i="".concat(e,"-").concat(t);return n&&(i+="-".concat(n)),s&&(i+="__".concat(s)),r&&(i+="--".concat(r)),i}e("Namespace",class{constructor(e,t){this.block=e,this.namespace=t||"ibiz"}b(e=""){return re(this.namespace,this.block,e,"","")}e(e){return e?re(this.namespace,this.block,"",e,""):""}m(e){return e?re(this.namespace,this.block,"","",e):""}be(e,t){return e&&t?re(this.namespace,this.block,e,t,""):""}em(e,t){return e&&t?re(this.namespace,this.block,"",e,t):""}bm(e,t){return e&&t?re(this.namespace,this.block,e,"",t):""}bem(e,t,n){return e&&t&&n?re(this.namespace,this.block,e,t,n):""}is(e,t){return e&&t?"".concat("is-").concat(e):""}cssVar(e){const t={};for(const n in e)e[n]&&(t[this.cssVarName(n)]=e[n]);return t}cssVarBlock(e){const t={};for(const n in e)e[n]&&(t[this.cssVarBlockName(n)]=e[n]);return t}cssVarName(e){return"--".concat(this.namespace,"-").concat(e)}cssVarBlockName(e){return"--".concat(this.namespace,"-").concat(this.block,"-").concat(e)}}),e("HttpResponse",class{constructor(e,t,n){this.local=!0,this.ok=!1,this.headers={},this.config={headers:new g.AxiosHeaders},this.data=e,this.status=t||200,this.statusText=n||"",this.status>=200&&this.status<300&&(this.ok=!0)}});var ie=e("Net",class{constructor(e){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.waitRequest=new Map,this.interceptors=new Map,this.instance=g.create(e),this.addInterceptor("Default",new V)}get baseUrl(){return this.instance.defaults.baseURL||"".concat(ibiz.env.baseUrl,"/").concat(ibiz.env.appId)}addInterceptor(e,t){t.use(this.instance),this.interceptors.set(e,t)}removeInterceptor(e){const t=this.interceptors.get(e);t&&(t.eject(this.instance),this.interceptors.delete(e))}get presetConfig(){return{baseURL:this.baseUrl,headers:{"Content-Type":"application/json;charset=UTF-8",Accept:"application/json"}}}mergeConfig(...e){const t=this.presetConfig;if(0===e.length)return t;const{url:n}=e[0];return n&&this.urlReg.test(n)&&delete t.baseURL,a(t,...e)}async post(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"post",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw new z(e)}}async get(e,t={},n={},s={}){e=this.attachUrlParam(e,t);try{const t=await this.request(e,a({method:"get",headers:n},s));return this.doResponseResult(t)}catch(e){throw new z(e)}}async delete(e,t,n={}){e=this.handleAppPresetParam(e,t);try{const t=await this.request(e,{method:"delete",headers:n});return this.doResponseResult(t)}catch(e){throw new z(e)}}async put(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"put",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw new z(e)}}async getModel(e,t={}){try{const n=await this.instance.get(e,{headers:t});return this.doResponseResult(n)}catch(e){throw new z(e)}}async request(e,t={}){const n=this.mergeConfig({url:e},t),s=JSON.stringify(n);try{let e=null;this.waitRequest.has(s)?e=this.waitRequest.get(s):(e=this.instance.request(n),this.waitRequest.set(s,e));const t=await e;return this.waitRequest.has(s)&&this.waitRequest.delete(s),this.doResponseResult(t)}catch(e){throw this.waitRequest.has(s)&&this.waitRequest.delete(s),new z(e)}}axios(e){return g(e)}async sse(e,t,n={}){e=this.attachUrlParam(this.baseUrl+e,t),n.headers||(n.headers={});const s=n.headers;{s.Authorization="Bearer ".concat(q());let e=ibiz.env.dcSystem;const{orgData:t}=ibiz;t&&(t.systemid&&(e=t.systemid),t.orgid&&(s.srforgid=t.orgid)),s.srfsystemid=e}const i=r({openWhenHidden:!0,method:"POST"},n);await R(e,i)}doResponseResult(e){const t=e;if(t.status>=200&&t.status<=299){t.ok=!0;const e=t.data;""!==e&&null!==e||(t.data=void 0)}return t}handleAppPresetParam(e,t){return t?this.attachUrlParam(e,t):e}attachUrlParam(e,t){{const t=e.split("?");t[0]=t[0].split("/").map((e=>encodeURIComponent(e))).join("/"),e=t.length>1?t.join("?"):t[0]}const n=b.stringify(t);return p(n)&&(e=e.endsWith("?")||-1!==e.indexOf("?")&&e.endsWith("&")?"".concat(e).concat(n):-1===e.indexOf("?")||e.endsWith("&")?"".concat(e,"?").concat(n):"".concat(e,"&").concat(n)),e}}),ae=e("StringUtil",class{static fill(e,t,n){if(p(e)){if(p(t)){const n=e.match(this.contextReg);null==n||n.forEach((n=>{const s=n.slice(10,n.length-1);e=e.replace("${context.".concat(s,"}"),t[s]||"")}))}if(p(n)){const t=e.match(this.dataReg);null==t||t.forEach((t=>{const s=t.slice(7,t.length-1);e=e.replace("${data.".concat(s,"}"),n[s]||"")}))}}return e}});ae.contextReg=/\$\{context.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g,ae.dataReg=/\$\{data.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;e("UrlHelper",class{static get routeBase(){const e=window.location.href.lastIndexOf("#/");return window.location.href.slice(0,e+1)}static get appBase(){const{origin:e,pathname:t}=window.location;return"".concat(e).concat(t).replace(/\/$/,"")}static get routePath(){return window.location.hash.replace("#","")}static get fullPath(){return window.location.href}});function oe(e){const t=e.composedPath&&e.composedPath()||e.path;if(null!=t)return t;return[e.target].concat(function e(t,n=[]){const s=t.parentNode;return s?e(s,n.concat([s])):n}(e.target))}function ce(e,t,n,s={}){e.addEventListener(t,n,s);let r=()=>{e.removeEventListener(t,n,s),r=k};return()=>{r()}}function le(e,t){return t&&(e.target===t||oe(e).includes(t))}var he=class e{constructor(t={}){this.data=t,this._prev=e.Undefined,this._next=e.Undefined}clone(){throw new B("未实现")}};he.Undefined=new he(void 0);var ue=e("HistoryItem",he),de=(e("HistoryList",class e{get data(){return this._cur.data}constructor(e){this._cur=new ue(e)}assign(e){e&&(this.save(),Object.assign(this._cur.data,e))}save(){const e=this._cur,n=t(e.data),s=new ue(n);s._prev=e,e._next._prev=ue.Undefined,this._clear(e._next),e._next=s,this._cur=s}prev(){return!(!this._cur._prev||this._cur._prev===ue.Undefined)&&(this._cur=this._cur._prev,!0)}next(){return!(!this._cur._next||this._cur._next===ue.Undefined)&&(this._cur=this._cur._next,!0)}_clear(e){e._prev&&e._prev!==ue.Undefined&&(e._prev._next=ue.Undefined,this._clear(e._prev),e._prev=ue.Undefined),e._next&&e._next!==ue.Undefined&&(e._next._prev=ue.Undefined,this._clear(e._next),e._next=ue.Undefined),e.data={}}clone(){return new e({})._cur=t(this._cur),this}destroy(){this._clear(this._cur)}}),"undefined"!=typeof window?window:void 0);var pe=Math.round;function me(e){const t=e.length,n=[];if("rgb"===e.slice(0,3).toLowerCase()){const t=e.match(/([\d|.%]{1,3})/g);n[0]=parseInt(t[0],10),n[1]=parseInt(t[1],10),n[2]=parseInt(t[2],10),n[3]=t[3]?-1!==t[3].indexOf("%")?parseInt(t[3],10)/100:parseFloat(t[3]):1}else{let s;s=t<6?parseInt(String(e[1])+e[1]+e[2]+e[2]+e[3]+e[3]+(t>4?String(e[4])+e[4]:""),16):parseInt(e.slice(1),16),n[0]=s>>16&255,n[1]=s>>8&255,n[2]=255&s,n[3]=9===t||5===t?pe((s>>24&255)/255*1e4)/1e4:1}return n}function fe(e){let t="";switch(e.includes(".")?e.split(".").pop():""){case"wps":t="application/kswps";break;case"doc":t="application/msword";break;case"docx":t="application/vnd.openxmlformats-officedocument.wordprocessingml.document";break;case"txt":t="text/plain";break;case"zip":t="application/zip";break;case"png":t="image/png";break;case"gif":t="image/gif";break;case"jpeg":case"jpg":t="image/jpeg";break;case"rtf":t="application/rtf";break;case"avi":t="video/x-msvideo";break;case"gz":t="application/x-gzip";break;case"tar":t="application/x-tar";break;case"xlsx":t="application/vnd.ms-excel";break;default:t=""}return t}function ge(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t}function be(e){const t=a({multiple:!0,accept:""},e),n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("multiple","".concat(t.multiple)),n.setAttribute("accept",t.accept),n.onchange=e=>{const n=e.target,s=n.files?ge(n.files):[];0!==s.length&&(t.onSelected(s),n.value="")},document.body.appendChild(n),n.click(),document.body.removeChild(n)}e("CountLatch",class{constructor(){this.promise=null,this.resolve=null,this.count=0}startPromise(){this.promise=new Promise((e=>{this.resolve=e}))}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)throw new B("lock和unlock次数不匹配!");this.count-=1,0===this.count&&this.endPromise()}async await(){this.promise&&await this.promise}});var we={childrenFields:["children"]},ve=new Error("中断操作");function ye(e,t,n){try{!function(e,t,n){const{childrenFields:s}=r(we,n||{}),i=function(e,t){var n;for(const s of t)if(null==(n=e[s])?void 0:n.length)return e[s]}(e,s);if(null==i?void 0:i.length)for(const e of i){if(t(e))throw ve;ye(e,t,n)}}(e,t,n)}catch(e){if(e!==ve)throw e}}var Ee={...we,compareField:"name"};function _e(e){if(l(e)&&h(e.clone))return e.clone()}e("DataTypes",class{static isNumber(e){return["BIGINT","BINARY","DECIMAL","FLOAT","INT","MONEY","NUMERIC","REAL","SMALLINT","SMALLMONEY","TINYINT","VARBINARY"].includes(this.toString(e))}static isDate(e){return["DATETIME","SMALLDATETIME","DATE","TIME"].includes(this.toString(e))}static toString(e){return this.typeMap[e]}}).typeMap={0:"UNKNOWN",1:"BIGINT",2:"BINARY",3:"BIT",4:"CHAR",5:"DATETIME",6:"DECIMAL",7:"FLOAT",8:"IMAGE",9:"INT",10:"MONEY",11:"NCHAR",12:"NTEXT",13:"NVARCHAR",14:"NUMERIC",15:"REAL",16:"SMALLDATETIME",17:"SMALLINT",18:"SMALLMONEY",19:"SQL_VARIANT",20:"SYSNAME",21:"TEXT",22:"TIMESTAMP",23:"TINYINT",24:"VARBINARY",25:"VARCHAR",26:"UNIQUEIDENTIFIER",27:"DATE",28:"TIME",29:"BIGDECIMAL"};var xe={deep:!0};function Oe(e){return!(!e||e&e-1)}function Re(e){if(!Oe(e))throw new B("".concat(e,"不是2的幂"))}e("BitMask",{validate:Oe,setPermission:function(e=0,t){return Re(t),e|t},removePermission:function(e=0,t){return Re(t),e&~t},checkPermission:function(e=0,t){return Re(t),0!=(e&t)}});var Ae=w.noConflict();v.reg(Ae),v.apply(Ae);var Te=e("IBizSys",class{constructor(){this.env=D,this.log=Ae,this.net=new ie,this.commands=new S,this.mc=new se}})}}}));
@@ -1,3 +1,4 @@
1
+ import { LogLevelDesc } from 'loglevel';
1
2
  /**
2
3
  * devtool的配置对象
3
4
  * @author lxm
@@ -13,5 +14,19 @@ export interface IDevToolConfig {
13
14
  * @type {string}
14
15
  */
15
16
  studioBaseUrl?: string;
17
+ /**
18
+ * 模型预览宽度
19
+ * @return {*}
20
+ * @author: zhujiamin
21
+ * @Date: 2024-02-20 13:28:20
22
+ */
23
+ modelPreviewWidth?: number;
24
+ /**
25
+ * 日志级别
26
+ * @return {*}
27
+ * @author: zhujiamin
28
+ * @Date: 2024-02-20 13:28:20
29
+ */
30
+ logLevel?: LogLevelDesc;
16
31
  }
17
32
  //# sourceMappingURL=i-devtool-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-devtool-config.d.ts","sourceRoot":"","sources":["../../../src/interface/i-devtool-config/i-devtool-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"i-devtool-config.d.ts","sourceRoot":"","sources":["../../../src/interface/i-devtool-config/i-devtool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB"}
@@ -1,5 +1,12 @@
1
1
  /**
2
2
  * 检查权限码是否有效
3
+ *
4
+ * @description 检查权限码是否是2的幂
5
+ * @example
6
+ * ```typescript
7
+ * validate(1) // => true
8
+ * validate(3) // => false
9
+ * ```
3
10
  * @author lxm
4
11
  * @date 2023-11-10 10:49:57
5
12
  * @static
@@ -8,6 +15,13 @@
8
15
  declare function validate(permission: number): boolean;
9
16
  /**
10
17
  * 设置权限
18
+ *
19
+ * @description 数字转二进制后进行|运算, 设置对应bit位为1(bit位为1代表有权限,bit位为0代表没有权限)
20
+ * @example
21
+ * ```typescript
22
+ * setPermission(0, 1) // => 1
23
+ * setPermission(1, 4) // => 5
24
+ * ```
11
25
  * @author lxm
12
26
  * @date 2023-11-10 10:50:22
13
27
  * @static
@@ -18,6 +32,12 @@ declare function validate(permission: number): boolean;
18
32
  declare function setPermission(allPermissions: number | undefined, permission: number): number;
19
33
  /**
20
34
  * 移出权限
35
+ * @description 数字转二进制后进行取反并且进行&运算, 设置对应bit位为0(bit位为1代表有权限,bit位为0代表没有权限)
36
+ * @example
37
+ * ```typescript
38
+ * removePermission(9, 1) // => 8
39
+ * removePermission(17, 16) // => 1
40
+ * ```
21
41
  * @author lxm
22
42
  * @date 2023-11-10 10:50:45
23
43
  * @static
@@ -28,6 +48,13 @@ declare function setPermission(allPermissions: number | undefined, permission: n
28
48
  declare function removePermission(allPermissions: number | undefined, permission: number): number;
29
49
  /**
30
50
  * 检查是否有某个权限
51
+ *
52
+ * @description 数字转二进制后进行&运算,为1则有权限,为0则没有权限
53
+ * @example
54
+ * ```typescript
55
+ * checkPermission(0, 1) // => false
56
+ * checkPermission(5, 4) // => true
57
+ * ```
31
58
  * @author lxm
32
59
  * @date 2023-11-10 10:50:46
33
60
  * @static
@@ -1 +1 @@
1
- {"version":3,"file":"bit-mask.d.ts","sourceRoot":"","sources":["../../../src/utils/bit-mask/bit-mask.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,iBAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7C;AAiBD;;;;;;;;GAQG;AACH,iBAAS,aAAa,CAAC,cAAc,oBAAY,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,cAAc,oBAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CACtB,cAAc,oBAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAGT;AAED,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC"}
1
+ {"version":3,"file":"bit-mask.d.ts","sourceRoot":"","sources":["../../../src/utils/bit-mask/bit-mask.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,iBAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7C;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,aAAa,CAAC,cAAc,oBAAY,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG7E;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAS,gBAAgB,CACvB,cAAc,oBAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,eAAe,CACtB,cAAc,oBAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAGT;AAED,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC"}
@@ -3,6 +3,13 @@
3
3
  import { RuntimeError } from '../../error';
4
4
  /**
5
5
  * 检查权限码是否有效
6
+ *
7
+ * @description 检查权限码是否是2的幂
8
+ * @example
9
+ * ```typescript
10
+ * validate(1) // => true
11
+ * validate(3) // => false
12
+ * ```
6
13
  * @author lxm
7
14
  * @date 2023-11-10 10:49:57
8
15
  * @static
@@ -27,6 +34,13 @@ function validateAndThrow(permission) {
27
34
  }
28
35
  /**
29
36
  * 设置权限
37
+ *
38
+ * @description 数字转二进制后进行|运算, 设置对应bit位为1(bit位为1代表有权限,bit位为0代表没有权限)
39
+ * @example
40
+ * ```typescript
41
+ * setPermission(0, 1) // => 1
42
+ * setPermission(1, 4) // => 5
43
+ * ```
30
44
  * @author lxm
31
45
  * @date 2023-11-10 10:50:22
32
46
  * @static
@@ -40,6 +54,12 @@ function setPermission(allPermissions = 0, permission) {
40
54
  }
41
55
  /**
42
56
  * 移出权限
57
+ * @description 数字转二进制后进行取反并且进行&运算, 设置对应bit位为0(bit位为1代表有权限,bit位为0代表没有权限)
58
+ * @example
59
+ * ```typescript
60
+ * removePermission(9, 1) // => 8
61
+ * removePermission(17, 16) // => 1
62
+ * ```
43
63
  * @author lxm
44
64
  * @date 2023-11-10 10:50:45
45
65
  * @static
@@ -53,6 +73,13 @@ function removePermission(allPermissions = 0, permission) {
53
73
  }
54
74
  /**
55
75
  * 检查是否有某个权限
76
+ *
77
+ * @description 数字转二进制后进行&运算,为1则有权限,为0则没有权限
78
+ * @example
79
+ * ```typescript
80
+ * checkPermission(0, 1) // => false
81
+ * checkPermission(5, 4) // => true
82
+ * ```
56
83
  * @author lxm
57
84
  * @date 2023-11-10 10:50:46
58
85
  * @static
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color/color.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,CAAC,SAAM,EACP,MAAM,GAAE,KAAK,GAAG,KAAa,GAC5B,MAAM,CAqBR"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color/color.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,CAAC,SAAM,EACP,MAAM,GAAE,KAAK,GAAG,KAAa,GAC5B,MAAM,CAyBR"}
@@ -65,10 +65,14 @@ export function colorBlend(color1, color2, p = 0.5, format = 'hex') {
65
65
  ];
66
66
  if (format === 'hex') {
67
67
  const hex = [
68
- result[0].toString(16),
69
- result[1].toString(16),
70
- result[2].toString(16),
71
- result[3] === 0 ? '00' : r(result[3] * 255).toString(16),
68
+ result[0].toString(16).padStart(2, '0'),
69
+ result[1].toString(16).padStart(2, '0'),
70
+ result[2].toString(16).padStart(2, '0'),
71
+ result[3] === 0
72
+ ? '00'
73
+ : r(result[3] * 255)
74
+ .toString(16)
75
+ .padStart(2, '0'),
72
76
  ];
73
77
  return `#${hex[0]}${hex[1]}${hex[2]}${hex[3]}`;
74
78
  }
@@ -8,50 +8,50 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export function calcMimeByFileName(fileName) {
11
- const ext = fileName.split('.').pop();
11
+ const ext = fileName.includes('.') ? fileName.split('.').pop() : '';
12
12
  let mime = '';
13
13
  switch (ext) {
14
- case '.wps':
14
+ case 'wps':
15
15
  mime = 'application/kswps';
16
16
  break;
17
- case '.doc':
17
+ case 'doc':
18
18
  mime = 'application/msword';
19
19
  break;
20
- case '.docx':
20
+ case 'docx':
21
21
  mime =
22
22
  'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
23
23
  break;
24
- case '.txt':
24
+ case 'txt':
25
25
  mime = 'text/plain';
26
26
  break;
27
- case '.zip':
27
+ case 'zip':
28
28
  mime = 'application/zip';
29
29
  break;
30
- case '.png':
30
+ case 'png':
31
31
  mime = 'image/png';
32
32
  break;
33
- case '.gif':
33
+ case 'gif':
34
34
  mime = 'image/gif';
35
35
  break;
36
- case '.jpeg':
36
+ case 'jpeg':
37
37
  mime = 'image/jpeg';
38
38
  break;
39
- case '.jpg':
39
+ case 'jpg':
40
40
  mime = 'image/jpeg';
41
41
  break;
42
- case '.rtf':
42
+ case 'rtf':
43
43
  mime = 'application/rtf';
44
44
  break;
45
- case '.avi':
45
+ case 'avi':
46
46
  mime = 'video/x-msvideo';
47
47
  break;
48
- case '.gz':
48
+ case 'gz':
49
49
  mime = 'application/x-gzip';
50
50
  break;
51
- case '.tar':
51
+ case 'tar':
52
52
  mime = 'application/x-tar';
53
53
  break;
54
- case '.xlsx':
54
+ case 'xlsx':
55
55
  mime = 'application/vnd.ms-excel';
56
56
  break;
57
57
  default:
@@ -69,11 +69,11 @@ export function calcMimeByFileName(fileName) {
69
69
  * @returns {*} {boolean}
70
70
  */
71
71
  export function isImage(fileName) {
72
- const ext = fileName.split('.').pop();
72
+ const ext = fileName.includes('.') ? fileName.split('.').pop() : '';
73
73
  if (!ext) {
74
74
  return false;
75
75
  }
76
- const imageTypes = ['.jpeg', 'jpg', 'gif', 'png', 'bmp', 'svg'];
76
+ const imageTypes = ['jpeg', 'jpg', 'gif', 'png', 'bmp', 'svg'];
77
77
  return imageTypes.includes(ext);
78
78
  }
79
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"history-item.d.ts","sourceRoot":"","sources":["../../../src/utils/history-list/history-item.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC;IAExB,MAAM,CAAC,QAAQ,CAAC,SAAS,mBAAmC;IAE5D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,EAAE,CAAC,CAAC;gBAEI,IAAI,GAAE,OAAY;IAM9B;;;;;;OAMG;IACH,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;CAUxB"}
1
+ {"version":3,"file":"history-item.d.ts","sourceRoot":"","sources":["../../../src/utils/history-list/history-item.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC;IAExB,MAAM,CAAC,QAAQ,CAAC,SAAS,mBAAmC;IAE5D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAEtB,IAAI,EAAE,CAAC,CAAC;gBAEI,IAAI,GAAE,OAAY;IAM9B;;;;;;OAMG;IACH,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;CAWxB"}
@@ -1,4 +1,4 @@
1
- import { clone } from 'ramda';
1
+ import { RuntimeError } from '../../error';
2
2
  /**
3
3
  * 历史项
4
4
  *
@@ -22,14 +22,15 @@ export class HistoryItem {
22
22
  * @return {*} {HistoryItem<E>}
23
23
  */
24
24
  clone() {
25
- const history = new HistoryItem(clone(this.data));
26
- if (history._prev && history._prev !== HistoryItem.Undefined) {
27
- history._prev = clone(this._prev);
28
- }
29
- if (history._next && history._next !== HistoryItem.Undefined) {
30
- history._next = clone(this._next);
31
- }
32
- return history;
25
+ // const history = new HistoryItem<E>(clone(this.data));
26
+ // if (history._prev && history._prev !== HistoryItem.Undefined) {
27
+ // history._prev = clone(this._prev);
28
+ // }
29
+ // if (history._next && history._next !== HistoryItem.Undefined) {
30
+ // history._next = clone(this._next);
31
+ // }
32
+ // return history;
33
+ throw new RuntimeError('未实现');
33
34
  }
34
35
  }
35
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any