@ytsaurus/ui 1.71.1 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/public/build/assets-manifest.json +55 -55
  2. package/dist/public/build/js/1260.534f3f75.chunk.js +2 -0
  3. package/dist/public/build/js/{1260.e955a5ff.chunk.js.map → 1260.534f3f75.chunk.js.map} +1 -1
  4. package/dist/public/build/js/{1983.3d8315a1.chunk.js → 1983.666923be.chunk.js} +2 -2
  5. package/dist/public/build/js/{1983.3d8315a1.chunk.js.map → 1983.666923be.chunk.js.map} +1 -1
  6. package/dist/public/build/js/3337.31ee332d.chunk.js +3 -0
  7. package/dist/public/build/js/3337.31ee332d.chunk.js.map +1 -0
  8. package/dist/public/build/js/3724.425d01ec.chunk.js +2 -0
  9. package/dist/public/build/js/{3724.49a6f456.chunk.js.map → 3724.425d01ec.chunk.js.map} +1 -1
  10. package/dist/public/build/js/5088.64e090aa.chunk.js +2 -0
  11. package/dist/public/build/js/{5088.f0feaa1e.chunk.js.map → 5088.64e090aa.chunk.js.map} +1 -1
  12. package/dist/public/build/js/{5177.3e2a0ddb.chunk.js → 5177.8978a5b3.chunk.js} +2 -2
  13. package/dist/public/build/js/{5177.3e2a0ddb.chunk.js.map → 5177.8978a5b3.chunk.js.map} +1 -1
  14. package/dist/public/build/js/6729.c07b8f4c.chunk.js +2 -0
  15. package/dist/public/build/js/6729.c07b8f4c.chunk.js.map +1 -0
  16. package/dist/public/build/js/{7263.860d7c88.chunk.js → 7263.210dadfd.chunk.js} +3 -3
  17. package/dist/public/build/js/{7263.860d7c88.chunk.js.map → 7263.210dadfd.chunk.js.map} +1 -1
  18. package/dist/public/build/js/{7959.ab3789db.chunk.js → 7959.fedd6b2e.chunk.js} +2 -2
  19. package/dist/public/build/js/{7959.ab3789db.chunk.js.map → 7959.fedd6b2e.chunk.js.map} +1 -1
  20. package/dist/public/build/js/9558.a6ea64c9.chunk.js +2 -0
  21. package/dist/public/build/js/9558.a6ea64c9.chunk.js.map +1 -0
  22. package/dist/public/build/js/accounts.2ba221c2.chunk.js +2 -0
  23. package/dist/public/build/js/{accounts.69da4208.chunk.js.map → accounts.2ba221c2.chunk.js.map} +1 -1
  24. package/dist/public/build/js/acl.5e54e4b4.chunk.js +2 -0
  25. package/dist/public/build/js/acl.5e54e4b4.chunk.js.map +1 -0
  26. package/dist/public/build/js/bundles.7fc5e9e7.chunk.js +2 -0
  27. package/dist/public/build/js/{bundles.86be96f0.chunk.js.map → bundles.7fc5e9e7.chunk.js.map} +1 -1
  28. package/dist/public/build/js/{chyt.6901fd41.chunk.js → chyt.eff6e270.chunk.js} +2 -2
  29. package/dist/public/build/js/{chyt.6901fd41.chunk.js.map → chyt.eff6e270.chunk.js.map} +1 -1
  30. package/dist/public/build/js/{cluster-page-wrapper.af414db5.chunk.js → cluster-page-wrapper.434bb4ef.chunk.js} +2 -2
  31. package/dist/public/build/js/{cluster-page-wrapper.af414db5.chunk.js.map → cluster-page-wrapper.434bb4ef.chunk.js.map} +1 -1
  32. package/dist/public/build/js/groups.923ba865.chunk.js +2 -0
  33. package/dist/public/build/js/groups.923ba865.chunk.js.map +1 -0
  34. package/dist/public/build/js/job.1bfebd02.chunk.js +2 -0
  35. package/dist/public/build/js/{job.64020b69.chunk.js.map → job.1bfebd02.chunk.js.map} +1 -1
  36. package/dist/public/build/js/main.c46b0cfa.js +3 -0
  37. package/dist/public/build/js/main.c46b0cfa.js.map +1 -0
  38. package/dist/public/build/js/navigation.f5cf971c.chunk.js +2 -0
  39. package/dist/public/build/js/navigation.f5cf971c.chunk.js.map +1 -0
  40. package/dist/public/build/js/query-navigation.76b02345.chunk.js +2 -0
  41. package/dist/public/build/js/{query-navigation.38a9af12.chunk.js.map → query-navigation.76b02345.chunk.js.map} +1 -1
  42. package/dist/public/build/js/{runtime.e38921d0.js → runtime.c88113bf.js} +2 -2
  43. package/dist/public/build/js/{runtime.e38921d0.js.map → runtime.c88113bf.js.map} +1 -1
  44. package/dist/public/build/js/scheduling.428b3b4f.chunk.js +2 -0
  45. package/dist/public/build/js/{scheduling.8bc4b3c7.chunk.js.map → scheduling.428b3b4f.chunk.js.map} +1 -1
  46. package/dist/public/build/js/system.65647634.chunk.js +2 -0
  47. package/dist/public/build/js/{system.eed98c65.chunk.js.map → system.65647634.chunk.js.map} +1 -1
  48. package/dist/public/build/js/{yt-df-dialog.0886347f.chunk.js → yt-df-dialog.636f6f6b.chunk.js} +2 -2
  49. package/dist/public/build/js/{yt-df-dialog.0886347f.chunk.js.map → yt-df-dialog.636f6f6b.chunk.js.map} +1 -1
  50. package/dist/public/build/js/yt-monaco-editor.59382231.chunk.js +2 -0
  51. package/dist/public/build/js/{yt-monaco-editor.61605970.chunk.js.map → yt-monaco-editor.59382231.chunk.js.map} +1 -1
  52. package/dist/public/build/manifest.json +50 -50
  53. package/dist/server/components/oauth.js +3 -0
  54. package/dist/server/utils/index.d.ts +1 -1
  55. package/dist/server/utils/index.js +0 -1
  56. package/dist/shared/constants/settings-types.d.ts +1 -1
  57. package/package.json +2 -2
  58. package/dist/public/build/js/1260.e955a5ff.chunk.js +0 -2
  59. package/dist/public/build/js/3337.b59984e8.chunk.js +0 -3
  60. package/dist/public/build/js/3337.b59984e8.chunk.js.map +0 -1
  61. package/dist/public/build/js/3724.49a6f456.chunk.js +0 -2
  62. package/dist/public/build/js/5088.f0feaa1e.chunk.js +0 -2
  63. package/dist/public/build/js/6729.90d07a56.chunk.js +0 -2
  64. package/dist/public/build/js/6729.90d07a56.chunk.js.map +0 -1
  65. package/dist/public/build/js/9558.65b707cc.chunk.js +0 -2
  66. package/dist/public/build/js/9558.65b707cc.chunk.js.map +0 -1
  67. package/dist/public/build/js/accounts.69da4208.chunk.js +0 -2
  68. package/dist/public/build/js/acl.81abf8c2.chunk.js +0 -2
  69. package/dist/public/build/js/acl.81abf8c2.chunk.js.map +0 -1
  70. package/dist/public/build/js/bundles.86be96f0.chunk.js +0 -2
  71. package/dist/public/build/js/groups.acc74ffc.chunk.js +0 -2
  72. package/dist/public/build/js/groups.acc74ffc.chunk.js.map +0 -1
  73. package/dist/public/build/js/job.64020b69.chunk.js +0 -2
  74. package/dist/public/build/js/main.0840984c.js +0 -3
  75. package/dist/public/build/js/main.0840984c.js.map +0 -1
  76. package/dist/public/build/js/navigation.f21aa950.chunk.js +0 -2
  77. package/dist/public/build/js/navigation.f21aa950.chunk.js.map +0 -1
  78. package/dist/public/build/js/query-navigation.38a9af12.chunk.js +0 -2
  79. package/dist/public/build/js/scheduling.8bc4b3c7.chunk.js +0 -2
  80. package/dist/public/build/js/system.eed98c65.chunk.js +0 -2
  81. package/dist/public/build/js/yt-monaco-editor.61605970.chunk.js +0 -2
  82. /package/dist/public/build/js/{3337.b59984e8.chunk.js.LICENSE.txt → 3337.31ee332d.chunk.js.LICENSE.txt} +0 -0
  83. /package/dist/public/build/js/{7263.860d7c88.chunk.js.LICENSE.txt → 7263.210dadfd.chunk.js.LICENSE.txt} +0 -0
  84. /package/dist/public/build/js/{main.0840984c.js.LICENSE.txt → main.c46b0cfa.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[9558],{29241:(e,n,t)=>{t.d(n,{K$:()=>p,i:()=>h,Ay:()=>v,WS:()=>_,A4:()=>d,bU:()=>m,FF:()=>f,S5:()=>g});var r=t(74360),u=t(40319),o=(t(77810),t(3659)),i=t(76872),a=t(76426),s=t(73822),c=t(48971),l=t(64922);function g(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,i.A)("elements-text");t=n.mix?t(!1,(0,i.A)(n.mix.block)(n.mix.elem,(0,u.A)({},n.mix.mods))):t();var r=function(e,n){var t={};return n?t.dangerouslySetInnerHTML={__html:e}:t.children=o.A.decode(String(e)),t}(e,n.asHTML),a=n.title||e;return(0,l.jsx)("span",(0,u.A)((0,u.A)({},r),{},{title:a,className:t}))}function f(e,n){var t=this.getColumn(n);return s.A.format.TimeDuration(t.get(e),{format:"milliseconds"})}function d(e,n){var t=this.getColumn(n);return(0,l.jsx)("span",{className:"elements-ellipsis",children:s.A.format.ReadableField(t.get(e))})}function m(e,n){var t=null!=this&&this.getColumn?this.getColumn(n).get(e):e[n];return(0,l.jsx)(p,{value:t})}function p(e){var n=e.value;return(0,l.jsx)("span",{className:"elements-ellipsis",children:s.A.format.DateTime(n,{format:"full"})})}function _(e){return"object"===(0,r.A)(e)?(0,l.jsx)(a.A,{theme:"ghost",onClick:function(){(0,c.eW)(e,{hideOopsMsg:!0})},children:"View"}):s.A.format.NO_VALUE}function h(e,n){return s.A.format.Number(e[n])}const v={__default__:function(e,n){return String(s.A.format.ValueOrDefault(e[n]))},_templates:{},add:function(e,n){this._templates[e]=function(e){return Object.keys(e).reduce((function(n,t){return n[t]=e[t],n}),{})}(n)},get:function(e){return this._templates[e]||{}}}},40713:(e,n,t)=>{t.d(n,{A:()=>c});var r=t(77810),u=t(45025),o=t(15647),i=t(38198),a=t(64922);function s(){var e=(0,o.d4)(u.b6);return(0,a.jsx)(i.A,{visible:e})}const c=r.memo(s)},57602:(e,n,t)=>{t.d(n,{Bd:()=>l,Pt:()=>b,Pw:()=>p,Tf:()=>h,Yn:()=>_,a0:()=>m,bw:()=>A,eI:()=>g,gu:()=>c,kK:()=>v,mw:()=>d,ok:()=>y,vG:()=>f,xw:()=>s});var r=t(18472),u=t(90943),o=t.n(u),i=(t(36739),t(29730)),a=t(48971),s=function(e){return e.navigation.navigation.transaction},c=function(e){return e.navigation.navigation.attributes},l=function(e){return e.navigation.navigation.attributesWithTypes},g=function(e){return e.navigation.navigation.loadState},f=function(e){return e.navigation.navigation.error},d=function(e){return e.navigation.navigation.path},m=function(e){return e.navigation.navigation.isIdmSupported},p=(0,r.Mz)(c,(function(e){return null==e?void 0:e.type})),_=(0,r.Mz)([d,i.zZ],(function(e,n){return e||n})),h=(0,r.Mz)([c,_],(function(e,n){return(null==e?void 0:e.path)||n})),v=(0,r.Mz)([g],(function(e){return(0,a.RP)(e)})),b=(0,r.Mz)(_,(function(e){try{return o().YPath.create(e,"absolute")}catch(e){console.error(e)}})),y=(0,r.Mz)([_,p],(function(e,n){return"map_node"===n?e+"/":e})),A=(0,r.Mz)([_],(function(e){return e.startsWith("//tmp/trash")||e.startsWith("//trash")}))},79488:(e,n,t)=>{t.d(n,{Gr:()=>d,Kk:()=>m,NJ:()=>g,bV:()=>l,x2:()=>f});var r=t(13322),u=t(18472),o=t(75414),i=t.n(o),a=t(39760),s=t.n(a),c=t(19948),l=function(e){return e.scheduling.scheduling.abcServiceFilter},g=function(e){return e.scheduling.scheduling.attributesToFilter},f=function(e){return e.scheduling.scheduling.attributesToFilterParams},d=function(e){var n=l(e);return void 0!==(null==n?void 0:n.id)},m=(0,u.Mz)([g,c.w3,l],(function(e,n,t){if(e&&void 0!==(null==t?void 0:t.id)){var u=i()(e,(function(e,n,r){var u;return(null===(u=n.abc)||void 0===u?void 0:u.id)!==(null==t?void 0:t.id)||e.add(r),e}),new Set);return s()((0,r.A)(u),(function(t){for(var r=t,o=e[r];null!==(i=o)&&void 0!==i&&i.parent&&!n[r];){var i;u.add(o.parent),r=o.parent,o=e[o.parent]}})),u}}))},45025:(e,n,t)=>{t.d(n,{RQ:()=>i,Rn:()=>o,TE:()=>a,b6:()=>l,bJ:()=>s,nE:()=>u,op:()=>c});var r=t(18472),u=function(e){return e.scheduling.expandedPools.flattenCypressData},o=function(e){return e.scheduling.expandedPools.rawOperations},i=function(e){return e.scheduling.expandedPools.expandedPoolsTree},a=function(e){return e.scheduling.expandedPools.error},s=function(e){return e.scheduling.expandedPools.expandedPools},c=function(e){return e.scheduling.expandedPools.loadAll},l=(0,r.Mz)([function(e){return e.scheduling.expandedPools.loading},function(e){return e.scheduling.expandedPools.loading}],(function(e,n){return e&&!n}))},19948:(e,n,t)=>{t.d(n,{IY:()=>S,w3:()=>O});var r=t(96843),u=t.n(r),o=t(27528),i=t.n(o),a=t(75414),s=t.n(a),c=t(18472),l=t(61643),g=t(11865),f=t(29746),d=t(40319),m=t(97270),p={user_memory:"memory"};function _(e,n,t,r){var u=e.attributes;if(e.name===l.W1)e.resources[r]={guaranteed:f.Ay.getNumber(t,"/resource_limits/"+r),usage:f.Ay.getNumber(t,"/resource_usage/"+r)};else{var o=f.Ay.getNumber(u,"/strong_guarantee_resources/"+r),i=f.Ay.getNumber(u,"/resource_usage/"+r),a=f.Ay.getNumber(u,"/resource_demand/"+r),s=f.Ay.getNumber(u,"/promised_fair_share_resources/"+r),c=p[r]||r,g=f.Ay.getNumber(e.cypressAttributes,"/resource_limits/"+c),d=f.Ay.getNumber(t,"/resource_limits/"+r)*f.Ay.getNumber(u,"/detailed_fair_share/total/"+c);e.resources[r]={min:o,guaranteed:s,usage:i,demand:a,limit:g,detailed:d}}return e}function h(e,n,t,r){try{var u=e.attributes,o=f.Ay.getAttributes(n);if(e.cypressAttributes=o,e.type=t,"pool"===e.type){var a;void 0===u&&e.parent&&console.error('Pool "%s" without attributes inited by "%s"',e.name,e._initedBy),e.mode=f.Ay.getValue(u,"/mode"),e.leaves=i()(e.leaves,(function(e){return h(e,{},"operation",r)}));var s=f.Ay.getNumber(u,"/child_pool_count");if(s>0&&!e.children.length)for(var c=0;c<s;++c)e.children.push({parent:e.name,type:"pool",name:"#key_".concat(e.name,"_").concat(c),attributes:{},leaves:[],incomplete:!0});if((null===(a=e.leaves)||void 0===a||!a.length)&&(e.pool_operation_count=f.Ay.getNumber(u,"/pool_operation_count",NaN),e.pool_operation_count>0)){var l=h({attributes:{}},{},"operation",r);e.leaves=[];for(var g=0;g<e.pool_operation_count;++g)e.leaves.push((0,d.A)((0,d.A)({},l),{},{name:"##fake_operation_".concat(e.name,"_").concat(g)}))}e.operationCount=f.Ay.getNumber(u,"/operation_count"),e.maxOperationCount=f.Ay.getNumber(u,"/max_operation_count"),e.maxOperationCountEdited=f.Ay.getNumber(o,"/max_operation_count"),e.runningOperationCount=f.Ay.getNumber(u,"/running_operation_count"),e.maxRunningOperationCount=f.Ay.getNumber(u,"/max_running_operation_count"),e.maxRunningOperationCountEdited=f.Ay.getNumber(o,"/max_running_operation_count")}e.id=e.name,e.starvation_status=f.Ay.getValue(u,"/starvation_status"),e.weight=f.Ay.getNumber(u,"/weight"),e.weightEdited=f.Ay.getNumber(o,"/weight"),e.minShareRatio=f.Ay.getNumber(u,"/min_share_ratio"),e.maxShareRatio=f.Ay.getNumber(u,"/max_share_ratio"),e.fairShareRatio=f.Ay.getNumber(u,"/fair_share_ratio"),e.fifoIndex=f.Ay.getNumber(u,"/fifo_index"),e.usageRatio=f.Ay.getNumber(u,"/usage_ratio"),e.demandRatio=f.Ay.getNumber(u,"/demand_ratio"),e.isEphemeral=f.Ay.getBoolean(u,"/is_ephemeral"),e.integralType=f.Ay.getValue(u,"/integral_guarantee_type");var p=f.Ay.getNumber(o,"/integral_guarantees/burst_guarantee_resources/cpu",NaN);e.burstCPU=f.Ay.getNumber(u,"/specified_burst_guarantee_resources/cpu",p);var v=f.Ay.getNumber(o,"/integral_guarantees/resource_flow/cpu",NaN);e.flowCPU=f.Ay.getNumber(u,"/specified_resource_flow/cpu",v);var b=f.Ay.getNumber(o,"/integral_guarantees/resource_flow/gpu",NaN);e.flowGPU=f.Ay.getNumber(u,"/specified_resource_flow/gpu",b),e.accumulated=f.Ay.getValue(u,"/accumulated_resource_ratio_volume"),e.accumulatedCpu=f.Ay.getValue(u,"/accumulated_resource_volume/cpu"),e.burstDuration=f.Ay.getValue(u,"/estimated_burst_usage_duration_sec");var y=i()(f.Ay.getValue(u,"/fifo_sort_parameters")||f.Ay.getValue(o,"/fifo_sort_parameters"),(function(e){return f.Ay.getValue(e)}));return e.fifoSortParams=y.length>0?y:["start_time","weight","pending_job_count"],e.abc=f.Ay.getValue(u,"/abc")||{},e.forbidImmediateOperations=f.Ay.getBoolean(o,"/forbid_immediate_operations")||!1,e.createEphemeralSubpools=f.Ay.getBoolean(o,"/create_ephemeral_subpools")||!1,e.dominantResource=f.Ay.getValue(u,"/dominant_resource"),e.resources={},_(e,0,r,"cpu"),_(e,0,r,"user_memory"),_(e,0,r,"gpu"),_(e,0,r,"user_slots"),e}catch(n){throw(0,m.UF)(n,{message:'An error occured while parsing pool "'.concat(e.name,'" data.')})}}var v=t(45025),b=t(27497),y=t(64714),A=t(11896),N=t(617),C=function(e){return e.scheduling.expandedPools.rawPools},w=(0,c.Mz)([v.Rn,v.RQ,function(e){return e.scheduling.scheduling.tree}],(function(e,n,t){return t!==n?N.t0:e})),x=(0,c.Mz)([C,w],(function(e,n){return s()(n,(function(n,t,r){return e[t.pool]&&(n[r]=t),n}),{})})),P=(0,c.Mz)([C,x,v.nE,function(e){return e.scheduling.scheduling.treeResources},b.dB],(function(e,n,t,r,o){return u()(e)?[]:new y.CT(o,A.c.SCHEDULING).wrap("prepareData",(function(){var u=(0,g.VN)(e,n);return i()(u,(function(e){return h(e,f.Ay.getValue(t)[e.name],"pool",r)}))}))})),O=(0,c.Mz)([P],(function(e){return s()(e,(function(e,n){return e[n.name]=n,e}),{})})),R=(0,c.Mz)([O],(function(e){var n=e[l.W1];if(!n)return{};var t={};return M(n,t),t}));function M(e,n){var t=e.children,r=e.name;if(null==t||!t.length)return n[r]={childrenBurstCPU:0,childrenFlowCPU:0};for(var u={childrenFlowCPU:0,childrenBurstCPU:0},o=0;o<t.length;++o){var i=t[o],a=M(i,n);n[i.name]=a,u.childrenFlowCPU+=i.flowCPU||0+a.childrenFlowCPU,u.childrenBurstCPU+=i.burstCPU||0+a.childrenBurstCPU}return n[r]=u,u}var S=(0,c.Mz)([P,R],(function(e,n){return i()(e,(function(e){var t=n[e.name]||{};return Object.assign(e,t)}))}))},66205:(e,n,t)=>{t.d(n,{un:()=>ue,N7:()=>k,cO:()=>G,ZM:()=>re,HE:()=>B,h8:()=>ee,d_:()=>j,G6:()=>z,En:()=>L,IY:()=>M,A8:()=>E,Aq:()=>D,QH:()=>H,o2:()=>W,nX:()=>S,jv:()=>X,D2:()=>ie,m2:()=>ae,oO:()=>V,Tc:()=>$,Lg:()=>K,Jv:()=>T,Ww:()=>U,yM:()=>I,Nr:()=>te});var r=t(13322),u=t(49214),o=t.n(u),i=t(34455),a=t.n(i),s=t(27528),c=t.n(s),l=t(75414),g=t.n(l),f=t(73822),d=t(18472),m=t(27497),p=t(40319),_=t(90943),h=t.n(_);function v(e){var n=e.usage,t=e.limit;switch(e.type){case"network":return function(e,n){return f.A.format.Percent(e/n*100)}(n,t);case"user_memory":return function(e,n){return f.A.format.Bytes(e)+" / "+f.A.format.Bytes(n)}(n,t);default:return function(e,n){return f.A.format.Number(e)+" / "+f.A.format.Number(n)}(n,t)}}function b(e){return e.usage/e.limit*100}function y(e){var n=h().getValue(e,"/resource_usage"),t=h().getValue(e,"/resource_limits");return g()(["cpu","user_memory","user_slots","network","gpu"],(function(e,r){if(n&&t){var u={type:r,usage:Number(h().getValue(n[r],"")),limit:Number(h().getValue(t[r],""))},o=function(e){return{text:v(e),value:b(e),theme:"info"}}(u);e.push((0,p.A)((0,p.A)({},u),{},{progress:o}))}return e}),[])}var A=t(85935),N=t(17876),C=t(61643),w=t(19948),x=t(42153),P=t(48971),O=t(45025),R=t(79488),M=w.IY,S=function(e){var n=e.scheduling.scheduling,t=n.loaded,r=n.loading;return!t&&r||function(e){var n=e.scheduling.expandedPools,t=n.loaded,r=n.loading;return!t&&r}(e)},U=function(e){return e.scheduling.scheduling.treeResources},z=function(e){return e.scheduling.scheduling.poolChildrenFilter},V=function(e){return e.scheduling.scheduling.treeState},T=function(e){return e.scheduling.scheduling.tree},j=function(e){return e.scheduling.scheduling.pool},W=function(e){return e.scheduling.scheduling.editItem},E=(0,d.Mz)(R.NJ,(function(e){return c()(e,(function(e,n){return n})).sort()})),F={cpu:"cpu",memory:"memory",gpu:"gpu",user_slots:"user_slots",operations:"operations",integral:"integral"},k=(0,d.Mz)([function(e){return e.scheduling.scheduling.contentMode}],(function(e){return F[e]||F.cpu})),B=(0,d.Mz)(j,(function(e){return e===C.W1})),I=(0,d.Mz)((function(e){return e.scheduling.scheduling.trees}),(function(e){return c()(e,(function(e){return{value:e,text:f.A.format.Readable(e)}}))})),D=(0,d.Mz)(E,(function(e){return c()(e,(function(e){return{value:e,text:e}}))})),G=(0,d.Mz)([j,M],(function(e,n){return a()(n,(function(n){return n.name===e}))})),L=(0,d.Mz)([G],(function(e){if(e&&void 0!==e.isEphemeral)return e.isEphemeral})),Q=(0,d.Mz)(G,(function(e){if(e)return e.children})),Y=(0,d.Mz)(G,(function(e){if(e)return e.leaves})),H=(0,d.Mz)([G,U],(function(e,n){return e&&"<Root>"!==e.name?y(e.attributes):n?y(n):[]})),J=(0,d.Mz)([G,R.Kk],(function(e,n){if(e)return f.A.treeList.filterTree(e,(function(e){return void 0===n||n.has(e.name)}),!0)})),K=(0,d.Mz)([J,function(e){return e.tables[C.yM]}],(function(e,n){if(e){var t=e&&e.name===C.W1?e:{children:[e]},r=f.A.treeList.sortTree(t,n,N.a);return f.A.treeList.flattenTree(r)}return[]})),X=(0,d.Mz)([K,O.op,T,O.bJ],(function(e,n,t,r){if(n)return g()(e,(function(e,n){var t=(n||{}).level,r=void 0===t?0:t;return e<r?r:e}),0);var u=r[t];return null!=u&&u.size?g()(e,(function(e,n){return u.has(n.name)&&e<n.level+1?n.level+1:e}),0):0})),Z=(0,d.Mz)([G,Q,Y],(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e&&n)return[].concat((0,r.A)(n),(0,r.A)(t))})),q=(0,d.Mz)([Z,z],(function(e,n){return f.A.filter.filter({data:e,input:n,factors:["name"]})})),$=(0,d.Mz)([q,function(e){return e.tables[C.h_]},G],(function(e,n,t){return f.A.utils.sort(e,n,A.b,{addGetParams:[t],groupBy:{asc:!0,get:function(e){return"operation"===e.type?0:1}}})})),ee=(0,d.Mz)([G,$],(function(e,n){var t=[],r=!1;return e&&e.name!==C.W1&&(t.push(e),r=!0),t.concat(c()(n,(function(e){return Object.assign({},e,{isChildPool:r})})))})),ne=["locke"],te=(0,d.Mz)([m.dB],(function(e){return-1===ne.indexOf(e)})),re=(0,d.Mz)([j,M,T],(function(e,n,t){return ue(e,n,t)}));function ue(e,n,t){for(var r="//sys/pool_trees/".concat(t),u=e,o=[],i=function(){u!==C.W1&&o.push(u);var e=u,t=(a()(n,(function(n){return n.name===e}))||{}).parent;u=t||""};u;)i();var s=o.length?"/"+o.reverse().join("/"):"";return"".concat(r).concat(s)}var oe=(0,d.Mz)([W,w.w3],(function(e,n){if(!(0,x.A)(null==e?void 0:e.name)){if((0,x.Q)(e))return e;for(var t=e;t;){var r=n[t.parent];if((0,x.A)(t.parent))return t;if((0,x.Q)(t))return t;t=r}}})),ie=(0,d.Mz)([W,oe,w.w3],(function(e,n,t){if(null==e||!e.name||!t)return[];var r=[];return(0,P._I)(n,(function(n){e.name!==n.name&&r.push(n.name)}),{isNeedToSkipChildren:function(n){return(null==n?void 0:n.name)===(null==e?void 0:e.name)}}),r})),ae=(0,d.Mz)([W,ie],(function(e,n){return null!=e&&e.parent?o()(n,(function(n){return n!==e.parent})):n}))},85935:(e,n,t)=>{t.d(n,{b:()=>m}),t(77810);var r=t(64772),u=t(40713);function o(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.detailed},sort:!0,caption:"Abs fair share",align:"right"}}function i(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.limit},sort:!0,sortWithUndefined:!0,caption:"Limit",align:"right"}}function a(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.min},sort:!0,caption:"Strong guar.",title:"Strong guarantee",align:"right"}}function s(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.guaranteed},sort:!0,caption:"Estimated guar.",title:"Estimated guarantee",align:"right"}}function c(e){return{get:function(n,t){return s(e).get(n)/s(e).get(t)},sort:!0,caption:"Rel guaranteed",align:"right"}}function l(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.demand},sort:!0,caption:"Abs demand",align:"right"}}function g(e){return{get:function(n){var t;return null===(t=n.resources)||void 0===t||null===(t=t[e])||void 0===t?void 0:t.usage},sort:!0,caption:"Abs usage",align:"right"}}function f(e){return{get:function(n,t){return g(e).get(n)/g(e).get(t)},sort:!0,caption:"Rel usage",align:"right"}}function d(e){return{get:function(n,t){return{guaranteed:c(e).get(n,t),usage:f(e).get(n,t)}},caption:"Usage / Guaranteed",align:"center"}}var m={name:{sort:function(e){return e.name},caption:"Pool / Operation",captionTail:(0,t(64922).jsx)(u.A,{}),align:"left"},mode:{sort:function(e){return e.mode},align:"center"},FI:{sort:function(e){return e.fifoIndex},align:"center"},weight:{sort:function(e){return e.weight},align:"right"},min_share:{sort:function(e){return e.minShareRatio},align:"right"},max_share:{sort:function(e){return e.maxShareRatio},align:"right"},fair_share:{get:function(e){return e.fairShareRatio},sort:!0,align:"right"},usage:{get:function(e){return e.usageRatio},sort:!0,align:"right"},demand:{get:function(e){return e.demandRatio},sort:!0,align:"right"},fair_share_usage:{caption:"Usage / Fair share",align:"left"},dominant_resource:{sort:function(e){return e.dominantResource},caption:"Dom. res.",title:"Dominant Resource",align:"left"},resource_detailed_cpu:o("cpu"),resource_detailed_memory:o("user_memory"),resource_detailed_gpu:o("gpu"),resource_detailed_user_slots:o("user_slots"),resource_limit_cpu:i("cpu"),resource_limit_memory:i("user_memory"),resource_limit_gpu:i("gpu"),resource_limit_user_slots:i("user_slots"),min_resources_cpu:a("cpu"),min_resources_memory:a("user_memory"),min_resources_gpu:a("gpu"),min_resources_user_slots:a("user_slots"),abs_guaranteed_cpu:s("cpu"),abs_guaranteed_memory:s("user_memory"),abs_guaranteed_gpu:s("gpu"),abs_guaranteed_user_slots:s("user_slots"),rel_guaranteed_cpu:c("cpu"),rel_guaranteed_memory:c("user_memory"),rel_guaranteed_gpu:c("gpu"),rel_guaranteed_user_slots:c("user_slots"),abs_usage_cpu:g("cpu"),abs_usage_memory:g("user_memory"),abs_usage_gpu:g("gpu"),abs_usage_user_slots:g("user_slots"),abs_demand_cpu:l("cpu"),abs_demand_memory:l("user_memory"),abs_demand_gpu:l("gpu"),abs_demand_user_slots:l("user_slots"),rel_usage_cpu:f("cpu"),rel_usage_memory:f("user_memory"),rel_usage_gpu:f("gpu"),rel_usage_user_slots:f("user_slots"),guaranteed_usage_cpu:d("cpu"),guaranteed_usage_memory:d("user_memory"),guaranteed_usage_gpu:d("gpu"),guaranteed_usage_user_slots:d("user_slots"),operation_overview:{get:function(e){return[e.operationCount,e.runningOperationCount]},caption:"Operations",sort:!0,align:"right"},operation_count:{get:function(e){return e.operationCount},sort:!0,align:"right"},max_operation_count:{get:function(e){return e.maxOperationCount},sort:!0,align:"right"},operation_progress:{get:function(e){return e.operationCount/e.maxOperationCount},text:function(e){return"".concat(r.A.Number(e.operationCount)," / ").concat(r.A.Number(e.maxOperationCount))},caption:"Total operations (usage/limit)",sort:!0,align:"center"},running_operation_count:{get:function(e){return e.runningOperationCount},sort:!0,align:"right"},max_running_operation_count:{get:function(e){return e.maxRunningOperationCount},sort:!0,align:"right"},running_operation_progress:{get:function(e){return e.runningOperationCount/e.maxRunningOperationCount},text:function(e){return"".concat(r.A.Number(e.runningOperationCount)," / ").concat(r.A.Number(e.maxRunningOperationCount))},caption:"Running operations (usage/limit)",sort:!0,align:"center"},integral_type:{get:function(e){var n=e.integralType;return"none"===n?void 0:n},caption:"Guarantee type",sort:!0,align:"right",sortWithUndefined:!0},burst_cpu:{get:function(e){return e.burstCPU},sort:function(e){var n=e.burstCPU;return isNaN(n)?void 0:n},caption:"Burst CPU",sortWithUndefined:!0,align:"right"},flow_cpu:{get:function(e){return e.flowCPU},sort:function(e){var n=e.flowCPU;return isNaN(n)?void 0:n},caption:"Flow CPU",sortWithUndefined:!0,align:"right"},children_burst_cpu:{get:function(e){return e.childrenBurstCPU||void 0},caption:"Children's burst CPU",sort:!0,sortWithUndefined:!0,align:"right"},children_flow_cpu:{get:function(e){return e.childrenFlowCPU||void 0},caption:"Children's flow CPU",sort:!0,sortWithUndefined:!0,align:"right"},accumulated:{get:function(e){return e.accumulated},caption:"Acc ratio volume",sortWithUndefined:!0,sort:!0,align:"right"},accumulated_cpu:{get:function(e){return e.accumulatedCpu},caption:"Acc CPU volume",sort:!0,align:"right"},burst_duration:{get:function(e){return e.burstDuration},caption:"Est burst usage duration ",sort:!0,sortWithUndefined:!0,align:"right"},actions:{caption:"",align:"left"}}},17876:(e,n,t)=>{t.d(n,{a:()=>u}),t(77810);var r=t(40713),u={type:{caption:"",align:"center"},name:{sort:!0,caption:"Pool / Operation",captionTail:(0,t(64922).jsx)(r.A,{}),align:"left",get:function(e){return e.name}},mode:{sort:!0,align:"center",get:function(e){return e.mode}},FI:{sort:!0,align:"right",title:"FIFO Index",get:function(e){return e.fifoIndex}},weight:{sort:!0,align:"right",title:"Effective weight",get:function(e){return e.weight}},operation_overview:{caption:"Operations",sort:!0,align:"center",get:function(e){return[e.operationCount,e.runningOperationCount]}},dominant_resource:{sort:function(e){return e.dominantResource},caption:"Dom. res.",title:"Dominant Resource",align:"left"},min_share:{caption:"Guarantee",title:"Effective dominant strong guarantee share",sort:function(e){return e.minShareRatio},align:"right"},fair_share:{sort:!0,title:"Dominant fair share",align:"right",get:function(e){return e.fairShareRatio}},usage:{sort:!0,title:"Dominant usage share",align:"right",get:function(e){return e.usageRatio}},demand:{sort:!0,title:"Dominant demand share",align:"right",get:function(e){return e.demandRatio}},fair_share_usage:{sort:!0,caption:"Usage / Fair share",align:"center",sortWithUndefined:!0,get:function(e){var n=e.fairShareRatio,t=e.usageRatio,r=Number(t)/Number(n);if(!(isNaN(t)||isNaN(n)||isNaN(r)))return r}},actions:{caption:"",align:"left"}}},42153:(e,n,t)=>{t.d(n,{A:()=>u,Q:()=>o});var r=t(61643);function u(e){return null==e?void 0:e.startsWith("abc:")}function o(e){return(e||{}).parent===r.W1}},11865:(e,n,t)=>{t.d(n,{Aj:()=>y,DX:()=>h,Mj:()=>w,V0:()=>_,VN:()=>v,YK:()=>N,f6:()=>M,h:()=>O,iE:()=>C,mS:()=>P,oB:()=>x,v0:()=>b});var r=t(40319),u=t(74360),o=t(34455),i=t.n(o),a=t(20803),s=t.n(a),c=t(27528),l=t.n(c),g=t(75414),f=t.n(g),d=t(29746),m=t(61643),p=t(27710);function _(e){return l()(e,(function(e){return d.Ay.getValue(e,"")})).sort()}function h(e,n,t){return""!==t&&-1!==n.indexOf(t)?t:d.Ay.getValue(e,"")||n[0]}function v(e,n){var t=(0,p.prepareTree)(e,(function(e){return d.Ay.getValue(e,"/parent")}));return(0,p.attachTreeLeaves)(t,n,(function(e){return d.Ay.getValue(e,"/pool")})),l()(t)}function b(e,n){for(var t=[e.name],r=e.parent;r&&r!==m.W1;){var u=i()(n,(function(e){return e.name===r}));t.unshift(null==u?void 0:u.name),r=null==u?void 0:u.parent}return t.join("/")}function y(e){var n={},t=d.Ay.getValue(e);for(var r in t)if(Object.hasOwnProperty.call(t,r)){var o=d.Ay.getValue(t[r]);if("object"===(0,u.A)(o)&&!Object.is(o,null)&&Object.keys(o).length>0){n[r]=t[r];var i=y(t[r]);for(var a in i)Object.hasOwnProperty.call(i,a)&&(n[a]=i[a])}else n[r]=t[r]}return n}function A(e,n){var t=Number(d.Ay.getValue(e,"/cypressAttributes/resource_limits/".concat(n)));return isNaN(t)?"":t}var N="integral_guarantees/",C={guaranteeType:N+"guarantee_type",burstCpu:N+"burst_guarantee_resources/cpu",burstRam:N+"burst_guarantee_resources/memory",burstGpu:N+"burst_guarantee_resources/gpu",flowCpu:N+"resource_flow/cpu",flowRam:N+"resource_flow/memory",flowGpu:N+"resource_flow/gpu"},w={cpuStrong:"strong_guarantee_resources/cpu",gpuStrong:"strong_guarantee_resources/gpu",memoryStrong:"strong_guarantee_resources/memory"},x={maxOperationCount:"max_operation_count",maxRunningOperationCount:"max_running_operation_count"},P=(0,r.A)((0,r.A)((0,r.A)({},x),w),C);function O(e,n){return function(e,n){if(!e)return{};var t=Number(d.Ay.getValue(e,n)),r=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=f()(null==e?void 0:e.children,(function(e,t){var r=Number(d.Ay.getValue(t,n)||0);return isNaN(r)?e:r+function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];for(var r=0;r<n.length;++r)if(!isNaN(n[r]))return n[r]}(e,0)}),NaN);return isNaN(t)?void 0:t}(e,n);return{value:isNaN(t)?void 0:t,childrenSum:isNaN(r)?void 0:r}}(e,"/cypressAttributes/"+P[n])}function R(e,n,t){return e?{limit:O(e,n).value,source:t?e.parent:void 0}:{}}function M(e,n){var t=d.Ay.getValue(e,"/abc/slug"),r=-1!==s()(n,null==e?void 0:e.parent);return{general:{name:null==e?void 0:e.name,abcService:t?{key:t,value:t,title:d.Ay.getValue(e,"/abc/name")}:void 0,parent:null==e?void 0:e.parent,mode:null==e?void 0:e.mode,weight:d.Ay.getNumber(e,"/cypressAttributes/weight"),maxOperationCount:Object.assign(R(e,"maxOperationCount",r),{source:void 0}),maxRunningOperationCount:Object.assign(R(e,"maxRunningOperationCount",r),{source:void 0})},resourceGuarantee:{cpuStrong:R(e,"cpuStrong",r),gpuStrong:R(e,"gpuStrong",r),memoryStrong:R(e,"memoryStrong",r)},integralGuarantee:{guaranteeType:d.Ay.getValue(e,"/cypressAttributes/".concat(C.guaranteeType))||"none",burstCpu:R(e,"burstCpu",r),burstRam:R(e,"burstRam",r),burstGpu:R(e,"burstGpu",r),flowCpu:R(e,"flowCpu",r),flowRam:R(e,"flowRam",r),flowGpu:R(e,"flowGpu",r)},resourceLimits:{cpu:A(e,"cpu"),gpu:A(e,"gpu"),memory:A(e,"memory"),userSlots:A(e,"user_slots")},otherSettings:{forbidImmediateOperations:d.Ay.getBoolean(e,"/forbidImmediateOperations"),fifoSortParams:d.Ay.getValue(e,"/fifoSortParams"),createEphemeralSubpools:d.Ay.getBoolean(e,"/createEphemeralSubpools")}}}}}]);
