@next-bricks/visual-builder 1.22.2 → 1.24.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.
Files changed (74) hide show
  1. package/dist/bricks.json +6 -5
  2. package/dist/chunks/{2252.395062aa.js → 2252.6c4f85f9.js} +3 -3
  3. package/dist/chunks/{2252.395062aa.js.map → 2252.6c4f85f9.js.map} +1 -1
  4. package/dist/chunks/{2980.fb2388ef.js → 2980.56778607.js} +2 -2
  5. package/dist/chunks/{2980.fb2388ef.js.map → 2980.56778607.js.map} +1 -1
  6. package/dist/chunks/{4837.c33c686f.js → 4837.df62d8e1.js} +2 -2
  7. package/dist/chunks/{4837.c33c686f.js.map → 4837.df62d8e1.js.map} +1 -1
  8. package/dist/chunks/{4947.87265cf9.js → 4947.8af23d2e.js} +3 -3
  9. package/dist/chunks/{4947.87265cf9.js.map → 4947.8af23d2e.js.map} +1 -1
  10. package/dist/chunks/5399.3fbcbf7e.js +2 -0
  11. package/dist/chunks/5399.3fbcbf7e.js.map +1 -0
  12. package/dist/chunks/{7218.9d0d0c2a.js → 7218.57b21ecf.js} +2 -2
  13. package/dist/chunks/{7218.9d0d0c2a.js.map → 7218.57b21ecf.js.map} +1 -1
  14. package/dist/chunks/859.bc26cb2d.js +3 -0
  15. package/dist/chunks/859.bc26cb2d.js.map +1 -0
  16. package/dist/chunks/8850.1d30fe19.js +3 -0
  17. package/dist/chunks/8850.1d30fe19.js.LICENSE.txt +34 -0
  18. package/dist/chunks/8850.1d30fe19.js.map +1 -0
  19. package/dist/chunks/{9027.85831c10.js → 9027.21af2a5d.js} +2 -2
  20. package/dist/chunks/{9027.85831c10.js.map → 9027.21af2a5d.js.map} +1 -1
  21. package/dist/chunks/{9515.7f8e4c58.js → 9515.80c4b472.js} +2 -2
  22. package/dist/chunks/{9515.7f8e4c58.js.map → 9515.80c4b472.js.map} +1 -1
  23. package/dist/chunks/{chat-preview.e4753612.js → chat-preview.75a05ac5.js} +3 -3
  24. package/dist/chunks/{chat-preview.e4753612.js.map → chat-preview.75a05ac5.js.map} +1 -1
  25. package/dist/chunks/{check-editor-by-name.928b7a67.js → check-editor-by-name.151786ec.js} +2 -2
  26. package/dist/chunks/{check-editor-by-name.928b7a67.js.map → check-editor-by-name.151786ec.js.map} +1 -1
  27. package/dist/chunks/{contract-select.148bab93.js → contract-select.b4daeecc.js} +3 -3
  28. package/dist/chunks/{contract-select.148bab93.js.map → contract-select.b4daeecc.js.map} +1 -1
  29. package/dist/chunks/get-dependency-tree.a0216e9a.js +2 -0
  30. package/dist/chunks/get-dependency-tree.a0216e9a.js.map +1 -0
  31. package/dist/chunks/main.7d000bed.js +2 -0
  32. package/dist/chunks/{main.99faedc6.js.map → main.7d000bed.js.map} +1 -1
  33. package/dist/chunks/{pre-generated-container.12850429.js → pre-generated-container.d8e62dfd.js} +2 -2
  34. package/dist/chunks/{pre-generated-container.12850429.js.map → pre-generated-container.d8e62dfd.js.map} +1 -1
  35. package/dist/chunks/{pre-generated-preview.99a84845.js → pre-generated-preview.78d438ab.js} +3 -3
  36. package/dist/chunks/{pre-generated-preview.99a84845.js.map → pre-generated-preview.78d438ab.js.map} +1 -1
  37. package/dist/chunks/property-editor.4015f465.js +2 -0
  38. package/dist/chunks/property-editor.4015f465.js.map +1 -0
  39. package/dist/chunks/{workbench-action-list.980559dc.js → workbench-action-list.29085ba6.js} +2 -2
  40. package/dist/chunks/{workbench-action-list.980559dc.js.map → workbench-action-list.29085ba6.js.map} +1 -1
  41. package/dist/chunks/{workbench-history-action.b7d27978.js → workbench-history-action.6927ae60.js} +3 -3
  42. package/dist/chunks/{workbench-history-action.b7d27978.js.map → workbench-history-action.6927ae60.js.map} +1 -1
  43. package/dist/index.d2024b46.js +2 -0
  44. package/dist/index.d2024b46.js.map +1 -0
  45. package/dist/manifest.json +39 -20
  46. package/dist/types.json +481 -258
  47. package/dist-types/bootstrap.d.ts +1 -0
  48. package/dist-types/data-providers/get-dependency-tree.d.ts +19 -0
  49. package/dist-types/data-providers/get-dependency-tree.spec.d.ts +1 -0
  50. package/dist-types/property-editor/components/common/ColorPickerComponent.d.ts +7 -0
  51. package/dist-types/property-editor/index.d.ts +28 -10
  52. package/dist-types/property-editor/utils/colorTransform.d.ts +12 -0
  53. package/dist-types/property-editor/utils/colorTrasnform.spec.d.ts +1 -0
  54. package/dist-types/property-editor/utils/formilySchemaFormatter.d.ts +2 -1
  55. package/package.json +2 -2
  56. package/dist/chunks/5399.d3b753b3.js +0 -2
  57. package/dist/chunks/5399.d3b753b3.js.map +0 -1
  58. package/dist/chunks/6233.f90eb59c.js +0 -3
  59. package/dist/chunks/6233.f90eb59c.js.map +0 -1
  60. package/dist/chunks/8091.c5adab63.js +0 -3
  61. package/dist/chunks/8091.c5adab63.js.LICENSE.txt +0 -54
  62. package/dist/chunks/8091.c5adab63.js.map +0 -1
  63. package/dist/chunks/main.99faedc6.js +0 -2
  64. package/dist/chunks/property-editor.ed34d324.js +0 -2
  65. package/dist/chunks/property-editor.ed34d324.js.map +0 -1
  66. package/dist/index.770cc005.js +0 -2
  67. package/dist/index.770cc005.js.map +0 -1
  68. /package/dist/chunks/{2252.395062aa.js.LICENSE.txt → 2252.6c4f85f9.js.LICENSE.txt} +0 -0
  69. /package/dist/chunks/{4947.87265cf9.js.LICENSE.txt → 4947.8af23d2e.js.LICENSE.txt} +0 -0
  70. /package/dist/chunks/{6233.f90eb59c.js.LICENSE.txt → 859.bc26cb2d.js.LICENSE.txt} +0 -0
  71. /package/dist/chunks/{chat-preview.e4753612.js.LICENSE.txt → chat-preview.75a05ac5.js.LICENSE.txt} +0 -0
  72. /package/dist/chunks/{contract-select.148bab93.js.LICENSE.txt → contract-select.b4daeecc.js.LICENSE.txt} +0 -0
  73. /package/dist/chunks/{pre-generated-preview.99a84845.js.LICENSE.txt → pre-generated-preview.78d438ab.js.LICENSE.txt} +0 -0
  74. /package/dist/chunks/{workbench-history-action.b7d27978.js.LICENSE.txt → workbench-history-action.6927ae60.js.LICENSE.txt} +0 -0
package/dist/bricks.json CHANGED
@@ -4,10 +4,11 @@
4
4
  "visual-builder.workbench-pane",
5
5
  "visual-builder.workbench-sidebar",
6
6
  "visual-builder.workbench-action",
7
- "visual-builder.workbench-action-list",
8
7
  "visual-builder.workbench-tree",
8
+ "visual-builder.workbench-action-list",
9
9
  "visual-builder.check-editor-by-name",
10
10
  "visual-builder.get-data-deps",
11
+ "visual-builder.get-dependency-tree",
11
12
  "visual-builder.inject-chat-preview-agent",
