@next-bricks/form-platform 0.3.2 → 0.3.4

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 (43) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2108.945511bd.js +2 -0
  3. package/dist/chunks/2108.945511bd.js.map +1 -0
  4. package/dist/chunks/{1980.677c909a.js → 5021.dc082f99.js} +3 -3
  5. package/dist/chunks/{1980.677c909a.js.map → 5021.dc082f99.js.map} +1 -1
  6. package/dist/chunks/6205.c945feee.js +2 -0
  7. package/dist/chunks/{6205.d0173ab3.js.map → 6205.c945feee.js.map} +1 -1
  8. package/dist/chunks/{6653.654be070.js → 6653.4352f55a.js} +2 -2
  9. package/dist/chunks/6653.4352f55a.js.map +1 -0
  10. package/dist/chunks/7164.d3c0083c.js +2 -0
  11. package/dist/chunks/{7164.a4716c8d.js.map → 7164.d3c0083c.js.map} +1 -1
  12. package/dist/chunks/{8498.69efd9f4.js → 8498.64f84c7e.js} +2 -2
  13. package/dist/chunks/8498.64f84c7e.js.map +1 -0
  14. package/dist/chunks/8561.45a4ac2c.js +2 -0
  15. package/dist/chunks/8561.45a4ac2c.js.map +1 -0
  16. package/dist/chunks/9213.0e9d6bf0.js +3 -0
  17. package/dist/chunks/9213.0e9d6bf0.js.map +1 -0
  18. package/dist/chunks/{9401.0d9ffdc8.js → 9401.87b3707a.js} +2 -2
  19. package/dist/chunks/{9401.0d9ffdc8.js.map → 9401.87b3707a.js.map} +1 -1
  20. package/dist/chunks/{eo-user-or-user-group-select.cd6e7f91.js → eo-user-or-user-group-select.0fde8b56.js} +2 -2
  21. package/dist/chunks/{eo-user-or-user-group-select.cd6e7f91.js.map → eo-user-or-user-group-select.0fde8b56.js.map} +1 -1
  22. package/dist/chunks/{main.7f101835.js → main.302d80c6.js} +2 -2
  23. package/dist/chunks/{main.7f101835.js.map → main.302d80c6.js.map} +1 -1
  24. package/dist/index.cb145b72.js +2 -0
  25. package/dist/{index.af2a43c5.js.map → index.cb145b72.js.map} +1 -1
  26. package/dist/stories-assets/eo-user-or-user-group-select.e93652af1ee695a62988.svg +27 -0
  27. package/dist/stories-assets/eo-user-or-user-group-select[basic].516c14f6d72b88d2c480.svg +27 -0
  28. package/dist/stories-assets/eo-user-or-user-group-select[blank-list].2a756391861c8316c012.svg +21 -0
  29. package/dist/stories.json +86 -0
  30. package/package.json +2 -2
  31. package/dist/chunks/2108.f01610a9.js +0 -2
  32. package/dist/chunks/2108.f01610a9.js.map +0 -1
  33. package/dist/chunks/4417.fa9b35af.js +0 -2
  34. package/dist/chunks/4417.fa9b35af.js.map +0 -1
  35. package/dist/chunks/6205.d0173ab3.js +0 -2
  36. package/dist/chunks/6653.654be070.js.map +0 -1
  37. package/dist/chunks/7164.a4716c8d.js +0 -2
  38. package/dist/chunks/8498.69efd9f4.js.map +0 -1
  39. package/dist/chunks/9213.c9dcfd5c.js +0 -3
  40. package/dist/chunks/9213.c9dcfd5c.js.map +0 -1
  41. package/dist/index.af2a43c5.js +0 -2
  42. /package/dist/chunks/{1980.677c909a.js.LICENSE.txt → 5021.dc082f99.js.LICENSE.txt} +0 -0
  43. /package/dist/chunks/{9213.c9dcfd5c.js.LICENSE.txt → 9213.0e9d6bf0.js.LICENSE.txt} +0 -0
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 9213.0e9d6bf0.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_next_bricks_form_platform=self.webpackChunk_next_bricks_form_platform||[]).push([[9213,4822],{6171:(e,t,n)=>{function r(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}n.d(t,{Z:()=>r})},5866:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(5863);function i(e,t){(0,r.Z)(e,t),t.add(e)}},2159:(e,t,n)=>{function r(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}n.d(t,{Z:()=>r})},9213:(e,t,n)=>{n.r(t),n.d(t,{analytics:()=>u,auth:()=>wt,checkInstalledApps:()=>i,checkPermissions:()=>gt,flowApi:()=>a,menu:()=>o,messageDispatcher:()=>yt});var r={};n.r(r),n.d(r,{authenticate:()=>g,getAuth:()=>y,isLoggedIn:()=>Z,logout:()=>w});var i={};n.r(i),n.d(i,{getCheckedApp:()=>ce,preCheckInstalledApps:()=>ae,waitForCheckingApps:()=>oe});var a={};n.r(a),n.d(a,{FLOW_API_PROVIDER:()=>pe,clearCollectWidgetContract:()=>Ie,collectContract:()=>Se,collectWidgetContract:()=>be,getArgsOfFlowApi:()=>Oe,isFlowApiProvider:()=>ke,registerFlowApiProvider:()=>ve});var o={};n.r(o),n.d(o,{fetchMenuById:()=>rt,getMenuById:()=>nt});var s={};n.r(s),n.d(s,{onRequest:()=>dt,onResponse:()=>ft,onResponseError:()=>ht});var c={};n.r(c),n.d(c,{create:()=>mt});var u={};n.r(u),n.d(u,{http:()=>s,initialize:()=>lt,pageView:()=>c});var l=n(4795),p=n(5178),d=n(9752),f=n(3352),h=function(){var e=(0,l.Z)((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)}}(),v=n(3028),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,userShowValue:e.userShowValue})}function y(){return(0,v.Z)({},m)}function w(){for(var e of Object.keys(m))m[e]=void 0;S.length=0,b.clear()}function Z(){return void 0!==m.username}var S=[],b=new Map;function I(){return(I=(0,l.Z)((function*(e,t){if(Z()&&!y().isAdmin&&Array.isArray(e.permissionsPreCheck))return k(yield t(e.permissionsPreCheck))}))).apply(this,arguments)}function A(e){if(Z()&&!y().isAdmin)return k((0,d.scanPermissionActionsInAny)(e))}function k(e){return O.apply(this,arguments)}function O(){return(O=(0,l.Z)((function*(e){var t=(0,p.difference)(e,[...S]);if(0!==t.length){S.push(...t);try{var n=yield h({actions:t});for(var r of n.actions)b.set(r.action,r.authorizationStatus),"undefined"===r.authorizationStatus&&console.error('Undefined permission action: "'.concat(r.action,'"'))}catch(e){console.error("Pre-check permissions failed",e)}}}))).apply(this,arguments)}var P=n(5866),M=n(3395),E=n(6171),_=n(381),C=n(687),N=n(1343),T=1e3,R=6,j=new WeakMap,D=new WeakMap,W=new WeakMap,L=new WeakMap,x=new WeakMap,U=new WeakMap,B=new WeakMap,F=new WeakSet,q=new WeakSet;class z{constructor(e){(0,P.Z)(this,q),(0,P.Z)(this,F),(0,M.Z)(this,j,{writable:!0,value:void 0}),(0,M.Z)(this,D,{writable:!0,value:void 0}),(0,M.Z)(this,W,{writable:!0,value:[]}),(0,M.Z)(this,L,{writable:!0,value:new Set}),(0,M.Z)(this,x,{writable:!0,value:new Set}),(0,M.Z)(this,U,{writable:!0,value:0}),(0,M.Z)(this,B,{writable:!0,value:!1}),(0,_.Z)(this,j,e)}send(e){(0,C.Z)(this,D)||(0,_.Z)(this,D,(0,E.Z)(this,F,G).call(this));var t=JSON.stringify(e);(0,C.Z)(this,D).readyState===WebSocket.OPEN?(0,C.Z)(this,D).send(t):(0,C.Z)(this,W).push(t)}onMessage(e){(0,C.Z)(this,L).add(e)}onClose(e){(0,C.Z)(this,x).add(e)}reset(){(0,C.Z)(this,W).length=0,(0,C.Z)(this,L).clear(),(0,C.Z)(this,x).clear()}close(){var e;(0,_.Z)(this,B,!0),(null===(e=(0,C.Z)(this,D))||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(0,C.Z)(this,D).close()}}function G(){console.log("WebSocket connecting ...");var e=new WebSocket((0,C.Z)(this,j));return e.addEventListener("open",(t=>{for(var n of(console.log("WebSocket open:",t),(0,_.Z)(this,U,0),(0,C.Z)(this,W)))e.send(n);(0,C.Z)(this,W).length=0})),e.addEventListener("close",(e=>{if(!(0,C.Z)(this,B)){for(var t of(console.log("WebSocket close:",e),(0,C.Z)(this,x)))t();1e3!==e.code&&(0,E.Z)(this,q,J).call(this)}})),e.addEventListener("error",(e=>{console.error("WebSocket error:",e)})),e.addEventListener("message",(e=>{var t=JSON.parse(e.data);for(var n of(0,C.Z)(this,L))n(t)})),e}function J(){if((0,C.Z)(this,U)>=R)console.error("WebSocket connect retry limit exceeded");else{var e=Math.pow(2,(0,C.Z)(this,U))*T;console.log("WebSocket will reconnect after %d seconds",e/1e3),setTimeout((()=>{var e;(0,_.Z)(this,U,(e=(0,C.Z)(this,U),++e)),(0,_.Z)(this,D,(0,E.Z)(this,F,G).call(this))}),e)}}var H=new WeakMap,V=new WeakMap,Y=new WeakMap,$=new WeakMap,K=new WeakSet;function Q(){if(!(0,C.Z)(this,H)){var e="https:"===location.protocol?"wss:":"ws:",t="".concat(e,"//").concat(window.location.host).concat((0,N.getBasePath)(),"api/websocket_service/v1/ws");(0,_.Z)(this,H,new z(t))}return(0,C.Z)(this,H)}function X(e,t,n,r){var i=(0,C.Z)(this,V)[e].get(r);if(i)return i;var a={event:"sub"===e?"TOPIC.SUB":"TOPIC.UNSUB",payload:n},o=new Promise(((t,r)=>{var i=ee(n);(0,C.Z)(this,$).onMessage((n=>{var a=n.event===("sub"===e?"TOPIC.SUB_SUCCESS":"TOPIC.UNSUB_SUCCESS"),o=n.event===("sub"===e?"TOPIC.SUB_FAILED":"TOPIC.UNSUB_FAILED");(a||o)&&i===ee(n.payload)&&(a?t:r)(n)})),(0,C.Z)(this,$).send(a)}));return"sub"===e&&(0,C.Z)(this,Y).set(t,r),(0,C.Z)(this,V)[e].set(r,o),o}function ee(e){var{system:t,topic:n}=e;return JSON.stringify({system:t,topic:n})}var te=n(9751),ne=function(){var e=(0,l.Z)((function*(e,t){return(yield te.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)}}(),re=new Map,ie=new Map;function ae(e,t){if(window.STANDALONE_MICRO_APPS&&!window.NO_AUTH_GUARD){var n=function(e){var t,n={usedArgs:new Set},{customTemplates:r,menus:i}=null!==(t=e.meta)&&void 0!==t?t:{};return(0,d.traverseStoryboardExpressions)([e.routes,r,i],((e,t)=>{(0,d.collectInstalledAppsHasUsage)(n,e,t)}),"INSTALLED_APPS"),[...n.usedArgs]}(e),r=[];for(var i of n)re.has(i)||t(i)||r.push(i);if(0===r.length)return;var a=ne({query:{appId:{$in:r}},fields:["appId","currentVersion","installStatus"]}).catch((e=>{console.error("Get off site standalone micro-apps failed",e)})),o=function(e){re.set(e,a.then((t=>{var n,r=null==t||null===(n=t.list)||void 0===n?void 0:n.find((t=>t.appId===e)),i=r?(0,v.Z)((0,v.Z)({},r),{},{id:e}):void 0;return ie.set(e,i),i})))};for(var s of r)o(s)}}function oe(e){return se.apply(this,arguments)}function se(){return(se=(0,l.Z)((function*(e){yield Promise.all(e.map((e=>re.get(e))))}))).apply(this,arguments)}function ce(e){if(window.STANDALONE_MICRO_APPS)return ie.get(e)}var ue=n(2071),le=n(663),pe="core.provider-flow-api";function de(e,t){return e.some((e=>e.source===t))}function fe(e){return he.apply(this,arguments)}function he(){return he=(0,l.Z)((function*(e){for(var t,{url:n,originalUri:r,method:i="GET",responseWrapper:a=!0,ext_fields:o=[],request:s,isFileType:c}=e,u=["get","delete","head"].includes(i.toLowerCase()),l=c?{responseType:"blob"}:{},d=arguments.length,f=new Array(d>1?d-1:0),h=1;h<d;h++)f[h-1]=arguments[h];if(u){var m,g,y,w,Z,S;r&&"object"===(null==s?void 0:s.type)&&(null!==(m=null===(g=r.match(/:([^/]+)/g))||void 0===g?void 0:g.length)&&void 0!==m?m:0)===(null!==(y=null===(w=s.fields)||void 0===w?void 0:w.length)&&void 0!==y?y:0)?[S]=f:[Z,S]=f,t=yield le.http.simpleRequest(i,n,(0,v.Z)((0,v.Z)({params:Z},l),S))}else{var b=function(e){if(!e||"object"!==e.type)return!1;var t=e=>!(0,p.isEmpty)(e)&&e.some((e=>["file","file[]"].includes(e.type)||t(e.fields)));return t(e.fields)}(s),I=function(e){for(var t=de(e,"query"),n=de(e,"body"),r=arguments.length,i=new Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];if(t){if(n){var[o,s,c]=i;return{data:o,options:(0,v.Z)({params:s},c)}}var[u,l]=i;return{data:{},options:(0,v.Z)({params:u},l)}}var[p,d]=i;return{data:p,options:d}}(o,...f);t=yield le.http.requestWithBody(i,n,b?function(e){if(e instanceof FormData)return e;var t=new FormData,n=function(e){Array.isArray(i)?i.forEach((n=>{t.append(e,n)})):!(0,p.isObject)(i)||i instanceof Blob||i instanceof Date?t.append(e,i):Object.entries(i).forEach((n=>{var[r,i]=n;t.append("".concat(e,"[").concat(r,"]"),i)}))};for(var[r,i]of Object.entries(e))n(r);return t}(I.data):I.data,(0,v.Z)((0,v.Z)({},l),I.options))}return!c&&a?t.data:t})),he.apply(this,arguments)}function ve(){customElements.define(pe,(0,ue.createProviderClass)(fe))}var me=n(9169),ge=function(){var e=(0,l.Z)((function*(e,t){return(yield f.http.post("api/contract/single_search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}(),ye=new Map,we=new Map,Ze=(e,t)=>{null==e||e.forEach((e=>{t.set("".concat(e.namespaceId,".").concat(e.name),e)}))};function Se(e){Ze(e,ye)}function be(e){Ze(e,we)}function Ie(){we.clear()}var Ae=new Map;function ke(e){return e.includes("@")}function Oe(e,t,n){return Pe.apply(this,arguments)}function Pe(){return Pe=(0,l.Z)((function*(e,t,n){if(!e.includes(":"))throw new Error("You're using legacy Custom API \"".concat(e,'" which is dropped in v3, please use Flow API instead'));var r=yield function(e){return Me.apply(this,arguments)}(e);if(!r)throw new _e('Flow API not found: "'.concat(e,'"'));var i=function(e,t){var n,r,i="string"==typeof t.contract?me.safeLoad(t.contract,{schema:me.JSON_SCHEMA,json:!0}):t.contract,{uri:a,method:o="GET",ext_fields:s}=null!==(n=null==i?void 0:i.endpoint)&&void 0!==n?n:{},c=!(null==i||!i.response)&&!1!==i.response.wrapper;if(!a)throw new Error('Missing endpoint.uri in contract of provider "'.concat(e,'"'));return{uri:a,method:"list"===o.toLowerCase()?"get":o,ext_fields:s,name:t.name,namespace:t.namespace,serviceName:t.serviceName,version:t.version,isFileType:"file"===(null==i||null===(r=i.response)||void 0===r?void 0:r.type),responseWrapper:c,request:null==i?void 0:i.request}}(e,r);return function(e,t,n){var r,{uri:i,method:a,ext_fields:o,name:s,namespace:c,serviceName:u,responseWrapper:l,version:p,isFileType:d,request:f}=e,h="saveAs"===n;h&&(r=t.shift());var{url:v,args:m}=function(e,t,n,r,i,a){var o=a?i?"api/gateway/".concat(i):"api/gateway/".concat(r,".").concat(n,"@").concat(a):"api/gateway/api_service.".concat(r,".").concat(n),s=t.slice();return{url:o+e.replace(/:([^/]+)/g,(()=>s.shift())),args:s}}(i,t,s,c,u,p);return[...h?[r]:[],{url:v,originalUri:i,method:a,ext_fields:o,responseWrapper:l,request:f,isFileType:d},...m]}(i,t,n)})),Pe.apply(this,arguments)}function Me(){return Me=(0,l.Z)((function*(e){var[t,n]=e.split("@"),[r,i]=n.split(":"),a=function(e){return ye.get(e)||we.get(e)}("".concat(t,".").concat(r));if(a)return{name:a.name,namespace:a.namespaceId,serviceName:a.serviceName,version:a.version,contract:{endpoint:a.endpoint,response:a.response,request:a.request}};var o=Ae.get(e);return o||(o=function(e,t,n){return Ee.apply(this,arguments)}(t,r,i),Ae.set(e,o)),o})),Me.apply(this,arguments)}function Ee(){return(Ee=(0,l.Z)((function*(e,t,n){var r,{contractData:i}=yield ge({contractName:"".concat(e,".").concat(t),version:n});return i?{name:i.name,namespace:null===(r=i.namespace)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.name,serviceName:i.serviceName,version:i.version,contract:{endpoint:i.endpoint,response:i.response,request:i.request}}:null}))).apply(this,arguments)}class _e extends Error{constructor(e){super(e),this.name="FlowApiNotFoundError",Error.captureStackTrace&&Error.captureStackTrace(this,_e)}}var Ce=n(2159),Ne=n(2021),Te=function(){var e=(0,l.Z)((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,v.Z)((0,v.Z)({},n),{},{params:t}))).data}));return function(t,n,r){return e.apply(this,arguments)}}(),Re=n(1965),je=Symbol("appId"),De=Symbol("menuI18nNamespace"),We=Symbol("overrideApp");function Le(){return(Le=(0,l.Z)((function*(e,t,n,r){if(e.dynamicItems&&e.itemsResolve){var i,a=e.app[0].appId,o=(0,v.Z)((0,v.Z)({},t),{},{pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,A(e.itemsResolve)]});a!==t.app.id&&(o.overrideApp=window.STANDALONE_MICRO_APPS?e.overrideApp:null===(i=r.getStoryboardByAppId(a))||void 0===i?void 0:i.app,o.appendI18nNamespace=n.get(e));var s=yield r.resolveData((0,v.Z)({transform:"items"},e.itemsResolve),o);e.items=s.items}}))).apply(this,arguments)}function xe(){return xe=(0,l.Z)((function*(e,t,n){var r=e.find((e=>"inject"!==e.type));if(r){var i=[],a=new Map,o=new WeakMap,s=function*(){if(c.i18n){var e="menu/".concat(c.menuId,"~").concat(c.app[0].appId,"+").concat(c.instanceId);Object.entries(c.i18n).forEach((t=>{var[n,r]=t;Re.i18n.addResourceBundle(n,e,r)})),o.set(c,e)}};for(var c of e)yield*s();for(var u of(yield Promise.all(e.map((e=>function(e,t,n,r){return Le.apply(this,arguments)}(e,t,o,n)))),e)){var l;if(null!==(l=u.items)&&void 0!==l&&l.length)if("inject"===u.type&&u.injectMenuGroupId){var p=a.get(u.injectMenuGroupId);p||(p=[],a.set(u.injectMenuGroupId,p)),p.push(u)}else i.push(u)}return(0,v.Z)((0,v.Z)({},r),{},{items:i.flatMap((e=>Ue(e.items,e,a,o))),[De]:o.get(r),[We]:r.overrideApp})}})),xe.apply(this,arguments)}function Ue(e,t,n,r){return null==e?void 0:e.map((e=>{var i,a=e.groupId&&n.get(e.groupId);return a&&n.delete(e.groupId),(0,v.Z)((0,v.Z)({},e),{},{children:(null!==(i=Ue(e.children,t,n,r))&&void 0!==i?i:[]).concat(a?a.flatMap((e=>Ue(e.items,e,n,r))):[]),[je]:t.app[0].appId,[De]:r.get(t),[We]:t.overrideApp})}))}function Be(e){e.items=Fe(e.items)}function Fe(e){return function(e){return(0,p.sortBy)(e,(e=>{var t;return null!==(t=e.sort)&&void 0!==t?t:-1/0}))}(e).map((e=>(0,v.Z)((0,v.Z)({},e),{},{children:Fe(e.children)})))}var qe=n(1972),ze=n(4187),Ge=["children"];function Je(e,t,n,r){if("titleDataSource"in e&&(0,ue.isObject)(e.titleDataSource)&&Object.entries(e.titleDataSource).every((e=>{var[,t]=e;return null===t||""===t}))&&delete e.titleDataSource,"if"in e&&null===e.if&&delete e.if,"to"in e&&e.to&&!(0,ze.isEvaluable)(e.to)){var i=qe.pipes.yaml(e.to);(0,ue.isObject)(i)&&["pathname","search","hash"].some((e=>(0,ue.hasOwnProperty)(i,e)))&&(e.to=i)}var a=n;if(t!==n.app.id){var o,s=window.STANDALONE_MICRO_APPS?e[We]:null===(o=r.getStoryboardByAppId(t))||void 0===o?void 0:o.app;a=(0,v.Z)((0,v.Z)({},n),{},{overrideApp:s,appendI18nNamespace:e[De]})}return r.asyncComputeRealValue(e,a,{ignoreSymbols:!0})}function He(e,t,n){return Promise.all(e.map(function(){var e=(0,l.Z)((function*(e){var{children:r}=e,i=(0,Ce.Z)(e,Ge),[a,o]=yield Promise.all([Je(i,i[je],t,n),r&&(yield He(r,t,n))]);return(0,v.Z)((0,v.Z)({},a),{},{children:o})}));return function(t){return e.apply(this,arguments)}}()))}var Ve=function(){var e=(0,l.Z)((function*(e,t,n,r){return(yield te.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(e,"/instance/").concat(t),(0,v.Z)((0,v.Z)({},r),{},{params:n}))).data}));return function(t,n,r,i){return e.apply(this,arguments)}}(),Ye=new Map;function $e(e){return Ke.apply(this,arguments)}function Ke(){return(Ke=(0,l.Z)((function*(e){if(e.title||(0,p.isEmpty)(e.titleDataSource))return e.title;var t=JSON.stringify(e.titleDataSource),n=Ye.get(t);if(void 0!==n)return n;var r,{objectId:i,instanceId:a,attributeId:o}=e.titleDataSource,s=null!=o?o:"name",c=yield Ve(i,a,{fields:s});if("#showKey"===o&&Array.isArray(c[s])){var[u,...l]=c[s];r=l.length>0?"".concat(u,"(").concat(l.join(","),")"):String(u)}else r=String(c[s]);return Ye.set(t,r),r}))).apply(this,arguments)}var Qe=["items","app"],Xe=new Map,et=new Map;function tt(e){return null==e?void 0:e.filter(N.checkIfOfComputed).map((e=>{var t=tt(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 nt(e){return et.get(e)}function rt(e,t,n){var r=Xe.get(e);return r||(r=function(e,t,n){return it.apply(this,arguments)}(e,t,n)),r}function it(){return it=(0,l.Z)((function*(e,t,n){var r=window.STANDALONE_MICRO_APPS?function(e,t,n){var r,i,a,o,s=n.getStoryboardByAppId(t);return(null!==(r=null!==(i=null===(a=s.meta)||void 0===a?void 0:a.injectMenus)&&void 0!==i?i:null===(o=s.meta)||void 0===o?void 0:o.menus)&&void 0!==r?r:[]).filter((t=>t.menuId===e)).map((e=>{var n;return(0,v.Z)((0,v.Z)({},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"]?(yield Te(e,{menuObjectId:"EASYOPS_STORYBOARD_MENU"})).menus:(yield(0,Ne.x)("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,i=yield function(e,t,n){return xe.apply(this,arguments)}(r,t,n);if(!i)throw new Error("Menu not found: ".concat(e));Be(i);var{items:a,app:o}=i,s=(0,Ce.Z)(i,Qe),c=(0,v.Z)((0,v.Z)({},t),{},{pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,A([a,s])]});delete c.tplStateStoreId,delete c.forEachItem,delete c.forEachIndex;var u=o[0].appId,[l,d]=yield Promise.all([Je(s,u,c,n),He(a,c,n)]),f=(0,v.Z)((0,v.Z)({title:yield $e(l)},(0,p.pick)(l,["icon","link","defaultCollapsed","defaultCollapsedBreakpoint"])),{},{menuItems:tt(d)});et.set(e,f)})),it.apply(this,arguments)}var at=!1,ot=null,st=!0,ct=[],ut=[];function lt(e){at||(at=!0,window.addEventListener("beforeunload",(function(){if(0!==ut.length){var t={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:ut},n=new Blob([JSON.stringify(t)],{type:"application/json"});ut.length=0,window.navigator.sendBeacon(e,n)}}),!1))}var pt=Symbol("HttpAnalytics");function dt(e){var t=Math.round(performance.now()),n=Date.now();return e[pt]={st:n,time:Math.round(n/1e3),perfStartTime:t},e}function ft(e,t){return vt(!1,e,t)}function ht(e,t){return vt(!0,e,t)}function vt(e,t,n){var r,i=Math.round(performance.now()),a=Date.now(),{[pt]:o,url:s}=n;if(o&&!(e&&t instanceof le.HttpAbortError)){var c,u,l;delete n[pt];var p,d,f,h,m,g,w,{st:Z,time:S,perfStartTime:b}=o,{userInstanceId:I,username:A}=y();if(e){var k=t instanceof le.HttpResponseError;(k||t instanceof le.HttpParseError)&&(({status:m,headers:g}=t.response),k&&(w=t.responseJson))}else({status:m,data:w,headers:g}=t);(0,ue.isObject)(w)&&({code:p,message:d}=w),g instanceof Headers&&(f=g.get("x-b3-traceid"),h=g.get("content-length")),r={st:Z,_ver:Z,uid:I,username:A,time:S,et:a,page:location.href,duration:i-b,api:s,type:"api",code:null!==(c=p)&&void 0!==c?c:-1,msg:null!==(u=d)&&void 0!==u?u:"",status:m,traceId:null!==(l=f)&&void 0!==l?l:"",size:h?Number(h):-1},ot?ut.push((0,v.Z)((0,v.Z)({},r),{},{type:"apiRequest"},ot)):ct.push(r)}return e?Promise.reject(t):t}function mt(){var e=Math.round(performance.now()),t=Date.now();return ct.length=0,ot=null,function(n){var{status:r,path:i,pageTitle:a}=n;if("ok"!==r)return ut.push(...ct),void(ct.length=0);var o=Math.round(performance.now())-e,s=Date.now(),{username:c}=y();(function(e){var t,n,r=(t=URL.createObjectURL(new Blob([])),n=t.substring(t.lastIndexOf("/")+1),URL.revokeObjectURL(t),st&&(n="88-"+n,st=!1),n),{lt:i,route:a}=e;for(var o of(ot={lt:i,route:a,pageId:r},ut.push((0,v.Z)((0,v.Z)({},e),{},{pageId:r,apiCount:ct.length,maxApiTimeCost:Math.max(0,...ct.map((e=>e.duration))),size:ct.map((e=>e.size)).filter((e=>e>0)).reduce(((e,t)=>e+t),0)})),ct))ut.push((0,v.Z)((0,v.Z)({},o),ot));ct.length=0})({type:"page",page:location.href,_ver:t,time:Math.round(t/1e3),st:t,et:s,lt:o,pageTitle:a,username:c,route:i}),window.dispatchEvent(new CustomEvent("route.render",{detail:{renderTime:o}}))}}var gt=Object.freeze({checkPermissions:function(){if(!Z())return!1;if(y().isAdmin)return!0;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r of t)switch(b.get(r)){case"unauthorized":case"undefined":return!1;case void 0:return console.error('Un-checked permission action: "'.concat(r,'", please make sure the permission to check is defined in permissionsPreCheck.')),!1}return!0},preCheckPermissions:function(e){if(Z()&&!y().isAdmin)return k((0,d.scanPermissionActionsInStoryboard)(e))},preCheckPermissionsForBrickOrRoute:function(e,t){return I.apply(this,arguments)}}),yt=new class{constructor(){(0,P.Z)(this,K),(0,M.Z)(this,$,{get:Q,set:void 0}),(0,M.Z)(this,H,{writable:!0,value:void 0}),(0,M.Z)(this,V,{writable:!0,value:{sub:new Map,unsub:new Map}}),(0,M.Z)(this,Y,{writable:!0,value:new Map})}subscribe(e,t){var n=JSON.stringify(t);return(0,E.Z)(this,K,X).call(this,"sub",e,t,n)}unsubscribe(e){var t=(0,C.Z)(this,Y).get(e);if(!t){var n='The message channel to unsubscribe "'.concat(e,'" is not found');return console.error(n),Promise.reject(new Error(n))}var r=JSON.parse(t),i=(0,E.Z)(this,K,X).call(this,"unsub",e,r,t);return(0,C.Z)(this,V).sub.delete(t),i.then((()=>{(0,C.Z)(this,Y).delete(e)})),i}onMessage(e,t){var n=(0,C.Z)(this,Y).get(e);n?(0,C.Z)(this,$).onMessage((e=>{"MESSAGE.PUSH"===e.event&&function(e,t){var n=JSON.parse(e);return n.system===t.system&&(n.topic===t.topic||"string"==typeof n.topic&&n.topic.includes("*")&&new RegExp("^".concat(n.topic.replace(/([^*]*)\*([^*]*)/g,((e,t,n)=>"".concat((0,p.escapeRegExp)(t),"[^/]*").concat((0,p.escapeRegExp)(n)))),"$")).test(t.topic))}(n,e.payload)&&t(e.payload.message)})):console.error('Message channel: "'.concat(e,'" not found'))}onClose(e){(0,C.Z)(this,$).onClose(e)}reset(){var e;(0,C.Z)(this,V).sub.clear(),(0,C.Z)(this,V).unsub.clear(),(0,C.Z)(this,Y).clear(),null===(e=(0,C.Z)(this,H))||void 0===e||e.reset()}},wt=function(){var e=(0,N.getV2RuntimeFromDll)();if(e)return Object.freeze((0,p.pick)(e,["authenticate","getAuth","isLoggedIn","logout"]))}()||r}}]);
3
+ //# sourceMappingURL=9213.0e9d6bf0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9213.0e9d6bf0.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/permission/validatePermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkPermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageService.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageDispatcher.js","webpack:///../../node_modules/@next-api-sdk/micro-app-standalone-sdk/dist/esm/api/micro_app_standalone/runtime/searchMicroAppStandalone.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkInstalledApps.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApiProvider.js","webpack:///../../node_modules/@next-api-sdk/api-gateway-sdk/dist/esm/api/api_gateway/contract/searchSingleContract.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/CollectContracts.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApi.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/installed_micro_app/getMenusInfo.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/constants.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/loadDynamicMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/mergeMenu.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/reorderMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/computeMenuData.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/getDetail.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuTitle.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuById.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/getMenusOfStandaloneApp.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/analytics.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/http.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/pageView.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/index.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth-v2.js"],"sourcesContent":["export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 校验系统权限\n * @endpoint POST /api/micro_app/v1/permission/validate\n */\nexport var PermissionApi_validatePermissions = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app.permission.ValidatePermissions@1.0.0 */(yield http.post(\"api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate\", data, options)).data\n );\n });\n return function PermissionApi_validatePermissions(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=validatePermissions.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\nvar auth = {};\n\n/** @internal */\n\n/** @internal */\nexport function authenticate(newAuth) {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n userShowValue: newAuth.userShowValue\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth() {\n return _objectSpread({}, auth);\n}\n\n/** @internal */\nexport function logout() {\n for (var key of Object.keys(auth)) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn() {\n return auth.username !== undefined;\n}\n//# sourceMappingURL=auth.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { difference } from \"lodash\";\nimport { scanPermissionActionsInAny, scanPermissionActionsInStoryboard } from \"@next-core/utils/storyboard\";\nimport { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport { getAuth, isLoggedIn } from \"./auth.js\";\nvar checkedPermissions = [];\nvar permissionMap = new Map();\nexport function preCheckPermissions(storyboard) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n var usedActions = scanPermissionActionsInStoryboard(storyboard);\n return validatePermissions(usedActions);\n }\n}\nexport function preCheckPermissionsForBrickOrRoute(_x, _x2) {\n return _preCheckPermissionsForBrickOrRoute.apply(this, arguments);\n}\nfunction _preCheckPermissionsForBrickOrRoute() {\n _preCheckPermissionsForBrickOrRoute = _asyncToGenerator(function* (container, asyncComputeRealValue) {\n if (isLoggedIn() && !getAuth().isAdmin && Array.isArray(container.permissionsPreCheck)) {\n var actions = yield asyncComputeRealValue(container.permissionsPreCheck);\n return validatePermissions(actions);\n }\n });\n return _preCheckPermissionsForBrickOrRoute.apply(this, arguments);\n}\nexport function preCheckPermissionsForAny(data) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n var usedActions = scanPermissionActionsInAny(data);\n return validatePermissions(usedActions);\n }\n}\nexport function validatePermissions(_x3) {\n return _validatePermissions.apply(this, arguments);\n}\n\n/**\n * Check the current logged-in user whether to have all\n * permissions of actions passed to it.\n *\n * @param actions - Required permission actions.\n */\nfunction _validatePermissions() {\n _validatePermissions = _asyncToGenerator(function* (usedActions) {\n // Do not request known actions.\n var actions = difference(usedActions, [...checkedPermissions]);\n if (actions.length === 0) {\n return;\n }\n checkedPermissions.push(...actions);\n try {\n var result = yield PermissionApi_validatePermissions({\n actions\n });\n for (var item of result.actions) {\n permissionMap.set(item.action, item.authorizationStatus);\n if (item.authorizationStatus === \"undefined\") {\n // eslint-disable-next-line no-console\n console.error(\"Undefined permission action: \\\"\".concat(item.action, \"\\\"\"));\n }\n }\n } catch (error) {\n // Allow pre-check to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Pre-check permissions failed\", error);\n }\n });\n return _validatePermissions.apply(this, arguments);\n}\nexport function checkPermissions() {\n if (!isLoggedIn()) {\n return false;\n }\n if (getAuth().isAdmin) {\n return true;\n }\n for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {\n actions[_key] = arguments[_key];\n }\n for (var action of actions) {\n // Only **exclusively authorized** permissions are ok.\n // Those scenarios below will fail:\n // - unauthorized actions (pre-check results)\n // - undefined actions (pre-check results)\n // - Un-pre-checked or pre-check failed\n switch (permissionMap.get(action)) {\n case \"unauthorized\":\n case \"undefined\":\n return false;\n case undefined:\n // eslint-disable-next-line no-console\n console.error(\"Un-checked permission action: \\\"\".concat(action, \"\\\", please make sure the permission to check is defined in permissionsPreCheck.\"));\n return false;\n }\n }\n return true;\n}\n\n/**\n * Reset permission pre-checks after logged-out.\n */\nexport function resetPermissionPreChecks() {\n checkedPermissions.length = 0;\n permissionMap.clear();\n}\n//# sourceMappingURL=checkPermissions.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateMethodGet from \"@babel/runtime/helpers/classPrivateMethodGet\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet\";\nvar RETRY_TIMEOUT_UNIT = 1000;\nvar RETRY_LIMIT = 6;\nvar _url = /*#__PURE__*/new WeakMap();\nvar _ws = /*#__PURE__*/new WeakMap();\nvar _queuedMessages = /*#__PURE__*/new WeakMap();\nvar _messageListeners = /*#__PURE__*/new WeakMap();\nvar _closeListeners = /*#__PURE__*/new WeakMap();\nvar _retryCount = /*#__PURE__*/new WeakMap();\nvar _closed = /*#__PURE__*/new WeakMap();\nvar _connect = /*#__PURE__*/new WeakSet();\nvar _reconnect = /*#__PURE__*/new WeakSet();\nexport class MessageService {\n constructor(url) {\n _classPrivateMethodInitSpec(this, _reconnect);\n _classPrivateMethodInitSpec(this, _connect);\n _classPrivateFieldInitSpec(this, _url, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldInitSpec(this, _ws, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldInitSpec(this, _queuedMessages, {\n writable: true,\n value: []\n });\n _classPrivateFieldInitSpec(this, _messageListeners, {\n writable: true,\n value: new Set()\n });\n _classPrivateFieldInitSpec(this, _closeListeners, {\n writable: true,\n value: new Set()\n });\n _classPrivateFieldInitSpec(this, _retryCount, {\n writable: true,\n value: 0\n });\n _classPrivateFieldInitSpec(this, _closed, {\n writable: true,\n value: false\n });\n _classPrivateFieldSet(this, _url, url);\n }\n send(data) {\n // Connect when data is sent for the first time\n if (!_classPrivateFieldGet(this, _ws)) {\n _classPrivateFieldSet(this, _ws, _classPrivateMethodGet(this, _connect, _connect2).call(this));\n }\n var stringifiedData = JSON.stringify(data);\n if (_classPrivateFieldGet(this, _ws).readyState === WebSocket.OPEN) {\n _classPrivateFieldGet(this, _ws).send(stringifiedData);\n } else {\n _classPrivateFieldGet(this, _queuedMessages).push(stringifiedData);\n }\n }\n onMessage(listener) {\n _classPrivateFieldGet(this, _messageListeners).add(listener);\n }\n onClose(listener) {\n _classPrivateFieldGet(this, _closeListeners).add(listener);\n }\n reset() {\n _classPrivateFieldGet(this, _queuedMessages).length = 0;\n _classPrivateFieldGet(this, _messageListeners).clear();\n _classPrivateFieldGet(this, _closeListeners).clear();\n }\n close() {\n var _classPrivateFieldGet2;\n _classPrivateFieldSet(this, _closed, true);\n if (((_classPrivateFieldGet2 = _classPrivateFieldGet(this, _ws)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.readyState) === WebSocket.OPEN) {\n _classPrivateFieldGet(this, _ws).close();\n }\n }\n}\nfunction _connect2() {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket connecting ...\");\n var ws = new WebSocket(_classPrivateFieldGet(this, _url));\n ws.addEventListener(\"open\", e => {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket open:\", e);\n _classPrivateFieldSet(this, _retryCount, 0);\n for (var msg of _classPrivateFieldGet(this, _queuedMessages)) {\n ws.send(msg);\n }\n _classPrivateFieldGet(this, _queuedMessages).length = 0;\n });\n ws.addEventListener(\"close\", e => {\n if (_classPrivateFieldGet(this, _closed)) {\n return;\n }\n // eslint-disable-next-line no-console\n console.log(\"WebSocket close:\", e);\n for (var listener of _classPrivateFieldGet(this, _closeListeners)) {\n listener();\n }\n // Error code 1000 means that the connection was closed normally.\n if (e.code !== 1000) {\n _classPrivateMethodGet(this, _reconnect, _reconnect2).call(this);\n }\n });\n ws.addEventListener(\"error\", e => {\n // No need to reconnect in error event listener,\n // there will always be a close event along with the error event.\n // eslint-disable-next-line no-console\n console.error(\"WebSocket error:\", e);\n });\n ws.addEventListener(\"message\", e => {\n var response = JSON.parse(e.data);\n for (var listener of _classPrivateFieldGet(this, _messageListeners)) {\n listener(response);\n }\n });\n return ws;\n}\nfunction _reconnect2() {\n // istanbul ignore next: currently can't mock this\n if (_classPrivateFieldGet(this, _retryCount) >= RETRY_LIMIT) {\n // eslint-disable-next-line no-console\n console.error(\"WebSocket connect retry limit exceeded\");\n return;\n }\n // Double the timeout for each retry\n var delay = Math.pow(2, _classPrivateFieldGet(this, _retryCount)) * RETRY_TIMEOUT_UNIT;\n // eslint-disable-next-line no-console\n console.log(\"WebSocket will reconnect after %d seconds\", delay / 1000);\n setTimeout(() => {\n var _this$retryCount, _this$retryCount2;\n _classPrivateFieldSet(this, _retryCount, (_this$retryCount = _classPrivateFieldGet(this, _retryCount), _this$retryCount2 = _this$retryCount++, _this$retryCount)), _this$retryCount2;\n _classPrivateFieldSet(this, _ws, _classPrivateMethodGet(this, _connect, _connect2).call(this));\n }, delay);\n}\n//# sourceMappingURL=MessageService.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateMethodGet from \"@babel/runtime/helpers/classPrivateMethodGet\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { escapeRegExp } from \"lodash\";\nimport { MessageService } from \"./MessageService.js\";\nvar _ms = /*#__PURE__*/new WeakMap();\nvar _memoizedChannels = /*#__PURE__*/new WeakMap();\nvar _channelPayloads = /*#__PURE__*/new WeakMap();\nvar _ms2 = /*#__PURE__*/new WeakMap();\nvar _subOrUnsub = /*#__PURE__*/new WeakSet();\nexport class MessageDispatcher {\n constructor() {\n _classPrivateMethodInitSpec(this, _subOrUnsub);\n _classPrivateFieldInitSpec(this, _ms2, {\n get: _get_ms,\n set: void 0\n });\n _classPrivateFieldInitSpec(this, _ms, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldInitSpec(this, _memoizedChannels, {\n writable: true,\n value: {\n sub: new Map(),\n unsub: new Map()\n }\n });\n _classPrivateFieldInitSpec(this, _channelPayloads, {\n writable: true,\n value: new Map()\n });\n }\n subscribe(channel, payload) {\n var stringifiedPayload = JSON.stringify(payload);\n return _classPrivateMethodGet(this, _subOrUnsub, _subOrUnsub2).call(this, \"sub\", channel, payload, stringifiedPayload);\n }\n unsubscribe(channel) {\n var stringifiedPayload = _classPrivateFieldGet(this, _channelPayloads).get(channel);\n if (!stringifiedPayload) {\n var msg = \"The message channel to unsubscribe \\\"\".concat(channel, \"\\\" is not found\");\n // eslint-disable-next-line no-console\n console.error(msg);\n return Promise.reject(new Error(msg));\n }\n var payload = JSON.parse(stringifiedPayload);\n var result = _classPrivateMethodGet(this, _subOrUnsub, _subOrUnsub2).call(this, \"unsub\", channel, payload, stringifiedPayload);\n _classPrivateFieldGet(this, _memoizedChannels).sub.delete(stringifiedPayload);\n result.then(() => {\n _classPrivateFieldGet(this, _channelPayloads).delete(channel);\n });\n return result;\n }\n onMessage(channel, listener) {\n var stringifiedPayload = _classPrivateFieldGet(this, _channelPayloads).get(channel);\n if (!stringifiedPayload) {\n // eslint-disable-next-line no-console\n console.error(\"Message channel: \\\"\".concat(channel, \"\\\" not found\"));\n return;\n }\n _classPrivateFieldGet(this, _ms2).onMessage(response => {\n if (response.event === \"MESSAGE.PUSH\" && matchMessageChannel(stringifiedPayload, response.payload)) {\n listener(response.payload.message);\n }\n });\n }\n onClose(listener) {\n _classPrivateFieldGet(this, _ms2).onClose(listener);\n }\n reset() {\n var _classPrivateFieldGet2;\n _classPrivateFieldGet(this, _memoizedChannels).sub.clear();\n _classPrivateFieldGet(this, _memoizedChannels).unsub.clear();\n _classPrivateFieldGet(this, _channelPayloads).clear();\n (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _ms)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.reset();\n }\n}\nfunction _get_ms() {\n if (!_classPrivateFieldGet(this, _ms)) {\n var protocol = location.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n var url = \"\".concat(protocol, \"//\").concat(window.location.host).concat(getBasePath(), \"api/websocket_service/v1/ws\");\n _classPrivateFieldSet(this, _ms, new MessageService(url));\n }\n return _classPrivateFieldGet(this, _ms);\n}\nfunction _subOrUnsub2(type, channel, payload, stringifiedPayload) {\n var hit = _classPrivateFieldGet(this, _memoizedChannels)[type].get(stringifiedPayload);\n if (hit) {\n return hit;\n }\n var request = {\n event: type === \"sub\" ? \"TOPIC.SUB\" : \"TOPIC.UNSUB\",\n payload\n };\n var promise = new Promise((resolve, reject) => {\n var identity = getIdentity(payload);\n _classPrivateFieldGet(this, _ms2).onMessage(response => {\n var isSuccess = response.event === (type === \"sub\" ? \"TOPIC.SUB_SUCCESS\" : \"TOPIC.UNSUB_SUCCESS\");\n var isFailed = response.event === (type === \"sub\" ? \"TOPIC.SUB_FAILED\" : \"TOPIC.UNSUB_FAILED\");\n if ((isSuccess || isFailed) &&\n // Put this after event type checks, to prevent unnecessary\n // JSON stringify.\n identity === getIdentity(response.payload)) {\n (isSuccess ? resolve : reject)(response);\n }\n });\n _classPrivateFieldGet(this, _ms2).send(request);\n });\n if (type === \"sub\") {\n _classPrivateFieldGet(this, _channelPayloads).set(channel, stringifiedPayload);\n }\n _classPrivateFieldGet(this, _memoizedChannels)[type].set(stringifiedPayload, promise);\n return promise;\n}\nfunction getIdentity(payload) {\n var {\n system,\n topic\n } = payload;\n return JSON.stringify({\n system,\n topic\n });\n}\nfunction matchMessageChannel(stringifiedPayload, responsePayload) {\n var payload = JSON.parse(stringifiedPayload);\n return payload.system === responsePayload.system && (\n // Exact match\n payload.topic === responsePayload.topic ||\n // Wildcards match\n // For `ab.cd.*`:\n // - Matches `ab.cd.r` or `ab.cd.x.yz`\n // - DOES NOT match `ab.cd.x/yz` or `ab.x.cd` or `x.ab.cd.yz`\n typeof payload.topic === \"string\" && payload.topic.includes(\"*\") && new RegExp(\"^\".concat(payload.topic.replace(/([^*]*)\\*([^*]*)/g, (m, p1, p2) => \"\".concat(escapeRegExp(p1), \"[^/]*\").concat(escapeRegExp(p2))), \"$\")).test(responsePayload.topic));\n}\n//# sourceMappingURL=MessageDispatcher.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 查询独立部署小产品\n * @endpoint POST /api/v1/micro_app_standalone/search\n */\nexport var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */(yield http.post(\"api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search\", data, options)).data\n );\n });\n return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchMicroAppStandalone.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { traverseStoryboardExpressions, collectInstalledAppsHasUsage } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nvar checkingApps = new Map();\nvar checkedApps = new Map();\nexport function preCheckInstalledApps(storyboard, hasAppInBootstrap) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n var appIds = scanInstalledAppsUsage(storyboard);\n var searchIds = [];\n for (var _appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(_appId) && !hasAppInBootstrap(_appId)) {\n searchIds.push(_appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n var promise = RuntimeApi_searchMicroAppStandalone({\n query: {\n appId: {\n $in: searchIds\n }\n },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"]\n }).catch(error => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n var _loop = function (_appId2) {\n checkingApps.set(_appId2, promise.then(result => {\n var _result$list;\n var app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === _appId2);\n var checkedApp = app ? _objectSpread(_objectSpread({}, app), {}, {\n id: _appId2\n }) : undefined;\n checkedApps.set(_appId2, checkedApp);\n return checkedApp;\n }));\n };\n for (var _appId2 of searchIds) {\n _loop(_appId2);\n }\n }\n}\nexport function waitForCheckingApps(_x) {\n return _waitForCheckingApps.apply(this, arguments);\n}\nfunction _waitForCheckingApps() {\n _waitForCheckingApps = _asyncToGenerator(function* (appIds) {\n yield Promise.all(appIds.map(appId => checkingApps.get(appId)));\n });\n return _waitForCheckingApps.apply(this, arguments);\n}\nexport function getCheckedApp(appId) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\nfunction scanInstalledAppsUsage(storyboard) {\n var _storyboard$meta;\n var usage = {\n usedArgs: new Set()\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n var {\n customTemplates,\n menus\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates, menus], (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n }, \"INSTALLED_APPS\");\n return [...usage.usedArgs];\n}\n//# sourceMappingURL=checkInstalledApps.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { http } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\nexport var FLOW_API_PROVIDER = \"core.provider-flow-api\";\nfunction hasFields(ext_fields, type) {\n return ext_fields.some(item => item.source === type);\n}\nexport function processExtFields(ext_fields) {\n var hasQueryParams = hasFields(ext_fields, \"query\");\n var hasBodyParams = hasFields(ext_fields, \"body\");\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (hasQueryParams) {\n if (hasBodyParams) {\n var [_data, _params, _options] = args;\n return {\n data: _data,\n options: _objectSpread({\n params: _params\n }, _options)\n };\n }\n var [params, _options2] = args;\n return {\n data: {},\n options: _objectSpread({\n params: params\n }, _options2)\n };\n }\n\n // only hasBodyParams or default\n var [data, options] = args;\n return {\n data,\n options: options\n };\n}\nexport function hasFileType(request) {\n if (!request || request.type !== \"object\") {\n return false;\n }\n var processFields = fields => {\n return !isEmpty(fields) && fields.some(field => [\"file\", \"file[]\"].includes(field.type) || processFields(field.fields));\n };\n return processFields(request.fields);\n}\nexport function transformFormData(data) {\n if (data instanceof FormData) {\n return data;\n }\n var formData = new FormData();\n var _loop = function (key) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n formData.append(key, v);\n });\n } else if (isObject(value) && !(value instanceof Blob) && !(value instanceof Date)) {\n Object.entries(value).forEach(_ref => {\n var [k, v] = _ref;\n formData.append(\"\".concat(key, \"[\").concat(k, \"]\"), v);\n });\n } else {\n formData.append(key, value);\n }\n };\n for (var [key, value] of Object.entries(data)) {\n _loop(key);\n }\n return formData;\n}\nexport function callFlowApi(_x) {\n return _callFlowApi.apply(this, arguments);\n}\nfunction _callFlowApi() {\n _callFlowApi = _asyncToGenerator(function* (_ref2) {\n var {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields = [],\n request,\n isFileType\n } = _ref2;\n var isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(method.toLowerCase());\n var defaultOptions = isFileType ? {\n responseType: \"blob\"\n } : {};\n var response;\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (isSimpleRequest) {\n var _originalUri$match$le, _originalUri$match, _request$fields$lengt, _request$fields;\n var noParams = originalUri && (request === null || request === void 0 ? void 0 : request.type) === \"object\" ? ((_originalUri$match$le = (_originalUri$match = originalUri.match(/:([^/]+)/g)) === null || _originalUri$match === void 0 ? void 0 : _originalUri$match.length) !== null && _originalUri$match$le !== void 0 ? _originalUri$match$le : 0) === ((_request$fields$lengt = (_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) !== null && _request$fields$lengt !== void 0 ? _request$fields$lengt : 0) : false;\n var params;\n var options;\n if (noParams) {\n [options] = args;\n } else {\n [params, options] = args;\n }\n response = yield http.simpleRequest(method, url, _objectSpread(_objectSpread({\n params\n }, defaultOptions), options));\n } else {\n var isUploadType = hasFileType(request);\n var result = processExtFields(ext_fields, ...args);\n response = yield http.requestWithBody(method, url, isUploadType ? transformFormData(result.data) : result.data, _objectSpread(_objectSpread({}, defaultOptions), result.options));\n }\n return (isFileType ? false : responseWrapper) ? response.data : response;\n });\n return _callFlowApi.apply(this, arguments);\n}\nexport function registerFlowApiProvider() {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n//# sourceMappingURL=FlowApiProvider.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 通过defaultOrg查找单个契约信息\n * @endpoint POST /api/contract/single_search\n */\nexport var ContractApi_searchSingleContract = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.api_gateway.contract.SearchSingleContract@1.0.0 */(yield http.post(\"api/contract/single_search\", data, options)).data\n );\n });\n return function ContractApi_searchSingleContract(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchSingleContract.js.map","var contractsMap = new Map();\nvar widgetContractMap = new Map();\nvar addContract = (contracts, map) => {\n contracts === null || contracts === void 0 || contracts.forEach(contract => {\n map.set(\"\".concat(contract.namespaceId, \".\").concat(contract.name), contract);\n });\n};\nexport function collectContract(contracts) {\n addContract(contracts, contractsMap);\n}\nexport function collectWidgetContract(contracts) {\n addContract(contracts, widgetContractMap);\n}\nexport function clearCollectWidgetContract() {\n widgetContractMap.clear();\n}\nexport function getContract(name) {\n return contractsMap.get(name) || widgetContractMap.get(name);\n}\n//# sourceMappingURL=CollectContracts.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport yaml from \"js-yaml\";\nimport { ContractApi_searchSingleContract } from \"@next-api-sdk/api-gateway-sdk\";\nimport { getContract } from \"./CollectContracts.js\";\nvar remoteContractCache = new Map();\n\n// Legacy Custom API: `${namespace}@${name}`\n// Flow API: `${namespace}@${name}:${version}`\nexport function isFlowApiProvider(provider) {\n return provider.includes(\"@\");\n}\nexport function getArgsOfFlowApi(_x, _x2, _x3) {\n return _getArgsOfFlowApi.apply(this, arguments);\n}\nfunction _getArgsOfFlowApi() {\n _getArgsOfFlowApi = _asyncToGenerator(function* (provider, originalArgs, method) {\n if (!provider.includes(\":\")) {\n throw new Error(\"You're using legacy Custom API \\\"\".concat(provider, \"\\\" which is dropped in v3, please use Flow API instead\"));\n }\n var apiDefinition = yield fetchFlowApiDefinition(provider);\n if (!apiDefinition) {\n throw new FlowApiNotFoundError(\"Flow API not found: \\\"\".concat(provider, \"\\\"\"));\n }\n var apiProfile = getApiProfileFromApiDefinition(provider, apiDefinition);\n return getApiArgsFromApiProfile(apiProfile, originalArgs, method);\n });\n return _getArgsOfFlowApi.apply(this, arguments);\n}\nfunction getApiArgsFromApiProfile(_ref, originalArgs, method) {\n var {\n uri,\n method: apiMethod,\n ext_fields,\n name,\n namespace,\n serviceName,\n responseWrapper,\n version,\n isFileType,\n request\n } = _ref;\n // `saveAs` requires the first argument to be the filename.\n var isDownload = method === \"saveAs\";\n var fileName;\n if (isDownload) {\n fileName = originalArgs.shift();\n }\n var {\n url,\n args\n } = getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version);\n return [...(isDownload ? [fileName] : []), {\n url,\n originalUri: uri,\n method: apiMethod,\n ext_fields,\n responseWrapper,\n request,\n isFileType\n }, ...args];\n}\nfunction getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version) {\n var prefix = version ? serviceName ? \"api/gateway/\".concat(serviceName) : \"api/gateway/\".concat(namespace, \".\").concat(name, \"@\").concat(version) : \"api/gateway/api_service.\".concat(namespace, \".\").concat(name);\n var restArgs = originalArgs.slice();\n var transformedUri = uri.replace(/:([^/]+)/g, () => restArgs.shift());\n return {\n url: prefix + transformedUri,\n args: restArgs\n };\n}\nfunction getApiProfileFromApiDefinition(provider, api) {\n var _contract$endpoint, _contract$response;\n var contract = typeof api.contract === \"string\" ? yaml.safeLoad(api.contract, {\n schema: yaml.JSON_SCHEMA,\n json: true\n }) : api.contract;\n var {\n uri,\n method = \"GET\",\n ext_fields\n } = (_contract$endpoint = contract === null || contract === void 0 ? void 0 : contract.endpoint) !== null && _contract$endpoint !== void 0 ? _contract$endpoint : {};\n var responseWrapper = contract !== null && contract !== void 0 && contract.response ? contract.response.wrapper !== false : false;\n if (!uri) {\n throw new Error(\"Missing endpoint.uri in contract of provider \\\"\".concat(provider, \"\\\"\"));\n }\n return {\n uri,\n method: method.toLowerCase() === \"list\" ? \"get\" : method,\n ext_fields,\n name: api.name,\n namespace: api.namespace,\n serviceName: api.serviceName,\n version: api.version,\n isFileType: (contract === null || contract === void 0 || (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === \"file\",\n responseWrapper,\n request: contract === null || contract === void 0 ? void 0 : contract.request\n };\n}\nfunction fetchFlowApiDefinition(_x4) {\n return _fetchFlowApiDefinition.apply(this, arguments);\n}\nfunction _fetchFlowApiDefinition() {\n _fetchFlowApiDefinition = _asyncToGenerator(function* (provider) {\n var [namespaceName, nameWithVersion] = provider.split(\"@\");\n var [name, version] = nameWithVersion.split(\":\");\n\n // Do not cache the result of `geContract`, which will lead to no contract\n // will be found when render twice immediately.\n var contract = getContract(\"\".concat(namespaceName, \".\").concat(name));\n if (contract) {\n return {\n name: contract.name,\n namespace: contract.namespaceId,\n serviceName: contract.serviceName,\n version: contract.version,\n contract: {\n endpoint: contract.endpoint,\n response: contract.response,\n request: contract.request\n }\n };\n }\n var promise = remoteContractCache.get(provider);\n if (!promise) {\n promise = fetchFlowApiDefinitionFromRemote(namespaceName, name, version);\n remoteContractCache.set(provider, promise);\n }\n return promise;\n });\n return _fetchFlowApiDefinition.apply(this, arguments);\n}\nfunction fetchFlowApiDefinitionFromRemote(_x5, _x6, _x7) {\n return _fetchFlowApiDefinitionFromRemote.apply(this, arguments);\n}\nfunction _fetchFlowApiDefinitionFromRemote() {\n _fetchFlowApiDefinitionFromRemote = _asyncToGenerator(function* (namespace, name, version) {\n var _contractData$namespa;\n var {\n contractData\n } = yield ContractApi_searchSingleContract({\n contractName: \"\".concat(namespace, \".\").concat(name),\n version\n });\n\n // return undefined if don't found contract\n return contractData ? {\n name: contractData.name,\n namespace: (_contractData$namespa = contractData.namespace) === null || _contractData$namespa === void 0 || (_contractData$namespa = _contractData$namespa[0]) === null || _contractData$namespa === void 0 ? void 0 : _contractData$namespa.name,\n serviceName: contractData.serviceName,\n version: contractData.version,\n contract: {\n endpoint: contractData.endpoint,\n response: contractData.response,\n request: contractData.request\n }\n } : null;\n });\n return _fetchFlowApiDefinitionFromRemote.apply(this, arguments);\n}\nclass FlowApiNotFoundError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"FlowApiNotFoundError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FlowApiNotFoundError);\n }\n }\n}\n//# sourceMappingURL=FlowApi.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取菜单信息\n * @endpoint GET /api/v1/micro-app/menus/:menuId\n */\nexport var InstalledMicroAppApi_getMenusInfo = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (menuId, params, options) {\n return (/**! @contract easyops.api.micro_app.installed_micro_app.GetMenusInfo@1.0.0 */(yield http.get(\"api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/\".concat(menuId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstalledMicroAppApi_getMenusInfo(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getMenusInfo.js.map","export var symbolAppId = Symbol(\"appId\");\nexport var symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport var symbolOverrideApp = Symbol(\"overrideApp\");\n//# sourceMappingURL=constants.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nexport function loadDynamicMenuItems(_x, _x2, _x3, _x4) {\n return _loadDynamicMenuItems.apply(this, arguments);\n}\nfunction _loadDynamicMenuItems() {\n _loadDynamicMenuItems = _asyncToGenerator(function* (menu, runtimeContext, menuWithI18n, helpers) {\n if (menu.dynamicItems && menu.itemsResolve) {\n var overrideAppId = menu.app[0].appId;\n var newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny(menu.itemsResolve)]\n });\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n newRuntimeContext.overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext.appendI18nNamespace = menuWithI18n.get(menu);\n }\n var resolved = yield helpers.resolveData(_objectSpread({\n transform: \"items\"\n }, menu.itemsResolve), newRuntimeContext);\n menu.items = resolved.items;\n }\n });\n return _loadDynamicMenuItems.apply(this, arguments);\n}\n//# sourceMappingURL=loadDynamicMenuItems.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { i18n } from \"@next-core/i18n\";\nimport { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\nexport function mergeMenu(_x, _x2, _x3) {\n return _mergeMenu.apply(this, arguments);\n}\nfunction _mergeMenu() {\n _mergeMenu = _asyncToGenerator(function* (menuList, runtimeContext, helpers) {\n var mainMenu = menuList.find(menu => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n var validMenuList = [];\n var injectWithMenus = new Map();\n var menuWithI18n = new WeakMap();\n var _loop = function* () {\n if (menu.i18n) {\n var menuI18nNamespace = \"menu/\".concat(menu.menuId, \"~\").concat(menu.app[0].appId, \"+\").concat(menu.instanceId);\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(_ref => {\n var [lang, resources] = _ref;\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n };\n for (var menu of menuList) {\n yield* _loop();\n }\n yield Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers)));\n for (var _menu of menuList) {\n var _menu$items;\n if ((_menu$items = _menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {\n if (_menu.type === \"inject\" && _menu.injectMenuGroupId) {\n var injectingMenus = injectWithMenus.get(_menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(_menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(_menu);\n } else {\n validMenuList.push(_menu);\n }\n }\n }\n return _objectSpread(_objectSpread({}, mainMenu), {}, {\n items: validMenuList.flatMap(menu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp\n });\n });\n return _mergeMenu.apply(this, arguments);\n}\nfunction processGroupInject(items, menu, injectWithMenus, menuWithI18n) {\n return items === null || items === void 0 ? void 0 : items.map(item => {\n var _processGroupInject;\n var foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId);\n }\n return _objectSpread(_objectSpread({}, item), {}, {\n children: ((_processGroupInject = processGroupInject(item.children, menu, injectWithMenus, menuWithI18n)) !== null && _processGroupInject !== void 0 ? _processGroupInject : []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp\n });\n });\n}\n//# sourceMappingURL=mergeMenu.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { sortBy } from \"lodash\";\nexport function reorderMenu(menuData) {\n menuData.items = reorderMenuItems(menuData.items);\n}\nfunction reorderMenuItems(list) {\n return sortMenuItems(list).map(item => _objectSpread(_objectSpread({}, item), {}, {\n children: reorderMenuItems(item.children)\n }));\n}\nfunction sortMenuItems(list) {\n return sortBy(list, item => {\n var _item$sort;\n return (_item$sort = item.sort) !== null && _item$sort !== void 0 ? _item$sort : -Infinity;\n });\n}\n//# sourceMappingURL=reorderMenuItems.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"children\"];\nimport { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\nexport function computeMenuData(data, overrideAppId, runtimeContext, helpers) {\n if (\"titleDataSource\" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {\n var [, value] = _ref;\n return value === null || value === \"\";\n })) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n if (\"to\" in data && data.to && !isEvaluable(data.to)) {\n var yaml = pipes.yaml(data.to);\n if (isObject(yaml) && [\"pathname\", \"search\", \"hash\"].some(key => hasOwnProperty(yaml, key))) {\n data.to = yaml;\n }\n }\n var newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n var overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace]\n });\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true\n });\n}\nexport function computeMenuItems(items, runtimeContext, helpers) {\n return Promise.all(items.map( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(function* (_ref2) {\n var {\n children\n } = _ref2,\n rest = _objectWithoutProperties(_ref2, _excluded);\n var [computedRest, computedChildren] = yield Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (yield computeMenuItems(children, runtimeContext, helpers))]);\n return _objectSpread(_objectSpread({}, computedRest), {}, {\n children: computedChildren\n });\n });\n return function (_x) {\n return _ref3.apply(this, arguments);\n };\n }()));\n}\n//# sourceMappingURL=computeMenuData.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取实例详情\n * @endpoint GET /object/:objectId/instance/:instanceId\n */\nexport var InstanceApi_getDetail = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, instanceId, params, options) {\n return (/**! @contract easyops.api.cmdb.instance.GetDetail@1.0.0 */(yield http.get(\"api/gateway/cmdb.instance.GetDetail/object/\".concat(objectId, \"/instance/\").concat(instanceId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstanceApi_getDetail(_x, _x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getDetail.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nvar menuTitleCache = new Map();\nexport function fetchMenuTitle(_x) {\n return _fetchMenuTitle.apply(this, arguments);\n}\nfunction _fetchMenuTitle() {\n _fetchMenuTitle = _asyncToGenerator(function* (menuData) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n var cacheKey = JSON.stringify(menuData.titleDataSource);\n var cachedTitle = menuTitleCache.get(cacheKey);\n if (cachedTitle !== undefined) {\n return cachedTitle;\n }\n var {\n objectId,\n instanceId,\n attributeId\n } = menuData.titleDataSource;\n var attr = attributeId !== null && attributeId !== void 0 ? attributeId : \"name\";\n var instanceData = yield InstanceApi_getDetail(objectId, instanceId, {\n fields: attr\n });\n var title;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n var [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? \"\".concat(primary, \"(\").concat(rest.join(\",\"), \")\") : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n });\n return _fetchMenuTitle.apply(this, arguments);\n}\n//# sourceMappingURL=fetchMenuTitle.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"items\", \"app\"];\nimport { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { omit, pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenu } from \"./reorderMenuItems.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nvar menuPromises = new Map();\nvar menuCache = new Map();\nfunction transformMenuItems(menuItems) {\n return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {\n var children = transformMenuItems(item.children);\n var transformedMenuItem = item.type === \"group\" ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n groupId: item.groupId,\n groupFrom: item.groupFrom\n } : children !== null && children !== void 0 && children.length ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded\n } : omit(item, [\"type\", \"items\", \"children\"]);\n return transformedMenuItem;\n });\n}\nexport function getMenuById(menuId) {\n return menuCache.get(menuId);\n}\nexport function fetchMenuById(menuId, runtimeContext, helpers) {\n var promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\nfunction _fetchMenuById(_x, _x2, _x3) {\n return _fetchMenuById2.apply(this, arguments);\n}\nfunction _fetchMenuById2() {\n _fetchMenuById2 = _asyncToGenerator(function* (menuId, runtimeContext, helpers) {\n var menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags[\"three-level-menu-layout\"] ? (yield InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\"\n })).menus : (yield InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true\n },\n query: {\n menuId: {\n $eq: menuId\n },\n app: {\n $size: {\n $gt: 0\n }\n }\n }\n })).list;\n var menuData = yield mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(\"Menu not found: \".concat(menuId));\n }\n reorderMenu(menuData);\n var {\n items,\n app\n } = menuData,\n restMenuData = _objectWithoutProperties(menuData, _excluded);\n var newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]\n });\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n delete newRuntimeContext.forEachIndex;\n var rootAppId = app[0].appId;\n var [computedMenuData, computedMenuItems] = yield Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);\n var finalMenuData = _objectSpread(_objectSpread({\n title: yield fetchMenuTitle(computedMenuData)\n }, pick(computedMenuData, [\"icon\", \"link\", \"defaultCollapsed\", \"defaultCollapsedBreakpoint\"])), {}, {\n menuItems: transformMenuItems(computedMenuItems)\n });\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n });\n return _fetchMenuById2.apply(this, arguments);\n}\n//# sourceMappingURL=fetchMenuById.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nexport function getMenusOfStandaloneApp(menuId, appId, helpers) {\n var _ref, _storyboard$meta$inje, _storyboard$meta, _storyboard$meta2;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var storyboard = helpers.getStoryboardByAppId(appId);\n var menus = (_ref = (_storyboard$meta$inje = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) !== null && _storyboard$meta$inje !== void 0 ? _storyboard$meta$inje : (_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) !== null && _ref !== void 0 ? _ref : [];\n return menus.filter(menu => menu.menuId === menuId).map(menu => {\n var _menu$app;\n return _objectSpread(_objectSpread({}, menu), (_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app = _menu$app[0]) !== null && _menu$app !== void 0 && _menu$app.appId ? {} : {\n app: [{\n appId\n }]\n });\n });\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n//# sourceMappingURL=getMenusOfStandaloneApp.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar initialized = false;\nvar pageState = null;\nvar isFirstPageView = true;\nvar stashedApiMetrics = [];\nvar allMetrics = [];\nexport function initialize(api) {\n if (initialized) {\n return;\n }\n initialized = true;\n function upload() {\n if (allMetrics.length === 0) {\n return;\n }\n var headers = {\n type: \"application/json\"\n };\n var data = {\n model: \"easyops.FRONTEND_STAT\",\n columns: [\"_ver\", \"st\", \"et\", \"lt\", \"size\", \"time\", \"traceId\", \"code\", \"duration\", \"page\", \"uid\", \"username\", \"api\", \"type\", \"msg\", \"status\", \"pageId\", \"route\", \"apiCount\", \"maxApiTimeCost\", \"apiSizeCost\", \"pageTitle\"],\n data: allMetrics\n };\n var blob = new Blob([JSON.stringify(data)], headers);\n allMetrics.length = 0;\n window.navigator.sendBeacon(api, blob);\n }\n window.addEventListener(\"beforeunload\", upload, false);\n}\nexport function createPageView() {\n stashedApiMetrics.length = 0;\n pageState = null;\n}\nexport function finishPageView(metric) {\n var pageId = generateUUID();\n var {\n lt,\n route\n } = metric;\n pageState = {\n lt,\n route,\n pageId\n };\n allMetrics.push(_objectSpread(_objectSpread({}, metric), {}, {\n pageId,\n apiCount: stashedApiMetrics.length,\n maxApiTimeCost: Math.max(0, ...stashedApiMetrics.map(api => api.duration)),\n size: stashedApiMetrics.map(api => api.size).filter(size => size > 0).reduce((prev, current) => prev + current, 0)\n }));\n for (var item of stashedApiMetrics) {\n allMetrics.push(_objectSpread(_objectSpread({}, item), pageState));\n }\n stashedApiMetrics.length = 0;\n}\nexport function earlyFinishPageView() {\n allMetrics.push(...stashedApiMetrics);\n stashedApiMetrics.length = 0;\n}\nexport function pushApiMetric(metric) {\n if (pageState) {\n allMetrics.push(_objectSpread(_objectSpread({}, metric), {}, {\n type: \"apiRequest\"\n }, pageState));\n } else {\n stashedApiMetrics.push(metric);\n }\n}\n\n// Ref https://medium.com/teads-engineering/generating-uuids-at-scale-on-the-web-2877f529d2a2\nfunction generateUUID() {\n var url = URL.createObjectURL(new Blob([]));\n var uuid = url.substring(url.lastIndexOf(\"/\") + 1);\n URL.revokeObjectURL(url);\n // 第一次渲染加上特殊标记\n if (isFirstPageView) {\n uuid = \"88-\" + uuid;\n isFirstPageView = false;\n }\n return uuid;\n}\n//# sourceMappingURL=analytics.js.map","import { HttpResponseError, HttpParseError, HttpAbortError } from \"@next-core/http\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { getAuth } from \"../auth.js\";\nimport { pushApiMetric } from \"./analytics.js\";\nvar symbolHttpAnalytics = Symbol(\"HttpAnalytics\");\nexport function onRequest(config) {\n var perfStartTime = Math.round(performance.now());\n var st = Date.now();\n config[symbolHttpAnalytics] = {\n st,\n time: Math.round(st / 1000),\n perfStartTime\n };\n return config;\n}\nexport function onResponse(response, config) {\n return onResponseOrError(false, response, config);\n}\nexport function onResponseError(error, config) {\n return onResponseOrError(true, error, config);\n}\nfunction onResponseOrError(hasError, responseOrError, config) {\n var perfEndTime = Math.round(performance.now());\n var et = Date.now();\n var {\n [symbolHttpAnalytics]: meta,\n url\n } = config;\n if (meta && !(hasError && responseOrError instanceof HttpAbortError)) {\n var _code, _message, _traceId;\n delete config[symbolHttpAnalytics];\n var {\n st,\n time,\n perfStartTime\n } = meta;\n var {\n userInstanceId: uid,\n username\n } = getAuth();\n var code;\n var message;\n var traceId;\n var size;\n var status;\n var headers;\n var data;\n if (hasError) {\n var isHttpResponseError = responseOrError instanceof HttpResponseError;\n if (isHttpResponseError || responseOrError instanceof HttpParseError) {\n ({\n status,\n headers\n } = responseOrError.response);\n if (isHttpResponseError) {\n data = responseOrError.responseJson;\n }\n }\n } else {\n ({\n status,\n data,\n headers\n } = responseOrError);\n }\n if (isObject(data)) {\n ({\n code,\n message\n } = data);\n }\n if (headers instanceof Headers) {\n traceId = headers.get(\"x-b3-traceid\");\n size = headers.get(\"content-length\");\n }\n pushApiMetric({\n st,\n _ver: st,\n uid,\n username,\n time,\n et,\n page: location.href,\n duration: perfEndTime - perfStartTime,\n api: url,\n type: \"api\",\n code: (_code = code) !== null && _code !== void 0 ? _code : -1,\n msg: (_message = message) !== null && _message !== void 0 ? _message : \"\",\n status,\n traceId: (_traceId = traceId) !== null && _traceId !== void 0 ? _traceId : \"\",\n size: size ? Number(size) : -1\n });\n }\n return hasError ? Promise.reject(responseOrError) : responseOrError;\n}\n//# sourceMappingURL=http.js.map","import { createPageView, earlyFinishPageView, finishPageView } from \"./analytics.js\";\nimport { getAuth } from \"../auth.js\";\nexport function create() {\n var perfStartTime = Math.round(performance.now());\n var startTime = Date.now();\n createPageView();\n return function finish(_ref) {\n var {\n status,\n path,\n pageTitle\n } = _ref;\n if (status !== \"ok\") {\n earlyFinishPageView();\n return;\n }\n var renderTime = Math.round(performance.now()) - perfStartTime;\n var endTime = Date.now();\n var {\n username\n } = getAuth();\n finishPageView({\n type: \"page\",\n page: location.href,\n _ver: startTime,\n time: Math.round(startTime / 1000),\n st: startTime,\n et: endTime,\n lt: renderTime,\n pageTitle,\n username,\n route: path\n });\n\n // For bricks which would take actions with render time.\n window.dispatchEvent(new CustomEvent(\"route.render\", {\n detail: {\n renderTime\n }\n }));\n };\n}\n//# sourceMappingURL=pageView.js.map","// istanbul ignore file\nimport { checkPermissions as _checkPermissions, preCheckPermissions, preCheckPermissionsForBrickOrRoute } from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\nimport * as _checkInstalledApps from \"./checkInstalledApps.js\";\nexport { _checkInstalledApps as checkInstalledApps };\nimport * as _flowApi from \"./flowApi/index.js\";\nexport { _flowApi as flowApi };\nimport * as _menu from \"./menu/index.js\";\nexport { _menu as menu };\nimport * as _analytics from \"./analytics/index.js\";\nexport { _analytics as analytics };\nexport var checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute\n});\nexport var messageDispatcher = new MessageDispatcher();\nexport var auth = authV2Factory() || authV3;\n//# sourceMappingURL=index.js.map","// istanbul ignore file\nimport { getV2RuntimeFromDll } from \"@next-core/runtime\";\nimport { pick } from \"lodash\";\nexport function authV2Factory() {\n var v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze(pick(v2Kit, [\"authenticate\", \"getAuth\", \"isLoggedIn\", \"logout\"]));\n }\n}\n//# sourceMappingURL=auth-v2.js.map"],"names":["_classPrivateMethodGet","receiver","privateSet","fn","has","TypeError","_classPrivateMethodInitSpec","obj","add","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","PermissionApi_validatePermissions","_ref","data","options","http","post","_x","_x2","apply","this","arguments","auth","authenticate","newAuth","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","userShowValue","getAuth","logout","undefined","checkedPermissions","permissionMap","clear","isLoggedIn","Map","_preCheckPermissionsForBrickOrRoute","container","asyncComputeRealValue","Array","isArray","permissionsPreCheck","validatePermissions","preCheckPermissionsForAny","scanPermissionActionsInAny","_x3","_validatePermissions","usedActions","actions","difference","push","result","item","set","action","authorizationStatus","console","error","concat","RETRY_TIMEOUT_UNIT","RETRY_LIMIT","_url","WeakMap","_ws","_queuedMessages","_messageListeners","_closeListeners","_retryCount","_closed","_connect","WeakSet","_reconnect","MessageService","constructor","url","writable","value","Set","send","_connect2","stringifiedData","JSON","stringify","readyState","WebSocket","OPEN","onMessage","listener","onClose","reset","close","_classPrivateFieldGet2","log","ws","addEventListener","e","msg","code","_reconnect2","response","parse","delay","Math","pow","setTimeout","_this$retryCount","_ms","_memoizedChannels","_channelPayloads","_ms2","_subOrUnsub","_get_ms","protocol","location","window","host","getBasePath","_subOrUnsub2","type","channel","payload","stringifiedPayload","hit","get","request","event","promise","Promise","resolve","reject","identity","getIdentity","isSuccess","isFailed","system","topic","RuntimeApi_searchMicroAppStandalone","checkingApps","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","_storyboard$meta","usage","usedArgs","customTemplates","menus","meta","traverseStoryboardExpressions","routes","node","parent","collectInstalledAppsHasUsage","scanInstalledAppsUsage","searchIds","_appId","query","appId","$in","fields","catch","_loop","_appId2","then","_result$list","app","list","find","checkedApp","id","waitForCheckingApps","_waitForCheckingApps","all","map","getCheckedApp","FLOW_API_PROVIDER","hasFields","ext_fields","some","callFlowApi","_callFlowApi","_ref2","originalUri","method","responseWrapper","isFileType","isSimpleRequest","includes","toLowerCase","defaultOptions","responseType","_len2","args","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","params","match","simpleRequest","isUploadType","processFields","isEmpty","field","hasFileType","hasQueryParams","hasBodyParams","_len","_key","_data","_params","_options","_options2","processExtFields","requestWithBody","FormData","formData","forEach","v","append","isObject","Blob","Date","entries","k","transformFormData","registerFlowApiProvider","customElements","define","createProviderClass","ContractApi_searchSingleContract","contractsMap","widgetContractMap","addContract","contracts","contract","namespaceId","name","collectContract","collectWidgetContract","clearCollectWidgetContract","remoteContractCache","isFlowApiProvider","provider","getArgsOfFlowApi","_getArgsOfFlowApi","originalArgs","Error","apiDefinition","_x4","_fetchFlowApiDefinition","fetchFlowApiDefinition","FlowApiNotFoundError","apiProfile","api","_contract$endpoint","_contract$response","schema","json","uri","endpoint","wrapper","namespace","serviceName","version","getApiProfileFromApiDefinition","fileName","apiMethod","isDownload","shift","prefix","restArgs","slice","replace","getTransformedUriAndRestArgs","getApiArgsFromApiProfile","namespaceName","nameWithVersion","split","getContract","_x5","_x6","_x7","_fetchFlowApiDefinitionFromRemote","fetchFlowApiDefinitionFromRemote","_contractData$namespa","contractData","contractName","message","super","captureStackTrace","InstalledMicroAppApi_getMenusInfo","menuId","symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp","_loadDynamicMenuItems","menu","runtimeContext","menuWithI18n","helpers","dynamicItems","itemsResolve","_helpers$getStoryboar","overrideAppId","newRuntimeContext","pendingPermissionsPreCheck","overrideApp","getStoryboardByAppId","appendI18nNamespace","resolved","resolveData","transform","items","_mergeMenu","menuList","mainMenu","validMenuList","injectWithMenus","i18n","menuI18nNamespace","instanceId","lang","resources","addResourceBundle","_menu","loadDynamicMenuItems","_menu$items","injectMenuGroupId","injectingMenus","flatMap","processGroupInject","_processGroupInject","foundInjectingMenus","groupId","delete","children","injectingMenu","reorderMenu","menuData","reorderMenuItems","sortBy","_item$sort","sort","sortMenuItems","_excluded","computeMenuData","titleDataSource","every","if","to","isEvaluable","yaml","pipes","hasOwnProperty","ignoreSymbols","computeMenuItems","_ref3","rest","computedRest","computedChildren","InstanceApi_getDetail","objectId","menuTitleCache","fetchMenuTitle","_fetchMenuTitle","title","cacheKey","cachedTitle","attributeId","attr","instanceData","primary","join","String","menuPromises","menuCache","transformMenuItems","menuItems","filter","checkIfOfComputed","text","childLayout","groupFrom","icon","defaultExpanded","omit","getMenuById","fetchMenuById","_fetchMenuById2","_fetchMenuById","_storyboard$meta$inje","_storyboard$meta2","injectMenus","_menu$app","getMenusOfStandaloneApp","flags","menuObjectId","page","page_size","link","defaultCollapsed","defaultCollapsedBreakpoint","$eq","$size","$gt","mergeMenu","restMenuData","tplStateStoreId","forEachItem","forEachIndex","rootAppId","computedMenuData","computedMenuItems","finalMenuData","pick","initialized","pageState","isFirstPageView","stashedApiMetrics","allMetrics","initialize","model","columns","blob","navigator","sendBeacon","symbolHttpAnalytics","onRequest","config","perfStartTime","round","performance","now","st","time","onResponse","onResponseOrError","onResponseError","hasError","responseOrError","metric","perfEndTime","et","HttpAbortError","_code","_message","_traceId","traceId","size","status","headers","uid","isHttpResponseError","HttpResponseError","HttpParseError","responseJson","Headers","_ver","href","duration","Number","create","startTime","path","pageTitle","renderTime","endTime","uuid","pageId","URL","createObjectURL","substring","lastIndexOf","revokeObjectURL","lt","route","apiCount","maxApiTimeCost","max","reduce","prev","current","finishPageView","dispatchEvent","CustomEvent","detail","freeze","checkPermissions","preCheckPermissions","scanPermissionActionsInStoryboard","preCheckPermissionsForBrickOrRoute","messageDispatcher","sub","unsub","subscribe","unsubscribe","responsePayload","RegExp","m","p1","p2","escapeRegExp","test","matchMessageChannel","v2Kit","getV2RuntimeFromDll","authV2Factory"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_form_platform=self.webpackChunk_next_bricks_form_platform||[]).push([[9401],{9401:(e,t,i)=>{i.r(t);var r,s,a,l,u,n,o,d,c,h,p,v,Z,U,y,m,b,g,f,k,M,w,E,G,R,S,_,W,q,L,Q,A,j,O,$,B,P,C,z,x,I=i(3028),N=i(4795),F=i(6666),D=i(3395),H=i(1815),T=i(381),V=i(687),J=i(2604),K=i(8657),X=i.n(K),Y=i(2462),ee=i(2354),te=i(3622),ie=i(7759),re=(i(6973),i(7124)),se=i(5576),ae=i(2021),le=i(1969),ue=i(1211),{defineElement:ne,property:oe,event:de}=(0,Y.createDecorators)(),ce=(0,ee.wrapBrick)("eo-form-item"),he=(0,ee.wrapBrick)("eo-button"),pe=(0,ee.wrapBrick)("eo-select");s=ne("eo-user-or-user-group-select",{styleTexts:[re.Z]}),a=oe(),u=oe(),o=oe({type:Boolean}),c=oe(),p=oe({attribute:!1}),Z=oe({attribute:!1}),y=oe({attribute:!1}),b=oe({attribute:!1}),f=oe({attribute:!1}),M=oe(),E=oe({type:Boolean}),R=oe({type:Boolean}),_=oe({type:Boolean}),q=oe({attribute:!1}),Q=oe({type:Boolean}),j=de({type:"change"});var ve=new WeakMap,Ze=new WeakMap,Ue=new WeakMap,ye=new WeakMap,me=new WeakMap,be=new WeakMap,ge=new WeakMap,fe=new WeakMap,ke=new WeakMap,Me=new WeakMap,we=new WeakMap,Ee=new WeakMap,Ge=new WeakMap,Re=new WeakMap,Se=new WeakMap,_e=new WeakMap,We=new WeakMap,qe=new WeakMap;class Le extends se.G{constructor(){super(...arguments),(0,D.Z)(this,We,{get:Ae,set:Qe}),(0,D.Z)(this,ve,{writable:!0,value:(P(this),l(this))}),(0,D.Z)(this,Ze,{writable:!0,value:n(this)}),(0,D.Z)(this,Ue,{writable:!0,value:d(this)}),(0,D.Z)(this,ye,{writable:!0,value:h(this)}),(0,D.Z)(this,me,{writable:!0,value:v(this)}),(0,D.Z)(this,be,{writable:!0,value:U(this)}),(0,D.Z)(this,ge,{writable:!0,value:m(this)}),(0,D.Z)(this,fe,{writable:!0,value:g(this)}),(0,D.Z)(this,ke,{writable:!0,value:k(this)}),(0,D.Z)(this,Me,{writable:!0,value:w(this,"all")}),(0,D.Z)(this,we,{writable:!0,value:G(this,!1)}),(0,D.Z)(this,Ee,{writable:!0,value:S(this)}),(0,D.Z)(this,Ge,{writable:!0,value:W(this,!0)}),(0,D.Z)(this,Re,{writable:!0,value:L(this)}),(0,D.Z)(this,Se,{writable:!0,value:A(this,!0)}),(0,D.Z)(this,_e,{writable:!0,value:O(this)}),(0,D.Z)(this,qe,{writable:!0,value:void 0}),(0,F.Z)(this,"handleUserOrUserGroupChange",(e=>{var t={selectedUser:(0,ue.reject)(e,(e=>(0,ue.startsWith)(e,":"))),selectedUserGroup:(0,ue.filter)(e,(e=>(0,ue.startsWith)(e,":")))};this.value=t,(0,T.Z)(this,qe,t),Promise.resolve().then((()=>{var i;(0,V.Z)(this,We).emit(this.mergeUseAndUserGroup?e:t),null===(i=this.getFormElement())||void 0===i||i.resetValidateState()}))})),(0,F.Z)(this,"_handleMergeUseAndUserGroup",(e=>(0,ue.groupBy)(e,(e=>(0,ue.startsWith)(e,":")?"selectedUserGroup":"selectedUser"))))}get name(){return(0,V.Z)(this,ve)}set name(e){(0,T.Z)(this,ve,e)}get label(){return(0,V.Z)(this,Ze)}set label(e){(0,T.Z)(this,Ze,e)}get required(){return(0,V.Z)(this,Ue)}set required(e){(0,T.Z)(this,Ue,e)}get placeholder(){return(0,V.Z)(this,ye)}set placeholder(e){(0,T.Z)(this,ye,e)}get value(){return(0,V.Z)(this,me)}set value(e){(0,T.Z)(this,me,e)}get objectList(){return(0,V.Z)(this,be)}set objectList(e){(0,T.Z)(this,be,e)}get query(){return(0,V.Z)(this,ge)}set query(e){(0,T.Z)(this,ge,e)}get userQuery(){return(0,V.Z)(this,fe)}set userQuery(e){(0,T.Z)(this,fe,e)}get userGroupQuery(){return(0,V.Z)(this,ke)}set userGroupQuery(e){(0,T.Z)(this,ke,e)}get optionsMode(){return(0,V.Z)(this,Me)}set optionsMode(e){(0,T.Z)(this,Me,e)}get mergeUseAndUserGroup(){return(0,V.Z)(this,we)}set mergeUseAndUserGroup(e){(0,T.Z)(this,we,e)}get disabled(){return(0,V.Z)(this,Ee)}set disabled(e){(0,T.Z)(this,Ee,e)}get isMultiple(){return(0,V.Z)(this,Ge)}set isMultiple(e){(0,T.Z)(this,Ge,e)}get staticList(){return(0,V.Z)(this,Re)}set staticList(e){(0,T.Z)(this,Re,e)}get hideAddMeQuickly(){return(0,V.Z)(this,Se)}set hideAddMeQuickly(e){(0,T.Z)(this,Se,e)}connectedCallback(){(0,T.Z)(this,qe,this.value),this.mergeUseAndUserGroup&&this.value&&(0,T.Z)(this,qe,this._handleMergeUseAndUserGroup(this.value)),super.connectedCallback()}render(){return X().createElement(je,{formElement:this.getFormElement(),curElement:this,name:this.name,label:this.label,placeholder:this.placeholder,required:this.required,value:(0,V.Z)(this,qe),validateState:this.validateState,notRender:this.notRender,helpBrick:this.helpBrick,trigger:"handleUserOrUserGroupChange",onChange:this.handleUserOrUserGroupChange,objectList:this.objectList,query:this.query,userQuery:this.userQuery,userGroupQuery:this.userGroupQuery,optionsMode:this.optionsMode,staticList:this.staticList,isMultiple:this.isMultiple,disabled:this.disabled,hideAddMeQuickly:this.hideAddMeQuickly})}}function Qe(e){B(this,e)}function Ae(){return $(this)}function je(e){var t,[i,r]=(0,K.useState)(null!==(t=e.objectList)&&void 0!==t?t:[]),[s,a]=(0,K.useState)(),[l,u]=(0,K.useState)([]),[n,o]=(0,K.useState)([]),[d,c]=(0,K.useState)([]),h=(0,K.useRef)([]),p=(0,K.useMemo)((()=>{var t,i,r,s;if(!(0,ue.isNil)(e.value))return e.isMultiple?[...(null===(t=e.value)||void 0===t?void 0:t.selectedUser)||[],...(null===(i=e.value)||void 0===i?void 0:i.selectedUserGroup)||[]]:(null===(r=e.value)||void 0===r||null===(r=r.selectedUser)||void 0===r?void 0:r[0])||(null===(s=e.value)||void 0===s||null===(s=s.selectedUserGroup)||void 0===s?void 0:s[0])}),[e.value,e.isMultiple]),v=(0,K.useCallback)((e=>{var t,r,s=(0,ue.keyBy)(i,"objectId");return(null===(t=s[e])||void 0===t?void 0:t.view)&&(null===(r=s[e].view)||void 0===r?void 0:r.show_key)||["name"]}),[i]),Z=function(){var t=(0,N.Z)((function*(t,i){var r,s,a=v("USER"===t?"USER":"USER_GROUP"),l=(0,I.Z)({$or:(0,ue.map)((0,ue.uniq)([...a,"name"]),(e=>({[e]:{$like:"%".concat(i,"%")}})))},"USER"===t?{state:"valid"}:{}),u="USER"===t?{name:{$in:null===(r=e.value)||void 0===r?void 0:r.selectedUser}}:{instanceId:{$in:(0,ue.map)(null===(s=e.value)||void 0===s?void 0:s.selectedUserGroup,(e=>e.slice(1)))}};return(yield(0,ae.x)(t,{page:1,page_size:20,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(a,(0,ue.map)(a,(()=>!0)))),{},{name:!0}),query:e.userQuery&&"USER"===t?{$and:[e.userQuery,l],$or:u}:e.userGroupQuery&&"USER_GROUP"===t?{$and:[e.userGroupQuery,l],$or:u}:e.query?{$and:[e.query,l],$or:u}:{$or:[l,u]}})).list}));return function(e,i){return t.apply(this,arguments)}}(),U=function(){var e=(0,N.Z)((function*(e){u((yield Z("USER",e))||[])}));return function(t){return e.apply(this,arguments)}}(),y=function(){var e=(0,N.Z)((function*(e){var t=yield Z("USER_GROUP",e);o((null==t?void 0:t.map((e=>(e.instanceId=":"+e.instanceId,e))))||[])}));return function(t){return e.apply(this,arguments)}}(),m=function(){var t=(0,N.Z)((function*(t){a(t),yield Promise.all([..."group"!==e.optionsMode?[U(t)]:[],..."user"!==e.optionsMode?[y(t)]:[]])}));return function(e){return t.apply(this,arguments)}}(),b=t=>{var i;null===(i=e.onChange)||void 0===i||i.call(e,t)},g=t=>{var i,r=null===(i=t.detail)||void 0===i?void 0:i.value,a=(0,ue.filter)(Array.isArray(r)?r:r?[r]:[],(t=>!(0,ue.find)(e.staticList,(e=>e===t))));a.unshift(...h.current),c(a),b(a),""!==s&&m("")};(0,K.useEffect)((()=>{(0,N.Z)((function*(){if(e.objectList)r(e.objectList);else if(z)r(z);else try{var t=(yield(0,le.G)({ref_object:"USER,USER_GROUP"})).data;r(t),z=t}catch(e){(0,te.handleHttpError)(e)}}))()}),[e.objectList,e.notRender]);var f=(e,t)=>{var i=v("USER"===e?"USER":"USER_GROUP");return(Array.isArray(i)?i.map(((e,i)=>0===i?t[e]:t[e]?"("+t[e]+")":"")).join(""):t[i])||t.name};(0,K.useEffect)((()=>{var t,i,r,s,a,l,n=function(){var t=(0,N.Z)((function*(){if(e.value){var t,i=[],r=[],s=(0,ue.groupBy)(e.staticList,(e=>(0,ue.startsWith)(e,":")?"userGroup":"user")),a=(0,ue.compact)((0,ue.uniq)([].concat(s.user).concat(null===(t=e.value)||void 0===t?void 0:t.selectedUser))),l=(0,ue.compact)((0,ue.uniq)([].concat(s.userGroup).concat(e.value.selectedUserGroup)));(s.user&&(0,ue.some)(s.user,(t=>{var i;return!(null!==(i=e.value)&&void 0!==i&&null!==(i=i.selectedUser)&&void 0!==i&&i.includes(t))}))||s.userGroup&&(0,ue.some)(s.userGroup,(t=>{var i;return!(null!==(i=e.value)&&void 0!==i&&null!==(i=i.selectedUserGroup)&&void 0!==i&&i.includes(t))})))&&b({selectedUser:a,selectedUserGroup:l});var n=[];a.length&&"group"!==e.optionsMode&&(i=(yield(0,ae.x)("USER",{query:{name:{$in:a}},page:1,page_size:a.length,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER"),(0,ue.map)(v("USER"),(()=>!0)))),{},{name:!0})})).list),l.length&&"user"!==e.optionsMode&&(r=(yield(0,ae.x)("USER_GROUP",{query:{instanceId:{$in:(0,ue.map)(l,(e=>e.slice(1)))}},page:1,page_size:l.length,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER_GROUP"),(0,ue.map)(v("USER_GROUP"),(()=>!0)))),{},{name:!0})})).list);var d=[...(0,ue.map)(i,(t=>{var i,r=f("USER",t),s={key:t.name,label:r};return null!==(i=e.staticList)&&void 0!==i&&i.includes(t.name)&&n.push(s),s})),...(0,ue.map)(r,(t=>{var i,r=f("USER_GROUP",t),s={key:":"+t.instanceId,label:r};return null!==(i=e.staticList)&&void 0!==i&&i.includes(":"+t.instanceId)&&n.push(s),s}))];d=[...n,...(0,ue.filter)(d,(t=>{var i;return!(null!==(i=e.staticList)&&void 0!==i&&i.includes(t.key))}))],c(d),u(i),o(r),h.current=n}}));return function(){return t.apply(this,arguments)}}();r=(null===(t=e.value)||void 0===t?void 0:t.selectedUser)||[],s=(null===(i=e.value)||void 0===i?void 0:i.selectedUserGroup)||[],a=(0,ue.map)((0,ue.filter)(d,(e=>{var t;return!(null!=e&&null!==(t=e.key)&&void 0!==t&&t.startsWith(":"))})),"key"),l=(0,ue.map)((0,ue.filter)(d,(e=>{var t;return null==e||null===(t=e.key)||void 0===t?void 0:t.startsWith(":")})),"key"),(0,ue.isEqual)([...r].sort(),[...a].sort())&&(0,ue.isEqual)([...s].sort(),[...l].sort())||n()}),[]);var k=(0,K.useMemo)((()=>{var t=[],i=[];return l.length&&(t=[{label:"用户(仅显示前20项,更多结果请搜索)",options:l.map((t=>{var i;return{label:f("USER",t),value:t.name,closeable:!(null!=e&&null!==(i=e.staticList)&&void 0!==i&&i.includes(t.name))}}))}]),n.length&&(i=[{label:"用户组(仅显示前20项,更多结果请搜索",options:n.map((t=>{var i;return{label:f("USER_GROUP",t),value:t.instanceId,closeable:!(null!=e&&null!==(i=e.staticList)&&void 0!==i&&i.includes(t.instanceId))}}))}]),"user"===e.optionsMode?t:"group"===e.optionsMode?i:[...t,...i]}),[l,n,e.optionsMode,e.staticList]),M=function(){var e=(0,N.Z)((function*(){var e=ie.auth.getAuth().username;if(!(0,ue.find)(d,(t=>t===e))){var t=(yield(0,ae.x)("USER",{query:{name:{$eq:e}},page:1,page_size:1,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER"),(0,ue.map)(v("USER"),(()=>!0)))),{},{name:!0})})).list;t.length&&u([...l,...t]),g({detail:{value:[...d,e]}})}}));return function(){return e.apply(this,arguments)}}();return X().createElement(ce,e,X().createElement("div",{className:"select-wrapper"},X().createElement(pe,{clearable:!0,mode:e.isMultiple?"multiple":void 0,placeholder:e.placeholder,value:p,onchange:g,onfocus:()=>{((0,ue.isNil)(s)||""!==s)&&m("")},onsearch:(0,ue.debounce)((e=>{m(e.detail.value)}),500),options:k,disabled:e.disabled}),!e.hideAddMeQuickly&&"group"!==e.optionsMode&&X().createElement(he,{onClick:M,type:"link",size:"large",style:{fontSize:"16px"},icon:{lib:"easyops",icon:"quick-add-me"}})))}C=Le,({e:[l,n,d,h,v,U,m,g,k,w,G,S,W,L,A,O,$,B,P],c:[x,r]}=(0,J.Z)(C,[[a,1,"name"],[u,1,"label"],[o,1,"required"],[c,1,"placeholder"],[p,1,"value"],[Z,1,"objectList"],[y,1,"query"],[b,1,"userQuery"],[f,1,"userGroupQuery"],[M,1,"optionsMode"],[E,1,"mergeUseAndUserGroup"],[R,1,"disabled"],[_,1,"isMultiple"],[q,1,"staticList"],[Q,1,"hideAddMeQuickly"],[j,1,"changeEvent",e=>(0,V.Z)(e,_e),(e,t)=>(0,T.Z)(e,_e,t)]],[s],0,(e=>qe.has((0,H.Z)(e))),se.G)),r()}}]);
2
- //# sourceMappingURL=9401.0d9ffdc8.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_form_platform=self.webpackChunk_next_bricks_form_platform||[]).push([[9401],{9401:(e,t,i)=>{i.r(t);var r,s,a,l,u,n,o,d,c,h,p,v,Z,U,y,m,b,g,f,k,M,w,E,G,R,S,_,W,q,L,Q,A,j,O,$,B,P,C,z,x,I=i(3028),N=i(4795),F=i(6666),D=i(3395),H=i(1815),T=i(381),V=i(687),J=i(2604),K=i(8657),X=i.n(K),Y=i(2462),ee=i(2354),te=i(3622),ie=i(7759),re=(i(3318),i(7124)),se=i(5576),ae=i(2021),le=i(1969),ue=i(1211),{defineElement:ne,property:oe,event:de}=(0,Y.createDecorators)(),ce=(0,ee.wrapBrick)("eo-form-item"),he=(0,ee.wrapBrick)("eo-button"),pe=(0,ee.wrapBrick)("eo-select");s=ne("eo-user-or-user-group-select",{styleTexts:[re.Z]}),a=oe(),u=oe(),o=oe({type:Boolean}),c=oe(),p=oe({attribute:!1}),Z=oe({attribute:!1}),y=oe({attribute:!1}),b=oe({attribute:!1}),f=oe({attribute:!1}),M=oe(),E=oe({type:Boolean}),R=oe({type:Boolean}),_=oe({type:Boolean}),q=oe({attribute:!1}),Q=oe({type:Boolean}),j=de({type:"change"});var ve=new WeakMap,Ze=new WeakMap,Ue=new WeakMap,ye=new WeakMap,me=new WeakMap,be=new WeakMap,ge=new WeakMap,fe=new WeakMap,ke=new WeakMap,Me=new WeakMap,we=new WeakMap,Ee=new WeakMap,Ge=new WeakMap,Re=new WeakMap,Se=new WeakMap,_e=new WeakMap,We=new WeakMap,qe=new WeakMap;class Le extends se.G{constructor(){super(...arguments),(0,D.Z)(this,We,{get:Ae,set:Qe}),(0,D.Z)(this,ve,{writable:!0,value:(P(this),l(this))}),(0,D.Z)(this,Ze,{writable:!0,value:n(this)}),(0,D.Z)(this,Ue,{writable:!0,value:d(this)}),(0,D.Z)(this,ye,{writable:!0,value:h(this)}),(0,D.Z)(this,me,{writable:!0,value:v(this)}),(0,D.Z)(this,be,{writable:!0,value:U(this)}),(0,D.Z)(this,ge,{writable:!0,value:m(this)}),(0,D.Z)(this,fe,{writable:!0,value:g(this)}),(0,D.Z)(this,ke,{writable:!0,value:k(this)}),(0,D.Z)(this,Me,{writable:!0,value:w(this,"all")}),(0,D.Z)(this,we,{writable:!0,value:G(this,!1)}),(0,D.Z)(this,Ee,{writable:!0,value:S(this)}),(0,D.Z)(this,Ge,{writable:!0,value:W(this,!0)}),(0,D.Z)(this,Re,{writable:!0,value:L(this)}),(0,D.Z)(this,Se,{writable:!0,value:A(this,!0)}),(0,D.Z)(this,_e,{writable:!0,value:O(this)}),(0,D.Z)(this,qe,{writable:!0,value:void 0}),(0,F.Z)(this,"handleUserOrUserGroupChange",(e=>{var t={selectedUser:(0,ue.reject)(e,(e=>(0,ue.startsWith)(e,":"))),selectedUserGroup:(0,ue.filter)(e,(e=>(0,ue.startsWith)(e,":")))};this.value=t,(0,T.Z)(this,qe,t),Promise.resolve().then((()=>{var i;(0,V.Z)(this,We).emit(this.mergeUseAndUserGroup?e:t),null===(i=this.getFormElement())||void 0===i||i.resetValidateState()}))})),(0,F.Z)(this,"_handleMergeUseAndUserGroup",(e=>(0,ue.groupBy)(e,(e=>(0,ue.startsWith)(e,":")?"selectedUserGroup":"selectedUser"))))}get name(){return(0,V.Z)(this,ve)}set name(e){(0,T.Z)(this,ve,e)}get label(){return(0,V.Z)(this,Ze)}set label(e){(0,T.Z)(this,Ze,e)}get required(){return(0,V.Z)(this,Ue)}set required(e){(0,T.Z)(this,Ue,e)}get placeholder(){return(0,V.Z)(this,ye)}set placeholder(e){(0,T.Z)(this,ye,e)}get value(){return(0,V.Z)(this,me)}set value(e){(0,T.Z)(this,me,e)}get objectList(){return(0,V.Z)(this,be)}set objectList(e){(0,T.Z)(this,be,e)}get query(){return(0,V.Z)(this,ge)}set query(e){(0,T.Z)(this,ge,e)}get userQuery(){return(0,V.Z)(this,fe)}set userQuery(e){(0,T.Z)(this,fe,e)}get userGroupQuery(){return(0,V.Z)(this,ke)}set userGroupQuery(e){(0,T.Z)(this,ke,e)}get optionsMode(){return(0,V.Z)(this,Me)}set optionsMode(e){(0,T.Z)(this,Me,e)}get mergeUseAndUserGroup(){return(0,V.Z)(this,we)}set mergeUseAndUserGroup(e){(0,T.Z)(this,we,e)}get disabled(){return(0,V.Z)(this,Ee)}set disabled(e){(0,T.Z)(this,Ee,e)}get isMultiple(){return(0,V.Z)(this,Ge)}set isMultiple(e){(0,T.Z)(this,Ge,e)}get staticList(){return(0,V.Z)(this,Re)}set staticList(e){(0,T.Z)(this,Re,e)}get hideAddMeQuickly(){return(0,V.Z)(this,Se)}set hideAddMeQuickly(e){(0,T.Z)(this,Se,e)}connectedCallback(){(0,T.Z)(this,qe,this.value),this.mergeUseAndUserGroup&&this.value&&(0,T.Z)(this,qe,this._handleMergeUseAndUserGroup(this.value)),super.connectedCallback()}render(){return X().createElement(je,{formElement:this.getFormElement(),curElement:this,name:this.name,label:this.label,placeholder:this.placeholder,required:this.required,value:(0,V.Z)(this,qe),validateState:this.validateState,notRender:this.notRender,helpBrick:this.helpBrick,trigger:"handleUserOrUserGroupChange",onChange:this.handleUserOrUserGroupChange,objectList:this.objectList,query:this.query,userQuery:this.userQuery,userGroupQuery:this.userGroupQuery,optionsMode:this.optionsMode,staticList:this.staticList,isMultiple:this.isMultiple,disabled:this.disabled,hideAddMeQuickly:this.hideAddMeQuickly})}}function Qe(e){B(this,e)}function Ae(){return $(this)}function je(e){var t,[i,r]=(0,K.useState)(null!==(t=e.objectList)&&void 0!==t?t:[]),[s,a]=(0,K.useState)(),[l,u]=(0,K.useState)([]),[n,o]=(0,K.useState)([]),[d,c]=(0,K.useState)([]),h=(0,K.useRef)([]),p=(0,K.useMemo)((()=>{var t,i,r,s;if(!(0,ue.isNil)(e.value))return e.isMultiple?[...(null===(t=e.value)||void 0===t?void 0:t.selectedUser)||[],...(null===(i=e.value)||void 0===i?void 0:i.selectedUserGroup)||[]]:(null===(r=e.value)||void 0===r||null===(r=r.selectedUser)||void 0===r?void 0:r[0])||(null===(s=e.value)||void 0===s||null===(s=s.selectedUserGroup)||void 0===s?void 0:s[0])}),[e.value,e.isMultiple]),v=(0,K.useCallback)((e=>{var t,r,s=(0,ue.keyBy)(i,"objectId");return(null===(t=s[e])||void 0===t?void 0:t.view)&&(null===(r=s[e].view)||void 0===r?void 0:r.show_key)||["name"]}),[i]),Z=function(){var t=(0,N.Z)((function*(t,i){var r,s,a=v("USER"===t?"USER":"USER_GROUP"),l=(0,I.Z)({$or:(0,ue.map)((0,ue.uniq)([...a,"name"]),(e=>({[e]:{$like:"%".concat(i,"%")}})))},"USER"===t?{state:"valid"}:{}),u="USER"===t?{name:{$in:null===(r=e.value)||void 0===r?void 0:r.selectedUser}}:{instanceId:{$in:(0,ue.map)(null===(s=e.value)||void 0===s?void 0:s.selectedUserGroup,(e=>e.slice(1)))}};return(yield(0,ae.x)(t,{page:1,page_size:20,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(a,(0,ue.map)(a,(()=>!0)))),{},{name:!0}),query:e.userQuery&&"USER"===t?{$and:[e.userQuery,l],$or:u}:e.userGroupQuery&&"USER_GROUP"===t?{$and:[e.userGroupQuery,l],$or:u}:e.query?{$and:[e.query,l],$or:u}:{$or:[l,u]}})).list}));return function(e,i){return t.apply(this,arguments)}}(),U=function(){var e=(0,N.Z)((function*(e){u((yield Z("USER",e))||[])}));return function(t){return e.apply(this,arguments)}}(),y=function(){var e=(0,N.Z)((function*(e){var t=yield Z("USER_GROUP",e);o((null==t?void 0:t.map((e=>(e.instanceId=":"+e.instanceId,e))))||[])}));return function(t){return e.apply(this,arguments)}}(),m=function(){var t=(0,N.Z)((function*(t){a(t),yield Promise.all([..."group"!==e.optionsMode?[U(t)]:[],..."user"!==e.optionsMode?[y(t)]:[]])}));return function(e){return t.apply(this,arguments)}}(),b=t=>{var i;null===(i=e.onChange)||void 0===i||i.call(e,t)},g=t=>{var i,r=null===(i=t.detail)||void 0===i?void 0:i.value,a=(0,ue.filter)(Array.isArray(r)?r:r?[r]:[],(t=>!(0,ue.find)(e.staticList,(e=>e===t))));a.unshift(...h.current),c(a),b(a),""!==s&&m("")};(0,K.useEffect)((()=>{(0,N.Z)((function*(){if(e.objectList)r(e.objectList);else if(z)r(z);else try{var t=(yield(0,le.G)({ref_object:"USER,USER_GROUP"})).data;r(t),z=t}catch(e){(0,te.handleHttpError)(e)}}))()}),[e.objectList,e.notRender]);var f=(e,t)=>{var i=v("USER"===e?"USER":"USER_GROUP");return(Array.isArray(i)?i.map(((e,i)=>0===i?t[e]:t[e]?"("+t[e]+")":"")).join(""):t[i])||t.name};(0,K.useEffect)((()=>{var t,i,r,s,a,l,n=function(){var t=(0,N.Z)((function*(){if(e.value){var t,i=[],r=[],s=(0,ue.groupBy)(e.staticList,(e=>(0,ue.startsWith)(e,":")?"userGroup":"user")),a=(0,ue.compact)((0,ue.uniq)([].concat(s.user).concat(null===(t=e.value)||void 0===t?void 0:t.selectedUser))),l=(0,ue.compact)((0,ue.uniq)([].concat(s.userGroup).concat(e.value.selectedUserGroup)));(s.user&&(0,ue.some)(s.user,(t=>{var i;return!(null!==(i=e.value)&&void 0!==i&&null!==(i=i.selectedUser)&&void 0!==i&&i.includes(t))}))||s.userGroup&&(0,ue.some)(s.userGroup,(t=>{var i;return!(null!==(i=e.value)&&void 0!==i&&null!==(i=i.selectedUserGroup)&&void 0!==i&&i.includes(t))})))&&b({selectedUser:a,selectedUserGroup:l});var n=[];a.length&&"group"!==e.optionsMode&&(i=(yield(0,ae.x)("USER",{query:{name:{$in:a}},page:1,page_size:a.length,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER"),(0,ue.map)(v("USER"),(()=>!0)))),{},{name:!0})})).list),l.length&&"user"!==e.optionsMode&&(r=(yield(0,ae.x)("USER_GROUP",{query:{instanceId:{$in:(0,ue.map)(l,(e=>e.slice(1)))}},page:1,page_size:l.length,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER_GROUP"),(0,ue.map)(v("USER_GROUP"),(()=>!0)))),{},{name:!0})})).list);var d=[...(0,ue.map)(i,(t=>{var i,r=f("USER",t),s={key:t.name,label:r};return null!==(i=e.staticList)&&void 0!==i&&i.includes(t.name)&&n.push(s),s})),...(0,ue.map)(r,(t=>{var i,r=f("USER_GROUP",t),s={key:":"+t.instanceId,label:r};return null!==(i=e.staticList)&&void 0!==i&&i.includes(":"+t.instanceId)&&n.push(s),s}))];d=[...n,...(0,ue.filter)(d,(t=>{var i;return!(null!==(i=e.staticList)&&void 0!==i&&i.includes(t.key))}))],c(d),u(i),o(r),h.current=n}}));return function(){return t.apply(this,arguments)}}();r=(null===(t=e.value)||void 0===t?void 0:t.selectedUser)||[],s=(null===(i=e.value)||void 0===i?void 0:i.selectedUserGroup)||[],a=(0,ue.map)((0,ue.filter)(d,(e=>{var t;return!(null!=e&&null!==(t=e.key)&&void 0!==t&&t.startsWith(":"))})),"key"),l=(0,ue.map)((0,ue.filter)(d,(e=>{var t;return null==e||null===(t=e.key)||void 0===t?void 0:t.startsWith(":")})),"key"),(0,ue.isEqual)([...r].sort(),[...a].sort())&&(0,ue.isEqual)([...s].sort(),[...l].sort())||n()}),[]);var k=(0,K.useMemo)((()=>{var t=[],i=[];return l.length&&(t=[{label:"用户(仅显示前20项,更多结果请搜索)",options:l.map((t=>{var i;return{label:f("USER",t),value:t.name,closeable:!(null!=e&&null!==(i=e.staticList)&&void 0!==i&&i.includes(t.name))}}))}]),n.length&&(i=[{label:"用户组(仅显示前20项,更多结果请搜索",options:n.map((t=>{var i;return{label:f("USER_GROUP",t),value:t.instanceId,closeable:!(null!=e&&null!==(i=e.staticList)&&void 0!==i&&i.includes(t.instanceId))}}))}]),"user"===e.optionsMode?t:"group"===e.optionsMode?i:[...t,...i]}),[l,n,e.optionsMode,e.staticList]),M=function(){var e=(0,N.Z)((function*(){var e=ie.auth.getAuth().username;if(!(0,ue.find)(d,(t=>t===e))){var t=(yield(0,ae.x)("USER",{query:{name:{$eq:e}},page:1,page_size:1,fields:(0,I.Z)((0,I.Z)({},(0,ue.zipObject)(v("USER"),(0,ue.map)(v("USER"),(()=>!0)))),{},{name:!0})})).list;t.length&&u([...l,...t]),g({detail:{value:[...d,e]}})}}));return function(){return e.apply(this,arguments)}}();return X().createElement(ce,e,X().createElement("div",{className:"select-wrapper"},X().createElement(pe,{clearable:!0,mode:e.isMultiple?"multiple":void 0,placeholder:e.placeholder,value:p,onchange:g,onfocus:()=>{((0,ue.isNil)(s)||""!==s)&&m("")},onsearch:(0,ue.debounce)((e=>{m(e.detail.value)}),500),options:k,disabled:e.disabled}),!e.hideAddMeQuickly&&"group"!==e.optionsMode&&X().createElement(he,{onClick:M,type:"link",size:"large",style:{fontSize:"16px"},icon:{lib:"easyops",icon:"quick-add-me"}})))}C=Le,({e:[l,n,d,h,v,U,m,g,k,w,G,S,W,L,A,O,$,B,P],c:[x,r]}=(0,J.Z)(C,[[a,1,"name"],[u,1,"label"],[o,1,"required"],[c,1,"placeholder"],[p,1,"value"],[Z,1,"objectList"],[y,1,"query"],[b,1,"userQuery"],[f,1,"userGroupQuery"],[M,1,"optionsMode"],[E,1,"mergeUseAndUserGroup"],[R,1,"disabled"],[_,1,"isMultiple"],[q,1,"staticList"],[Q,1,"hideAddMeQuickly"],[j,1,"changeEvent",e=>(0,V.Z)(e,_e),(e,t)=>(0,T.Z)(e,_e,t)]],[s],0,(e=>qe.has((0,H.Z)(e))),se.G)),r()}}]);
2
+ //# sourceMappingURL=9401.87b3707a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/9401.0d9ffdc8.js","mappings":"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","sources":["webpack:///./src/user-or-user-group-select/index.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useRef,\n useCallback,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { Select, SelectProps } from \"@next-bricks/form/select\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport {\n InstanceApi_postSearch,\n CmdbModels,\n CmdbObjectApi_getObjectRef,\n} from \"@next-api-sdk/cmdb-sdk\";\n\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n reject,\n isNil,\n uniq,\n find,\n isEqual,\n groupBy,\n compact,\n some,\n keyBy,\n DebouncedFunc,\n} from \"lodash\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\n\n// --- NOTE: uncomment these lines below to enable i18n for your brick ---\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n// import { K, NS, locales } from \"./i18n.js\";\n// initializeReactI18n(NS, locales);\ntype ModelObjectItem = Partial<CmdbModels.ModelCmdbObject>;\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedSelect = wrapBrick<\n Select,\n SelectProps & {\n onchange: () => void;\n onfocus: () => void;\n onsearch: DebouncedFunc<(e: any) => void>;\n }\n>(\"eo-select\");\nlet objectListCache: ModelObjectItem[];\n\nexport type UserOrUserGroupSelectValue = {\n selectedUser: string[];\n selectedUserGroup: string[];\n};\n\nexport interface EoUserOrUserGroupSelectProps extends FormItemProps {\n value?: UserOrUserGroupSelectValue | undefined;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n validateState?: string;\n onChange?: (value: string[]) => void;\n objectList?: ModelObjectItem[];\n query?: Record<string, any>;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n optionsMode: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n isMultiple?: boolean;\n hideAddMeQuickly?: boolean;\n}\n\n/**\n * 用户(组)选择器\n * @author dophijing\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-user-or-user-group-select\", {\n styleTexts: [styleText],\n})\nclass EoUserOrUserGroupSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string[] | UserOrUserGroupSelectValue | undefined;\n\n /**\n * 模型列表,不传该属性构件内部会发请求获取该列表,如果需要传该属性则优先使用外部传进来的数据,该数据来自\"providers-of-cmdb.cmdb-object-api-get-object-ref\" 如 demo 所示\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor objectList: Partial<CmdbModels.ModelCmdbObject>[] | undefined;\n\n /**\n * 用户和用户组`search`接口的`query`,此参数比较适用于,两者接口需要参数相同的情况\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor query: Record<string, any> | undefined;\n\n /**\n * 针对`USER/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userQuery: Record<string, any> | undefined;\n\n /**\n * 针对`USER_GROUP/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户组做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userGroupQuery: Record<string, any> | undefined;\n\n /**\n * 支持选择用户、用户组或者两者\n * {\n * \"optionType\": \"button\",\n * \"options\": [\n * {\n * \"label\": \"All\",\n * \"value\": \"all\"\n * },\n * {\n * \"label\": \"User\",\n * \"value\": \"user\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"user\",\n * \"theme\": \"outlined\"\n * }\n * },\n * {\n * \"label\": \"Group\",\n * \"value\": \"group\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"usergroup-add\",\n * \"theme\": \"outlined\"\n * }\n * }\n * ]\n * }\n * @group advanced\n */\n @property()\n accessor optionsMode: \"user\" | \"group\" | \"all\" = \"all\";\n\n /**\n * 是否合并用户和用户组数据,当设置为 true 时,输入的`value`和`user.group.change`事件输出的 detail 都为`string[]`格式。\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor mergeUseAndUserGroup: boolean = false;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否多选,默认为多选\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor isMultiple: boolean = true;\n\n /**\n * 固定白名单列表,该列表中的值用户不能取消。\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor staticList: string[] | undefined;\n\n /**\n * 快速选择我\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor hideAddMeQuickly: boolean = true;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string[] | UserOrUserGroupSelectValue>;\n\n #mutableValue: string[] | UserOrUserGroupSelectValue | undefined;\n\n handleUserOrUserGroupChange = (values: string[]) => {\n const resultValue = {\n selectedUser: reject(values, (v) => {\n return startsWith(v, \":\");\n }),\n\n selectedUserGroup: filter(values, (v) => {\n return startsWith(v, \":\");\n }),\n };\n\n this.value = resultValue;\n this.#mutableValue = resultValue;\n Promise.resolve().then(() => {\n this.#changeEvent.emit(\n this.mergeUseAndUserGroup ? values : (resultValue as any)\n );\n this.getFormElement()?.resetValidateState();\n });\n };\n\n private _handleMergeUseAndUserGroup = (\n originValue: string[] | UserOrUserGroupSelectValue\n ): UserOrUserGroupSelectValue => {\n const result = groupBy(originValue, (v) =>\n startsWith(v, \":\") ? \"selectedUserGroup\" : \"selectedUser\"\n );\n return result as unknown as UserOrUserGroupSelectValue;\n };\n\n connectedCallback(): void {\n this.#mutableValue = this.value;\n if (this.mergeUseAndUserGroup && this.value) {\n this.#mutableValue = this._handleMergeUseAndUserGroup(this.value);\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoUserOrUserGroupSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n required={this.required}\n value={this.#mutableValue as UserOrUserGroupSelectValue}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleUserOrUserGroupChange\"\n onChange={this.handleUserOrUserGroupChange}\n objectList={this.objectList}\n query={this.query}\n userQuery={this.userQuery}\n userGroupQuery={this.userGroupQuery}\n optionsMode={this.optionsMode}\n staticList={this.staticList}\n isMultiple={this.isMultiple}\n disabled={this.disabled}\n hideAddMeQuickly={this.hideAddMeQuickly}\n />\n );\n }\n}\n\nexport function EoUserOrUserGroupSelectComponent(\n props: EoUserOrUserGroupSelectProps\n) {\n // const { t } = useTranslation(NS);\n // const hello = t(K.HELLO);\n const [objectList, setObjectList] = useState<ModelObjectItem[]>(\n props.objectList ?? []\n );\n const [searchValue, setSearchValue] = useState<string>();\n const [userList, setUserList] = useState<any[]>([]);\n const [userGroupList, setUserGroupList] = useState<any[]>([]);\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n\n const computedValue = useMemo(() => {\n if (isNil(props.value)) {\n return undefined;\n } else {\n return props.isMultiple\n ? [\n ...(props.value?.selectedUser || []),\n ...(props.value?.selectedUserGroup || []),\n ]\n : props.value?.selectedUser?.[0] || props.value?.selectedUserGroup?.[0];\n }\n }, [props.value, props.isMultiple]);\n\n const getShowKey = useCallback(\n (objectId: string): string[] => {\n const objectMap = keyBy(objectList, \"objectId\");\n return (\n (objectMap[objectId]?.view && objectMap[objectId].view?.show_key) || [\n \"name\",\n ]\n );\n },\n [objectList]\n );\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(objectId === \"USER\"\n ? {\n state: \"valid\",\n }\n : {}),\n };\n const staticQuery =\n objectId === \"USER\"\n ? {\n name: {\n $in: props.value?.selectedUser,\n },\n }\n : {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(props.value?.selectedUserGroup, (v) =>\n (v as string).slice(1)\n ),\n },\n };\n\n return (\n await InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n $and: [props.userQuery, showKeyQuery],\n $or: staticQuery,\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n $and: [props.userGroupQuery, showKeyQuery],\n $or: staticQuery,\n }\n : props.query\n ? {\n $and: [props.query, showKeyQuery],\n $or: staticQuery,\n }\n : { $or: [showKeyQuery, staticQuery] },\n })\n ).list;\n };\n\n const searchUser = async (value: string) => {\n setUserList((await fetchInstanceList(\"USER\", value)) || []);\n };\n\n // 用户组在instanceId前面加上:\n const searchUserGroup = async (value: string) => {\n const result = await fetchInstanceList(\"USER_GROUP\", value);\n setUserGroupList(\n result?.map((v) => {\n v.instanceId = \":\" + v.instanceId;\n return v;\n }) || []\n );\n };\n\n const searchUserOrUserGroupInstances = async (value: string) => {\n setSearchValue(value);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n };\n\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const triggerChange = (changedValue: any) => {\n props.onChange?.(changedValue);\n };\n\n const handleSelectChange = (e: any) => {\n const originValue = e.detail?.value;\n\n const value = filter(\n Array.isArray(originValue)\n ? originValue\n : originValue\n ? [originValue]\n : [],\n (item) => {\n return !find(props.staticList, (v) => v === item);\n }\n );\n\n value.unshift(...staticValue.current);\n setSelectedValue(value as any);\n triggerChange(value);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const isDifferent = () => {\n const userOfValues = props.value?.selectedUser || [];\n const userGroupOfValues = props.value?.selectedUserGroup || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item: any) => !item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item: any) => item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n return (\n !isEqual([...userOfValues].sort(), [...userOfSelectedValue].sort()) ||\n !isEqual(\n [...userGroupOfValues].sort(),\n [...userGroupOfSelectedValue].sort()\n )\n );\n };\n\n useEffect(() => {\n (async () => {\n if (!props.objectList) {\n if (objectListCache) {\n setObjectList(objectListCache);\n } else {\n try {\n const list = (\n await CmdbObjectApi_getObjectRef({\n ref_object: \"USER,USER_GROUP\",\n })\n ).data;\n setObjectList(list);\n objectListCache = list;\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n } else {\n setObjectList(props.objectList);\n }\n })();\n }, [props.objectList, props.notRender]);\n\n const initializeStaticList = () => {\n return groupBy(props.staticList, (v) =>\n startsWith(v, \":\") ? \"userGroup\" : \"user\"\n );\n };\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n let showName;\n if (Array.isArray(showKey)) {\n showName = showKey\n .map((key, index) => {\n if (index === 0) {\n return instanceData[key];\n } else {\n return instanceData[key] ? \"(\" + instanceData[key] + \")\" : \"\";\n }\n })\n .join(\"\");\n } else {\n showName = instanceData[showKey];\n }\n return showName || instanceData.name;\n };\n\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const staticKeys = initializeStaticList();\n const user = compact(\n uniq(\n []\n .concat(staticKeys.user as any)\n .concat(props.value?.selectedUser as any)\n )\n );\n\n const userGroup = compact(\n uniq(\n []\n .concat(staticKeys.userGroup as any)\n .concat(props.value.selectedUserGroup as any)\n )\n );\n\n if (\n (staticKeys.user &&\n some(\n staticKeys.user,\n (v) => !props.value?.selectedUser?.includes(v)\n )) ||\n (staticKeys.userGroup &&\n some(\n staticKeys.userGroup,\n (v) => !props.value?.selectedUserGroup?.includes(v)\n ))\n ) {\n triggerChange({\n selectedUser: user,\n selectedUserGroup: userGroup,\n });\n }\n const staticValueToSet: any = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n if (userGroup.length && props.optionsMode !== \"user\") {\n selectedUserGroup = (\n await InstanceApi_postSearch(\"USER_GROUP\", {\n query: {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(userGroup, (v) => (v as string).slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER_GROUP\"),\n map(getShowKey(\"USER_GROUP\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v.name,\n label: labelText,\n };\n\n if (props.staticList?.includes(v.name)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ...map(selectedUserGroup, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n const result = {\n key: \":\" + v.instanceId,\n label: labelText,\n };\n\n if (props.staticList?.includes(\":\" + v.instanceId)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ];\n\n labelValue = [\n ...staticValueToSet,\n ...filter(labelValue, (v) => !props.staticList?.includes(v.key)),\n ];\n setSelectedValue(labelValue as any);\n setUserList(selectedUser);\n setUserGroupList(selectedUserGroup);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, []);\n\n const selectOptions = useMemo(() => {\n let userListOptions: any = [];\n let userGroupListOptions: any = [];\n if (userList.length) {\n userListOptions = [\n {\n label: \"用户(仅显示前20项,更多结果请搜索)\",\n options: userList.map((user) => ({\n label: getLabel(\"USER\", user),\n value: user.name,\n closeable: !props?.staticList?.includes(user.name),\n })),\n },\n ];\n }\n if (userGroupList.length) {\n userGroupListOptions = [\n {\n label: \"用户组(仅显示前20项,更多结果请搜索\",\n options: userGroupList.map((group) => ({\n label: getLabel(\"USER_GROUP\", group),\n value: group.instanceId,\n closeable: !props?.staticList?.includes(group.instanceId),\n })),\n },\n ];\n }\n\n return props.optionsMode === \"user\"\n ? userListOptions\n : props.optionsMode === \"group\"\n ? userGroupListOptions\n : [...userListOptions, ...userGroupListOptions];\n }, [userList, userGroupList, props.optionsMode, props.staticList]);\n\n // 快速选择我\n const addMeQuickly = async () => {\n const myUserName = auth.getAuth().username;\n if (find(selectedValue, (v) => v === myUserName)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $eq: myUserName,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n myUser.length && setUserList([...userList, ...myUser]);\n handleSelectChange({ detail: { value: [...selectedValue, myUserName] } });\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n <div className=\"select-wrapper\">\n <WrappedSelect\n clearable={true}\n mode={props.isMultiple ? \"multiple\" : undefined}\n placeholder={props.placeholder}\n value={computedValue}\n onchange={handleSelectChange as any}\n onfocus={handleFocus}\n onsearch={debounce((e) => {\n searchUserOrUserGroupInstances(e.detail.value as string);\n }, 500)}\n options={selectOptions as any}\n disabled={props.disabled}\n ></WrappedSelect>\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <WrappedButton\n onClick={addMeQuickly}\n type=\"link\"\n size=\"large\"\n style={{ fontSize: \"16px\" }}\n icon={{\n lib: \"easyops\",\n icon: \"quick-add-me\",\n }}\n ></WrappedButton>\n )}\n </div>\n </WrappedFormItem>\n );\n}\n"],"names":["objectListCache","_EoUserOrUserGroupSel","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedButton","WrappedSelect","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","type","Boolean","_dec5","_dec6","attribute","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_changeEvent","_mutableValue","EoUserOrUserGroupSelect","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_changeEvent2","set","_set_changeEvent2","writable","value","_initProto","_init_name","_init_label","_init_required","_init_placeholder","_init_value","_init_objectList","_init_query","_init_userQuery","_init_userGroupQuery","_init_optionsMode","_init_mergeUseAndUserGroup","_init_disabled","_init_isMultiple","_init_staticList","_init_hideAddMeQuickly","_init_changeEvent","_defineProperty","values","resultValue","selectedUser","reject","v","startsWith","selectedUserGroup","filter","this","_classPrivateFieldSet","Promise","resolve","then","_this$getFormElement","_classPrivateFieldGet","emit","mergeUseAndUserGroup","getFormElement","resetValidateState","originValue","groupBy","name","label","required","placeholder","objectList","query","userQuery","userGroupQuery","optionsMode","disabled","isMultiple","staticList","hideAddMeQuickly","connectedCallback","_handleMergeUseAndUserGroup","super","render","React","EoUserOrUserGroupSelectComponent","formElement","curElement","validateState","notRender","helpBrick","trigger","onChange","handleUserOrUserGroupChange","_set_changeEvent","_get_changeEvent","props","_props$objectList","setObjectList","useState","searchValue","setSearchValue","userList","setUserList","userGroupList","setUserGroupList","selectedValue","setSelectedValue","staticValue","useRef","computedValue","useMemo","_props$value","_props$value2","_props$value3","_props$value4","isNil","getShowKey","useCallback","objectId","_objectMap$objectId","_objectMap$objectId$v","objectMap","keyBy","view","show_key","fetchInstanceList","_ref","_asyncToGenerator","keyword","_props$value5","_props$value6","showKey","showKeyQuery","_objectSpread","$or","map","uniq","$like","concat","state","staticQuery","$in","instanceId","slice","InstanceApi_postSearch","page","page_size","fields","zipObject","$and","list","_x","_x2","apply","searchUser","_ref2","_x3","searchUserGroup","_ref3","result","_x4","searchUserOrUserGroupInstances","_ref4","all","_x5","triggerChange","changedValue","_props$onChange","call","handleSelectChange","e","_e$detail","detail","Array","isArray","item","find","unshift","current","useEffect","CmdbObjectApi_getObjectRef","ref_object","data","handleHttpError","getLabel","instanceData","key","index","join","_props$value7","_props$value8","userOfValues","userGroupOfValues","userOfSelectedValue","userGroupOfSelectedValue","initializeSelectedValue","_ref6","_props$value9","staticKeys","user","compact","userGroup","some","_props$value10","includes","_props$value11","staticValueToSet","length","labelValue","_props$staticList","labelText","push","_props$staticList2","_props$staticList3","_item$key","_item$key2","isEqual","sort","selectOptions","userListOptions","userGroupListOptions","options","_props$staticList4","closeable","group","_props$staticList5","addMeQuickly","_ref7","myUserName","auth","getAuth","username","myUser","$eq","className","clearable","mode","undefined","onchange","onfocus","handleFocus","onsearch","debounce","onClick","size","style","fontSize","icon","lib","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/9401.87b3707a.js","mappings":"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","sources":["webpack:///./src/user-or-user-group-select/index.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useRef,\n useCallback,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { Select, SelectProps } from \"@next-bricks/form/select\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport {\n InstanceApi_postSearch,\n CmdbModels,\n CmdbObjectApi_getObjectRef,\n} from \"@next-api-sdk/cmdb-sdk\";\n\nimport {\n zipObject,\n map,\n debounce,\n startsWith,\n filter,\n reject,\n isNil,\n uniq,\n find,\n isEqual,\n groupBy,\n compact,\n some,\n keyBy,\n DebouncedFunc,\n} from \"lodash\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\n\n// --- NOTE: uncomment these lines below to enable i18n for your brick ---\n// import { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n// import { K, NS, locales } from \"./i18n.js\";\n// initializeReactI18n(NS, locales);\ntype ModelObjectItem = Partial<CmdbModels.ModelCmdbObject>;\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedSelect = wrapBrick<\n Select,\n SelectProps & {\n onchange: () => void;\n onfocus: () => void;\n onsearch: DebouncedFunc<(e: any) => void>;\n }\n>(\"eo-select\");\nlet objectListCache: ModelObjectItem[];\n\nexport type UserOrUserGroupSelectValue = {\n selectedUser: string[];\n selectedUserGroup: string[];\n};\n\nexport interface EoUserOrUserGroupSelectProps extends FormItemProps {\n value?: UserOrUserGroupSelectValue | undefined;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n validateState?: string;\n onChange?: (value: string[]) => void;\n objectList?: ModelObjectItem[];\n query?: Record<string, any>;\n userGroupQuery?: Record<string, any>;\n userQuery?: Record<string, any>;\n optionsMode: \"user\" | \"group\" | \"all\";\n staticList?: string[];\n isMultiple?: boolean;\n hideAddMeQuickly?: boolean;\n}\n\n/**\n * 用户(组)选择器\n * @author dophijing\n * @category form-input-business\n * @insider\n */\nexport\n@defineElement(\"eo-user-or-user-group-select\", {\n styleTexts: [styleText],\n})\nclass EoUserOrUserGroupSelect extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 字段placeholder\n */\n @property() accessor placeholder: string | undefined;\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: string[] | UserOrUserGroupSelectValue | undefined;\n\n /**\n * 模型列表,不传该属性构件内部会发请求获取该列表,如果需要传该属性则优先使用外部传进来的数据,该数据来自\"providers-of-cmdb.cmdb-object-api-get-object-ref\" 如 demo 所示\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor objectList: Partial<CmdbModels.ModelCmdbObject>[] | undefined;\n\n /**\n * 用户和用户组`search`接口的`query`,此参数比较适用于,两者接口需要参数相同的情况\n * advanced\n */\n @property({\n attribute: false,\n })\n accessor query: Record<string, any> | undefined;\n\n /**\n * 针对`USER/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userQuery: Record<string, any> | undefined;\n\n /**\n * 针对`USER_GROUP/instance/_search`接口的`query`,此参数比较适用于,可能只需要针对用户组做筛选的情况\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor userGroupQuery: Record<string, any> | undefined;\n\n /**\n * 支持选择用户、用户组或者两者\n * {\n * \"optionType\": \"button\",\n * \"options\": [\n * {\n * \"label\": \"All\",\n * \"value\": \"all\"\n * },\n * {\n * \"label\": \"User\",\n * \"value\": \"user\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"user\",\n * \"theme\": \"outlined\"\n * }\n * },\n * {\n * \"label\": \"Group\",\n * \"value\": \"group\",\n * \"icon\": {\n * \"lib\": \"antd\",\n * \"icon\": \"usergroup-add\",\n * \"theme\": \"outlined\"\n * }\n * }\n * ]\n * }\n * @group advanced\n */\n @property()\n accessor optionsMode: \"user\" | \"group\" | \"all\" = \"all\";\n\n /**\n * 是否合并用户和用户组数据,当设置为 true 时,输入的`value`和`user.group.change`事件输出的 detail 都为`string[]`格式。\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor mergeUseAndUserGroup: boolean = false;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否多选,默认为多选\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor isMultiple: boolean = true;\n\n /**\n * 固定白名单列表,该列表中的值用户不能取消。\n * @group advanced\n */\n @property({\n attribute: false,\n })\n accessor staticList: string[] | undefined;\n\n /**\n * 快速选择我\n * @group advanced\n */\n @property({\n type: Boolean,\n })\n accessor hideAddMeQuickly: boolean = true;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string[] | UserOrUserGroupSelectValue>;\n\n #mutableValue: string[] | UserOrUserGroupSelectValue | undefined;\n\n handleUserOrUserGroupChange = (values: string[]) => {\n const resultValue = {\n selectedUser: reject(values, (v) => {\n return startsWith(v, \":\");\n }),\n\n selectedUserGroup: filter(values, (v) => {\n return startsWith(v, \":\");\n }),\n };\n\n this.value = resultValue;\n this.#mutableValue = resultValue;\n Promise.resolve().then(() => {\n this.#changeEvent.emit(\n this.mergeUseAndUserGroup ? values : (resultValue as any)\n );\n this.getFormElement()?.resetValidateState();\n });\n };\n\n private _handleMergeUseAndUserGroup = (\n originValue: string[] | UserOrUserGroupSelectValue\n ): UserOrUserGroupSelectValue => {\n const result = groupBy(originValue, (v) =>\n startsWith(v, \":\") ? \"selectedUserGroup\" : \"selectedUser\"\n );\n return result as unknown as UserOrUserGroupSelectValue;\n };\n\n connectedCallback(): void {\n this.#mutableValue = this.value;\n if (this.mergeUseAndUserGroup && this.value) {\n this.#mutableValue = this._handleMergeUseAndUserGroup(this.value);\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoUserOrUserGroupSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n required={this.required}\n value={this.#mutableValue as UserOrUserGroupSelectValue}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleUserOrUserGroupChange\"\n onChange={this.handleUserOrUserGroupChange}\n objectList={this.objectList}\n query={this.query}\n userQuery={this.userQuery}\n userGroupQuery={this.userGroupQuery}\n optionsMode={this.optionsMode}\n staticList={this.staticList}\n isMultiple={this.isMultiple}\n disabled={this.disabled}\n hideAddMeQuickly={this.hideAddMeQuickly}\n />\n );\n }\n}\n\nexport function EoUserOrUserGroupSelectComponent(\n props: EoUserOrUserGroupSelectProps\n) {\n // const { t } = useTranslation(NS);\n // const hello = t(K.HELLO);\n const [objectList, setObjectList] = useState<ModelObjectItem[]>(\n props.objectList ?? []\n );\n const [searchValue, setSearchValue] = useState<string>();\n const [userList, setUserList] = useState<any[]>([]);\n const [userGroupList, setUserGroupList] = useState<any[]>([]);\n const [selectedValue, setSelectedValue] = useState([]);\n const staticValue = useRef([]);\n\n const computedValue = useMemo(() => {\n if (isNil(props.value)) {\n return undefined;\n } else {\n return props.isMultiple\n ? [\n ...(props.value?.selectedUser || []),\n ...(props.value?.selectedUserGroup || []),\n ]\n : props.value?.selectedUser?.[0] || props.value?.selectedUserGroup?.[0];\n }\n }, [props.value, props.isMultiple]);\n\n const getShowKey = useCallback(\n (objectId: string): string[] => {\n const objectMap = keyBy(objectList, \"objectId\");\n return (\n (objectMap[objectId]?.view && objectMap[objectId].view?.show_key) || [\n \"name\",\n ]\n );\n },\n [objectList]\n );\n\n const fetchInstanceList = async (\n objectId: \"USER\" | \"USER_GROUP\",\n keyword: string\n ) => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n\n const showKeyQuery = {\n $or: map(uniq([...showKey, \"name\"]), (v) => ({\n [v]: { $like: `%${keyword}%` },\n })),\n ...(objectId === \"USER\"\n ? {\n state: \"valid\",\n }\n : {}),\n };\n const staticQuery =\n objectId === \"USER\"\n ? {\n name: {\n $in: props.value?.selectedUser,\n },\n }\n : {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(props.value?.selectedUserGroup, (v) =>\n (v as string).slice(1)\n ),\n },\n };\n\n return (\n await InstanceApi_postSearch(objectId, {\n page: 1,\n page_size: 20,\n fields: {\n ...zipObject(\n showKey,\n map(showKey, () => true)\n ),\n\n name: true,\n },\n query:\n props.userQuery && objectId === \"USER\"\n ? {\n $and: [props.userQuery, showKeyQuery],\n $or: staticQuery,\n }\n : props.userGroupQuery && objectId === \"USER_GROUP\"\n ? {\n $and: [props.userGroupQuery, showKeyQuery],\n $or: staticQuery,\n }\n : props.query\n ? {\n $and: [props.query, showKeyQuery],\n $or: staticQuery,\n }\n : { $or: [showKeyQuery, staticQuery] },\n })\n ).list;\n };\n\n const searchUser = async (value: string) => {\n setUserList((await fetchInstanceList(\"USER\", value)) || []);\n };\n\n // 用户组在instanceId前面加上:\n const searchUserGroup = async (value: string) => {\n const result = await fetchInstanceList(\"USER_GROUP\", value);\n setUserGroupList(\n result?.map((v) => {\n v.instanceId = \":\" + v.instanceId;\n return v;\n }) || []\n );\n };\n\n const searchUserOrUserGroupInstances = async (value: string) => {\n setSearchValue(value);\n await Promise.all([\n ...(props.optionsMode !== \"group\" ? [searchUser(value)] : []),\n ...(props.optionsMode !== \"user\" ? [searchUserGroup(value)] : []),\n ]);\n };\n\n const handleFocus = () => {\n if (isNil(searchValue) || searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const triggerChange = (changedValue: any) => {\n props.onChange?.(changedValue);\n };\n\n const handleSelectChange = (e: any) => {\n const originValue = e.detail?.value;\n\n const value = filter(\n Array.isArray(originValue)\n ? originValue\n : originValue\n ? [originValue]\n : [],\n (item) => {\n return !find(props.staticList, (v) => v === item);\n }\n );\n\n value.unshift(...staticValue.current);\n setSelectedValue(value as any);\n triggerChange(value);\n if (searchValue !== \"\") {\n searchUserOrUserGroupInstances(\"\");\n }\n };\n\n const isDifferent = () => {\n const userOfValues = props.value?.selectedUser || [];\n const userGroupOfValues = props.value?.selectedUserGroup || [];\n const userOfSelectedValue = map(\n filter(selectedValue, (item: any) => !item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n const userGroupOfSelectedValue = map(\n filter(selectedValue, (item: any) => item?.key?.startsWith(\":\")),\n \"key\"\n );\n\n return (\n !isEqual([...userOfValues].sort(), [...userOfSelectedValue].sort()) ||\n !isEqual(\n [...userGroupOfValues].sort(),\n [...userGroupOfSelectedValue].sort()\n )\n );\n };\n\n useEffect(() => {\n (async () => {\n if (!props.objectList) {\n if (objectListCache) {\n setObjectList(objectListCache);\n } else {\n try {\n const list = (\n await CmdbObjectApi_getObjectRef({\n ref_object: \"USER,USER_GROUP\",\n })\n ).data;\n setObjectList(list);\n objectListCache = list;\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n } else {\n setObjectList(props.objectList);\n }\n })();\n }, [props.objectList, props.notRender]);\n\n const initializeStaticList = () => {\n return groupBy(props.staticList, (v) =>\n startsWith(v, \":\") ? \"userGroup\" : \"user\"\n );\n };\n const getLabel = (\n objectId: \"USER\" | \"USER_GROUP\",\n instanceData: any\n ): string => {\n const showKey =\n objectId === \"USER\" ? getShowKey(\"USER\") : getShowKey(\"USER_GROUP\");\n let showName;\n if (Array.isArray(showKey)) {\n showName = showKey\n .map((key, index) => {\n if (index === 0) {\n return instanceData[key];\n } else {\n return instanceData[key] ? \"(\" + instanceData[key] + \")\" : \"\";\n }\n })\n .join(\"\");\n } else {\n showName = instanceData[showKey];\n }\n return showName || instanceData.name;\n };\n\n useEffect(() => {\n const initializeSelectedValue = async () => {\n if (props.value) {\n let selectedUser: any[] = [];\n let selectedUserGroup: any[] = [];\n const staticKeys = initializeStaticList();\n const user = compact(\n uniq(\n []\n .concat(staticKeys.user as any)\n .concat(props.value?.selectedUser as any)\n )\n );\n\n const userGroup = compact(\n uniq(\n []\n .concat(staticKeys.userGroup as any)\n .concat(props.value.selectedUserGroup as any)\n )\n );\n\n if (\n (staticKeys.user &&\n some(\n staticKeys.user,\n (v) => !props.value?.selectedUser?.includes(v)\n )) ||\n (staticKeys.userGroup &&\n some(\n staticKeys.userGroup,\n (v) => !props.value?.selectedUserGroup?.includes(v)\n ))\n ) {\n triggerChange({\n selectedUser: user,\n selectedUserGroup: userGroup,\n });\n }\n const staticValueToSet: any = [];\n if (user.length && props.optionsMode !== \"group\") {\n selectedUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $in: user,\n },\n },\n\n page: 1,\n page_size: user.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n if (userGroup.length && props.optionsMode !== \"user\") {\n selectedUserGroup = (\n await InstanceApi_postSearch(\"USER_GROUP\", {\n query: {\n instanceId: {\n // 默认带为\":\"+instanceId,这里查询的时候去掉前面的冒号\n $in: map(userGroup, (v) => (v as string).slice(1)),\n },\n },\n\n page: 1,\n page_size: userGroup.length,\n fields: {\n ...zipObject(\n getShowKey(\"USER_GROUP\"),\n map(getShowKey(\"USER_GROUP\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n }\n let labelValue = [\n ...map(selectedUser, (v) => {\n const labelText = getLabel(\"USER\", v);\n const result = {\n key: v.name,\n label: labelText,\n };\n\n if (props.staticList?.includes(v.name)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ...map(selectedUserGroup, (v) => {\n const labelText = getLabel(\"USER_GROUP\", v);\n const result = {\n key: \":\" + v.instanceId,\n label: labelText,\n };\n\n if (props.staticList?.includes(\":\" + v.instanceId)) {\n staticValueToSet.push(result);\n }\n return result;\n }),\n ];\n\n labelValue = [\n ...staticValueToSet,\n ...filter(labelValue, (v) => !props.staticList?.includes(v.key)),\n ];\n setSelectedValue(labelValue as any);\n setUserList(selectedUser);\n setUserGroupList(selectedUserGroup);\n staticValue.current = staticValueToSet;\n }\n };\n if (isDifferent()) {\n initializeSelectedValue();\n }\n }, []);\n\n const selectOptions = useMemo(() => {\n let userListOptions: any = [];\n let userGroupListOptions: any = [];\n if (userList.length) {\n userListOptions = [\n {\n label: \"用户(仅显示前20项,更多结果请搜索)\",\n options: userList.map((user) => ({\n label: getLabel(\"USER\", user),\n value: user.name,\n closeable: !props?.staticList?.includes(user.name),\n })),\n },\n ];\n }\n if (userGroupList.length) {\n userGroupListOptions = [\n {\n label: \"用户组(仅显示前20项,更多结果请搜索\",\n options: userGroupList.map((group) => ({\n label: getLabel(\"USER_GROUP\", group),\n value: group.instanceId,\n closeable: !props?.staticList?.includes(group.instanceId),\n })),\n },\n ];\n }\n\n return props.optionsMode === \"user\"\n ? userListOptions\n : props.optionsMode === \"group\"\n ? userGroupListOptions\n : [...userListOptions, ...userGroupListOptions];\n }, [userList, userGroupList, props.optionsMode, props.staticList]);\n\n // 快速选择我\n const addMeQuickly = async () => {\n const myUserName = auth.getAuth().username;\n if (find(selectedValue, (v) => v === myUserName)) {\n // 如果已选择项中包含我,则不重新发起请求\n return;\n }\n const myUser = (\n await InstanceApi_postSearch(\"USER\", {\n query: {\n name: {\n $eq: myUserName,\n },\n },\n\n page: 1,\n page_size: 1,\n fields: {\n ...zipObject(\n getShowKey(\"USER\"),\n map(getShowKey(\"USER\"), () => true)\n ),\n\n name: true,\n },\n })\n ).list as any[];\n myUser.length && setUserList([...userList, ...myUser]);\n handleSelectChange({ detail: { value: [...selectedValue, myUserName] } });\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n <div className=\"select-wrapper\">\n <WrappedSelect\n clearable={true}\n mode={props.isMultiple ? \"multiple\" : undefined}\n placeholder={props.placeholder}\n value={computedValue}\n onchange={handleSelectChange as any}\n onfocus={handleFocus}\n onsearch={debounce((e) => {\n searchUserOrUserGroupInstances(e.detail.value as string);\n }, 500)}\n options={selectOptions as any}\n disabled={props.disabled}\n ></WrappedSelect>\n {!props.hideAddMeQuickly && props.optionsMode !== \"group\" && (\n <WrappedButton\n onClick={addMeQuickly}\n type=\"link\"\n size=\"large\"\n style={{ fontSize: \"16px\" }}\n icon={{\n lib: \"easyops\",\n icon: \"quick-add-me\",\n }}\n ></WrappedButton>\n )}\n </div>\n </WrappedFormItem>\n );\n}\n"],"names":["objectListCache","_EoUserOrUserGroupSel","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedButton","WrappedSelect","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","type","Boolean","_dec5","_dec6","attribute","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_changeEvent","_mutableValue","EoUserOrUserGroupSelect","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_changeEvent2","set","_set_changeEvent2","writable","value","_initProto","_init_name","_init_label","_init_required","_init_placeholder","_init_value","_init_objectList","_init_query","_init_userQuery","_init_userGroupQuery","_init_optionsMode","_init_mergeUseAndUserGroup","_init_disabled","_init_isMultiple","_init_staticList","_init_hideAddMeQuickly","_init_changeEvent","_defineProperty","values","resultValue","selectedUser","reject","v","startsWith","selectedUserGroup","filter","this","_classPrivateFieldSet","Promise","resolve","then","_this$getFormElement","_classPrivateFieldGet","emit","mergeUseAndUserGroup","getFormElement","resetValidateState","originValue","groupBy","name","label","required","placeholder","objectList","query","userQuery","userGroupQuery","optionsMode","disabled","isMultiple","staticList","hideAddMeQuickly","connectedCallback","_handleMergeUseAndUserGroup","super","render","React","EoUserOrUserGroupSelectComponent","formElement","curElement","validateState","notRender","helpBrick","trigger","onChange","handleUserOrUserGroupChange","_set_changeEvent","_get_changeEvent","props","_props$objectList","setObjectList","useState","searchValue","setSearchValue","userList","setUserList","userGroupList","setUserGroupList","selectedValue","setSelectedValue","staticValue","useRef","computedValue","useMemo","_props$value","_props$value2","_props$value3","_props$value4","isNil","getShowKey","useCallback","objectId","_objectMap$objectId","_objectMap$objectId$v","objectMap","keyBy","view","show_key","fetchInstanceList","_ref","_asyncToGenerator","keyword","_props$value5","_props$value6","showKey","showKeyQuery","_objectSpread","$or","map","uniq","$like","concat","state","staticQuery","$in","instanceId","slice","InstanceApi_postSearch","page","page_size","fields","zipObject","$and","list","_x","_x2","apply","searchUser","_ref2","_x3","searchUserGroup","_ref3","result","_x4","searchUserOrUserGroupInstances","_ref4","all","_x5","triggerChange","changedValue","_props$onChange","call","handleSelectChange","e","_e$detail","detail","Array","isArray","item","find","unshift","current","useEffect","CmdbObjectApi_getObjectRef","ref_object","data","handleHttpError","getLabel","instanceData","key","index","join","_props$value7","_props$value8","userOfValues","userGroupOfValues","userOfSelectedValue","userGroupOfSelectedValue","initializeSelectedValue","_ref6","_props$value9","staticKeys","user","compact","userGroup","some","_props$value10","includes","_props$value11","staticValueToSet","length","labelValue","_props$staticList","labelText","push","_props$staticList2","_props$staticList3","_item$key","_item$key2","isEqual","sort","selectOptions","userListOptions","userGroupListOptions","options","_props$staticList4","closeable","group","_props$staticList5","addMeQuickly","_ref7","myUserName","auth","getAuth","username","myUser","$eq","className","clearable","mode","undefined","onchange","onfocus","handleFocus","onsearch","debounce","onClick","size","style","fontSize","icon","lib","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}