2
+ //# sourceMappingURL=9558.a6ea64c9.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/9558.a6ea64c9.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/templates/utils.js","webpack://@ytsaurus/ui/./src/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.tsx","webpack://@ytsaurus/ui/./src/ui/store/selectors/navigation/index.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/scheduling/attributes-to-filter.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/scheduling/expanded-pools.ts","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/pool-child.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/scheduling/scheduling-pools.ts","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/overview.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/scheduling/scheduling.ts","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/detailsTable.tsx","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/overviewTable.js","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/pool.ts","webpack://@ytsaurus/ui/./src/ui/utils/scheduling/scheduling.ts"],"sourcesContent":["import React from 'react';\nimport unipika from '../../common/thor/unipika';\nimport block from 'bem-cn-lite';\n\nimport Link from '../../components/Link/Link';\n\nimport hammer from '../../common/hammer';\nimport {showErrorPopup} from '../../utils/utils';\n\nimport './utils.scss';\n\nfunction wrapRenderMethods(templates) {\n return Object.keys(templates).reduce((newTemplates, key) => {\n newTemplates[key] = templates[key];\n\n return newTemplates;\n }, {});\n}\n\n/**\n * Template must be a scoped function, because they are bound to elements-table component instance\n * @param {ViewModel} item\n * @param {String} columnName\n */\nfunction defaultTemplate(item, columnName) {\n return String(hammer.format['ValueOrDefault'](item[columnName]));\n}\n\nfunction prepareTextProps(text, asHTML) {\n const props = {};\n\n if (asHTML) {\n // Need to render html strings\n props.dangerouslySetInnerHTML = {__html: text};\n } else {\n props.children = unipika.decode(String(text));\n }\n\n return props;\n}\n\nexport function renderText(text, settings = {}) {\n let className = block('elements-text');\n\n if (settings.mix) {\n className = className(\n false,\n block(settings.mix.block)(settings.mix.elem, {\n ...settings.mix.mods,\n }),\n );\n } else {\n className = className();\n }\n\n const textProps = prepareTextProps(text, settings.asHTML);\n\n const title = settings.title || text;\n\n return <span {...textProps} title={title} className={className} />;\n}\n\nexport function printColumnAsBytes(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['Bytes'](column.get(item));\n}\n\nexport function printColumnAsNumber(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['Number'](column.get(item));\n}\n\nexport function printColumnAsTimeDurationWithMs(item, columnName) {\n const column = this.getColumn(columnName);\n return hammer.format['TimeDuration'](column.get(item), {\n format: 'milliseconds',\n });\n}\n\nexport function printColumnAsReadableField(item, columnName) {\n const column = this.getColumn(columnName);\n return (\n <span className=\"elements-ellipsis\">\n {hammer.format['ReadableField'](column.get(item))}\n </span>\n );\n}\n\nexport function printColumnAsTime(item, columnName) {\n const value = this?.getColumn ? this.getColumn(columnName).get(item) : item[columnName];\n return <ColumnAsTime value={value} />;\n}\n\nexport function ColumnAsTime({value}) {\n return (\n <span className=\"elements-ellipsis\">\n {hammer.format['DateTime'](value, {format: 'full'})}\n </span>\n );\n}\n\nexport function printColumnAsError(error) {\n const showError = () => {\n showErrorPopup(error, {hideOopsMsg: true});\n };\n return typeof error === 'object' ? (\n <Link theme=\"ghost\" onClick={showError}>\n View\n </Link>\n ) : (\n hammer.format.NO_VALUE\n );\n}\n\n// Using prepared table data\nexport function asBytes(item, columnName) {\n return hammer.format['Bytes'](item[columnName]);\n}\n\nexport function asNumber(item, columnName) {\n return hammer.format['Number'](item[columnName]);\n}\n\nexport default {\n __default__: defaultTemplate,\n _templates: {},\n add: function (templateId, templates) {\n this._templates[templateId] = wrapRenderMethods(templates);\n },\n get: function (templateId) {\n return this._templates[templateId] || {};\n },\n};\n","import React from 'react';\nimport {getSchedulingOperationsLoadingStatus} from '../../../../../store/selectors/scheduling/expanded-pools';\nimport {useSelector} from 'react-redux';\nimport Loader from '../../../../../components/Loader/Loader';\n\nfunction SchedulingOperationsLoader() {\n const loading = useSelector(getSchedulingOperationsLoadingStatus);\n return <Loader visible={loading} />;\n}\n\nexport default React.memo(SchedulingOperationsLoader);\n","import {createSelector} from 'reselect';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {NAVIGATION_MAP_NODE_TABLE_ID} from '../../../constants/navigation/index';\nimport {getNavigationDefaultPath} from '../../../store/selectors/settings';\nimport {isFinalLoadingStatus} from '../../../utils/utils';\n\nexport const getTransaction = (state) => state.navigation.navigation.transaction;\nexport const getAttributes = (state) => state.navigation.navigation.attributes;\nexport const getAttributesWithTypes = (state) => state.navigation.navigation.attributesWithTypes;\nexport const getLoadState = (state) => state.navigation.navigation.loadState;\nexport const getError = (state) => state.navigation.navigation.error;\nexport const getRawPath = (state) => state.navigation.navigation.path;\nexport const getIdmSupport = (state) => state.navigation.navigation.isIdmSupported;\nexport const getSortState = (state) => state.tables[NAVIGATION_MAP_NODE_TABLE_ID];\n\nexport const getType = createSelector(getAttributes, (attributes) => attributes?.type);\n\nexport const getPath = createSelector(\n [getRawPath, getNavigationDefaultPath],\n (rawPath, defaultPath) => rawPath || defaultPath,\n);\n\nexport const getAttributesPath = createSelector(\n [getAttributes, getPath],\n (attributes, navigationPath) => attributes?.path || navigationPath,\n);\n\nexport const isNavigationFinalLoadState = createSelector([getLoadState], (state) => {\n return isFinalLoadingStatus(state);\n});\n\nexport const getParsedPath = createSelector(getPath, (path) => {\n try {\n return ypath.YPath.create(path, 'absolute');\n } catch (ex) {\n console.error(ex);\n }\n});\nexport const getActualPath = createSelector([getPath, getType], (path, type) => {\n return type === 'map_node' ? path + '/' : path;\n});\n\nexport const checkIsTrash = createSelector(\n [getPath],\n (path) => path.startsWith('//tmp/trash') || path.startsWith('//trash'),\n);\n","import {createSelector} from 'reselect';\nimport reduce_ from 'lodash/reduce';\nimport forEach_ from 'lodash/forEach';\n\nimport {RootState} from '../../reducers';\nimport {getSchedulingPoolsMapByName} from './scheduling-pools';\n\nexport const getSchedulingAbcFilter = (state: RootState) =>\n state.scheduling.scheduling.abcServiceFilter;\n\nexport const getSchedulingAttributesToFilter = (state: RootState) =>\n state.scheduling.scheduling.attributesToFilter;\nexport const getSchedulingAttributesToFilterParams = (state: RootState) =>\n state.scheduling.scheduling.attributesToFilterParams;\n\nexport const schedulingOverviewHasFilter = (state: RootState) => {\n const abcFilter = getSchedulingAbcFilter(state);\n\n return abcFilter?.id !== undefined;\n};\n\nexport const getSchedulingFilteredPoolNames = createSelector(\n [getSchedulingAttributesToFilter, getSchedulingPoolsMapByName, getSchedulingAbcFilter],\n (attrsToFilter, loadedPools, abcFilter) => {\n if (!attrsToFilter) {\n return undefined;\n }\n\n if (abcFilter?.id === undefined) {\n return undefined;\n }\n\n const res = reduce_(\n attrsToFilter,\n (acc, attrs, key) => {\n if (attrs.abc?.id !== abcFilter?.id) {\n return acc;\n }\n\n acc.add(key);\n return acc;\n },\n new Set<string>(),\n );\n\n forEach_([...res], (poolName) => {\n let name = poolName;\n let item = attrsToFilter[name];\n while (item?.parent && !loadedPools[name]) {\n res.add(item.parent);\n\n name = item.parent;\n item = attrsToFilter[item.parent];\n }\n });\n\n return res;\n },\n);\n","import {createSelector} from 'reselect';\n\nimport {RootState} from '../../reducers';\n\nexport const getExpandedPoolCypressData = (state: RootState) =>\n state.scheduling.expandedPools.flattenCypressData;\n\nexport const getSchedulingOperations = (state: RootState) =>\n state.scheduling.expandedPools.rawOperations;\nexport const getExpandedPoolsTree = (state: RootState) =>\n state.scheduling.expandedPools.expandedPoolsTree;\nexport const getSchedulingOperationsError = (state: RootState) =>\n state.scheduling.expandedPools.error;\nexport const getSchedulingOperationsLoading = (state: RootState) =>\n state.scheduling.expandedPools.loading;\nexport const getSchedulingOperationsLoaded = (state: RootState) =>\n state.scheduling.expandedPools.loading;\nexport const getSchedulingOperationsExpandedPools = (state: RootState) =>\n state.scheduling.expandedPools.expandedPools;\nexport const getExpandedPoolsLoadAll = (state: RootState) => state.scheduling.expandedPools.loadAll;\n\nexport const getSchedulingOperationsLoadingStatus = createSelector(\n [getSchedulingOperationsLoading, getSchedulingOperationsLoaded],\n (loading, loaded) => {\n return loading && !loaded;\n },\n);\n","import map_ from 'lodash/map';\n\nimport ypath from '../../common/thor/ypath';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport {appendInnerErrors} from '../errors';\n\nconst RESOURCE_LIMIT_MAPPER = {\n user_memory: 'memory',\n};\n\nfunction preparePoolChildResource(data, type, treeResources, resource) {\n const attributes = data.attributes;\n\n if (data.name === ROOT_POOL_NAME) {\n data.resources[resource] = {\n guaranteed: ypath.getNumber(treeResources, '/resource_limits/' + resource),\n usage: ypath.getNumber(treeResources, '/resource_usage/' + resource),\n };\n } else {\n const min = ypath.getNumber(attributes, '/strong_guarantee_resources/' + resource);\n const usage = ypath.getNumber(attributes, '/resource_usage/' + resource);\n const demand = ypath.getNumber(attributes, '/resource_demand/' + resource);\n const guaranteed = ypath.getNumber(\n attributes,\n '/promised_fair_share_resources/' + resource,\n );\n\n const limitResource = RESOURCE_LIMIT_MAPPER[resource] || resource;\n const limit = ypath.getNumber(data.cypressAttributes, '/resource_limits/' + limitResource);\n\n const treeLimit = ypath.getNumber(treeResources, '/resource_limits/' + resource);\n const detailed =\n treeLimit * ypath.getNumber(attributes, '/detailed_fair_share/total/' + limitResource);\n\n data.resources[resource] = {\n min,\n guaranteed,\n usage,\n demand,\n limit,\n detailed,\n };\n }\n\n return data;\n}\n\nexport function updatePoolChild(data, cypressData, type, treeResources) {\n try {\n const attributes = data.attributes;\n const cypressAttributes = ypath.getAttributes(cypressData);\n\n data.cypressAttributes = cypressAttributes;\n data.type = type;\n\n if (data.type === 'pool') {\n if (typeof attributes === 'undefined' && data.parent) {\n console.error(\n 'Pool \"%s\" without attributes inited by \"%s\"',\n data.name,\n data._initedBy,\n );\n }\n\n data.mode = ypath.getValue(attributes, '/mode');\n\n data.leaves = map_(data.leaves, (leaf) => {\n return updatePoolChild(leaf, {}, 'operation', treeResources);\n });\n\n const child_pool_count = ypath.getNumber(attributes, '/child_pool_count');\n if (child_pool_count > 0 && !data.children.length) {\n for (let i = 0; i < child_pool_count; ++i) {\n data.children.push({\n parent: data.name,\n type: 'pool',\n name: `#key_${data.name}_${i}`,\n attributes: {},\n leaves: [],\n incomplete: true,\n });\n }\n }\n\n if (!data.leaves?.length) {\n data.pool_operation_count = ypath.getNumber(\n attributes,\n '/pool_operation_count',\n NaN,\n );\n if (data.pool_operation_count > 0) {\n const emptyOp = updatePoolChild(\n {attributes: {}},\n {},\n 'operation',\n treeResources,\n );\n data.leaves = [];\n for (let i = 0; i < data.pool_operation_count; ++i) {\n data.leaves.push({\n ...emptyOp,\n name: `##fake_operation_${data.name}_${i}`,\n });\n }\n }\n }\n\n // Operations\n data.operationCount = ypath.getNumber(attributes, '/operation_count');\n data.maxOperationCount = ypath.getNumber(attributes, '/max_operation_count');\n data.maxOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_operation_count',\n );\n data.runningOperationCount = ypath.getNumber(attributes, '/running_operation_count');\n data.maxRunningOperationCount = ypath.getNumber(\n attributes,\n '/max_running_operation_count',\n );\n data.maxRunningOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_running_operation_count',\n );\n }\n\n data.id = data.name;\n data.starvation_status = ypath.getValue(attributes, '/starvation_status');\n\n // General\n data.weight = ypath.getNumber(attributes, '/weight');\n data.weightEdited = ypath.getNumber(cypressAttributes, '/weight');\n data.minShareRatio = ypath.getNumber(attributes, '/min_share_ratio');\n data.maxShareRatio = ypath.getNumber(attributes, '/max_share_ratio');\n data.fairShareRatio = ypath.getNumber(attributes, '/fair_share_ratio');\n data.fifoIndex = ypath.getNumber(attributes, '/fifo_index');\n data.usageRatio = ypath.getNumber(attributes, '/usage_ratio');\n data.demandRatio = ypath.getNumber(attributes, '/demand_ratio');\n data.isEphemeral = ypath.getBoolean(attributes, '/is_ephemeral');\n\n data.integralType = ypath.getValue(attributes, '/integral_guarantee_type');\n const userDefinedBurstCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/burst_guarantee_resources/cpu',\n NaN,\n );\n data.burstCPU = ypath.getNumber(\n attributes,\n '/specified_burst_guarantee_resources/cpu',\n userDefinedBurstCPU,\n );\n const userDefinedFlowCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/cpu',\n NaN,\n );\n data.flowCPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/cpu',\n userDefinedFlowCPU,\n );\n const userDefinedFlowGPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/gpu',\n NaN,\n );\n data.flowGPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/gpu',\n userDefinedFlowGPU,\n );\n\n data.accumulated = ypath.getValue(attributes, '/accumulated_resource_ratio_volume');\n data.accumulatedCpu = ypath.getValue(attributes, '/accumulated_resource_volume/cpu');\n data.burstDuration = ypath.getValue(attributes, '/estimated_burst_usage_duration_sec');\n\n const fifoSortParams = map_(\n ypath.getValue(attributes, '/fifo_sort_parameters') ||\n ypath.getValue(cypressAttributes, '/fifo_sort_parameters'),\n (param) => ypath.getValue(param),\n );\n data.fifoSortParams =\n fifoSortParams.length > 0\n ? fifoSortParams\n : ['start_time', 'weight', 'pending_job_count'];\n data.abc = ypath.getValue(attributes, '/abc') || {};\n data.forbidImmediateOperations =\n ypath.getBoolean(cypressAttributes, '/forbid_immediate_operations') || false;\n data.createEphemeralSubpools =\n ypath.getBoolean(cypressAttributes, '/create_ephemeral_subpools') || false;\n\n // Resources\n data.dominantResource = ypath.getValue(attributes, '/dominant_resource');\n\n data.resources = {};\n\n preparePoolChildResource(data, type, treeResources, 'cpu');\n preparePoolChildResource(data, type, treeResources, 'user_memory');\n preparePoolChildResource(data, type, treeResources, 'gpu');\n preparePoolChildResource(data, type, treeResources, 'user_slots');\n\n return data;\n } catch (e) {\n throw appendInnerErrors(e, {\n message: `An error occured while parsing pool \"${data.name}\" data.`,\n });\n }\n}\n","import isEmpty_ from 'lodash/isEmpty';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport {createSelector} from 'reselect';\n\nimport {RootState} from '../../../store/reducers';\nimport {ROOT_POOL_NAME} from '../../../constants/scheduling';\nimport {preparePools} from '../../../utils/scheduling/scheduling';\nimport ypath from '../../../common/thor/ypath';\nimport {updatePoolChild} from '../../../utils/scheduling/pool-child';\nimport {\n getExpandedPoolCypressData,\n getExpandedPoolsTree,\n getSchedulingOperations,\n} from './expanded-pools';\nimport {getCluster} from '../../../store/selectors/global';\nimport {RumWrapper} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\n\nexport const getTree = (state: RootState) => state.scheduling.scheduling.tree;\nconst getPoolsRaw = (state: RootState) => state.scheduling.expandedPools.rawPools;\nconst getTreeResources = (state: RootState) => state.scheduling.scheduling.treeResources;\n\nconst getSchedulingTreeOperations = createSelector(\n [getSchedulingOperations, getExpandedPoolsTree, getTree],\n (rawOperations, expandedPoolsTree, tree) => {\n if (tree !== expandedPoolsTree) {\n return EMPTY_OBJECT as typeof rawOperations;\n }\n\n return rawOperations;\n },\n);\n\nconst getOperationsFiltered = createSelector(\n [getPoolsRaw, getSchedulingTreeOperations],\n (rawPools, rawOperations) => {\n return reduce_(\n rawOperations,\n (acc, item, operationId) => {\n if (rawPools[item.pool]) {\n acc[operationId] = item;\n }\n return acc;\n },\n {} as typeof rawOperations,\n );\n },\n);\n\nconst getPoolsPrepared = createSelector(\n [getPoolsRaw, getOperationsFiltered, getExpandedPoolCypressData, getTreeResources, getCluster],\n (rawPools, rawOperations, attributes, treeResources, cluster) => {\n if (isEmpty_(rawPools)) {\n return [];\n }\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.SCHEDULING);\n\n return rumId.wrap('prepareData', () => {\n const preparedPools = preparePools(rawPools!, rawOperations);\n return map_(preparedPools, (pool) => {\n const cypressAttributes = ypath.getValue(attributes)[pool.name];\n return updatePoolChild(pool, cypressAttributes, 'pool', treeResources);\n });\n });\n },\n);\n\nexport const getSchedulingPoolsMapByName = createSelector(\n [getPoolsPrepared],\n (pools: Array<PoolInfo>) => {\n return reduce_(\n pools,\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {} as Record<string, PoolInfo>,\n );\n },\n);\n\nexport const getSchedulingPoolsExtraInfo = createSelector(\n [getSchedulingPoolsMapByName],\n (poolsMap) => {\n const root = poolsMap[ROOT_POOL_NAME];\n if (!root) {\n return {};\n }\n\n const res: Record<string, PoolExtraInfo> = {};\n calcChildrenIntegrals(root, res);\n return res;\n },\n);\n\ntype PoolName = string;\n\nfunction calcChildrenIntegrals(pool: PoolInfo, dst: Record<PoolName, PoolExtraInfo>) {\n const {children, name} = pool;\n if (!children?.length) {\n const res = (dst[name] = {\n childrenBurstCPU: 0,\n childrenFlowCPU: 0,\n });\n return res;\n }\n\n const res: PoolExtraInfo = {\n childrenFlowCPU: 0,\n childrenBurstCPU: 0,\n };\n for (let i = 0; i < children.length; ++i) {\n const item = children[i];\n const itemExtraInfo = calcChildrenIntegrals(item, dst);\n\n dst[item.name] = itemExtraInfo;\n\n res.childrenFlowCPU += item.flowCPU || 0 + itemExtraInfo.childrenFlowCPU;\n res.childrenBurstCPU += item.burstCPU || 0 + itemExtraInfo.childrenBurstCPU;\n }\n\n dst[name] = res;\n return res;\n}\n\nexport interface PoolExtraInfo {\n childrenFlowCPU: number;\n childrenBurstCPU: number;\n}\n\nexport interface OperationInfo {\n name: string;\n type: 'operation';\n parent: string;\n attributes: object;\n cypressAttributes: object;\n flowCPU: number;\n burstCPU: number;\n flowGPU: number;\n integralType?: string;\n mode?: string;\n\n operationCount?: number;\n maxOperationCount?: number;\n maxRunningOperationCount?: number;\n\n pool: string;\n}\n\nexport interface PoolInfo extends Omit<OperationInfo, 'type' | 'pool'> {\n type: 'pool';\n incomplete?: boolean;\n children?: Array<PoolInfo>;\n leaves: Array<OperationInfo>;\n isEphemeral?: boolean;\n resources?: PoolResources;\n fifoIndex?: number;\n weight?: number;\n minShareRatio?: number;\n maxShareRatio?: number;\n fairShareRatio?: number;\n usageRatio?: number;\n demandRatio?: number;\n dominantResource?: number;\n runningOperationCount?: number;\n operationCount?: number;\n maxOperationCount?: number;\n childrenBurstCPU?: number;\n childrenFlowCPU?: number;\n accumulated?: number;\n accumulatedCpu?: number;\n burstDuration?: number;\n}\n\nexport type PoolResources = Partial<\n Record<'cpu' | 'gpu' | 'user_memory' | 'user_slots', PoolResourceDetails>\n>;\n\nexport type PoolResourceType = keyof PoolResources;\n\nexport type PoolResourceDetails = {\n min?: number;\n usage?: number;\n limit?: number;\n demand?: number;\n detailed?: number;\n guaranteed?: number;\n};\n\nexport const getPools = createSelector(\n [getPoolsPrepared, getSchedulingPoolsExtraInfo],\n (pools, extras) => {\n const res = map_(pools, (item) => {\n const itemExtra = extras[item.name] || {};\n return Object.assign(item, itemExtra);\n });\n return res;\n },\n);\n","import ypath from '@ytsaurus/interface-helpers/lib/ypath';\nimport hammer from '../../common/hammer';\n\nimport reduce_ from 'lodash/reduce';\n\nfunction getNetworkResourceText(resourceUsage, resourceLimit) {\n return hammer.format['Percent']((resourceUsage / resourceLimit) * 100);\n}\n\nfunction getMemoryResourceText(resourceUsage, resourceLimit) {\n return hammer.format['Bytes'](resourceUsage) + ' / ' + hammer.format['Bytes'](resourceLimit);\n}\n\nfunction getDefaultResourceText(resourceUsage, resourceLimit) {\n return hammer.format['Number'](resourceUsage) + ' / ' + hammer.format['Number'](resourceLimit);\n}\n\nfunction getResourcesText(data) {\n const resourceUsage = data.usage;\n const resourceLimit = data.limit;\n\n switch (data.type) {\n case 'network':\n return getNetworkResourceText(resourceUsage, resourceLimit);\n case 'user_memory':\n return getMemoryResourceText(resourceUsage, resourceLimit);\n default:\n return getDefaultResourceText(resourceUsage, resourceLimit);\n }\n}\n\nfunction getResourceProgressValue(data) {\n const resourceUsage = data.usage;\n const resourceLimit = data.limit;\n\n return (resourceUsage / resourceLimit) * 100;\n}\n\nfunction getResourceProgress(data) {\n return {\n text: getResourcesText(data),\n value: getResourceProgressValue(data),\n theme: 'info',\n };\n}\n\nexport function prepareResources(data) {\n const resourceUsage = ypath.getValue(data, '/resource_usage');\n const resourceLimits = ypath.getValue(data, '/resource_limits');\n const resourceTypes = ['cpu', 'user_memory', 'user_slots', 'network', 'gpu'];\n\n return reduce_(\n resourceTypes,\n (res, type) => {\n if (resourceUsage && resourceLimits) {\n const data = {\n type,\n usage: Number(ypath.getValue(resourceUsage[type], '')),\n limit: Number(ypath.getValue(resourceLimits[type], '')),\n };\n const progress = getResourceProgress(data);\n\n res.push({...data, progress});\n }\n return res;\n },\n [],\n );\n}\n","import filter_ from 'lodash/filter';\nimport find_ from 'lodash/find';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport hammer from '../../../common/hammer';\nimport {createSelector} from 'reselect';\nimport {getCluster} from '../../../store/selectors/global';\n\nimport {prepareResources} from '../../../utils/scheduling/overview';\nimport {childTableItems} from '../../../utils/scheduling/detailsTable';\nimport {poolsTableItems} from '../../../utils/scheduling/overviewTable';\nimport {\n ROOT_POOL_NAME,\n SCHEDULING_POOL_CHILDREN_TABLE_ID,\n SCHEDULING_POOL_TREE_TABLE_ID,\n} from '../../../constants/scheduling';\n\nimport {\n OperationInfo,\n PoolInfo,\n getPools as getPoolsImpl,\n getSchedulingPoolsMapByName,\n} from './scheduling-pools';\nimport {RootState} from '../../../store/reducers';\nimport {isAbcPoolName, isTopLevelPool} from '../../../utils/scheduling/pool';\nimport {visitTreeItems} from '../../../utils/utils';\nimport {getExpandedPoolsLoadAll, getSchedulingOperationsExpandedPools} from './expanded-pools';\nimport {\n getSchedulingAttributesToFilter,\n getSchedulingFilteredPoolNames,\n} from './attributes-to-filter';\nexport const getPools = getPoolsImpl;\n\nconst getExpandedPoolsIsInitialLoading = (state: RootState) => {\n const {loaded, loading} = state.scheduling.expandedPools;\n return !loaded && loading;\n};\n\nexport const getSchedulingIsInitialLoading = (state: RootState) => {\n const {loaded, loading} = state.scheduling.scheduling;\n return (!loaded && loading) || getExpandedPoolsIsInitialLoading(state);\n};\n\nexport const getTreeResources = (state: RootState) => state.scheduling.scheduling.treeResources;\nexport const getPoolChildrenFilter = (state: RootState) =>\n state.scheduling.scheduling.poolChildrenFilter;\nexport const getSchedulingTreeState = (state: RootState) => state.scheduling.scheduling.treeState;\nconst getContentModeRaw = (state: RootState) => state.scheduling.scheduling.contentMode;\n\nexport const getTree = (state: RootState) => state.scheduling.scheduling.tree;\nexport const getTrees = (state: RootState) => state.scheduling.scheduling.trees;\n\nexport const getPool = (state: RootState) => state.scheduling.scheduling.pool;\n\nexport const getSchedulingEditItem = (state: RootState) => state.scheduling.scheduling.editItem;\n\nexport const getSortState = (state: RootState) => state.tables[SCHEDULING_POOL_TREE_TABLE_ID];\nexport const getPoolChildrenSortState = (state: RootState) =>\n state.tables[SCHEDULING_POOL_CHILDREN_TABLE_ID];\n\nexport const getPoolsNames = createSelector(\n getSchedulingAttributesToFilter,\n (pools): Array<string> => map_(pools, (_v, name) => name).sort(),\n);\n\nconst DETAILS_CONTENT_MODES = {\n cpu: 'cpu',\n memory: 'memory',\n gpu: 'gpu',\n user_slots: 'user_slots',\n operations: 'operations',\n integral: 'integral',\n};\n\nexport const getContentMode = createSelector([getContentModeRaw], (mode) => {\n return DETAILS_CONTENT_MODES[mode] || DETAILS_CONTENT_MODES.cpu;\n});\n\nexport const getIsRoot = createSelector(getPool, (pool) => pool === ROOT_POOL_NAME);\n\nexport const getTreesSelectItems = createSelector(getTrees, (trees) =>\n map_(trees, (tree) => ({\n value: tree,\n text: hammer.format['Readable'](tree) as string,\n })),\n);\n\nexport const getPoolsSelectItems = createSelector(getPoolsNames, (pools) => {\n const items = map_(pools, (pool) => ({\n value: pool,\n text: pool,\n }));\n\n return items;\n});\n\nexport const getCurrentPool = createSelector([getPool, getPools], (pool, pools) =>\n find_(pools, (item) => item.name === pool),\n);\n\nexport const getPoolIsEphemeral = createSelector([getCurrentPool], (currentPool) => {\n if (currentPool && currentPool.isEphemeral !== undefined) return currentPool.isEphemeral;\n return undefined;\n});\n\nexport const getCurrentPoolChildren = createSelector(getCurrentPool, (currentPool) => {\n if (currentPool) {\n return currentPool.children;\n }\n\n return undefined;\n});\n\nexport const getCurrentPoolOperations = createSelector(getCurrentPool, (currentPool) => {\n if (currentPool) {\n return currentPool.leaves;\n }\n\n return undefined;\n});\n\nexport const getResources = createSelector(\n [getCurrentPool, getTreeResources],\n (currentPool, resources) => {\n if (currentPool && currentPool.name !== '<Root>') {\n return prepareResources(currentPool.attributes);\n } else if (resources) {\n return prepareResources(resources);\n }\n\n return [];\n },\n);\n\nconst getFilteredTree = createSelector(\n [getCurrentPool, getSchedulingFilteredPoolNames],\n (treeRoot, visiblePools) => {\n if (treeRoot) {\n return hammer.treeList.filterTree(\n treeRoot,\n (pool: {name: string}) => {\n return visiblePools === undefined || visiblePools.has(pool.name);\n },\n true,\n );\n }\n return undefined;\n },\n);\n\nexport const getTableItems = createSelector(\n [getFilteredTree, getSortState],\n (filteredTree, sortState) => {\n if (filteredTree) {\n const isRoot = filteredTree && filteredTree.name === ROOT_POOL_NAME;\n const tree = isRoot ? filteredTree : {children: [filteredTree]};\n const sortedTree = hammer.treeList.sortTree(tree, sortState, poolsTableItems);\n\n return hammer.treeList.flattenTree(sortedTree);\n }\n\n return [];\n },\n);\n\nexport const getSchedulingOverviewMaxDepth = createSelector(\n [getTableItems, getExpandedPoolsLoadAll, getTree, getSchedulingOperationsExpandedPools],\n (items: Array<{level: number; name: string}>, allExpanded, tree, expandedPoolsMap) => {\n if (allExpanded) {\n return reduce_(\n items,\n (acc, item) => {\n const {level = 0} = item || {};\n return acc < level ? level : acc;\n },\n 0,\n );\n }\n\n const expandedPools = expandedPoolsMap[tree];\n if (!expandedPools?.size) {\n return 0;\n }\n\n return reduce_(\n items,\n (acc, item) => {\n if (expandedPools.has(item.name)) {\n return acc < item.level + 1 ? item.level + 1 : acc;\n }\n return acc;\n },\n 0,\n );\n },\n);\n\nconst getPoolChildrenData = createSelector(\n [getCurrentPool, getCurrentPoolChildren, getCurrentPoolOperations],\n (pool, pools, operations = []) => {\n if (pool && pools) {\n return [...pools, ...operations];\n }\n\n return undefined;\n },\n);\n\nconst getFilteredPoolChildren = createSelector(\n [getPoolChildrenData, getPoolChildrenFilter],\n (poolChildrenData, poolChildrenFilter) => {\n return hammer.filter.filter({\n data: poolChildrenData,\n input: poolChildrenFilter,\n factors: ['name'],\n });\n },\n);\n\nexport const getSortedPoolChildren = createSelector(\n [getFilteredPoolChildren, getPoolChildrenSortState, getCurrentPool],\n (filteredPoolChildren, poolChildrenSortState, currentPool) => {\n return hammer.utils.sort(filteredPoolChildren, poolChildrenSortState, childTableItems, {\n addGetParams: [currentPool],\n groupBy: {\n asc: true,\n get(item: PoolInfo | OperationInfo) {\n return item.type === 'operation' ? 0 : 1;\n },\n },\n });\n },\n);\n\nexport const getPollChildrenTableItems = createSelector(\n [getCurrentPool, getSortedPoolChildren],\n (currentPool, sortedPoolChildren) => {\n const extras = [];\n let isChildPool = false;\n if (currentPool && currentPool.name !== ROOT_POOL_NAME) {\n extras.push(currentPool);\n isChildPool = true;\n }\n\n return extras.concat(\n map_(sortedPoolChildren, (item) => {\n return Object.assign({}, item, {isChildPool});\n }),\n );\n },\n);\n\n// The same cluster is ready for bundle's ACL\nconst CLUSTERS_WITHOUT_POOL_ACL = ['locke'];\n\nexport const isPoolAclAllowed = createSelector([getCluster], (cluster) => {\n return CLUSTERS_WITHOUT_POOL_ACL.indexOf(cluster) === -1;\n});\n\nexport const getCurrentPoolPath = createSelector(\n [getPool, getPools, getTree],\n (pool, pools, tree) => {\n return calculatePoolPath(pool, pools, tree);\n },\n);\n\nexport function calculatePoolPath(pool: string, pools: Array<PoolInfo>, tree: string) {\n const prefix = `//sys/pool_trees/${tree}`;\n\n let current = pool;\n const path = [];\n while (current) {\n if (current !== ROOT_POOL_NAME) {\n path.push(current);\n }\n const tmp = current;\n const {parent} = find_(pools, ({name}) => name === tmp) || {};\n current = parent || '';\n }\n const pathStr = !path.length ? '' : '/' + path.reverse().join('/');\n return `${prefix}${pathStr}`;\n}\n\nexport const getSchedulingTopPoolOfEditItem = createSelector(\n [getSchedulingEditItem, getSchedulingPoolsMapByName],\n (pool, mapOfPools) => {\n if (isAbcPoolName(pool?.name)) {\n return undefined;\n }\n\n if (isTopLevelPool(pool)) {\n return pool;\n }\n\n let item = pool;\n while (item) {\n const parent = mapOfPools[item.parent];\n if (isAbcPoolName(item.parent)) {\n return item;\n }\n\n if (isTopLevelPool(item)) {\n return item;\n }\n\n item = parent;\n }\n return undefined;\n },\n);\n\nexport const getSchedulingSourcesOfEditItem = createSelector(\n [getSchedulingEditItem, getSchedulingTopPoolOfEditItem, getSchedulingPoolsMapByName],\n (pool, topPool, mapOfPools): Array<string> => {\n if (!pool?.name || !mapOfPools) {\n return [];\n }\n\n const res: Array<string> = [];\n visitTreeItems(\n topPool,\n (item: PoolInfo) => {\n if (pool.name !== item.name) {\n res.push(item.name);\n }\n },\n {\n isNeedToSkipChildren: (item: PoolInfo) => {\n return item?.name === pool?.name;\n },\n },\n );\n\n return res;\n },\n);\n\nexport const getSchedulingSourcesOfEditItemSkipParent = createSelector(\n [getSchedulingEditItem, getSchedulingSourcesOfEditItem],\n (pool, sources) => {\n if (!pool?.parent) {\n return sources;\n }\n\n return filter_(sources, (item) => item !== pool.parent);\n },\n);\n","import React from 'react';\n\nimport format from '../../common/hammer/format';\nimport SchedulingOperationsLoader from '../../pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader';\nimport type {PoolInfo, PoolResourceType} from '../../store/selectors/scheduling/scheduling-pools';\n\nfunction prepareDetailedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.detailed;\n },\n sort: true,\n caption: 'Abs fair share',\n align: 'right',\n };\n}\n\nfunction prepareLimitColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.limit;\n },\n sort: true,\n sortWithUndefined: true,\n caption: 'Limit',\n align: 'right',\n };\n}\n\nfunction prepareMinResourcesColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.min;\n },\n sort: true,\n caption: 'Strong guar.',\n title: 'Strong guarantee',\n align: 'right',\n };\n}\n\nfunction prepareAbsGuaranteedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.guaranteed;\n },\n sort: true,\n caption: 'Estimated guar.',\n title: 'Estimated guarantee',\n align: 'right',\n };\n}\n\nfunction prepareRelGuaranteedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return (\n prepareAbsGuaranteedColumn(resource).get(item)! /\n prepareAbsGuaranteedColumn(resource).get(currentPool)!\n );\n },\n sort: true,\n caption: 'Rel guaranteed',\n align: 'right',\n };\n}\n\nfunction prepareAbsDemandColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.demand;\n },\n sort: true,\n caption: 'Abs demand',\n align: 'right',\n };\n}\n\nfunction prepareAbsUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.usage;\n },\n sort: true,\n caption: 'Abs usage',\n align: 'right',\n };\n}\n\nfunction prepareRelUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return (\n prepareAbsUsageColumn(resource).get(item)! /\n prepareAbsUsageColumn(resource).get(currentPool)!\n );\n },\n sort: true,\n caption: 'Rel usage',\n align: 'right',\n };\n}\n\nfunction prepareGuaranteedUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return {\n guaranteed: prepareRelGuaranteedColumn(resource).get(item, currentPool),\n usage: prepareRelUsageColumn(resource).get(item, currentPool),\n };\n },\n caption: 'Usage / Guaranteed',\n align: 'center',\n };\n}\n\nexport const childTableItems = {\n name: {\n sort(item: PoolInfo) {\n return item.name;\n },\n caption: 'Pool / Operation',\n captionTail: <SchedulingOperationsLoader />,\n align: 'left',\n },\n mode: {\n sort(item: PoolInfo) {\n return item.mode;\n },\n align: 'center',\n },\n FI: {\n sort(item: PoolInfo) {\n return item.fifoIndex;\n },\n align: 'center',\n },\n weight: {\n sort(item: PoolInfo) {\n return item.weight;\n },\n align: 'right',\n },\n min_share: {\n sort(item: PoolInfo) {\n return item.minShareRatio;\n },\n align: 'right',\n },\n max_share: {\n sort(item: PoolInfo) {\n return item.maxShareRatio;\n },\n align: 'right',\n },\n fair_share: {\n get(item: PoolInfo) {\n return item.fairShareRatio;\n },\n sort: true,\n align: 'right',\n },\n usage: {\n get(item: PoolInfo) {\n return item.usageRatio;\n },\n sort: true,\n align: 'right',\n },\n demand: {\n get(item: PoolInfo) {\n return item.demandRatio;\n },\n sort: true,\n align: 'right',\n },\n fair_share_usage: {\n caption: 'Usage / Fair share',\n align: 'left',\n },\n dominant_resource: {\n sort(item: PoolInfo) {\n return item.dominantResource;\n },\n caption: 'Dom. res.',\n title: 'Dominant Resource',\n align: 'left',\n },\n\n resource_detailed_cpu: prepareDetailedColumn('cpu'),\n resource_detailed_memory: prepareDetailedColumn('user_memory'),\n resource_detailed_gpu: prepareDetailedColumn('gpu'),\n resource_detailed_user_slots: prepareDetailedColumn('user_slots'),\n\n resource_limit_cpu: prepareLimitColumn('cpu'),\n resource_limit_memory: prepareLimitColumn('user_memory'),\n resource_limit_gpu: prepareLimitColumn('gpu'),\n resource_limit_user_slots: prepareLimitColumn('user_slots'),\n\n min_resources_cpu: prepareMinResourcesColumn('cpu'),\n min_resources_memory: prepareMinResourcesColumn('user_memory'),\n min_resources_gpu: prepareMinResourcesColumn('gpu'),\n min_resources_user_slots: prepareMinResourcesColumn('user_slots'),\n\n abs_guaranteed_cpu: prepareAbsGuaranteedColumn('cpu'),\n abs_guaranteed_memory: prepareAbsGuaranteedColumn('user_memory'),\n abs_guaranteed_gpu: prepareAbsGuaranteedColumn('gpu'),\n abs_guaranteed_user_slots: prepareAbsGuaranteedColumn('user_slots'),\n\n rel_guaranteed_cpu: prepareRelGuaranteedColumn('cpu'),\n rel_guaranteed_memory: prepareRelGuaranteedColumn('user_memory'),\n rel_guaranteed_gpu: prepareRelGuaranteedColumn('gpu'),\n rel_guaranteed_user_slots: prepareRelGuaranteedColumn('user_slots'),\n\n abs_usage_cpu: prepareAbsUsageColumn('cpu'),\n abs_usage_memory: prepareAbsUsageColumn('user_memory'),\n abs_usage_gpu: prepareAbsUsageColumn('gpu'),\n abs_usage_user_slots: prepareAbsUsageColumn('user_slots'),\n\n abs_demand_cpu: prepareAbsDemandColumn('cpu'),\n abs_demand_memory: prepareAbsDemandColumn('user_memory'),\n abs_demand_gpu: prepareAbsDemandColumn('gpu'),\n abs_demand_user_slots: prepareAbsDemandColumn('user_slots'),\n\n rel_usage_cpu: prepareRelUsageColumn('cpu'),\n rel_usage_memory: prepareRelUsageColumn('user_memory'),\n rel_usage_gpu: prepareRelUsageColumn('gpu'),\n rel_usage_user_slots: prepareRelUsageColumn('user_slots'),\n\n guaranteed_usage_cpu: prepareGuaranteedUsageColumn('cpu'),\n guaranteed_usage_memory: prepareGuaranteedUsageColumn('user_memory'),\n guaranteed_usage_gpu: prepareGuaranteedUsageColumn('gpu'),\n guaranteed_usage_user_slots: prepareGuaranteedUsageColumn('user_slots'),\n\n operation_overview: {\n get(item: PoolInfo) {\n return [item.operationCount, item.runningOperationCount];\n },\n caption: 'Operations',\n sort: true,\n align: 'right',\n },\n operation_count: {\n get(item: PoolInfo) {\n return item.operationCount;\n },\n sort: true,\n align: 'right',\n },\n max_operation_count: {\n get(item: PoolInfo) {\n return item.maxOperationCount;\n },\n sort: true,\n align: 'right',\n },\n operation_progress: {\n get(item: PoolInfo) {\n return item.operationCount! / item.maxOperationCount!;\n },\n text(item: PoolInfo) {\n return `${format.Number(item.operationCount)} / ${format.Number(\n item.maxOperationCount,\n )}`;\n },\n caption: 'Total operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n running_operation_count: {\n get(item: PoolInfo) {\n return item.runningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n max_running_operation_count: {\n get(item: PoolInfo) {\n return item.maxRunningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n running_operation_progress: {\n get(item: PoolInfo) {\n return item.runningOperationCount! / item.maxRunningOperationCount!;\n },\n text(item: PoolInfo) {\n return `${format.Number(item.runningOperationCount)} / ${format.Number(\n item.maxRunningOperationCount,\n )}`;\n },\n caption: 'Running operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n\n integral_type: {\n get(item: PoolInfo) {\n const res = item.integralType;\n return res === 'none' ? undefined : res;\n },\n caption: 'Guarantee type',\n sort: true,\n align: 'right',\n sortWithUndefined: true,\n },\n burst_cpu: {\n get(item: PoolInfo) {\n return item.burstCPU;\n },\n sort(item: PoolInfo) {\n const res = item.burstCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Burst CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n flow_cpu: {\n get(item: PoolInfo) {\n return item.flowCPU;\n },\n sort(item: PoolInfo) {\n const res = item.flowCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Flow CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n children_burst_cpu: {\n get(item: PoolInfo) {\n const res = item.childrenBurstCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's burst CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n children_flow_cpu: {\n get(item: PoolInfo) {\n const res = item.childrenFlowCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's flow CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n accumulated: {\n get(item: PoolInfo) {\n return item.accumulated;\n },\n caption: 'Acc ratio volume',\n sortWithUndefined: true,\n sort: true,\n align: 'right',\n },\n accumulated_cpu: {\n get(item: PoolInfo) {\n return item.accumulatedCpu;\n },\n caption: 'Acc CPU volume',\n sort: true,\n align: 'right',\n },\n burst_duration: {\n get(item: PoolInfo) {\n return item.burstDuration;\n },\n caption: 'Est burst usage duration ',\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n\n actions: {\n caption: '',\n align: 'left',\n },\n};\n","import React from 'react';\nimport SchedulingOperationsLoader from '../../pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader';\n\nexport const poolsTableItems = {\n type: {\n caption: '',\n align: 'center',\n },\n name: {\n sort: true,\n caption: 'Pool / Operation',\n captionTail: <SchedulingOperationsLoader />,\n align: 'left',\n get(item) {\n return item.name;\n },\n },\n mode: {\n sort: true,\n align: 'center',\n get(item) {\n return item.mode;\n },\n },\n FI: {\n sort: true,\n align: 'right',\n title: 'FIFO Index',\n get(item) {\n return item.fifoIndex;\n },\n },\n weight: {\n sort: true,\n align: 'right',\n title: 'Effective weight',\n get(item) {\n return item.weight;\n },\n },\n operation_overview: {\n caption: 'Operations',\n sort: true,\n align: 'center',\n get(item) {\n return [item.operationCount, item.runningOperationCount];\n },\n },\n dominant_resource: {\n sort(item) {\n return item.dominantResource;\n },\n caption: 'Dom. res.',\n title: 'Dominant Resource',\n align: 'left',\n },\n min_share: {\n caption: 'Guarantee',\n title: 'Effective dominant strong guarantee share',\n sort(item) {\n return item.minShareRatio;\n },\n align: 'right',\n },\n fair_share: {\n sort: true,\n title: 'Dominant fair share',\n align: 'right',\n get(item) {\n return item.fairShareRatio;\n },\n },\n usage: {\n sort: true,\n title: 'Dominant usage share',\n align: 'right',\n get(item) {\n return item.usageRatio;\n },\n },\n demand: {\n sort: true,\n title: 'Dominant demand share',\n align: 'right',\n get(item) {\n return item.demandRatio;\n },\n },\n fair_share_usage: {\n sort: true,\n caption: 'Usage / Fair share',\n align: 'center',\n sortWithUndefined: true,\n get(item) {\n const {fairShareRatio, usageRatio} = item;\n const x = Number(usageRatio) / Number(fairShareRatio);\n if (isNaN(usageRatio) || isNaN(fairShareRatio) || isNaN(x)) {\n return undefined;\n }\n return x;\n },\n },\n actions: {\n caption: '',\n align: 'left',\n },\n};\n","import {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport type {PoolInfo} from '../../store/selectors/scheduling/scheduling-pools';\n\nexport function isAbcPoolName(name?: string) {\n return name?.startsWith('abc:');\n}\n\nexport function isTopLevelPool(pool?: PoolInfo) {\n const {parent} = pool || {};\n\n return parent === ROOT_POOL_NAME;\n}\n","import find_ from 'lodash/find';\nimport indexOf_ from 'lodash/indexOf';\nimport map_ from 'lodash/map';\nimport reduce_ from 'lodash/reduce';\n\nimport ypath from '../../common/thor/ypath';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport type {OperationInfo, PoolInfo} from '../../store/selectors/scheduling/scheduling-pools';\nimport {attachTreeLeaves, prepareTree} from '../../common/hammer/tree-list';\n\nfunction getPool(pools: Array<PoolInfo>, name: string) {\n return find_(pools, (pool) => pool.name === name);\n}\n\nexport function prepareTrees(trees: Array<unknown>) {\n return map_(trees, (tree) => ypath.getValue(tree, '')).sort();\n}\n\nexport function prepareCurrentTree(defaultTree: unknown, trees: Array<string>, tree: string) {\n return tree !== '' && trees.indexOf(tree) !== -1\n ? tree\n : ypath.getValue(defaultTree, '') || trees[0];\n}\n\nexport function preparePools(\n pools: Record<string, PoolInfo>,\n operations: Record<string, OperationInfo>,\n) {\n const treeNodesMap = prepareTree<PoolInfo, OperationInfo>(pools, (entry: PoolInfo) =>\n ypath.getValue(entry, '/parent'),\n );\n\n attachTreeLeaves(treeNodesMap, operations, (operation: OperationInfo) =>\n ypath.getValue(operation, '/pool'),\n );\n\n return map_(treeNodesMap);\n}\n\nexport function computePathItems(pools: Array<PoolInfo>, name: string) {\n let pool: PoolInfo | undefined =\n getPool(pools, name) || ({parent: ROOT_POOL_NAME, name} as PoolInfo);\n const pathItems = [];\n\n // Unknown pool or dynamically created pool\n while (pool) {\n pathItems.unshift(pool.name);\n\n pool = getPool(pools, pool.parent);\n }\n\n return pathItems;\n}\n\nexport function computePoolPath(pool: PoolInfo, pools: Array<PoolInfo>) {\n const partitions = [pool.name];\n let parent: string | undefined = pool.parent;\n\n while (parent && parent !== ROOT_POOL_NAME) {\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n const parentPool = find_(pools, (item) => item.name === parent);\n partitions.unshift(parentPool?.name!);\n parent = parentPool?.parent;\n }\n\n return partitions.join('/');\n}\n\n/* eslint-disable prefer-const */\nexport function flattenAttributes(obj: any) {\n const toReturn: any = {};\n const object = ypath.getValue(obj);\n\n for (let i in object) {\n if (!Object.hasOwnProperty.call(object, i)) {\n continue;\n }\n\n const innerObject = ypath.getValue(object[i]);\n if (\n typeof innerObject === 'object' &&\n !Object.is(innerObject, null) &&\n Object.keys(innerObject).length > 0\n ) {\n toReturn[i] = object[i];\n\n const flatObject = flattenAttributes(object[i]);\n for (let x in flatObject) {\n if (!Object.hasOwnProperty.call(flatObject, x)) {\n continue;\n }\n\n toReturn[x] = flatObject[x];\n }\n } else {\n toReturn[i] = object[i];\n }\n }\n\n return toReturn;\n}\n\nfunction getResourceLimit(pool: PoolInfo | undefined, limitKey: string): number | '' {\n const value = Number(ypath.getValue(pool, `/cypressAttributes/resource_limits/${limitKey}`));\n return isNaN(value) ? '' : value;\n}\n\nfunction prepareValueDetails(pool: PoolInfo | undefined, path: string) {\n if (!pool) {\n return {};\n }\n\n const value = Number(ypath.getValue(pool, path));\n const childrenSum = prepareMinGuaranteed(pool, path);\n\n return {\n value: isNaN(value) ? undefined : value,\n childrenSum: isNaN(childrenSum!) ? undefined : childrenSum,\n };\n}\n\nfunction prepareMinGuaranteed(pool?: PoolInfo, path = '') {\n const res = reduce_(\n pool?.children,\n (sum, item) => {\n const tmp = Number(ypath.getValue(item, path) || 0);\n return isNaN(tmp) ? sum : tmp + firstValidNumber(sum, 0)!;\n },\n NaN,\n );\n return isNaN(res) ? undefined : res;\n}\n\nfunction firstValidNumber(...args: number[]) {\n for (let i = 0; i < args.length; ++i) {\n if (!isNaN(args[i])) {\n return args[i];\n }\n }\n return undefined;\n}\n\nexport const INTEGRAL_GUARANTEES_PREFIX = 'integral_guarantees/';\n\nexport const POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR = {\n guaranteeType: INTEGRAL_GUARANTEES_PREFIX + 'guarantee_type',\n burstCpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/cpu',\n burstRam: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/memory',\n burstGpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/gpu',\n flowCpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/cpu',\n flowRam: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/memory',\n flowGpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/gpu',\n};\n\nexport const POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE = {\n cpuStrong: 'strong_guarantee_resources/cpu',\n gpuStrong: 'strong_guarantee_resources/gpu',\n memoryStrong: 'strong_guarantee_resources/memory',\n //userSlotsStrong: 'strong_guarantee_resources/user_slots',\n};\n\nexport const POOL_GENERAL_TYPE_TO_ATTRIBUTE = {\n maxOperationCount: 'max_operation_count',\n maxRunningOperationCount: 'max_running_operation_count',\n};\n\nexport const POOL_RESOURCE_TYPE_TO_ATTRIBUTE = {\n ...POOL_GENERAL_TYPE_TO_ATTRIBUTE,\n ...POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE,\n ...POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR,\n};\n\nexport type PoolStrongResourceType = keyof typeof POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE;\nexport type PoolIntegralResourceType = keyof typeof POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR;\nexport type PoolGeneralResourceType = keyof typeof POOL_GENERAL_TYPE_TO_ATTRIBUTE;\nexport type PoolResourceType = keyof typeof POOL_RESOURCE_TYPE_TO_ATTRIBUTE;\n\nexport function getPoolResourceInfo(pool: PoolInfo, type: PoolResourceType) {\n const path = '/cypressAttributes/' + POOL_RESOURCE_TYPE_TO_ATTRIBUTE[type];\n return prepareValueDetails(pool, path);\n}\n\nexport interface InitialPoolResourceInfo {\n limit?: number;\n source?: string;\n}\n\nexport function getPoolResourceInitialValue(\n pool: PoolInfo | undefined,\n type: PoolResourceType,\n allowSource: boolean,\n): InitialPoolResourceInfo {\n if (!pool) {\n return {};\n }\n const {value} = getPoolResourceInfo(pool, type);\n return {\n limit: value,\n source: allowSource ? pool.parent : undefined,\n };\n}\n\nexport function getInitialValues(editItem: PoolInfo | undefined, allowedSources: Array<string>) {\n const slug = ypath.getValue(editItem, '/abc/slug');\n\n const allowSource = -1 !== indexOf_(allowedSources, editItem?.parent);\n\n return {\n general: {\n name: editItem?.name,\n abcService: slug\n ? {\n key: slug,\n value: slug,\n title: ypath.getValue(editItem, '/abc/name'),\n }\n : undefined,\n parent: editItem?.parent,\n mode: editItem?.mode,\n weight: ypath.getNumber(editItem, '/cypressAttributes/weight'),\n maxOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxOperationCount', allowSource),\n {source: undefined},\n ),\n maxRunningOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxRunningOperationCount', allowSource),\n {source: undefined},\n ),\n },\n resourceGuarantee: {\n cpuStrong: getPoolResourceInitialValue(editItem, 'cpuStrong', allowSource),\n gpuStrong: getPoolResourceInitialValue(editItem, 'gpuStrong', allowSource),\n memoryStrong: getPoolResourceInitialValue(editItem, 'memoryStrong', allowSource),\n //userSlotsStrong: getPoolResourceInitialValue(editItem, 'userSlotsStrong', allowSource),\n },\n integralGuarantee: {\n guaranteeType:\n ypath.getValue(\n editItem,\n `/cypressAttributes/${POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR.guaranteeType}`,\n ) || 'none',\n burstCpu: getPoolResourceInitialValue(editItem, 'burstCpu', allowSource),\n burstRam: getPoolResourceInitialValue(editItem, 'burstRam', allowSource),\n burstGpu: getPoolResourceInitialValue(editItem, 'burstGpu', allowSource),\n flowCpu: getPoolResourceInitialValue(editItem, 'flowCpu', allowSource),\n flowRam: getPoolResourceInitialValue(editItem, 'flowRam', allowSource),\n flowGpu: getPoolResourceInitialValue(editItem, 'flowGpu', allowSource),\n },\n resourceLimits: {\n cpu: getResourceLimit(editItem, 'cpu'),\n gpu: getResourceLimit(editItem, 'gpu'),\n memory: getResourceLimit(editItem, 'memory'),\n userSlots: getResourceLimit(editItem, 'user_slots'),\n },\n otherSettings: {\n forbidImmediateOperations: ypath.getBoolean(editItem, '/forbidImmediateOperations'),\n fifoSortParams: ypath.getValue(editItem, '/fifoSortParams'),\n createEphemeralSubpools: ypath.getBoolean(editItem, '/createEphemeralSubpools'),\n },\n };\n}\n"],"names":["renderText","text","settings","arguments","length","undefined","className","block","mix","elem","_objectSpread","mods","textProps","asHTML","props","dangerouslySetInnerHTML","__html","children","unipika","decode","String","prepareTextProps","title","_jsx","printColumnAsTimeDurationWithMs","item","columnName","column","this","getColumn","hammer","format","get","printColumnAsReadableField","printColumnAsTime","value","ColumnAsTime","_ref","printColumnAsError","error","_typeof","Link","theme","onClick","showErrorPopup","hideOopsMsg","NO_VALUE","asNumber","__default__","_templates","add","templateId","templates","Object","keys","reduce","newTemplates","key","wrapRenderMethods","SchedulingOperationsLoader","loading","useSelector","getSchedulingOperationsLoadingStatus","Loader","visible","React","getTransaction","state","navigation","transaction","getAttributes","attributes","getAttributesWithTypes","attributesWithTypes","getLoadState","loadState","getError","getRawPath","path","getIdmSupport","isIdmSupported","getType","createSelector","type","getPath","getNavigationDefaultPath","rawPath","defaultPath","getAttributesPath","navigationPath","isNavigationFinalLoadState","isFinalLoadingStatus","getParsedPath","ypath","create","ex","console","getActualPath","checkIsTrash","startsWith","getSchedulingAbcFilter","scheduling","abcServiceFilter","getSchedulingAttributesToFilter","attributesToFilter","getSchedulingAttributesToFilterParams","attributesToFilterParams","schedulingOverviewHasFilter","abcFilter","id","getSchedulingFilteredPoolNames","getSchedulingPoolsMapByName","attrsToFilter","loadedPools","res","reduce_","acc","attrs","_attrs$abc","abc","Set","forEach_","_toConsumableArray","poolName","name","_item","parent","getExpandedPoolCypressData","expandedPools","flattenCypressData","getSchedulingOperations","rawOperations","getExpandedPoolsTree","expandedPoolsTree","getSchedulingOperationsError","getSchedulingOperationsExpandedPools","getExpandedPoolsLoadAll","loadAll","loaded","RESOURCE_LIMIT_MAPPER","user_memory","preparePoolChildResource","data","treeResources","resource","ROOT_POOL_NAME","resources","guaranteed","usage","min","demand","limitResource","limit","cypressAttributes","detailed","updatePoolChild","cypressData","_data$leaves","_initedBy","mode","getValue","leaves","map_","leaf","child_pool_count","i","push","concat","incomplete","pool_operation_count","NaN","emptyOp","operationCount","maxOperationCount","maxOperationCountEdited","runningOperationCount","maxRunningOperationCount","maxRunningOperationCountEdited","starvation_status","weight","weightEdited","minShareRatio","maxShareRatio","fairShareRatio","fifoIndex","usageRatio","demandRatio","isEphemeral","getBoolean","integralType","userDefinedBurstCPU","burstCPU","userDefinedFlowCPU","flowCPU","userDefinedFlowGPU","flowGPU","accumulated","accumulatedCpu","burstDuration","fifoSortParams","param","forbidImmediateOperations","createEphemeralSubpools","dominantResource","e","appendInnerErrors","message","getPoolsRaw","rawPools","getSchedulingTreeOperations","tree","EMPTY_OBJECT","getOperationsFiltered","operationId","pool","getPoolsPrepared","getCluster","cluster","isEmpty_","RumWrapper","RumMeasureTypes","SCHEDULING","wrap","preparedPools","preparePools","pools","getSchedulingPoolsExtraInfo","poolsMap","root","calcChildrenIntegrals","dst","childrenBurstCPU","childrenFlowCPU","itemExtraInfo","getPools","extras","itemExtra","assign","getResourcesText","resourceUsage","resourceLimit","getNetworkResourceText","getMemoryResourceText","getDefaultResourceText","getResourceProgressValue","prepareResources","resourceLimits","Number","progress","getResourceProgress","getPoolsImpl","getSchedulingIsInitialLoading","_state$scheduling$sch","_state$scheduling$exp","getExpandedPoolsIsInitialLoading","getTreeResources","getPoolChildrenFilter","poolChildrenFilter","getSchedulingTreeState","treeState","getTree","getPool","getSchedulingEditItem","editItem","getPoolsNames","_v","sort","DETAILS_CONTENT_MODES","cpu","memory","gpu","user_slots","operations","integral","getContentMode","contentMode","getIsRoot","getTreesSelectItems","trees","getPoolsSelectItems","getCurrentPool","find_","getPoolIsEphemeral","currentPool","getCurrentPoolChildren","getCurrentPoolOperations","getResources","getFilteredTree","treeRoot","visiblePools","treeList","filterTree","has","getTableItems","tables","SCHEDULING_POOL_TREE_TABLE_ID","filteredTree","sortState","sortedTree","sortTree","poolsTableItems","flattenTree","getSchedulingOverviewMaxDepth","items","allExpanded","expandedPoolsMap","_ref$level","level","size","getPoolChildrenData","getFilteredPoolChildren","poolChildrenData","filter","input","factors","getSortedPoolChildren","SCHEDULING_POOL_CHILDREN_TABLE_ID","filteredPoolChildren","poolChildrenSortState","utils","childTableItems","addGetParams","groupBy","asc","getPollChildrenTableItems","sortedPoolChildren","isChildPool","CLUSTERS_WITHOUT_POOL_ACL","isPoolAclAllowed","indexOf","getCurrentPoolPath","calculatePoolPath","prefix","current","_loop","tmp","_ref3","pathStr","reverse","join","getSchedulingTopPoolOfEditItem","mapOfPools","isAbcPoolName","isTopLevelPool","getSchedulingSourcesOfEditItem","topPool","visitTreeItems","isNeedToSkipChildren","getSchedulingSourcesOfEditItemSkipParent","sources","filter_","prepareDetailedColumn","_item$resources","caption","align","prepareLimitColumn","_item$resources2","sortWithUndefined","prepareMinResourcesColumn","_item$resources3","prepareAbsGuaranteedColumn","_item$resources4","prepareRelGuaranteedColumn","prepareAbsDemandColumn","_item$resources5","prepareAbsUsageColumn","_item$resources6","prepareRelUsageColumn","prepareGuaranteedUsageColumn","captionTail","FI","min_share","max_share","fair_share","fair_share_usage","dominant_resource","resource_detailed_cpu","resource_detailed_memory","resource_detailed_gpu","resource_detailed_user_slots","resource_limit_cpu","resource_limit_memory","resource_limit_gpu","resource_limit_user_slots","min_resources_cpu","min_resources_memory","min_resources_gpu","min_resources_user_slots","abs_guaranteed_cpu","abs_guaranteed_memory","abs_guaranteed_gpu","abs_guaranteed_user_slots","rel_guaranteed_cpu","rel_guaranteed_memory","rel_guaranteed_gpu","rel_guaranteed_user_slots","abs_usage_cpu","abs_usage_memory","abs_usage_gpu","abs_usage_user_slots","abs_demand_cpu","abs_demand_memory","abs_demand_gpu","abs_demand_user_slots","rel_usage_cpu","rel_usage_memory","rel_usage_gpu","rel_usage_user_slots","guaranteed_usage_cpu","guaranteed_usage_memory","guaranteed_usage_gpu","guaranteed_usage_user_slots","operation_overview","operation_count","max_operation_count","operation_progress","running_operation_count","max_running_operation_count","running_operation_progress","integral_type","burst_cpu","isNaN","flow_cpu","children_burst_cpu","children_flow_cpu","accumulated_cpu","burst_duration","actions","x","prepareTrees","prepareCurrentTree","defaultTree","treeNodesMap","prepareTree","entry","attachTreeLeaves","operation","computePoolPath","partitions","parentPool","unshift","flattenAttributes","obj","toReturn","object","hasOwnProperty","call","innerObject","is","flatObject","getResourceLimit","limitKey","INTEGRAL_GUARANTEES_PREFIX","POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR","guaranteeType","burstCpu","burstRam","burstGpu","flowCpu","flowRam","flowGpu","POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE","cpuStrong","gpuStrong","memoryStrong","POOL_GENERAL_TYPE_TO_ATTRIBUTE","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","getPoolResourceInfo","childrenSum","sum","_len","args","Array","_key","firstValidNumber","prepareMinGuaranteed","prepareValueDetails","getPoolResourceInitialValue","allowSource","source","getInitialValues","allowedSources","slug","indexOf_","general","abcService","resourceGuarantee","integralGuarantee","userSlots","otherSettings"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[3543],{70436:(e,t,n)=>{n.d(t,{O:()=>v,A:()=>A});var r=n(40319),a=n(9736),o=n(29121),s=n(12937),i=n(10785),c=n(26718),u=n(77810),l=n(76872),d=n(69835),f=n(60620),m=n(64922),p=(0,l.A)("collapsible-section"),h=(0,l.A)("elements-heading"),v=function(e){(0,i.A)(n,e);var t=(0,c.A)(n);function n(){var e;(0,o.A)(this,n);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return(e=t.call.apply(t,[this].concat(a))).toggle=function(){(0,e.props.onToggle)(!e.props.collapsed)},e}return(0,s.A)(n,[{key:"render",value:function(){var e=this.props,t=e.name,n=e.children,r=e.size,a=e.overview,o=e.className,s=e.headingClassName,i=e.collapsed,c=e.marginDirection,u=e.togglerRightPadding;return(0,m.jsx)(d.A,{children:(0,m.jsxs)("div",{className:p({margin:c},o),children:[(0,m.jsxs)("div",{className:h({size:r,overview:"yes"},s),children:[(0,m.jsxs)("span",{className:h("heading",{clickable:"yes"},p("title")),onClick:this.toggle,children:[t,(0,m.jsx)("a",{children:(0,m.jsx)(f.A,{className:p("toggler",{"right-padding":u}),awesome:i?"angle-down":"angle-up"})})]}),a]}),!i&&(0,m.jsx)(d.A,{children:n})]})})}}]),n}(u.Component);function A(e){var t=e.onToggle,n=u.useState(e.collapsed),o=(0,a.A)(n,2),s=o[0],i=o[1],c=u.useCallback((function(e){i(e),t&&t(e)}),[i,t]);return(0,m.jsx)(v,(0,r.A)((0,r.A)({},e),{},{onToggle:c,collapsed:s}))}v.defaultProps={size:"m",collapsed:!1,marginDirection:"top"}},49133:(e,t,n)=>{n.d(t,{A:()=>h});var r=n(40319),a=n(29121),o=n(12937),s=n(10785),i=n(26718),c=n(77810),u=n(76872),l=n(17036),d=n(92736),f=(n(71801),n(64922)),m=function(e){(0,s.A)(n,e);var t=(0,i.A)(n);function n(e){var r;return(0,a.A)(this,n),(r=t.call(this,e)).state={},r}return(0,o.A)(n,[{key:"renderRow",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=this.props,a=r.css,o=r.itemHeight,s=r.templates,i=r.itemMods,c=r.selectedIndex,u=r.computeKey,d=r.cssHover,m=this.state,p=m.columnSet,h=m.columnItems,v=c===t,A="function"==typeof u?u(e):n;return(0,f.jsx)(l.A,{columnSet:p,columnItems:h,item:e,itemHeight:o,css:a,templates:s,selected:v,index:t,itemMods:i,cssHover:d},A)}},{key:"render",value:function(){var e=(0,u.A)(d.R9)("footer"),t=this.props.footer;return(0,f.jsx)("tfoot",{className:e,children:this.renderRow(t,0)})}}],[{key:"getDerivedStateFromProps",value:function(e){var t=e.columns,n=(0,d.PM)(t);return{columnItems:n.items,columnSet:n.set}}}]),n}(c.Component);m.defaultProps={templates:{},cssHover:!1};var p=n(53332);const h=function(e){var t;return t=function(t){(0,s.A)(l,t);var n=(0,i.A)(l);function l(){return(0,a.A)(this,l),n.apply(this,arguments)}return(0,o.A)(l,[{key:"renderStickyFooter",value:function(){var e=(0,u.A)("elements-table-wrapper")({sticky:"bottom"}),t=this.props.footer;return(0,f.jsx)("div",{className:e,children:(0,f.jsx)("table",{className:(0,d.xV)(this.props),children:(0,f.jsx)(m,(0,r.A)((0,r.A)({},this.props),{},{footer:t}))})})}},{key:"render",value:function(){return(0,f.jsxs)(c.Fragment,{children:[(0,f.jsx)(e,(0,r.A)({},this.props)),this.props.footer&&this.renderStickyFooter()]})}}]),l}(c.Component),t.displayName="WithStickyFooter(".concat((0,p.Mn)(e),")"),t.defaultProps={size:"m"},t}},41652:(e,t,n)=>{n.d(t,{A:()=>g});var r=n(40319),a=n(29121),o=n(12937),s=n(10785),i=n(26718),c=n(77810),u=n(15647),l=n(5992),d=n(76872),f=n(89067),m=n(33951),p=n(53332),h=n(92736),v=n(26264),A=(n(71801),n(64922)),x={toggleColumnSortOrder:m.z};const g=(0,l.Zz)((0,u.Ng)((function(e){return{sortState:e.tables}}),x),(function(e){var t;return t=function(t){(0,s.A)(u,t);var n=(0,i.A)(u);function u(){return(0,a.A)(this,u),n.apply(this,arguments)}return(0,o.A)(u,[{key:"renderStickyHead",value:function(){var e=this.props.top,t=(0,d.A)("elements-table-wrapper")({sticky:"top"});return(0,A.jsx)("div",{className:t,style:{top:e},children:(0,A.jsx)("table",{className:(0,h.xV)(this.props),children:(0,A.jsx)(f.A,(0,r.A)({},this.props))})})}},{key:"render",value:function(){return(0,A.jsxs)(c.Fragment,{children:[this.renderStickyHead(),(0,A.jsx)(e,(0,r.A)({},this.props))]})}}]),u}(c.Component),t.displayName="WithStickyHead(".concat((0,p.Mn)(e),")"),t.defaultProps={templates:{},size:"m",theme:"bordered",padded:!1,striped:!0,top:v.uF},t}))},14391:(e,t,n)=>{n.d(t,{A:()=>h});var r=n(29121),a=n(12937),o=n(10785),s=n(26718),i=n(77810),c=n(76872),u=n(65692),l=n(60620),d=n(39566),f=n(2211),m=n(64922),p=(0,c.A)("elements-pagination"),h=function(e){(0,o.A)(n,e);var t=(0,s.A)(n);function n(){return(0,r.A)(this,n),t.apply(this,arguments)}return(0,a.A)(n,[{key:"renderComponent",value:function(e,t){var n=t.handler,r="boolean"==typeof t.disabled&&t.disabled,a=this.props,o=a.size,s=a.tooltip,i=[{keys:t.hotkey,scope:t.hotkeyScope,handler:t.hotkeyHandler}];return(0,m.jsxs)("span",{title:s,children:[(0,m.jsx)(f.A,{size:o,onClick:n,disabled:r,className:p("control",{name:e}),title:{first:"First page",previous:"Previous page",next:"Next page",last:"Last page"}[e],pin:{first:"round-brick",previous:"clear-brick",next:"brick-clear",last:"brick-round"}[e],children:(0,m.jsx)(l.A,{awesome:{first:"angle-double-left",previous:"angle-left",next:"angle-right",last:"angle-double-right"}[e]})}),void 0!==t.hotkeyHandler&&(0,m.jsx)(d.A,{settings:i})]})}},{key:"renderInput",value:function(){var e=this.props,t=e.showInput,n=e.inputValue,r=e.onChange,a=e.size;return t?(0,m.jsx)(u.k,{qa:"yt-pagination_input",size:a,type:"text",value:n,onUpdate:r,pin:"clear-clear"}):null}},{key:"render",value:function(){var e=this.props,t=e.first,n=e.previous,r=e.next,a=e.last,o=e.className;return(0,m.jsxs)("div",{className:p(null,o),children:[this.renderComponent("first",t),this.renderComponent("previous",n),this.renderInput(),this.renderComponent("next",r),this.renderComponent("last",a)]})}}]),n}(i.Component);h.defaultProps={size:"m",showInput:!1}},98364:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(77810),a=n(14391),o=n(64922);function s(e){var t=e.value,n=void 0===t?NaN:t,s=e.min,i=void 0===s?NaN:s,c=e.max,u=void 0===c?NaN:c,l=e.onChange,d=e.disabled,f=e.step,m=void 0===f?1:f,p=e.className,h=isNaN(n)||isNaN(i)?0:n-i,v=isNaN(n)||isNaN(u)?0:u-n,A=r.useCallback((function(){l(i)}),[i,l]),x=r.useCallback((function(){var e=n-m;l(e<i?i:e)}),[i,n,m,l]),g=r.useCallback((function(){var e=n+m;l(e>u?u:e)}),[u,n,m,l]),y=r.useCallback((function(){l(u)}),[u,l]);return(0,o.jsx)(a.A,{className:p,first:{handler:A,disabled:0===h||d},previous:{handler:x,disabled:0===h||d},next:{handler:g,disabled:0===v||d},last:{handler:y,disabled:0===v||d}})}const i=r.memo(s)},51856:(e,t,n)=>{n.d(t,{A:()=>m});var r=n(40319),a=n(9736),o=n(18801),s=n(77810),i=n(31680),c=n.n(i),u=n(65692),l=n(64922),d=["debounce","onUpdate","onBlur","value","onEnterKeyDown","onKeyDown"];function f(e){var t=e.debounce,n=void 0===t?400:t,i=e.onUpdate,f=void 0===i?function(){}:i,m=e.onBlur,p=e.value,h=e.onEnterKeyDown,v=e.onKeyDown,A=(0,o.A)(e,d),x=s.useState(),g=(0,a.A)(x,2),y=g[0],w=g[1],j=s.useMemo((function(){return c()(f,n)}),[n,f]),b=s.useCallback((function(e){w(e),j(e)}),[j,w]),C=s.useCallback((function(e){v&&v(e),"Enter"===e.key&&h&&h(e)}),[h,v]),N=s.useCallback((function(e){w(void 0),m&&m(e)}),[w,m]);return(0,l.jsx)(u.k,(0,r.A)((0,r.A)({onUpdate:b},A),{},{value:void 0===y?p:y,onBlur:N,onKeyDown:C}))}const m=s.memo(f)},41007:(e,t,n)=>{n.d(t,{A:()=>u}),n(77810);var r=n(76872),a=n(85137),o=n(60620),s=n(34380),i=n(64922),c=(0,r.A)("yt-warning-icon");function u(e){var t=e.className,n=e.hoverContent,r=e.children,u=e.color;return(0,i.jsx)("span",{className:c(null,t),children:(0,i.jsxs)(s.m,{className:c("tooltip"),content:n,children:[(0,i.jsx)(o.A,{className:c("icon",{color:u}),awesome:"exclamation-triangle"}),r&&(0,i.jsx)(a.E,{variant:"inherit",color:u,children:r})]})})}},15672:(e,t,n)=>{n.d(t,{t1:()=>r.t}),n(40319),n(77810);var r=n(73990);n(64922),r.S},59578:(e,t,n)=>{n.d(t,{Qw:()=>m,dF:()=>d,jx:()=>f});var r=n(77810),a=n(15647),o=n(80676),s=n.n(o),i=n(88144),c=n.n(i),u=n(27497),l=n(53246);function d(){var e=(0,a.wA)();r.useEffect((function(){e((0,l.uU)())}),[]);var t=(0,a.d4)(u.mz);return{getFiltered:r.useCallback((function(e){var n=s()(t,e,(function(t){return t.substr(0,e.length)})),r=c()(t,e,(function(t){return t.substr(0,e.length)}));return t.slice(n,r)}),[t]),allNames:t}}function f(){var e=(0,a.wA)();r.useEffect((function(){e((0,l.qR)())}),[])}function m(e){var t=e.children;return f(),null!=t?t:null}},94103:(e,t,n)=>{n.r(t),n.d(t,{Accounts:()=>Mr,AccountsTopRowContent:()=>ra});var r=n(9736),a=n(40319),o=n(68175),s=n(29121),i=n(12937),c=n(10785),u=n(26718),l=n(77810),d=n(76872),f=n(15647),m=n(75414),p=n.n(m),h=n(64965),v=n(83611),A=n(26264),x=n(48109),g=n(10352),y=n(29730),w=n(53332),j=n(35441),b=n(85149),C=n(73502),N=n(64922);function k(e){var t=e.hint;return(0,N.jsx)(C.R,{hint:t,warning:"You don't have any selected accounts"})}var _=n(27497),T=n(99526),S=n(7787);function E(){var e=(0,f.d4)(_.dB),t=(0,f.d4)(T.yq),n=(0,f.d4)(T.ut),r=(0,f.d4)(_.O4);if(!t)return(0,N.jsx)(k,{hint:"Choose an account to build a forecast"});var a=S.Ay.getStatisticsComponentForAccount();return(0,N.jsx)("div",{className:"elements-section",children:(0,N.jsx)(a,{cluster:e,account:t,accountSubtreeAllNames:n,theme:r})})}const M=l.memo(E);var P=n(22843),D=n(91861),R=n(7452);const F=(0,f.Ng)((function(e){return{activeAccount:(0,T.yq)(e)}}),{fetchAccounts:P.Tq,loadUsers:D.Ti})((function(e){var t=e.activeAccount;return t?(0,N.jsx)(R.vA,{path:t}):(0,N.jsx)(k,{hint:"Choose an account to display its ACL"})}));var I=n(69835);function O(e){var t=e.component,n=(0,f.d4)(T.yq),r=(0,f.d4)(_.dB);return n?(0,N.jsx)(I.A,{children:(0,N.jsx)(t,{account:n,cluster:r})}):(0,N.jsx)(k,{hint:"Please choose one to display charts"})}const q=l.memo(O);var L=n(27528),z=n.n(L),B=n(92876),V=n.n(B),U=n(29228),Y=n(41655),H=n.n(Y),W=n(64772),G=n(18801),K=n(96843),$=n.n(K),Q=n(31470),Z=n.n(Q),X=n(55682),J=n(18472),ee=n(11645),te=n(29746),ne=n(49214),re=n.n(ne),ae=n(24316),oe={approximate_row_count:"~Row count",master_memory:"Master mem"},se="medium:";function ie(e,t){var n=oe[e];if(n)return n;var r=!t&&e.startsWith(se)?e.substr(se.length):e;return W.A.Readable(r)}var ce=function(e){return e.accounts.usage.snapshots.snapshot_timestamps},ue=function(e){return e.accounts.usage.filters.currentSnapshot},le=function(e){return e.accounts.usage.filters.treePath},de=function(e){return e.accounts.usage.filters.sortState},fe=function(e){return e.accounts.usage.filters.viewType},me=function(e){return e.accounts.usage.filters.pathFilter},pe=function(e){return e.accounts.usage.filters.ownerFilter},he=function(e){return e.accounts.usage.filters.dateRange},ve=function(e){return e.accounts.usage.filters.dateRangeType},Ae=function(e){return e.accounts.usage.filters.diffFromSnapshot},xe=function(e){return e.accounts.usage.filters.diffToSnapshot},ge=function(e){return e.accounts.usage.list.requestParams},ye=function(e){return e.accounts.usage.list.loading},we=function(e){return e.accounts.usage.list.loaded},je=function(e){return e.accounts.usage.list.error},be=function(e){var t;return(null===(t=e.accounts.usage.list.response)||void 0===t?void 0:t.items)||[]},Ce=function(e){var t;return(null===(t=e.accounts.usage.list.response)||void 0===t?void 0:t.mediums)||[]},Ne=function(e){return e.accounts.usage.tree.requestParams},ke=function(e){return e.accounts.usage.tree.loading},_e=function(e){return e.accounts.usage.tree.loaded},Te=function(e){return e.accounts.usage.tree.error},Se=function(e){var t;return(null===(t=e.accounts.usage.tree.response)||void 0===t?void 0:t.items)||[]},Ee=function(e){var t;return(null===(t=e.accounts.usage.tree.response)||void 0===t?void 0:t.mediums)||[]},Me=function(e){return e.accounts.usage.tree.base_path},Pe=function(e){return e.accounts.usage.listDiff.requestParams},De=function(e){return e.accounts.usage.listDiff.loading},Re=function(e){return e.accounts.usage.listDiff.loaded},Fe=function(e){return e.accounts.usage.listDiff.error},Ie=function(e){var t;return(null===(t=e.accounts.usage.listDiff.response)||void 0===t?void 0:t.items)||[]},Oe=function(e){var t;return(null===(t=e.accounts.usage.listDiff.response)||void 0===t?void 0:t.mediums)||[]},qe=function(e){return e.accounts.usage.treeDiff.requestParams},Le=function(e){return e.accounts.usage.treeDiff.loading},ze=function(e){return e.accounts.usage.treeDiff.loaded},Be=function(e){return e.accounts.usage.treeDiff.error},Ve=function(e){var t;return(null===(t=e.accounts.usage.treeDiff.response)||void 0===t?void 0:t.items)||[]},Ue=function(e){var t;return(null===(t=e.accounts.usage.treeDiff.response)||void 0===t?void 0:t.mediums)||[]},Ye=(0,J.Mz)([fe],(function(e){return null==e?void 0:e.endsWith("-diff")})),He=(0,J.Mz)([fe,Me,function(e){return e.accounts.usage.treeDiff.base_path}],(function(e,t,n){var r="tree-diff"===e?n:t;if(!r)return[];var a=new te.Ay.YPath(r,"absolute").fragments||[];return z()(a,(function(e,t){return{value:a.slice(0,t+1).map((function(e){return e.name})).join("/"),item:e.name}}))})),We=(0,J.Mz)([he,ve],(function(e,t){var n=e.from,r=e.to,a=[];return null!==n&&a.push({field:t,value:Math.round(new Date(n).getTime()/1e3),comparison:">="}),null!==r&&a.push({field:t,value:Math.round(new Date(r).getTime()/1e3),comparison:"<="}),a})),Ge=(0,J.Mz)([fe,function(e){var t;return(null===(t=e.accounts.usage.list.response)||void 0===t?void 0:t.row_count)||0},function(e){var t;return(null===(t=e.accounts.usage.tree.response)||void 0===t?void 0:t.row_count)||0},function(e){var t;return(null===(t=e.accounts.usage.listDiff.response)||void 0===t?void 0:t.row_count)||0}],(function(e,t,n,r){var a=t;return"tree"===e?a=n:"list-diff"!==e&&"list-plus-folders-diff"!==e||(a=r),a>0?Math.ceil(a/ee.md):0})),Ke=(0,J.Mz)([function(e){return e.accounts.usage.filters.pageIndex}],(function(e){return Math.max(0,Number(e))})),$e=(0,J.Mz)([de],(function(e){return p()(e,(function(t,n,r){var a=n.column,o=n.order;return a&&o&&(t[a]={order:o,multisortIndex:e.length>1?r+1:void 0}),t}),{})})),Qe=(0,J.Mz)([fe,function(e){var t;return(null===(t=e.accounts.usage.list.response)||void 0===t?void 0:t.fields)||[]},function(e){var t;return(null===(t=e.accounts.usage.tree.response)||void 0===t?void 0:t.fields)||[]},function(e){var t;return(null===(t=e.accounts.usage.listDiff.response)||void 0===t?void 0:t.fields)||[]},function(e){var t;return(null===(t=e.accounts.usage.treeDiff.response)||void 0===t?void 0:t.fields)||[]}],(function(e,t,n,r,a){switch(e){case"list":case"list-plus-folders":return t;case"list-diff":case"list-plus-folders-diff":return r;case"tree":return n;case"tree-diff":return a}return[]})),Ze=["owner","disk_space","medium:default","medium:ssd_blobs","medium:nvme_blobs","chunk_count","node_count","modification_time"],Xe=["owner","disk_space","medium:default","medium:ssd_blobs","medium:nvme_blobs","chunk_count","modification_time"],Je=["owner","disk_space","medium:default","medium:ssd_blobs","medium:nvme_blobs","chunk_count","node_count","modification_time"];function et(e,t){return null!=e&&e.length?e:t}var tt=(0,J.Mz)([fe,ae.P2,ae.lz,ae.aA],(function(e,t,n,r){switch(e){case"list":case"list-diff":return et(n,Xe);case"list-plus-folders":case"list-plus-folders-diff":return et(r,Je);default:return et(t,Ze)}})),nt=(0,J.Mz)([Qe],(function(e){return re()(e,(function(e){return!rt.has(e)}))})),rt=new Set(["type","path","depth","account","medium:cache","direct_child_count"]),at=(0,J.Mz)([nt,tt],(function(e,t){var n=new Set(e);return["type","path"].concat(re()(t,(function(e){return n.has(e)})))})),ot=n(16883);function st(e){var t=Ae(e),n=xe(e);return!t&&!n||t===n?null:{older:{timestamp:t||Date.now()/1e3},newer:{timestamp:n||Date.now()/1e3}}}function it(){return function(e,t){var n=t(),r=st(n);if(r){var o=pt(n),s=(0,a.A)((0,a.A)({},o),{},{timestamps:r});return e({type:x.AQ,data:{requestParams:s}}),X.A.request({method:"POST",url:mt("get-resource-usage-diff"),data:s,withCredentials:!0}).then((function(n){var r=Pe(t());Z()(r,s)&&e({type:x.k5,data:{response:n.data}})})).catch((function(n){var r,a=Pe(t());Z()(a,s)&&e({type:x.Ix,data:{error:(null==n||null===(r=n.response)||void 0===r?void 0:r.data)||n}})}))}}}function ct(){return function(e,t){var n=t(),r=st(n);if(r){var o=pt(n),s=(0,a.A)((0,a.A)({},o),{},{timestamps:r,row_filter:(0,a.A)((0,a.A)({},o.row_filter),{},{base_path:le(n)})});return e({type:x.Y2,data:{requestParams:s}}),X.A.request({method:"POST",url:mt("get-children-and-resource-usage-diff"),data:s,withCredentials:!0}).then((function(n){var r=qe(t());Z()(r,s)&&e({type:x.od,data:{response:n.data,base_path:s.row_filter.base_path}})})).catch((function(n){var r,a=qe(t());Z()(a,s)&&e({type:x.OU,data:{error:(null==n||null===(r=n.response)||void 0===r?void 0:r.data)||n}})}))}}}var ut=n(29081),lt=n(44458),dt=n(57614),ft=["dateRangeType"];function mt(e){return(0,ut.__)()+e}function pt(e){var t=(0,g.yq)(e),n=(0,_.dB)(e),r=de(e),a=me(e),o=pe(e),s=We(e),i=fe(e),c=Object.assign({exclude_map_nodes:"list"===i||"list-diff"===i},o?{owner:o}:void 0,a?{path_regexp:a}:void 0,null!=s&&s.length?{field_filters:s}:void 0);return{account:t,cluster:n,sort_order:p()(r,(function(e,t){var n=t.column,r=t.order;return n&&r&&e.push({field:n,desc:"desc"===r}),e}),[]),row_filter:c,page:{index:Ke(e),size:ee.md}}}function ht(){return function(e,t){var n=t(),r=ue(n),o=pt(n),s=(0,a.A)((0,a.A)({},o),{},{timestamp:r||Date.now()/1e3});return e({type:x.wz,data:{requestParams:s}}),X.A.request({method:"POST",url:mt("get-resource-usage"),data:s,withCredentials:!0}).then((function(n){var r=ge(t());Z()(r,s)&&e({type:x.Yy,data:{response:n.data}})})).catch((function(n){var r,a=ge(t());Z()(a,s)&&e({type:x.m5,data:{error:(null==n||null===(r=n.response)||void 0===r?void 0:r.data)||n}})}))}}function vt(){return function(e,t){var n=t(),r=ue(n),o=pt(n),s=(0,a.A)((0,a.A)({},o),{},{timestamp:r||Date.now()/1e3,row_filter:(0,a.A)((0,a.A)({},o.row_filter),{},{base_path:le(n)})});return e({type:x.yw,data:{requestParams:s}}),X.A.request({method:"POST",url:mt("get-children-and-resource-usage"),data:s,withCredentials:!0}).then((function(n){var r=Ne(t());Z()(r,s)&&e({type:x.sy,data:{response:n.data,base_path:s.row_filter.base_path}})})).catch((function(n){var r,a=Ne(t());Z()(a,s)&&e({type:x.OF,data:{error:(null==n||null===(r=n.response)||void 0===r?void 0:r.data)||n}})}))}}function At(){return function(e,t){switch(fe(t())){case"tree":return e(vt());case"list":case"list-plus-folders":return e(ht());case"list-diff":case"list-plus-folders-diff":return e(it());case"tree-diff":return e(ct())}}}function xt(e){return function(t,n){t({type:x.Rx,data:(0,a.A)({pageIndex:0},e)});var r=e.dateRangeType,o=(0,G.A)(e,ft);if($()(o)&&r){var s=he(n()),i=s.from,c=s.to;if(!i&&!c)return}t(At())}}var gt=function(e){var t=e.cluster,n=e.account,r=e.path;return function(e){return e((0,dt.qf)({title:r,promise:X.A.request({method:"POST",url:mt("get-versioned-resource-usage"),data:{cluster:t,account:n,path:r,timestamp_rounding_policy:"closest"},withCredentials:!0}).then((function(e){return e.data}))}))}},yt=n(33023),wt=n(50074),jt=n(51856),bt=n(60680),Ct=n(98364),Nt=n(60620),kt=n(2211),_t=n(48890),Tt=l.memo(Mt);const St=l.memo(Et);function Et(){var e=l.useState(!1),t=(0,r.A)(e,2),n=t[0],a=t[1],o=l.useCallback((function(){a(!n)}),[n,a]),s=l.useCallback((function(){a(!1)}),[a]);return(0,N.jsxs)(l.Fragment,{children:[(0,N.jsx)(kt.A,{onClick:o,children:"Columns"}),(0,N.jsx)(Tt,{visible:n,onClose:s})]})}function Mt(e){var t=e.visible,n=e.onClose,r=(0,f.wA)(),a=(0,f.d4)(at),o=(0,f.d4)(nt),s=l.useCallback((function(e){var t,a=re()(e,"checked");r((t=z()(a,(function(e){return e.data.caption})),function(e,n){switch(fe(n())){case"list":case"list-diff":e((0,ot.T0)(t));break;case"list-plus-folders":case"list-plus-folders-diff":e((0,ot.Wi)(t));break;default:e((0,ot.rS)(t))}})),n()}),[]),i=l.useMemo((function(){var e=new Set(o),t=a.filter((function(t){return e.has(t)})),n=new Set(t),r=o.filter((function(e){return!n.has(e)}));return z()(t.concat(r),(function(e){return{name:ie(e,!0),checked:n.has(e),data:{caption:e,isMedium:e.startsWith("medium:")}}}))}),[o,a]);return t?(0,N.jsx)(_t.A,{isVisible:!0,onCancel:n,onConfirm:s,items:i,itemRenderer:function(e){var t=e.name,n=e.data,r=n.isMedium,a=n.caption;return r?(0,N.jsxs)("span",{children:[(0,N.jsx)(bt.L1,{children:"Medium: "}),ie(a)]}):t}}):null}var Pt=n(95664),Dt=n(77723),Rt=n(15672),Ft=n(3659);function It(e){var t=e.name;if(!t)return null;if("/"===t)return(0,N.jsx)("span",{children:"/"});var n=te.Ay.YPath.fragmentToYSON(t);try{var r=Ft.A.decode(n);return(0,N.jsx)("span",{dangerouslySetInnerHTML:{__html:r}})}catch(e){return(0,N.jsx)("span",{children:n})}}var Ot=l.memo(It);const qt=function(e){for(var t=e.path,n=e.lastFragmentOnly,r=l.useMemo((function(){if(!t)return[];var e=new te.Ay.YPath(t,"absolute").fragments;return n?e.slice(-1):e}),[t,n]),a=[],o=0;o<r.length;++o){var s=r[o].name;a.push((0,N.jsx)(Ot,{name:s},o)),o<r.length-1&&a.push((0,N.jsx)("span",{children:"/"},"slash_"+o))}return(0,N.jsx)(N.Fragment,{children:a})};var Lt=n(59578),zt=n(13685),Bt=n(13542),Vt=(0,d.A)("account-usage-toolbar");function Ut(){var e=(0,f.wA)(),t=(0,f.d4)(_.dB),n=l.useCallback((function(){e(function(e){return function(t){return t({type:x.jp}),X.A.request({method:"POST",url:mt("list-timestamps"),data:{cluster:e},withCredentials:!0}).then((function(n){t({type:x.t5,data:(0,a.A)((0,a.A)({},n.data),{},{cluster:e})})})).catch((function(n){var r;t({type:x.hC,data:{error:(null==n||null===(r=n.response)||void 0===r?void 0:r.data)||n,cluster:e}})}))}}(t))}),[e,t]);(0,zt.Tt)(n,{timeout:3e5})}var Yt=l.memo(cn),Ht=l.memo(un),Wt=l.memo(ln),Gt=l.memo(dn),Kt=l.memo(fn),$t=l.memo(mn),Qt=l.memo(vn),Zt=l.memo(An),Xt=l.memo(sn);function Jt(){var e=(0,f.d4)(fe),t=(0,f.d4)(Ye);return(0,N.jsx)("div",{children:(0,N.jsx)(yt.M,{className:Vt(),itemsToWrap:[{name:"page",node:(0,N.jsx)($t,{})},{name:"pathFilter",wrapperClassName:Vt("item"),node:(0,N.jsx)(Ht,{}),shrinkable:!0},{name:"ownerFilter",wrapperClassName:Vt("item"),node:(0,N.jsx)(Wt,{}),shrinkable:!0},{name:"dateRangeFilter",wrapperClassName:Vt("item"),node:(0,N.jsx)(Gt,{})},{name:"columns",node:(0,N.jsx)(St,{})},{name:"viewType",node:(0,N.jsx)(Qt,{})},t?{name:"snapshots",wrapperClassName:Vt("item"),growable:!0,node:(0,N.jsx)(Xt,{})}:{name:"snapshotsDiff",wrapperClassName:Vt("item"),growable:!0,node:(0,N.jsx)(Yt,{})}],children:("tree"===e||"tree-diff"===e)&&(0,N.jsx)(yt.M,{itemsToWrap:[{node:(0,N.jsx)(Zt,{})}]})})})}var en="_";function tn(e){return e===en?void 0:Number(e)}function nn(e){return void 0===e?en:String(e)}function rn(){var e=(0,f.d4)(ce);return l.useMemo((function(){var t=z()(V()(e.slice()),(function(e){return{value:nn(e),text:H()(new Date(1e3*e)).format("YYYY-MM-DD HH:mm")}}));return t.splice(0,0,{value:en,text:"Latest"}),t}),[e])}function an(){var e=(0,f.wA)(),t=rn(),n=(0,f.d4)(Ae),r=l.useCallback((function(t){e(xt({diffFromSnapshot:tn(t)}))}),[e]);return(0,N.jsx)(wt.A,{placeholder:"Snapthot...",items:t,value:[nn(n)],onUpdate:function(e){return r(e[0])},width:150})}function on(){var e=(0,f.wA)(),t=rn(),n=(0,f.d4)(xe),r=l.useCallback((function(t){e(xt({diffToSnapshot:tn(t)}))}),[e]);return(0,N.jsx)(wt.A,{placeholder:"Snapthot...",items:t,value:[nn(n)],onUpdate:function(e){return r(e[0])},width:150})}function sn(){return Ut(),(0,N.jsxs)("span",{className:Vt("snapshots"),children:[(0,N.jsx)("span",{className:Vt("spacer")}),(0,N.jsx)("span",{className:Vt("snapshot-label"),children:"From"}),(0,N.jsx)(an,{}),(0,N.jsx)("span",{className:Vt("snapshot-label"),children:"To"}),(0,N.jsx)(on,{})]})}function cn(){var e=(0,f.wA)();Ut();var t=(0,f.d4)(ue),n=rn(),r=l.useCallback((function(t){e(xt({currentSnapshot:tn(t)}))}),[e]);return(0,N.jsxs)("span",{className:Vt("snapshots"),children:[(0,N.jsx)("span",{className:Vt("spacer")}),(0,N.jsx)(bt.W1,{children:"Snapshot "}),(0,N.jsx)(wt.A,{placeholder:"Snapshot...",value:[nn(t)],items:n,onUpdate:function(e){return r(e[0])},width:150})]})}function un(){var e=(0,f.wA)(),t=(0,f.d4)(me),n=l.useCallback((function(t){e(xt({pathFilter:t}))}),[e]);return(0,N.jsx)(jt.A,{debounce:500,value:t,placeholder:"Path regexp...",onUpdate:n})}function ln(){var e=(0,f.wA)(),t=(0,f.d4)(pe),n=l.useCallback((function(t){var n="string"==typeof t?t:t.value;e(xt({ownerFilter:n}))}),[e]),r=(0,Lt.dF)(),a=r.getFiltered,o=r.allNames;return(0,N.jsx)(Dt.A,{text:t,items:o,filter:function(e){return a(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")},apply:n,placeholder:"Owner...",renderItem:function(e){return(0,N.jsx)("span",{className:Vt("owner-item"),children:(0,N.jsx)(Pt.R,{name:"string"==typeof e?e:e.value,noLink:!0})})},popupClassName:Vt("owner-popup")})}function dn(){var e=(0,f.wA)(),t=(0,f.d4)(he),n=t.from,r=t.to,a=(0,f.d4)(ve),o=l.useCallback((function(t){e(xt({dateRange:t}))}),[e]);return(0,N.jsxs)("span",{className:Vt("date-range"),children:[(0,N.jsx)(Rt.t1,{from:n,to:r,min:0,max:Date.now()+864e5,range:!0,allowNullableValues:!0,onUpdate:o,className:Vt("date-range-control"),onError:function(){},placeholder:W.A.Readable(a)+" range...",pin:"round-brick"}),(0,N.jsx)(Kt,{})]})}function fn(){var e=(0,f.wA)(),t=(0,f.d4)(ve),n=l.useCallback((function(t){e(xt({dateRangeType:t}))}),[e]);return(0,N.jsx)(wt.A,{pin:"clear-round",value:[t],onUpdate:function(e){return n(e[0])},items:[{value:"creation_time",text:"Creation"},{value:"modification_time",text:"Modification"}],width:135})}function mn(){var e=(0,f.wA)(),t=(0,f.d4)(Ke),n=(0,f.d4)(Ge),r=l.useCallback((function(t){e(function(e){return function(t){t({type:x.Rx,data:{pageIndex:e}}),t(At())}}(t))}),[e]);return(0,N.jsx)(Ct.A,{value:t,min:0,max:Math.max(0,n-1),onChange:r})}var pn=[{value:"tree",text:"Tree",icon:(0,N.jsx)(Nt.A,{awesome:"folder-tree",face:"solid"})},{value:"list",text:"List",icon:(0,N.jsx)(Nt.A,{awesome:"list"})},{value:"list-plus-folders",text:"List + folders",icon:(0,N.jsx)(Nt.A,{awesome:"folders"})},{value:"tree-diff",text:"Diff: Tree",content:(0,N.jsx)(hn,{title:"Tree"}),icon:(0,N.jsx)(Nt.A,{awesome:"folder-tree",face:"solid"})},{value:"list-diff",text:"Diff: List",content:(0,N.jsx)(hn,{title:"List"}),icon:(0,N.jsx)(Nt.A,{awesome:"list"})},{value:"list-plus-folders-diff",text:"Diff: List + folders",content:(0,N.jsx)(hn,{title:"List + folders"}),icon:(0,N.jsx)(Nt.A,{awesome:"folders"})}];function hn(e){var t=e.title;return(0,N.jsxs)(l.Fragment,{children:[(0,N.jsx)(bt.L1,{children:"Diff: "}),t]})}function vn(){var e=(0,f.wA)(),t=(0,f.d4)(fe),n=l.useCallback((function(t){var n;e((n=t,function(e){e({type:x.Rx,data:{pageIndex:0,viewType:n}}),e((0,ot.vh)(n))}))}),[e]);return(0,N.jsx)(wt.A,{value:t?[t]:[],items:pn,onUpdate:function(e){return n(e[0])},width:"max"})}function An(){var e=(0,f.wA)(),t=(0,f.d4)(He),n=(0,h.W6)(),r=(0,l.useMemo)((function(){return z()(t,(function(e,t){var n=e.item;return(0,N.jsx)(U.y,{href:(0,Bt.RK)("".concat(window.location.pathname,"?path=").concat(e.value)),children:t?(0,N.jsx)(Ot,{name:n}):(0,N.jsx)(Nt.A,{awesome:"folder-tree"})},n)}))}),[t]),a=(0,l.useCallback)((function(){setTimeout((function(){e(At())}),0)}),[e]);return(0,N.jsx)(U.B,{navigate:n.push,onAction:a,showRoot:!0,children:r})}const xn=l.memo(Jt);var gn=n(88314),yn=n.n(gn),wn=n(39760),jn=n.n(wn),bn=n(77318),Cn=n(27222),Nn=n(82060),kn=n(83534),_n=n(34413),Tn=n(38198),Sn=n(36554),En=n(6736),Mn=n(85137),Pn=n(34380),Dn=n(76426),Rn=n(64209),Fn=n(19314),In=n(97536),On=function(e){var t=e.path,n=e.account,r=e.cluster,a=e.onAttributeButtonClick,o=(0,l.useCallback)((function(){a({path:t,account:n,cluster:r,title:t})}),[a,t,n,r]),s=(0,l.useMemo)((function(){return(0,Rn.RK)("/".concat(r,"/").concat(Fn.YW.NAVIGATION),{path:t})}),[r,t]);if(t)return(0,N.jsxs)(En.s,{gap:1,alignItems:"center",children:[(0,N.jsx)(In.A,{view:"flat",withTooltip:!0,tooltipProps:{placement:"bottom-end",content:"Show attributes"},onClick:o,size:"xs"}),(0,N.jsx)(Dn.A,{theme:"secondary",url:s,routed:!0,routedPreserveLocation:!0,children:(0,N.jsx)(Pn.m,{content:(0,N.jsx)(Mn.E,{whiteSpace:"nowrap",children:"Open original path in Navigation"}),placement:"left",children:(0,N.jsx)(Nt.A,{awesome:"folder-tree"})})})]})},qn=n(88786),Ln=n(72679),zn=n(34199),Bn=(0,d.A)("detail-table-cell"),Vn=function(e){return!e||e<0?"":"+"},Un=function(e,t){if(e&&t)return t>0?"plus":"minus"},Yn=function(e){var t=e.value,n=e.additionalValue,r=e.viewType,a=e.formatType,o=n?Number(t)+n:Number(t),s=null==r?void 0:r.endsWith("-diff"),i=Math.sign(o),c="bytes"===a?W.A.Bytes:W.A.Number;return(0,N.jsxs)(En.s,{justifyContent:"center",alignItems:"center",gap:1,className:Bn(),children:[(0,N.jsxs)("span",{className:Bn("value",{diff:Un(Boolean(s),i)}),children:[s&&Vn(i),c(o)]}),Boolean(n)&&(0,N.jsx)(qn.m,{content:"".concat(c(t)," + ").concat(c(n)," (versioned)"),placement:"top",children:(0,N.jsx)("div",{tabIndex:0,className:Bn("alert-icon"),children:(0,N.jsx)(Ln.I,{data:zn.A,size:14})})})]})},Hn={displayIndices:!1,stickyHead:Cn.Ay.MOVING,stickyFooter:Cn.Ay.MOVING,stickyTop:kn.kB,stickyBottom:0,syncHeadOnResize:!0},Wn={displayIndices:!1,stickyHead:Cn.Ay.MOVING,stickyFooter:Cn.Ay.MOVING,stickyTop:kn.e4,stickyBottom:0,syncHeadOnResize:!0},Gn=(0,d.A)("account-usage-details"),Kn=Gn("row");function $n(e){var t=(0,f.wA)(),n=(0,f.d4)($e),r=e.column,a=l.useCallback((function(e,n,r){var a,o;t((a={column:e,order:n},o=r.multisort,function(e,t){var n=de(t()),r=(0,lt.Qu)(n,a,{multisort:o});e({type:x.Rx,data:{sortState:r,pageIndex:0}}),e(At())}))}),[t]),o=n[r]||{},s=o.order,i=o.multisortIndex;return(0,N.jsx)(_n.A,{column:r,title:ie(r),order:s,onSort:a,multisortIndex:i})}var Qn=l.memo(gr);function Zn(){return(0,N.jsxs)("div",{className:Gn("path-header"),children:[(0,N.jsx)($n,{column:"path"}),(0,N.jsx)("div",{className:Gn("path-header-loader"),children:(0,N.jsx)(Xn,{})}),(0,N.jsx)("div",{className:Gn("path-header-page"),children:(0,N.jsx)(Qn,{})})]})}var Xn=l.memo(pr);function Jn(e){var t=(0,f.wA)(),n=(0,f.d4)(Qe),r=(0,f.d4)(at),a=(0,f.d4)(_.dB),o=(0,f.d4)(fe),s=(0,f.d4)(Me),i=(0,l.useCallback)((function(e){t(gt(e))}),[t]),c=l.useMemo((function(){var r=new Map,a="tree"===o||"tree-diff"===o?"":"list"===o||"list-diff"===o?"list":"folders";return r.set("type",{name:"type",header:""===a?null:(0,N.jsx)(Nt.A,{awesome:a}),sortable:!1,render:function(e){var t=e.row,n=t.type,r=t.path;return"deny"===t.acl_status?(0,N.jsx)(Nt.A,{face:"light",awesome:"eye-slash"}):(0,N.jsx)(Nt.A,{awesome:(0,Sn.c5)(r?n:"")})},width:50}),r.set("path",{name:"path",header:(0,N.jsx)(Zn,{}),sortable:!1,render:function(e){var t=e.row.path;return t?(0,N.jsx)(qt,{path:t,lastFragmentOnly:"tree"===o}):(0,N.jsx)(bt.N5,{children:"Permission denied"})},onClick:function(e){var n=e.row;!n.path||"tree-diff"!==o&&"tree"!==o||"map_node"!==n.type||t(xt({treePath:n.path}))},className:Gn("path-cell",{view:o})}),r.set("disk_space",{name:"disk_space",header:(0,N.jsx)($n,{column:"disk_space"}),sortable:!1,render:function(e){return(0,N.jsx)(Yn,{value:e.row.disk_space,additionalValue:e.row["versioned:disk_space"],viewType:o,formatType:"bytes"})},align:"right",width:120}),r.set("master_memory",{name:"Master mem",header:(0,N.jsx)($n,{column:"master_memory"}),sortable:!1,render:function(e){return(0,N.jsx)(Yn,{value:e.row.master_memory,additionalValue:e.row["versioned:master_memory"],viewType:o,formatType:"bytes"})},align:"right",width:120}),r.set("owner",{name:"Owner",header:(0,N.jsx)($n,{column:"owner"}),sortable:!1,render:function(e){return(0,N.jsx)(Pt.R,{name:e.row.owner})},width:120}),jn()(e,(function(e){var t="medium:".concat(e),n="versioned:medium:".concat(t);r.set(t,{name:t,header:(0,N.jsx)($n,{column:t}),sortable:!1,render:function(e){var r=n in e.row?Number(e.row[n]):null;return(0,N.jsx)(Yn,{value:Number(e.row[t]),additionalValue:r,viewType:o,formatType:"bytes"})},align:"right",width:120})})),jn()(n,(function(e){r.has(e)||r.set(e,{name:e,header:(0,N.jsx)($n,{column:e}),sortable:!1,render:function(t){var n=t.row[e],r="versioned:".concat(e),a=r in t.row?Number(t.row[r]):null;return"boolean"==typeof n?void 0===n?W.A.NO_VALUE:yn()(String(n)):e.endsWith("_time")?null==n?W.A.NO_VALUE:W.A.DateTime(n,{format:"full"}):e.endsWith("_count")?(0,N.jsx)(Yn,{value:Number(n),additionalValue:a,viewType:o,formatType:"number"}):void 0},align:"right",width:150})})),r}),[s,o,e,a,n,t]);return l.useMemo((function(){var e=[];return r.forEach((function(t){var n=c.get(t);n&&e.push(n)})),e.push({name:"actions",header:"",sortable:!1,render:function(e){return(0,N.jsx)(On,{path:e.row.path,cluster:a,account:e.row.account,onAttributeButtonClick:i})},width:50}),e}),[i,a,c,r])}var er=6e5;function tr(){var e=(0,f.wA)(),t=(0,f.d4)(ue),n=l.useCallback((function(){e(ht())}),[e]);(0,zt.Tt)(n,{timeout:er,onlyOnce:void 0!==t});var r=(0,f.d4)(be),a=(0,f.d4)(ye),o=(0,f.d4)(we),s=(0,f.d4)(je),i=Jn((0,f.d4)(Ce));return!a&&s?(0,N.jsx)(Nn.A,{error:s}):(0,N.jsx)(bn.Ay,{loading:a,loaded:o,columns:i,data:r,settings:Hn,rowClassName:function(){return Kn},useThemeYT:!0})}function nr(){var e=(0,f.wA)();l.useEffect((function(){e(it())}),[e]);var t=(0,f.d4)(Ie),n=(0,f.d4)(De),r=(0,f.d4)(Re),a=(0,f.d4)(Fe),o=Jn((0,f.d4)(Oe));return!n&&a?(0,N.jsx)(Nn.A,{error:a}):(0,N.jsx)(bn.Ay,{loading:n,loaded:r,columns:o,data:t,settings:Hn,rowClassName:function(){return Kn},useThemeYT:!0})}function rr(){var e=(0,f.wA)(),t=(0,f.d4)(ue),n=l.useCallback((function(){e(vt())}),[e]);(0,zt.Tt)(n,{timeout:er,onlyOnce:void 0!==t});var r=(0,f.d4)(Se),a=(0,f.d4)(ke),o=(0,f.d4)(_e),s=(0,f.d4)(Te),i=Jn((0,f.d4)(Ee));return!a&&s?(0,N.jsx)(Nn.A,{error:s}):(0,N.jsx)(bn.Ay,{loading:a,loaded:o,columns:i,data:r,settings:Wn,rowClassName:function(){return Kn},useThemeYT:!0})}function ar(){var e=(0,f.wA)();l.useEffect((function(){e(ct())}),[e]);var t=(0,f.d4)(Ve),n=(0,f.d4)(Le),r=(0,f.d4)(ze),a=(0,f.d4)(Be),o=Jn((0,f.d4)(Ue));return!n&&a?(0,N.jsx)(Nn.A,{error:a}):(0,N.jsx)(bn.Ay,{loading:n,loaded:r,columns:o,data:t,settings:Wn,rowClassName:function(){return Kn},useThemeYT:!0})}var or=l.memo(tr),sr=l.memo(nr),ir=l.memo(rr),cr=l.memo(ar);function ur(e){var t=e.children,n=(0,f.d4)(Ye),r=(0,f.d4)(Ae),a=(0,f.d4)(xe);return n?!r&&!a||r===a?(0,N.jsx)(C.R,{warning:"You don't have any selected snapshot range",hint:(0,N.jsxs)(l.Fragment,{children:["Please select ",(0,N.jsx)(bt.L1,{children:"From"}),", ",(0,N.jsx)(bt.L1,{children:"To"})," ","snapshots"]})}):(0,N.jsx)(N.Fragment,{children:t}):(0,N.jsx)(N.Fragment,{children:"Unexpected view mode"})}var lr=l.memo(ur);function dr(){var e=(0,f.wA)(),t=(0,f.d4)(fe);l.useEffect((function(){e((function(e,t){var n,r=t(),a=fe(r);if(a)e((0,ot.vh)(a));else{var o=(0,ae.r7)(r);e((n={viewType:o},function(e){e({type:x.Rx,data:n})}))}}))}),[e]);var n="".concat(t," is not implemented");switch(t){case"tree":return(0,N.jsx)(ir,{});case"list-plus-folders":case"list":return(0,N.jsx)(or,{},t);case"list-diff":case"list-plus-folders-diff":n=(0,N.jsx)(sr,{},t);break;case"tree-diff":n=(0,N.jsx)(cr,{})}return t?(0,N.jsx)(lr,{children:n}):null}var fr=l.memo(hr),mr=l.memo(vr);function pr(){switch((0,f.d4)(fe)){case"list":case"list-plus-folders":return(0,N.jsx)(fr,{});case"tree":return(0,N.jsx)(mr,{});case"tree-diff":return(0,N.jsx)(xr,{});case"list-diff":case"list-plus-folders-diff":return(0,N.jsx)(Ar,{})}return null}function hr(){var e=(0,f.d4)(ye);return(0,N.jsx)(Tn.A,{visible:e})}function vr(){var e=(0,f.d4)(ke);return(0,N.jsx)(Tn.A,{visible:e})}function Ar(){var e=(0,f.d4)(De);return(0,N.jsx)(Tn.A,{visible:e})}function xr(){var e=(0,f.d4)(Le);return(0,N.jsx)(Tn.A,{visible:e})}function gr(){var e=(0,f.d4)(Ke),t=(0,f.d4)(Ge);return t>1?(0,N.jsxs)(bt.L1,{children:["Page: ",Number(e)+1," / ",t," "]}):null}const yr=l.memo(dr);var wr=(0,d.A)("accounts");function jr(){var e=(0,f.d4)(g.yq),t=(0,f.d4)(fe);return e?(0,N.jsx)(I.A,{children:(0,N.jsx)(kn.Ay,{className:wr("usage"),doubleHeight:"tree"===t||"tree-diff"===t,toolbar:(0,N.jsx)(xn,{}),content:(0,N.jsx)(yr,{})})}):(0,N.jsx)(C.R,{warning:"You don't have any selected accounts\n",hint:"Please choose one to display charts"})}const br=l.memo(jr);var Cr=n(46357),Nr=n(22636),kr=n(11896),_r=n(94866),Tr=n(62250),Sr=(0,d.A)("accounts"),Er=function(e){(0,c.A)(n,e);var t=(0,u.A)(n);function n(){return(0,s.A)(this,n),t.apply(this,arguments)}return(0,i.A)(n,[{key:"render",value:function(){var e,t,n=this.props,r=n.match,s=n.cluster,i=n.lastVisitedTab,c=n.activeAccount,u=n.allowUsageTab,l=p()(x.yE,(function(e,t){return e[t]={show:Boolean(c)||Boolean(x.Gy[t])},e}),{}),d=l[x.yE.USAGE];d.show=d.show&&Boolean(u);var f=l[x.yE.STATISTICS];f.show=f.show&&Boolean(S.Ay.getStatisticsComponentForAccount());var m=null!==(e=S.Ay.getMonitoringForAccounts())&&void 0!==e?e:{},A=m.component,g=m.urlTemplate,y=m.title,C=l[x.yE.MONITOR];C.show=C.show&&Boolean(null!=A?A:g),g&&(C.routed=!1,C.external=!0,C.url=(0,j.j)(g,{ytCluster:s,ytAccount:c}));var k=(0,w._4)(r.url,x.yE,l,void 0,(t={},(0,o.A)(t,x.yE.USAGE,"Detailed usage"),(0,o.A)(t,x.yE.MONITOR,null!=y?y:"Monitoring"),t)),_=i in x.yE?i:void 0,T=c&&_?_:x.yE.GENERAL;return(0,N.jsxs)("div",{className:"elements-page__content",children:[(0,N.jsx)(Pr,{}),(0,N.jsx)(_r.A,{}),(0,N.jsxs)("section",{className:Sr(null,"elements-main-section"),children:[(0,N.jsx)("div",{className:"elements-section",children:(0,N.jsx)("div",{className:Sr("heading"),children:(0,N.jsx)(v.A,(0,a.A)((0,a.A)({},k),{},{active:x.F7,className:Sr("tabs"),routed:!0,routedPreserveLocation:!0,size:Tr.jr}))})}),(0,N.jsx)("div",{className:Sr("tab-viewer"),children:(0,N.jsxs)(h.dO,{children:[(0,N.jsx)(h.qh,{path:"".concat(r.path,"/").concat(x.yE.GENERAL),component:b.A}),f.show&&(0,N.jsx)(h.qh,{path:"".concat(r.path,"/").concat(x.yE.STATISTICS),component:M}),C.show&&A&&(0,N.jsx)(h.qh,{path:"".concat(r.path,"/").concat(x.yE.MONITOR),render:function(){return(0,N.jsx)(q,{component:A})}}),(0,N.jsx)(h.qh,{path:"".concat(r.path,"/").concat(x.yE.ACL),component:F}),d.show&&(0,N.jsx)(h.qh,{path:"".concat(r.path,"/").concat(x.yE.USAGE),component:br}),(0,N.jsx)(h.rd,{from:r.url,to:"".concat(r.url,"/").concat(T)})]})})]})]})}}]),n}(l.Component);Er.defaultProps={lastVisitedTab:x.F7};const Mr=(0,f.Ng)((function(e){return{lastVisitedTab:(0,y.R9)(e)[A.YW.ACCOUNTS],activeAccount:(0,g.yq)(e),allowUsageTab:Boolean((0,ut.__)()),cluster:(0,_.dB)(e)}}))(Er);function Pr(){var e=(0,f.d4)(g.Z0);return(0,Cr.v)({type:kr.c.ACCOUNTS,allowStart:function(e){return!(0,r.A)(e,1)[0]},startDeps:[e]}),(0,Nr.ol)({type:kr.c.ACCOUNTS,allowStop:function(e){return(0,r.A)(e,1)[0]},stopDeps:[e]}),null}var Dr=n(13322),Rr=n(17239),Fr=n.n(Rr),Ir=n(17777),Or=n(79484),qr=n(82947),Lr=n(13724),zr=n(20361),Br=n(20330),Vr=n(79366),Ur=(0,d.A)("account-create-dialog");function Yr(e){return"root"===e}var Hr=function(e){(0,c.A)(n,e);var t=(0,u.A)(n);function n(){var e;(0,s.A)(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).onSubmit=function(t){var n=e.props,r=n.createAccountFromInfo,a=n.closeCreateModal,o=n.loadEditedAccount,s=n.cluster,i=t.getState().values;return Yr(i.parentAccount)||(i.abcService=void 0),r(s,i).then((function(){a();var e=i.account;o(e)}))},e.onClose=function(t){e.props.closeCreateModal(t.getState().values)},e}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,t=e.visible,n=e.newAccountInfo,r=e.activeAccount,o=e.currentUserName,s=e.isAdmin,i=n.parentAccount,c=n.responsibles,u=void 0===c?[]:c;return(0,N.jsx)(zr.yZ,{className:Ur(),visible:t,onClose:this.onClose,headerProps:{title:"Create account"},onAdd:this.onSubmit,pristineSubmittable:!0,initialValues:(0,a.A)((0,a.A)({},n),{},{parentAccount:i||r||(s?x.$T:void 0),responsibles:u.length?u:[{value:o,type:"users"}]}),fields:[].concat((0,Dr.A)(s&&(0,S.Ve)()?[{name:"abcService",type:"abc-control",caption:"Service in ABC",required:!0,visibilityCondition:{when:"parentAccount",isActive:Yr},extras:{placeholder:"Enter ABC service name"}}]:[]),[{name:"account",type:"text",caption:"Account name",required:!0,extras:{placeholder:"Enter account name",className:Ur("name")}},{name:"parentAccount",type:"accountsSuggest",caption:"Parent account",required:!0,extras:{placeholder:"Enter parent account name",allowRootAccount:s}}],(0,Dr.A)((0,ut.Gq)()?[{name:"responsibles",type:"acl-subjects",caption:"Responsible users",required:!0,extras:{placeholder:"Enter name or login",allowedTypes:["users"]}}]:[]),(0,Dr.A)(s?[{name:"createHome",type:"tumbler",caption:"Create home directory"}]:[]))})}}]),n}(l.Component),Wr={closeCreateModal:D.IF,loadEditedAccount:P.Pm,createAccountFromInfo:Br.YL},Gr=(0,f.Ng)((function(e){var t=e.accounts.editor;return{currentUserName:(0,_.ID)(e),activeAccount:(0,T.yq)(e),visible:t.createModalVisible,newAccountInfo:t.newAccountInfo,cluster:(0,_.dB)(e),isAdmin:(0,Vr.d)(e)}}),Wr);const Kr=Gr(Hr);var $r=function(e){(0,c.A)(n,e);var t=(0,u.A)(n);function n(){var e;(0,s.A)(this,n);for(var r=arguments.length,a=new Array(r),o=0;o<r;o++)a[o]=arguments[o];return(e=t.call.apply(t,[this].concat(a))).state={infoValue:"",activeCreateValue:"",showConfirmMessage:!1,showErrorMessage:!1},e}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,t=e.openCreateModal,n=e.className;return(0,N.jsxs)("span",{className:n,children:[(0,N.jsx)(kt.A,{view:"action",title:"Create account",onClick:t,children:"Create account"}),(0,N.jsx)(Kr,{})]})}}]),n}(l.Component),Qr={openCreateModal:D.Mm};const Zr=(0,f.Ng)(null,Qr)($r);var Xr=(0,d.A)("accounts-top-row-content");function Jr(){var e=(0,f.d4)(_.jU),t=(0,f.d4)(g.yq),n=(0,f.d4)(g.xG)[t];return(0,N.jsxs)(Ir.K,{page:A.YW.ACCOUNTS,urlParams:{account:""},children:[(0,N.jsx)(ea,{}),(0,N.jsx)(na,{}),(0,N.jsxs)("span",{className:Xr("actions"),children:[S.Ay.renderTopRowExtraControlsForAccount({clusterUiConfig:e,accountAttributes:null==n?void 0:n.$attributes}),(0,N.jsx)(Zr,{className:Xr("create")})]})]})}function ea(){var e=(0,f.d4)(qr.qZ),t=(0,f.d4)(qr.Gf),n=(0,f.wA)(),r=(0,f.d4)(g.yq),a=l.useCallback((function(e){n((0,P.I$)(e.path))}),[n]),o=l.useCallback((function(){n((0,Lr.Yt)(r))}),[n,r]);return(0,N.jsx)(Or.A,{isActive:e,items:t,onItemClick:a,onToggle:o,toggleDisabled:!r,theme:"clear"})}var ta="<Root>";function na(){var e=(0,f.d4)(T.s8).slice(1),t=(0,f.wA)(),n=(0,h.W6)(),r=(0,f.d4)(_.dB),a=l.useMemo((function(){return[{text:""}].concat((0,Dr.A)(e)).map((function(e){var t=e.text,n=t||ta,a=t?window.location.pathname:function(e,t){return Fr()(x.Gy,(function(t,n){return e.endsWith("/"+n)}))?e:"/".concat(t,"/").concat(A.YW.ACCOUNTS,"/").concat(x.yE.GENERAL)}(window.location.pathname,r);return(0,N.jsx)(U.y,{href:(0,Rn.RK)(a,{account:t}),children:n},n)}))}),[e,r]);return(0,N.jsx)(U.B,{navigate:n.push,className:Xr("breadcrumbs"),onAction:function(e){t((0,P.I$)(e===ta?"":e))},showRoot:!0,children:a})}const ra=l.memo(Jr)},46357:(e,t,n)=>{n.d(t,{v:()=>i});var r=n(40319),a=n(22636),o=n(15647),s=n(27497);function i(e){var t=(0,o.d4)(s.dB);(0,a.gj)((0,r.A)((0,r.A)({},e),{},{subPage:e.subPage||"ui.".concat(t)}))}},36554:(e,t,n)=>{n.d(t,{$A:()=>p,$F:()=>A,DC:()=>g,F_:()=>x,_X:()=>h,aA:()=>v,c5:()=>y,nH:()=>m});var r=n(49214),a=n.n(r),o=n(27528),s=n.n(o),i=n(63281),c=n.n(i),u=n(3659),l=n(29746),d=n(76365),f=n(64714),m=new d.A;function p(e){return l.Ay.YPath.create(e,"absolute").toSubpath(-2).stringify()}function h(e,t){var n=p(e);return f.Qq.list(f.Vu.pathEditorLoadSuggestions,{parameters:{path:n,attributes:["type","dynamic"]},cancellation:m.saveCancelToken}).then(l.Ay.getValue).then((function(e){return function(e,t,n){var r=s()(n,(function(e){var n={};return n.parentPath=t,n.childPath="/"+u.A.decode(l.Ay.getValue(e)),n.path=n.parentPath+n.childPath,n.type=l.Ay.getValue(e,"/@type"),n.dynamic=l.Ay.getValue(e,"/@dynamic"),n.targetPathBroken=l.Ay.getValue(e,"/@broken"),n}));return c()(r,"childPath")}(0,n,e)})).then((function(e){return t?t(e):e}))}function v(e,t){var n=e.toLowerCase();return a()(t,(function(e){var t=e.path.startsWith(n),r=e.path!==n||"map_node"===e.type;return t&&r}))}function A(e,t){return-1===t||t===e.length-1?0:t+1}function x(e,t){return-1===t||0===t?e.length-1:t-1}function g(e){return"map_node"===e.type?e.path+"/":e.path}function y(e,t){var n={document:"file-alt",string_node:"file-alt",int64_node:"file-alt",uint64_node:"file-alt",double_node:"file-alt",boolean_node:"file-alt",map_node:"folder",scheduler_pool_tree_map:"folder-tree",scheduler_pool:"tasks",tablet_cell:"th",journal:"book",table:"th",table_dynamic:"dyn-th",replicated_table:"th",chaos_replicated_table:"chaos-replicated-table",replication_log_table:"replication-log-table",file:"file",topmost_transaction_map:"folder",transaction_map:"folder",transaction:"code-branch",nested_transaction:"code-branch",link:l.Ay.getBoolean(t)?"unlink":"link",rootstock:"link",portal_entrance:"link",cell_node:"circle",cell_node_map:"far circle",sys_node:"cog",access_control_object_namespace_map:"acl-namespace-map",access_control_object_namespace:"acl-namespace",access_control_object:"acl-object"};return e?n[e]||"not-suported":"eye-slash"}},34199:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(40319),a=n(64922);const o=function(e){return(0,a.jsx)("svg",(0,r.A)((0,r.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-9.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-.25 3a.75.75 0 0 0-1.5 0V11a.75.75 0 0 0 1.5 0z",clipRule:"evenodd"})}))}},88786:(e,t,n)=>{n.d(t,{m:()=>l});var r=n(77810),a=n(13778),o=n(1093),s=n(55740),i=n(85137);const c=(0,n(21086).om)("tooltip"),u=["bottom","top"],l=e=>{const{children:t,content:n,disabled:l,placement:d=u,qa:f,id:m,className:p,style:h,disablePortal:v,contentClassName:A,openDelay:x=1e3,closeDelay:g}=e,[y,w]=r.useState(null),j=(0,o.d)(y,{openDelay:x,closeDelay:g,preventTriggerOnFocus:!0}),b=r.Children.only(t),C=b.ref,N=(0,a.N)(w,C);return r.createElement(r.Fragment,null,r.cloneElement(b,{ref:N}),y?r.createElement(s.z,{id:m,role:"tooltip",className:c(null,p),style:h,open:j&&!l,placement:d,anchorRef:{current:y},disablePortal:v,disableEscapeKeyDown:!0,disableOutsideClick:!0,disableLayer:!0,qa:f},r.createElement("div",{className:c("content",A)},r.createElement(i.E,{variant:"body-short",color:"complementary"},n))):null)}},1093:(e,t,n)=>{n.d(t,{d:()=>o});var r=n(77810),a=n(653);const o=(e,{openDelay:t=250,closeDelay:n,preventTriggerOnFocus:o=!1})=>{const[s,i,c]=function(e){const[t,n]=r.useState(!1);return[t,r.useCallback((()=>n(!0)),[]),r.useCallback((()=>n(!1)),[]),r.useCallback((()=>n((e=>!e))),[])]}(),u=r.useRef(),l=r.useRef(!1);return r.useEffect((()=>{if(e)return e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",s),e.addEventListener("keydown",m),o||(e.addEventListener("focus",d),e.addEventListener("blur",f)),()=>{e.removeEventListener("mouseenter",r),e.removeEventListener("mouseleave",s),e.removeEventListener("focus",d),e.removeEventListener("blur",f),e.removeEventListener("keydown",m)};function r(){clearTimeout(u.current),u.current=window.setTimeout(i,t)}function s(){clearTimeout(u.current),u.current=window.setTimeout(c,n)}function d(e){l.current||document.activeElement!==e.target||(l.current=!0,clearTimeout(u.current),i())}function f(e){l.current&&!e.currentTarget.contains(e.relatedTarget)&&(l.current=!1,clearTimeout(u.current),c())}function m(e){e.key===a.D.ESCAPE&&(clearTimeout(u.current),c())}}),[e,i,c,t,n,o]),s}}}]);
2
+ //# sourceMappingURL=accounts.2ba221c2.chunk.js.map