12
13
  "visual-builder.inject-preview-agent",
13
14
  "visual-builder.workbench-history-action",
@@ -33,12 +34,12 @@
33
34
  "eo-link",
34
35
  "eo-icon"
35
36
  ],
36
- "visual-builder.workbench-action-list": [
37
- "visual-builder.workbench-action",
37
+ "visual-builder.workbench-tree": [
38
38
  "eo-link",
39
39
  "eo-icon"
40
40
  ],
41
- "visual-builder.workbench-tree": [
41
+ "visual-builder.workbench-action-list": [
42
+ "visual-builder.workbench-action",
42
43
  "eo-link",
43
44
  "eo-icon"
44
45
  ],
@@ -74,5 +75,5 @@
74
75
  "eo-tooltip"
75
76
  ]
76
77
  },
77
- "filePath": "bricks/visual-builder/dist/index.770cc005.js"
78
+ "filePath": "bricks/visual-builder/dist/index.d2024b46.js"
78
79
  }
@@ -1,3 +1,3 @@
1
- /*! For license information please see 2252.395062aa.js.LICENSE.txt */
2
- "use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[2252],{2559:(e,t,n)=>{function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},6330:(e,t,n)=>{function r(e,t,n,r,o,i,s){try{var a=e[i](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var s=e.apply(t,n);function a(e){r(s,o,i,a,c,"next",e)}function c(e){r(s,o,i,a,c,"throw",e)}a(void 0)}))}}n.d(t,{A:()=>o})},2016:(e,t,n)=>{function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},829:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t){return e.get((0,r.A)(e,t))}},918:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},6121:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},5536:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return n((0,r.A)(e,t))}},4635:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t){(0,r.A)(e,t),t.add(e)}},2252:(e,t,n)=>{n.r(t),n.d(t,{analytics:()=>u,auth:()=>dt,checkInstalledApps:()=>o,checkPermissions:()=>pt,flowApi:()=>i,menu:()=>s,messageDispatcher:()=>lt});var r={};n.r(r),n.d(r,{authenticate:()=>g,getAuth:()=>A,isLoggedIn:()=>w,logout:()=>v});var o={};n.r(o),n.d(o,{getCheckedApp:()=>ne,preCheckInstalledApps:()=>ee,waitForCheckingApps:()=>te});var i={};n.r(i),n.d(i,{FLOW_API_PROVIDER:()=>oe,clearCollectWidgetContract:()=>ge,clearDebugContract:()=>ve,collectContract:()=>he,collectDebugContract:()=>Ae,collectWidgetContract:()=>me,getArgsOfFlowApi:()=>Se,isFlowApiProvider:()=>ye,registerFlowApiProvider:()=>ae});var s={};n.r(s),n.d(s,{fetchMenuById:()=>He,getMenuById:()=>ze});var a={};n.r(a),n.d(a,{onRequest:()=>it,onResponse:()=>st,onResponseError:()=>at});var c={};n.r(c),n.d(c,{create:()=>ut});var u={};n.r(u),n.d(u,{http:()=>a,initialize:()=>rt,pageView:()=>c});var p=n(1030),l=n(9680),d=n(6330),f=n(3465),h=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const m={};function g(e){Object.assign(m,{org:e.org,username:e.username,userInstanceId:e.userInstanceId,loginFrom:e.loginFrom,accessRule:e.accessRule,isAdmin:e.isAdmin,csrfToken:e.csrfToken,license:e.license,accessToken:e.accessToken,userShowValue:e.userShowValue})}function A(){return{...m}}function v(){for(const e of Object.keys(m))m[e]=void 0;y.length=0,S.clear()}function w(){return void 0!==m.username}const y=[],S=new Map;function b(e){if(w()&&!A().isAdmin)return I((0,l.scanPermissionActionsInAny)(e))}async function I(e){const t=(0,p.difference)(e,[...y]);if(0!==t.length){y.push(...t);try{const e=await h({actions:t},{noAbortOnRouteChange:!0});for(const t of e.actions)S.set(t.action,t.authorizationStatus),"undefined"===t.authorizationStatus&&console.error(`Undefined permission action: "${t.action}"`)}catch(e){console.error("Pre-check permissions failed",e)}}}var E=n(4635),k=n(918),P=n(5536),O=n(2559),M=n(6121),C=n(829),_=n(2391);const T=1e3,N=6;var $=new WeakMap,j=new WeakMap,R=new WeakMap,D=new WeakMap,W=new WeakMap,x=new WeakMap,L=new WeakMap,U=new WeakSet;class B{constructor(e){(0,E.A)(this,U),(0,k.A)(this,$,void 0),(0,k.A)(this,j,void 0),(0,k.A)(this,R,[]),(0,k.A)(this,D,new Set),(0,k.A)(this,W,new Set),(0,k.A)(this,x,0),(0,k.A)(this,L,!1),(0,M.A)($,this,e)}send(e){(0,C.A)(j,this)||(0,M.A)(j,this,(0,O.A)(U,this,F).call(this));const t=JSON.stringify(e);(0,C.A)(j,this).readyState===WebSocket.OPEN?(0,C.A)(j,this).send(t):(0,C.A)(R,this).push(t)}onMessage(e){(0,C.A)(D,this).add(e)}onClose(e){(0,C.A)(W,this).add(e)}reset(){(0,C.A)(R,this).length=0,(0,C.A)(D,this).clear(),(0,C.A)(W,this).clear()}close(){var e;(0,M.A)(L,this,!0),(null===(e=(0,C.A)(j,this))||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(0,C.A)(j,this).close()}}function F(){console.log("WebSocket connecting ...");const e=new WebSocket((0,C.A)($,this));return e.addEventListener("open",(t=>{console.log("WebSocket open:",t),(0,M.A)(x,this,0);for(const t of(0,C.A)(R,this))e.send(t);(0,C.A)(R,this).length=0})),e.addEventListener("close",(e=>{if(!(0,C.A)(L,this)){console.log("WebSocket close:",e);for(const e of(0,C.A)(W,this))e();1e3!==e.code&&(0,O.A)(U,this,q).call(this)}})),e.addEventListener("error",(e=>{console.error("WebSocket error:",e)})),e.addEventListener("message",(e=>{const t=JSON.parse(e.data);for(const e of(0,C.A)(D,this))e(t)})),e}function q(){if((0,C.A)(x,this)>=N)return void console.error("WebSocket connect retry limit exceeded");const e=Math.pow(2,(0,C.A)(x,this))*T;console.log("WebSocket will reconnect after %d seconds",e/1e3),setTimeout((()=>{var e;(0,M.A)(x,this,(e=(0,C.A)(x,this),++e)),(0,M.A)(j,this,(0,O.A)(U,this,F).call(this))}),e)}var z=new WeakMap,H=new WeakMap,G=new WeakMap,J=new WeakSet;function V(e){if(!(0,C.A)(z,e)){const t=`${"https:"===location.protocol?"wss:":"ws:"}//${window.location.host}${(0,_.getBasePath)()}api/websocket_service/v1/ws`;(0,M.A)(z,e,new B(t))}return(0,C.A)(z,e)}function Y(e,t,n,r){const o=(0,C.A)(H,this)[e].get(r);if(o)return o;const i={event:"sub"===e?"TOPIC.SUB":"TOPIC.UNSUB",payload:n},s=new Promise(((t,r)=>{const o=K(n);(0,P.A)(J,this,V).onMessage((n=>{const i=n.event===("sub"===e?"TOPIC.SUB_SUCCESS":"TOPIC.UNSUB_SUCCESS"),s=n.event===("sub"===e?"TOPIC.SUB_FAILED":"TOPIC.UNSUB_FAILED");(i||s)&&o===K(n.payload)&&(i?t:r)(n)})),(0,P.A)(J,this,V).send(i)}));return"sub"===e&&(0,C.A)(G,this).set(t,r),(0,C.A)(H,this)[e].set(r,s),s}function K(e){const{system:t,topic:n}=e;return JSON.stringify({system:t,topic:n})}var Q=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const X=new Map,Z=new Map;function ee(e,t){if(window.STANDALONE_MICRO_APPS&&!window.NO_AUTH_GUARD){const n=function(e){const t={usedArgs:new Set},{customTemplates:n,menus:r}=e.meta??{};return(0,l.traverseStoryboardExpressions)([e.routes,n,r],((e,n)=>{(0,l.collectInstalledAppsHasUsage)(t,e,n)}),"INSTALLED_APPS"),[...t.usedArgs]}(e),r=[];for(const e of n)X.has(e)||t(e)||r.push(e);if(0===r.length)return;const o=Q({query:{appId:{$in:r}},fields:["appId","currentVersion","installStatus"]}).catch((e=>{console.error("Get off site standalone micro-apps failed",e)}));for(const e of r)X.set(e,o.then((t=>{var n;const r=null==t||null===(n=t.list)||void 0===n?void 0:n.find((t=>t.appId===e)),o=r?{...r,id:e}:void 0;return Z.set(e,o),o})))}}async function te(e){await Promise.all(e.map((e=>X.get(e))))}function ne(e){if(window.STANDALONE_MICRO_APPS)return Z.get(e)}var re=n(8896);const oe="core.provider-flow-api";function ie(e,t){return e.some((e=>e.source===t))}async function se(e){let{url:t,originalUri:n,method:r="GET",responseWrapper:o=!0,ext_fields:i=[],request:s,isFileType:a,stream:c}=e;const u=["get","delete","head"].includes(r.toLowerCase()),l=a?{responseType:"blob"}:{};let d;for(var h=arguments.length,m=new Array(h>1?h-1:0),g=1;g<h;g++)m[g-1]=arguments[g];if(u){var A,v;let e,o;var w;if(n&&"object"===(null==s?void 0:s.type)&&((null===(A=n.match(/:([^/]+)/g))||void 0===A?void 0:A.length)??0)===((null===(v=s.fields)||void 0===v?void 0:v.length)??0)?[o]=m:[e,o]=m,c)return await(0,re.createSSEStream)(f.http.getUrlWithParams(t,e),{...l,...o,method:r,headers:Object.fromEntries([...new Headers((null===(w=o)||void 0===w?void 0:w.headers)??{}).entries()])});d=await f.http.simpleRequest(r,t,{params:e,...l,...o})}else{const e=function(e){if(!e||"object"!==e.type)return!1;const t=e=>!(0,p.isEmpty)(e)&&e.some((e=>["file","file[]"].includes(e.type)||t(e.fields)));return t(e.fields)}(s),n=function(e){const t=ie(e,"query"),n=ie(e,"body");for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];if(t){if(n){const[e,t,n]=o;return{data:e,options:{params:t,...n}}}const[e,t]=o;return{data:{},options:{params:e,...t}}}const[s,a]=o;return{data:s,options:a}}(i,...m),o=e?function(e){if(e instanceof FormData)return e;const t=new FormData;for(const[n,r]of Object.entries(e))Array.isArray(r)?r.forEach((e=>{t.append(n,e)})):!(0,p.isObject)(r)||r instanceof Blob||r instanceof Date?t.append(n,r):Object.entries(r).forEach((e=>{let[r,o]=e;t.append(`${n}[${r}]`,o)}));return t}(n.data):n.data;if(c){var y;const{body:e,headers:i}=f.http.getBodyAndHeaders(o,null===(y=n.options)||void 0===y?void 0:y.headers);return await(0,re.createSSEStream)(t,{...l,...n.options,method:r,headers:Object.fromEntries([...new Headers(i??{}).entries()]),body:e})}d=await f.http.requestWithBody(r,t,o,{...l,...n.options})}return!a&&o?d.data:d}function ae(){customElements.define(oe,(0,re.createProviderClass)(se))}var ce=n(8679),ue=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/contract/single_search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const pe=new Map,le=new Map,de=new Map,fe=(e,t)=>{null==e||e.forEach((e=>{t.set(`${e.namespaceId}.${e.name}`,e)}))};function he(e){fe(e,pe)}function me(e){fe(e,le)}function ge(){le.clear()}function Ae(e){fe(e,de)}function ve(){de.clear()}const we=new Map;function ye(e){return e.includes("@")}async function Se(e,t,n,r){if(!e.includes(":"))throw new Error(`You're using legacy Custom API "${e}" which is dropped in v3, please use Flow API instead`);const o=await async function(e){const[t,n]=e.split("@"),[r,o]=n.split(":"),i=function(e){return pe.get(e)||le.get(e)||de.get(e)}(`${t}.${r}`);if(i)return{name:i.name,namespace:i.namespaceId,serviceName:i.serviceName,version:i.version,contract:{endpoint:i.endpoint,response:i.response,request:i.request}};let s=we.get(e);return s||(s=async function(e,t,n){var r;const{contractData:o}=await ue({contractName:`${e}.${t}`,version:n});return o?{name:o.name,namespace:null===(r=o.namespace)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.name,serviceName:o.serviceName,version:o.version,contract:{endpoint:o.endpoint,response:o.response,request:o.request}}:null}(t,r,o),we.set(e,s)),s}(e);if(!o)throw new be(`Flow API not found: "${e}"`);const i=function(e,t){var n;const r="string"==typeof t.contract?ce.safeLoad(t.contract,{schema:ce.JSON_SCHEMA,json:!0}):t.contract,{uri:o,method:i="GET",ext_fields:s}=(null==r?void 0:r.endpoint)??{},a=!(null==r||!r.response)&&!1!==r.response.wrapper;if(!o)throw new Error(`Missing endpoint.uri in contract of provider "${e}"`);return{uri:o,method:"list"===i.toLowerCase()?"get":i,ext_fields:s,name:t.name,namespace:t.namespace,serviceName:t.serviceName,version:t.version,isFileType:"file"===(null==r||null===(n=r.response)||void 0===n?void 0:n.type),responseWrapper:a,request:null==r?void 0:r.request}}(e,o);return function(e,t,n,r){let{uri:o,method:i,ext_fields:s,name:a,namespace:c,serviceName:u,responseWrapper:p,version:l,isFileType:d,request:f}=e;const h="saveAs"===n;let m;h&&(m=t.shift());const{url:g,args:A}=function(e,t,n,r,o,i){const s=i?"logic.api.gateway"===o||null!=o&&o.startsWith("logic.api.gateway.")?"":o?`api/gateway/${o}`:`api/gateway/${r}.${n}@${i}`:`api/gateway/api_service.${r}.${n}`,a=t.slice(),c=e.replace(/:([^/]+)/g,(()=>a.shift()));return{url:s?s+c:c.replace(/^\//,""),args:a}}(o,t,a,c,u,l);return[...h?[m]:[],{url:g,originalUri:o,method:i,ext_fields:s,responseWrapper:p,request:f,isFileType:d,stream:r},...A]}(i,t,n,r)}class be extends Error{constructor(e){super(e),this.name="FlowApiNotFoundError",Error.captureStackTrace&&Error.captureStackTrace(this,be)}}var Ie=function(){var e=(0,d.A)((function*(e,t,n){return(yield f.http.post("api/gateway/cmdb.instance.PostSearch/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,r){return e.apply(this,arguments)}}(),Ee=n(9740),ke=function(){var e=(0,d.A)((function*(e,t,n){return(yield f.http.get("api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/".concat(e),(0,Ee.A)((0,Ee.A)({},n),{},{params:t}))).data}));return function(t,n,r){return e.apply(this,arguments)}}(),Pe=n(8799);const Oe=Symbol("appId"),Me=Symbol("menuI18nNamespace"),Ce=Symbol("overrideApp");async function _e(e,t,n){const r=e.find((e=>"inject"!==e.type));if(!r)return;const o=[],i=new Map,s=new WeakMap;for(const t of e)if(t.i18n){const e=`menu/${t.menuId}~${t.app[0].appId}+${t.instanceId}`;Object.entries(t.i18n).forEach((t=>{let[n,r]=t;Pe.i18n.addResourceBundle(n,e,r)})),s.set(t,e)}await Promise.all(e.map((e=>async function(e,t,n,r){if(e.dynamicItems&&e.itemsResolve){const i=e.app[0].appId,s={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,b(e.itemsResolve)]};var o;i!==t.app.id&&(s.overrideApp=window.STANDALONE_MICRO_APPS?e.overrideApp:null===(o=r.getStoryboardByAppId(i))||void 0===o?void 0:o.app,s.appendI18nNamespace=n.get(e));const a=await r.resolveData({transform:"items",...e.itemsResolve},s);e.items=a.items}}(e,t,s,n))));for(const t of e){var a;if(null!==(a=t.items)&&void 0!==a&&a.length)if("inject"===t.type&&t.injectMenuGroupId){let e=i.get(t.injectMenuGroupId);e||(e=[],i.set(t.injectMenuGroupId,e)),e.push(t)}else o.push(t)}return{...r,items:o.flatMap((e=>Te(e.items,e,i,s))),[Me]:s.get(r),[Ce]:r.overrideApp}}function Te(e,t,n,r){return null==e?void 0:e.map((e=>{const o=e.groupId&&n.get(e.groupId);return o&&n.delete(e.groupId),{...e,children:(Te(e.children,t,n,r)??[]).concat(o?o.flatMap((e=>Te(e.items,e,n,r))):[]),[Oe]:t.app[0].appId,[Me]:r.get(t),[Ce]:t.overrideApp}}))}function Ne(e){e.items=$e(e.items)}function $e(e){return function(e){return(0,p.sortBy)(e,(e=>e.sort??-1/0))}(e).map((e=>({...e,children:$e(e.children)})))}var je=n(1092),Re=n(1580);function De(e,t,n,r){if("titleDataSource"in e&&(0,re.isObject)(e.titleDataSource)&&Object.entries(e.titleDataSource).every((e=>{let[,t]=e;return null===t||""===t}))&&delete e.titleDataSource,"if"in e&&null===e.if&&delete e.if,"to"in e&&e.to&&!(0,Re.isEvaluable)(e.to)){const t=je.pipes.yaml(e.to);(0,re.isObject)(t)&&["pathname","search","hash"].some((e=>(0,re.hasOwnProperty)(t,e)))&&(e.to=t)}let o=n;if(t!==n.app.id){var i;const s=window.STANDALONE_MICRO_APPS?e[Ce]:null===(i=r.getStoryboardByAppId(t))||void 0===i?void 0:i.app;o={...n,overrideApp:s,appendI18nNamespace:e[Me]}}return r.asyncComputeRealValue(e,o,{ignoreSymbols:!0})}function We(e,t,n){return Promise.all(e.map((async e=>{let{children:r,...o}=e;const[i,s]=await Promise.all([De(o,o[Oe],t,n),r&&await We(r,t,n)]);return{...i,children:s}})))}var xe=function(){var e=(0,d.A)((function*(e,t,n,r){return(yield f.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(e,"/instance/").concat(t),(0,Ee.A)((0,Ee.A)({},r),{},{params:n}))).data}));return function(t,n,r,o){return e.apply(this,arguments)}}();const Le=new Map;async function Ue(e){if(e.title||(0,p.isEmpty)(e.titleDataSource))return e.title;const t=JSON.stringify(e.titleDataSource),n=Le.get(t);if(void 0!==n)return n;const{objectId:r,instanceId:o,attributeId:i}=e.titleDataSource,s=i??"name",a=await xe(r,o,{fields:s});let c;if("#showKey"===i&&Array.isArray(a[s])){const[e,...t]=a[s];c=t.length>0?`${e}(${t.join(",")})`:String(e)}else c=String(a[s]);return Le.set(t,c),c}const Be=new Map,Fe=new Map;function qe(e){return null==e?void 0:e.filter(_.checkIfOfComputed).map((e=>{const t=qe(e.children);return"group"===e.type?{type:"group",title:e.text,childLayout:e.childLayout,items:t,groupId:e.groupId,groupFrom:e.groupFrom}:null!=t&&t.length?{type:"subMenu",childLayout:e.childLayout,title:e.text,icon:e.icon,items:t,defaultExpanded:e.defaultExpanded}:(0,p.omit)(e,["type","items","children"])}))}function ze(e){return Fe.get(e)}function He(e,t,n){let r=Be.get(e);return r||(r=async function(e,t,n){const r=window.STANDALONE_MICRO_APPS?function(e,t,n){var r,o;const i=n.getStoryboardByAppId(t);return((null===(r=i.meta)||void 0===r?void 0:r.injectMenus)??(null===(o=i.meta)||void 0===o?void 0:o.menus)??[]).filter((t=>t.menuId===e)).map((e=>{var n;return{...e,...null!==(n=e.app)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&n.appId?{}:{app:[{appId:t}]}}}))}(e,t.app.id,n):t.flags["three-level-menu-layout"]?(await ke(e,{menuObjectId:"EASYOPS_STORYBOARD_MENU"})).menus:(await Ie("EASYOPS_STORYBOARD_MENU",{page:1,page_size:200,fields:{menuId:!0,title:!0,icon:!0,link:!0,titleDataSource:!0,defaultCollapsed:!0,defaultCollapsedBreakpoint:!0,type:!0,injectMenuGroupId:!0,dynamicItems:!0,itemsResolve:!0,items:!0,i18n:!0,"items.children":!0,"app.appId":!0},query:{menuId:{$eq:e},app:{$size:{$gt:0}}}})).list,o=await _e(r,t,n);if(!o)throw new Error(`Menu not found: ${e}`);Ne(o);const{items:i,app:s,...a}=o,c={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,b([i,a])]};delete c.tplStateStoreId,delete c.forEachItem,delete c.forEachIndex;const u=s[0].appId,[l,d]=await Promise.all([De(a,u,c,n),We(i,c,n)]),f={title:await Ue(l),...(0,p.pick)(l,["icon","link","defaultCollapsed","defaultCollapsedBreakpoint"]),menuItems:qe(d)};Fe.set(e,f)}(e,t,n)),r}const Ge=[];let Je=null;const Ve={maxWaitingTime:5e3,maxLoggedEvents:10};function Ye(){clearTimeout(Je),Ge.length>Ve.maxLoggedEvents?Ke():Je=setTimeout(Ke,Ve.maxWaitingTime)}function Ke(){if(0===Ge.length)return;const e={model:"easyops.FRONTEND_STAT",columns:["_ver","st","et","lt","size","time","traceId","code","duration","page","uid","username","api","type","msg","status","pageId","route","apiCount","maxApiTimeCost","apiSizeCost","pageTitle"],data:Ge.splice(0,Ve.maxLoggedEvents)};var t;!function(e,t){const n=new Blob([JSON.stringify(t)],{type:"application/json"});window.navigator.sendBeacon(e,n)}(Ve.api,e),Ge.length&&(t=Ke,(window.requestIdleCallback||window.requestAnimationFrame||(e=>setTimeout(e,17)))(t))}function Qe(){window.addEventListener("beforeunload",Ke,!1)}let Xe,Ze=!1,et=null,tt=!0;const nt=[];function rt(e){Ze||(Ze=!0,Xe||(Xe=function(e,t){return Object.assign(Ve,{...t,api:e}),{sendOnExit:Qe,emit:Ye}}(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),Xe.sendOnExit()))}const ot=Symbol("HttpAnalytics");function it(e){const t=Math.round(performance.now()),n=Date.now();return e[ot]={st:n,time:Math.round(n/1e3),perfStartTime:t},e}function st(e,t){return ct(!1,e,t)}function at(e,t){return ct(!0,e,t)}function ct(e,t,n){const r=Math.round(performance.now()),o=Date.now(),{[ot]:i,url:s}=n;if(i&&!(e&&t instanceof f.HttpAbortError)){delete n[ot];const{st:c,time:u,perfStartTime:p}=i,{userInstanceId:l,username:d}=A();let h,m,g,v,w,y,S;if(e){const e=t instanceof f.HttpResponseError;(e||t instanceof f.HttpParseError)&&(({status:w,headers:y}=t.response),e&&(S=t.responseJson))}else({status:w,data:S,headers:y}=t);(0,re.isObject)(S)&&({code:h,message:m}=S),y instanceof Headers&&(g=y.get("x-b3-traceid"),v=y.get("content-length")),a={st:c,_ver:c,uid:l,username:d,time:u,et:o,page:location.href,duration:r-p,api:s,type:"api",code:h??-1,msg:m??"",status:w,traceId:g??"",size:v?Number(v):-1},et?Ge.push({...a,type:"apiRequest",...et}):nt.push(a)}var a;return e?Promise.reject(t):t}function ut(){const e=Math.round(performance.now()),t=Date.now();return nt.length=0,et=null,function(n){let{status:r,path:o,pageTitle:i}=n;if("ok"!==r)return Ge.push(...nt),void(nt.length=0);const s=Math.round(performance.now())-e,a=Date.now(),{username:c}=A();(function(e){const t=function(){const e=URL.createObjectURL(new Blob([]));let t=e.substring(e.lastIndexOf("/")+1);return URL.revokeObjectURL(e),tt&&(t="88-"+t,tt=!1),t}(),{lt:n,route:r}=e;et={lt:n,route:r,pageId:t},Ge.push({...e,pageId:t,apiCount:nt.length,maxApiTimeCost:Math.max(0,...nt.map((e=>e.duration))),size:nt.map((e=>e.size)).filter((e=>e>0)).reduce(((e,t)=>e+t),0)});for(const e of nt)Ge.push({...e,...et});nt.length=0,Xe.emit()})({type:"page",page:location.href,_ver:t,time:Math.round(t/1e3),st:t,et:a,lt:s,pageTitle:i,username:c,route:o}),window.dispatchEvent(new CustomEvent("route.render",{detail:{renderTime:s}}))}}const pt=Object.freeze({checkPermissions:function(){if(!w())return!1;if(A().isAdmin)return!0;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)switch(S.get(e)){case"unauthorized":case"undefined":return!1;case void 0:return console.error(`Un-checked permission action: "${e}", please make sure the permission to check is defined in permissionsPreCheck.`),!1}return!0},preCheckPermissions:function(e){if(w()&&!A().isAdmin)return I((0,l.scanPermissionActionsInStoryboard)(e))},preCheckPermissionsForBrickOrRoute:async function(e,t){if(w()&&!A().isAdmin&&Array.isArray(e.permissionsPreCheck))return I(await t(e.permissionsPreCheck))}}),lt=new class{constructor(){(0,E.A)(this,J),(0,k.A)(this,z,void 0),(0,k.A)(this,H,{sub:new Map,unsub:new Map}),(0,k.A)(this,G,new Map)}subscribe(e,t){const n=JSON.stringify(t);return(0,O.A)(J,this,Y).call(this,"sub",e,t,n)}unsubscribe(e){const t=(0,C.A)(G,this).get(e);if(!t){const t=`The message channel to unsubscribe "${e}" is not found`;return console.error(t),Promise.reject(new Error(t))}const n=JSON.parse(t),r=(0,O.A)(J,this,Y).call(this,"unsub",e,n,t);return(0,C.A)(H,this).sub.delete(t),r.then((()=>{(0,C.A)(G,this).delete(e)})),r}onMessage(e,t){let n=(0,C.A)(G,this).get(e),r=!1;(0,P.A)(J,this,V).onMessage((o=>{n||(n=(0,C.A)(G,this).get(e)),n?"MESSAGE.PUSH"===o.event&&function(e,t){const n=JSON.parse(e);return n.system===t.system&&(n.topic===t.topic||"string"==typeof n.topic&&n.topic.includes("*")&&new RegExp(`^${n.topic.replace(/([^*]*)\*([^*]*)/g,((e,t,n)=>`${(0,p.escapeRegExp)(t)}[^/]*${(0,p.escapeRegExp)(n)}`))}$`).test(t.topic))}(n,o.payload)&&t(o.payload.message):r||(console.error(`Message channel: "${e}" not found`),r=!0)}))}onClose(e){(0,P.A)(J,this,V).onClose(e)}reset(){var e;(0,C.A)(H,this).sub.clear(),(0,C.A)(H,this).unsub.clear(),(0,C.A)(G,this).clear(),null===(e=(0,C.A)(z,this))||void 0===e||e.reset()}},dt=function(){const e=(0,_.getV2RuntimeFromDll)();if(e)return Object.freeze((0,p.pick)(e,["authenticate","getAuth","isLoggedIn","logout"]))}()||r}}]);
3
- //# sourceMappingURL=2252.395062aa.js.map
1
+ /*! For license information please see 2252.6c4f85f9.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_visual_builder=globalThis.webpackChunk_next_bricks_visual_builder||[]).push([[2252],{2559:(e,t,n)=>{function r(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>r})},6330:(e,t,n)=>{function r(e,t,n,r,o,i,s){try{var a=e[i](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var s=e.apply(t,n);function a(e){r(s,o,i,a,c,"next",e)}function c(e){r(s,o,i,a,c,"throw",e)}a(void 0)}))}}n.d(t,{A:()=>o})},2016:(e,t,n)=>{function r(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>r})},829:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t){return e.get((0,r.A)(e,t))}},918:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t,n){(0,r.A)(e,t),t.set(e,n)}},6121:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return e.set((0,r.A)(e,t),n),n}},5536:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2559);function o(e,t,n){return n((0,r.A)(e,t))}},4635:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(2016);function o(e,t){(0,r.A)(e,t),t.add(e)}},2252:(e,t,n)=>{n.r(t),n.d(t,{analytics:()=>u,auth:()=>dt,checkInstalledApps:()=>o,checkPermissions:()=>pt,flowApi:()=>i,menu:()=>s,messageDispatcher:()=>lt});var r={};n.r(r),n.d(r,{authenticate:()=>g,getAuth:()=>A,isLoggedIn:()=>w,logout:()=>v});var o={};n.r(o),n.d(o,{getCheckedApp:()=>ne,preCheckInstalledApps:()=>ee,waitForCheckingApps:()=>te});var i={};n.r(i),n.d(i,{FLOW_API_PROVIDER:()=>oe,clearCollectWidgetContract:()=>ge,clearDebugContract:()=>ve,collectContract:()=>he,collectDebugContract:()=>Ae,collectWidgetContract:()=>me,getArgsOfFlowApi:()=>Se,isFlowApiProvider:()=>ye,registerFlowApiProvider:()=>ae});var s={};n.r(s),n.d(s,{fetchMenuById:()=>He,getMenuById:()=>ze});var a={};n.r(a),n.d(a,{onRequest:()=>it,onResponse:()=>st,onResponseError:()=>at});var c={};n.r(c),n.d(c,{create:()=>ut});var u={};n.r(u),n.d(u,{http:()=>a,initialize:()=>rt,pageView:()=>c});var p=n(1030),l=n(9680),d=n(6330),f=n(3465),h=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const m={};function g(e){Object.assign(m,{org:e.org,username:e.username,userInstanceId:e.userInstanceId,loginFrom:e.loginFrom,accessRule:e.accessRule,isAdmin:e.isAdmin,csrfToken:e.csrfToken,license:e.license,accessToken:e.accessToken,userShowValue:e.userShowValue})}function A(){return{...m}}function v(){for(const e of Object.keys(m))m[e]=void 0;y.length=0,S.clear()}function w(){return void 0!==m.username}const y=[],S=new Map;function b(e){if(w()&&!A().isAdmin)return I((0,l.scanPermissionActionsInAny)(e))}async function I(e){const t=(0,p.difference)(e,[...y]);if(0!==t.length){y.push(...t);try{const e=await h({actions:t},{noAbortOnRouteChange:!0});for(const t of e.actions)S.set(t.action,t.authorizationStatus),"undefined"===t.authorizationStatus&&console.error(`Undefined permission action: "${t.action}"`)}catch(e){console.error("Pre-check permissions failed",e)}}}var E=n(4635),k=n(918),P=n(5536),O=n(2559),M=n(6121),C=n(829),_=n(6916);const T=1e3,N=6;var $=new WeakMap,j=new WeakMap,R=new WeakMap,D=new WeakMap,W=new WeakMap,x=new WeakMap,L=new WeakMap,U=new WeakSet;class B{constructor(e){(0,E.A)(this,U),(0,k.A)(this,$,void 0),(0,k.A)(this,j,void 0),(0,k.A)(this,R,[]),(0,k.A)(this,D,new Set),(0,k.A)(this,W,new Set),(0,k.A)(this,x,0),(0,k.A)(this,L,!1),(0,M.A)($,this,e)}send(e){(0,C.A)(j,this)||(0,M.A)(j,this,(0,O.A)(U,this,F).call(this));const t=JSON.stringify(e);(0,C.A)(j,this).readyState===WebSocket.OPEN?(0,C.A)(j,this).send(t):(0,C.A)(R,this).push(t)}onMessage(e){(0,C.A)(D,this).add(e)}onClose(e){(0,C.A)(W,this).add(e)}reset(){(0,C.A)(R,this).length=0,(0,C.A)(D,this).clear(),(0,C.A)(W,this).clear()}close(){var e;(0,M.A)(L,this,!0),(null===(e=(0,C.A)(j,this))||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(0,C.A)(j,this).close()}}function F(){console.log("WebSocket connecting ...");const e=new WebSocket((0,C.A)($,this));return e.addEventListener("open",(t=>{console.log("WebSocket open:",t),(0,M.A)(x,this,0);for(const t of(0,C.A)(R,this))e.send(t);(0,C.A)(R,this).length=0})),e.addEventListener("close",(e=>{if(!(0,C.A)(L,this)){console.log("WebSocket close:",e);for(const e of(0,C.A)(W,this))e();1e3!==e.code&&(0,O.A)(U,this,q).call(this)}})),e.addEventListener("error",(e=>{console.error("WebSocket error:",e)})),e.addEventListener("message",(e=>{const t=JSON.parse(e.data);for(const e of(0,C.A)(D,this))e(t)})),e}function q(){if((0,C.A)(x,this)>=N)return void console.error("WebSocket connect retry limit exceeded");const e=Math.pow(2,(0,C.A)(x,this))*T;console.log("WebSocket will reconnect after %d seconds",e/1e3),setTimeout((()=>{var e;(0,M.A)(x,this,(e=(0,C.A)(x,this),++e)),(0,M.A)(j,this,(0,O.A)(U,this,F).call(this))}),e)}var z=new WeakMap,H=new WeakMap,G=new WeakMap,J=new WeakSet;function V(e){if(!(0,C.A)(z,e)){const t=`${"https:"===location.protocol?"wss:":"ws:"}//${window.location.host}${(0,_.getBasePath)()}api/websocket_service/v1/ws`;(0,M.A)(z,e,new B(t))}return(0,C.A)(z,e)}function Y(e,t,n,r){const o=(0,C.A)(H,this)[e].get(r);if(o)return o;const i={event:"sub"===e?"TOPIC.SUB":"TOPIC.UNSUB",payload:n},s=new Promise(((t,r)=>{const o=K(n);(0,P.A)(J,this,V).onMessage((n=>{const i=n.event===("sub"===e?"TOPIC.SUB_SUCCESS":"TOPIC.UNSUB_SUCCESS"),s=n.event===("sub"===e?"TOPIC.SUB_FAILED":"TOPIC.UNSUB_FAILED");(i||s)&&o===K(n.payload)&&(i?t:r)(n)})),(0,P.A)(J,this,V).send(i)}));return"sub"===e&&(0,C.A)(G,this).set(t,r),(0,C.A)(H,this)[e].set(r,s),s}function K(e){const{system:t,topic:n}=e;return JSON.stringify({system:t,topic:n})}var Q=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const X=new Map,Z=new Map;function ee(e,t){if(window.STANDALONE_MICRO_APPS&&!window.NO_AUTH_GUARD){const n=function(e){const t={usedArgs:new Set},{customTemplates:n,menus:r}=e.meta??{};return(0,l.traverseStoryboardExpressions)([e.routes,n,r],((e,n)=>{(0,l.collectInstalledAppsHasUsage)(t,e,n)}),"INSTALLED_APPS"),[...t.usedArgs]}(e),r=[];for(const e of n)X.has(e)||t(e)||r.push(e);if(0===r.length)return;const o=Q({query:{appId:{$in:r}},fields:["appId","currentVersion","installStatus"]}).catch((e=>{console.error("Get off site standalone micro-apps failed",e)}));for(const e of r)X.set(e,o.then((t=>{var n;const r=null==t||null===(n=t.list)||void 0===n?void 0:n.find((t=>t.appId===e)),o=r?{...r,id:e}:void 0;return Z.set(e,o),o})))}}async function te(e){await Promise.all(e.map((e=>X.get(e))))}function ne(e){if(window.STANDALONE_MICRO_APPS)return Z.get(e)}var re=n(8896);const oe="core.provider-flow-api";function ie(e,t){return e.some((e=>e.source===t))}async function se(e){let{url:t,originalUri:n,method:r="GET",responseWrapper:o=!0,ext_fields:i=[],request:s,isFileType:a,stream:c}=e;const u=["get","delete","head"].includes(r.toLowerCase()),l=a?{responseType:"blob"}:{};let d;for(var h=arguments.length,m=new Array(h>1?h-1:0),g=1;g<h;g++)m[g-1]=arguments[g];if(u){var A,v;let e,o;var w;if(n&&"object"===(null==s?void 0:s.type)&&((null===(A=n.match(/:([^/]+)/g))||void 0===A?void 0:A.length)??0)===((null===(v=s.fields)||void 0===v?void 0:v.length)??0)?[o]=m:[e,o]=m,c)return await(0,re.createSSEStream)(f.http.getUrlWithParams(t,e),{...l,...o,method:r,headers:Object.fromEntries([...new Headers((null===(w=o)||void 0===w?void 0:w.headers)??{}).entries()])});d=await f.http.simpleRequest(r,t,{params:e,...l,...o})}else{const e=function(e){if(!e||"object"!==e.type)return!1;const t=e=>!(0,p.isEmpty)(e)&&e.some((e=>["file","file[]"].includes(e.type)||t(e.fields)));return t(e.fields)}(s),n=function(e){const t=ie(e,"query"),n=ie(e,"body");for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];if(t){if(n){const[e,t,n]=o;return{data:e,options:{params:t,...n}}}const[e,t]=o;return{data:{},options:{params:e,...t}}}const[s,a]=o;return{data:s,options:a}}(i,...m),o=e?function(e){if(e instanceof FormData)return e;const t=new FormData;for(const[n,r]of Object.entries(e))Array.isArray(r)?r.forEach((e=>{t.append(n,e)})):!(0,p.isObject)(r)||r instanceof Blob||r instanceof Date?t.append(n,r):Object.entries(r).forEach((e=>{let[r,o]=e;t.append(`${n}[${r}]`,o)}));return t}(n.data):n.data;if(c){var y;const{body:e,headers:i}=f.http.getBodyAndHeaders(o,null===(y=n.options)||void 0===y?void 0:y.headers);return await(0,re.createSSEStream)(t,{...l,...n.options,method:r,headers:Object.fromEntries([...new Headers(i??{}).entries()]),body:e})}d=await f.http.requestWithBody(r,t,o,{...l,...n.options})}return!a&&o?d.data:d}function ae(){customElements.define(oe,(0,re.createProviderClass)(se))}var ce=n(8679),ue=function(){var e=(0,d.A)((function*(e,t){return(yield f.http.post("api/contract/single_search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const pe=new Map,le=new Map,de=new Map,fe=(e,t)=>{null==e||e.forEach((e=>{t.set(`${e.namespaceId}.${e.name}`,e)}))};function he(e){fe(e,pe)}function me(e){fe(e,le)}function ge(){le.clear()}function Ae(e){fe(e,de)}function ve(){de.clear()}const we=new Map;function ye(e){return e.includes("@")}async function Se(e,t,n,r){if(!e.includes(":"))throw new Error(`You're using legacy Custom API "${e}" which is dropped in v3, please use Flow API instead`);const o=await async function(e){const[t,n]=e.split("@"),[r,o]=n.split(":"),i=function(e){return pe.get(e)||le.get(e)||de.get(e)}(`${t}.${r}`);if(i)return{name:i.name,namespace:i.namespaceId,serviceName:i.serviceName,version:i.version,contract:{endpoint:i.endpoint,response:i.response,request:i.request}};let s=we.get(e);return s||(s=async function(e,t,n){var r;const{contractData:o}=await ue({contractName:`${e}.${t}`,version:n});return o?{name:o.name,namespace:null===(r=o.namespace)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.name,serviceName:o.serviceName,version:o.version,contract:{endpoint:o.endpoint,response:o.response,request:o.request}}:null}(t,r,o),we.set(e,s)),s}(e);if(!o)throw new be(`Flow API not found: "${e}"`);const i=function(e,t){var n;const r="string"==typeof t.contract?ce.safeLoad(t.contract,{schema:ce.JSON_SCHEMA,json:!0}):t.contract,{uri:o,method:i="GET",ext_fields:s}=(null==r?void 0:r.endpoint)??{},a=!(null==r||!r.response)&&!1!==r.response.wrapper;if(!o)throw new Error(`Missing endpoint.uri in contract of provider "${e}"`);return{uri:o,method:"list"===i.toLowerCase()?"get":i,ext_fields:s,name:t.name,namespace:t.namespace,serviceName:t.serviceName,version:t.version,isFileType:"file"===(null==r||null===(n=r.response)||void 0===n?void 0:n.type),responseWrapper:a,request:null==r?void 0:r.request}}(e,o);return function(e,t,n,r){let{uri:o,method:i,ext_fields:s,name:a,namespace:c,serviceName:u,responseWrapper:p,version:l,isFileType:d,request:f}=e;const h="saveAs"===n;let m;h&&(m=t.shift());const{url:g,args:A}=function(e,t,n,r,o,i){const s=i?"logic.api.gateway"===o||null!=o&&o.startsWith("logic.api.gateway.")?"":o?`api/gateway/${o}`:`api/gateway/${r}.${n}@${i}`:`api/gateway/api_service.${r}.${n}`,a=t.slice(),c=e.replace(/:([^/]+)/g,(()=>a.shift()));return{url:s?s+c:c.replace(/^\//,""),args:a}}(o,t,a,c,u,l);return[...h?[m]:[],{url:g,originalUri:o,method:i,ext_fields:s,responseWrapper:p,request:f,isFileType:d,stream:r},...A]}(i,t,n,r)}class be extends Error{constructor(e){super(e),this.name="FlowApiNotFoundError",Error.captureStackTrace&&Error.captureStackTrace(this,be)}}var Ie=function(){var e=(0,d.A)((function*(e,t,n){return(yield f.http.post("api/gateway/cmdb.instance.PostSearch/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,r){return e.apply(this,arguments)}}(),Ee=n(9740),ke=function(){var e=(0,d.A)((function*(e,t,n){return(yield f.http.get("api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/".concat(e),(0,Ee.A)((0,Ee.A)({},n),{},{params:t}))).data}));return function(t,n,r){return e.apply(this,arguments)}}(),Pe=n(8799);const Oe=Symbol("appId"),Me=Symbol("menuI18nNamespace"),Ce=Symbol("overrideApp");async function _e(e,t,n){const r=e.find((e=>"inject"!==e.type));if(!r)return;const o=[],i=new Map,s=new WeakMap;for(const t of e)if(t.i18n){const e=`menu/${t.menuId}~${t.app[0].appId}+${t.instanceId}`;Object.entries(t.i18n).forEach((t=>{let[n,r]=t;Pe.i18n.addResourceBundle(n,e,r)})),s.set(t,e)}await Promise.all(e.map((e=>async function(e,t,n,r){if(e.dynamicItems&&e.itemsResolve){const i=e.app[0].appId,s={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,b(e.itemsResolve)]};var o;i!==t.app.id&&(s.overrideApp=window.STANDALONE_MICRO_APPS?e.overrideApp:null===(o=r.getStoryboardByAppId(i))||void 0===o?void 0:o.app,s.appendI18nNamespace=n.get(e));const a=await r.resolveData({transform:"items",...e.itemsResolve},s);e.items=a.items}}(e,t,s,n))));for(const t of e){var a;if(null!==(a=t.items)&&void 0!==a&&a.length)if("inject"===t.type&&t.injectMenuGroupId){let e=i.get(t.injectMenuGroupId);e||(e=[],i.set(t.injectMenuGroupId,e)),e.push(t)}else o.push(t)}return{...r,items:o.flatMap((e=>Te(e.items,e,i,s))),[Me]:s.get(r),[Ce]:r.overrideApp}}function Te(e,t,n,r){return null==e?void 0:e.map((e=>{const o=e.groupId&&n.get(e.groupId);return o&&n.delete(e.groupId),{...e,children:(Te(e.children,t,n,r)??[]).concat(o?o.flatMap((e=>Te(e.items,e,n,r))):[]),[Oe]:t.app[0].appId,[Me]:r.get(t),[Ce]:t.overrideApp}}))}function Ne(e){e.items=$e(e.items)}function $e(e){return function(e){return(0,p.sortBy)(e,(e=>e.sort??-1/0))}(e).map((e=>({...e,children:$e(e.children)})))}var je=n(1092),Re=n(1580);function De(e,t,n,r){if("titleDataSource"in e&&(0,re.isObject)(e.titleDataSource)&&Object.entries(e.titleDataSource).every((e=>{let[,t]=e;return null===t||""===t}))&&delete e.titleDataSource,"if"in e&&null===e.if&&delete e.if,"to"in e&&e.to&&!(0,Re.isEvaluable)(e.to)){const t=je.pipes.yaml(e.to);(0,re.isObject)(t)&&["pathname","search","hash"].some((e=>(0,re.hasOwnProperty)(t,e)))&&(e.to=t)}let o=n;if(t!==n.app.id){var i;const s=window.STANDALONE_MICRO_APPS?e[Ce]:null===(i=r.getStoryboardByAppId(t))||void 0===i?void 0:i.app;o={...n,overrideApp:s,appendI18nNamespace:e[Me]}}return r.asyncComputeRealValue(e,o,{ignoreSymbols:!0})}function We(e,t,n){return Promise.all(e.map((async e=>{let{children:r,...o}=e;const[i,s]=await Promise.all([De(o,o[Oe],t,n),r&&await We(r,t,n)]);return{...i,children:s}})))}var xe=function(){var e=(0,d.A)((function*(e,t,n,r){return(yield f.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(e,"/instance/").concat(t),(0,Ee.A)((0,Ee.A)({},r),{},{params:n}))).data}));return function(t,n,r,o){return e.apply(this,arguments)}}();const Le=new Map;async function Ue(e){if(e.title||(0,p.isEmpty)(e.titleDataSource))return e.title;const t=JSON.stringify(e.titleDataSource),n=Le.get(t);if(void 0!==n)return n;const{objectId:r,instanceId:o,attributeId:i}=e.titleDataSource,s=i??"name",a=await xe(r,o,{fields:s});let c;if("#showKey"===i&&Array.isArray(a[s])){const[e,...t]=a[s];c=t.length>0?`${e}(${t.join(",")})`:String(e)}else c=String(a[s]);return Le.set(t,c),c}const Be=new Map,Fe=new Map;function qe(e){return null==e?void 0:e.filter(_.checkIfOfComputed).map((e=>{const t=qe(e.children);return"group"===e.type?{type:"group",title:e.text,childLayout:e.childLayout,items:t,groupId:e.groupId,groupFrom:e.groupFrom}:null!=t&&t.length?{type:"subMenu",childLayout:e.childLayout,title:e.text,icon:e.icon,items:t,defaultExpanded:e.defaultExpanded}:(0,p.omit)(e,["type","items","children"])}))}function ze(e){return Fe.get(e)}function He(e,t,n){let r=Be.get(e);return r||(r=async function(e,t,n){const r=window.STANDALONE_MICRO_APPS?function(e,t,n){var r,o;const i=n.getStoryboardByAppId(t);return((null===(r=i.meta)||void 0===r?void 0:r.injectMenus)??(null===(o=i.meta)||void 0===o?void 0:o.menus)??[]).filter((t=>t.menuId===e)).map((e=>{var n;return{...e,...null!==(n=e.app)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&n.appId?{}:{app:[{appId:t}]}}}))}(e,t.app.id,n):t.flags["three-level-menu-layout"]?(await ke(e,{menuObjectId:"EASYOPS_STORYBOARD_MENU"})).menus:(await Ie("EASYOPS_STORYBOARD_MENU",{page:1,page_size:200,fields:{menuId:!0,title:!0,icon:!0,link:!0,titleDataSource:!0,defaultCollapsed:!0,defaultCollapsedBreakpoint:!0,type:!0,injectMenuGroupId:!0,dynamicItems:!0,itemsResolve:!0,items:!0,i18n:!0,"items.children":!0,"app.appId":!0},query:{menuId:{$eq:e},app:{$size:{$gt:0}}}})).list,o=await _e(r,t,n);if(!o)throw new Error(`Menu not found: ${e}`);Ne(o);const{items:i,app:s,...a}=o,c={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,b([i,a])]};delete c.tplStateStoreId,delete c.forEachItem,delete c.forEachIndex;const u=s[0].appId,[l,d]=await Promise.all([De(a,u,c,n),We(i,c,n)]),f={title:await Ue(l),...(0,p.pick)(l,["icon","link","defaultCollapsed","defaultCollapsedBreakpoint"]),menuItems:qe(d)};Fe.set(e,f)}(e,t,n)),r}const Ge=[];let Je=null;const Ve={maxWaitingTime:5e3,maxLoggedEvents:10};function Ye(){clearTimeout(Je),Ge.length>Ve.maxLoggedEvents?Ke():Je=setTimeout(Ke,Ve.maxWaitingTime)}function Ke(){if(0===Ge.length)return;const e={model:"easyops.FRONTEND_STAT",columns:["_ver","st","et","lt","size","time","traceId","code","duration","page","uid","username","api","type","msg","status","pageId","route","apiCount","maxApiTimeCost","apiSizeCost","pageTitle"],data:Ge.splice(0,Ve.maxLoggedEvents)};var t;!function(e,t){const n=new Blob([JSON.stringify(t)],{type:"application/json"});window.navigator.sendBeacon(e,n)}(Ve.api,e),Ge.length&&(t=Ke,(window.requestIdleCallback||window.requestAnimationFrame||(e=>setTimeout(e,17)))(t))}function Qe(){window.addEventListener("beforeunload",Ke,!1)}let Xe,Ze=!1,et=null,tt=!0;const nt=[];function rt(e){Ze||(Ze=!0,Xe||(Xe=function(e,t){return Object.assign(Ve,{...t,api:e}),{sendOnExit:Qe,emit:Ye}}(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),Xe.sendOnExit()))}const ot=Symbol("HttpAnalytics");function it(e){const t=Math.round(performance.now()),n=Date.now();return e[ot]={st:n,time:Math.round(n/1e3),perfStartTime:t},e}function st(e,t){return ct(!1,e,t)}function at(e,t){return ct(!0,e,t)}function ct(e,t,n){const r=Math.round(performance.now()),o=Date.now(),{[ot]:i,url:s}=n;if(i&&!(e&&t instanceof f.HttpAbortError)){delete n[ot];const{st:c,time:u,perfStartTime:p}=i,{userInstanceId:l,username:d}=A();let h,m,g,v,w,y,S;if(e){const e=t instanceof f.HttpResponseError;(e||t instanceof f.HttpParseError)&&(({status:w,headers:y}=t.response),e&&(S=t.responseJson))}else({status:w,data:S,headers:y}=t);(0,re.isObject)(S)&&({code:h,message:m}=S),y instanceof Headers&&(g=y.get("x-b3-traceid"),v=y.get("content-length")),a={st:c,_ver:c,uid:l,username:d,time:u,et:o,page:location.href,duration:r-p,api:s,type:"api",code:h??-1,msg:m??"",status:w,traceId:g??"",size:v?Number(v):-1},et?Ge.push({...a,type:"apiRequest",...et}):nt.push(a)}var a;return e?Promise.reject(t):t}function ut(){const e=Math.round(performance.now()),t=Date.now();return nt.length=0,et=null,function(n){let{status:r,path:o,pageTitle:i}=n;if("ok"!==r)return Ge.push(...nt),void(nt.length=0);const s=Math.round(performance.now())-e,a=Date.now(),{username:c}=A();(function(e){const t=function(){const e=URL.createObjectURL(new Blob([]));let t=e.substring(e.lastIndexOf("/")+1);return URL.revokeObjectURL(e),tt&&(t="88-"+t,tt=!1),t}(),{lt:n,route:r}=e;et={lt:n,route:r,pageId:t},Ge.push({...e,pageId:t,apiCount:nt.length,maxApiTimeCost:Math.max(0,...nt.map((e=>e.duration))),size:nt.map((e=>e.size)).filter((e=>e>0)).reduce(((e,t)=>e+t),0)});for(const e of nt)Ge.push({...e,...et});nt.length=0,Xe.emit()})({type:"page",page:location.href,_ver:t,time:Math.round(t/1e3),st:t,et:a,lt:s,pageTitle:i,username:c,route:o}),window.dispatchEvent(new CustomEvent("route.render",{detail:{renderTime:s}}))}}const pt=Object.freeze({checkPermissions:function(){if(!w())return!1;if(A().isAdmin)return!0;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)switch(S.get(e)){case"unauthorized":case"undefined":return!1;case void 0:return console.error(`Un-checked permission action: "${e}", please make sure the permission to check is defined in permissionsPreCheck.`),!1}return!0},preCheckPermissions:function(e){if(w()&&!A().isAdmin)return I((0,l.scanPermissionActionsInStoryboard)(e))},preCheckPermissionsForBrickOrRoute:async function(e,t){if(w()&&!A().isAdmin&&Array.isArray(e.permissionsPreCheck))return I(await t(e.permissionsPreCheck))}}),lt=new class{constructor(){(0,E.A)(this,J),(0,k.A)(this,z,void 0),(0,k.A)(this,H,{sub:new Map,unsub:new Map}),(0,k.A)(this,G,new Map)}subscribe(e,t){const n=JSON.stringify(t);return(0,O.A)(J,this,Y).call(this,"sub",e,t,n)}unsubscribe(e){const t=(0,C.A)(G,this).get(e);if(!t){const t=`The message channel to unsubscribe "${e}" is not found`;return console.error(t),Promise.reject(new Error(t))}const n=JSON.parse(t),r=(0,O.A)(J,this,Y).call(this,"unsub",e,n,t);return(0,C.A)(H,this).sub.delete(t),r.then((()=>{(0,C.A)(G,this).delete(e)})),r}onMessage(e,t){let n=(0,C.A)(G,this).get(e),r=!1;(0,P.A)(J,this,V).onMessage((o=>{n||(n=(0,C.A)(G,this).get(e)),n?"MESSAGE.PUSH"===o.event&&function(e,t){const n=JSON.parse(e);return n.system===t.system&&(n.topic===t.topic||"string"==typeof n.topic&&n.topic.includes("*")&&new RegExp(`^${n.topic.replace(/([^*]*)\*([^*]*)/g,((e,t,n)=>`${(0,p.escapeRegExp)(t)}[^/]*${(0,p.escapeRegExp)(n)}`))}$`).test(t.topic))}(n,o.payload)&&t(o.payload.message):r||(console.error(`Message channel: "${e}" not found`),r=!0)}))}onClose(e){(0,P.A)(J,this,V).onClose(e)}reset(){var e;(0,C.A)(H,this).sub.clear(),(0,C.A)(H,this).unsub.clear(),(0,C.A)(G,this).clear(),null===(e=(0,C.A)(z,this))||void 0===e||e.reset()}},dt=function(){const e=(0,_.getV2RuntimeFromDll)();if(e)return Object.freeze((0,p.pick)(e,["authenticate","getAuth","isLoggedIn","logout"]))}()||r}}]);
3
+ //# sourceMappingURL=2252.6c4f85f9.js.map