@ytsaurus/ui 1.71.0 → 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 (85) 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.10746dfe.chunk.js → 7263.210dadfd.chunk.js} +3 -3
  17. package/dist/public/build/js/7263.210dadfd.chunk.js.map +1 -0
  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.57c51573.js → runtime.c88113bf.js} +2 -2
  43. package/dist/public/build/js/{runtime.57c51573.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/7263.10746dfe.chunk.js.map +0 -1
  66. package/dist/public/build/js/9558.65b707cc.chunk.js +0 -2
  67. package/dist/public/build/js/9558.65b707cc.chunk.js.map +0 -1
  68. package/dist/public/build/js/accounts.69da4208.chunk.js +0 -2
  69. package/dist/public/build/js/acl.81abf8c2.chunk.js +0 -2
  70. package/dist/public/build/js/acl.81abf8c2.chunk.js.map +0 -1
  71. package/dist/public/build/js/bundles.86be96f0.chunk.js +0 -2
  72. package/dist/public/build/js/groups.acc74ffc.chunk.js +0 -2
  73. package/dist/public/build/js/groups.acc74ffc.chunk.js.map +0 -1
  74. package/dist/public/build/js/job.64020b69.chunk.js +0 -2
  75. package/dist/public/build/js/main.0840984c.js +0 -3
  76. package/dist/public/build/js/main.0840984c.js.map +0 -1
  77. package/dist/public/build/js/navigation.f21aa950.chunk.js +0 -2
  78. package/dist/public/build/js/navigation.f21aa950.chunk.js.map +0 -1
  79. package/dist/public/build/js/query-navigation.38a9af12.chunk.js +0 -2
  80. package/dist/public/build/js/scheduling.8bc4b3c7.chunk.js +0 -2
  81. package/dist/public/build/js/system.eed98c65.chunk.js +0 -2
  82. package/dist/public/build/js/yt-monaco-editor.61605970.chunk.js +0 -2
  83. /package/dist/public/build/js/{3337.b59984e8.chunk.js.LICENSE.txt → 3337.31ee332d.chunk.js.LICENSE.txt} +0 -0
  84. /package/dist/public/build/js/{7263.10746dfe.chunk.js.LICENSE.txt → 7263.210dadfd.chunk.js.LICENSE.txt} +0 -0
  85. /package/dist/public/build/js/{main.0840984c.js.LICENSE.txt → main.c46b0cfa.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- (self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[6582],{29228:(e,t,n)=>{"use strict";n.d(t,{B:()=>N,y:()=>f});var r=n(40319),a=n(18801),o=n(77810),l=n(13778),s=n(92423),i=n(55695),c=n(25723);function u(e,t){const n=e.getAttribute("target");return e.href&&(!n||"_self"===n)&&e.origin===location.origin&&!e.hasAttribute("download")&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey}const d=(0,n(21086).om)("breadcrumbs2");function m(e){const t=e.href?"a":"span",n=(0,c.$)(e,{labelable:!0});let r=e.title;r||"string"!=typeof e.children||(r=e.children);const a=t=>{if(e.disabled||e.current)return void t.preventDefault();"function"==typeof e.onAction&&e.onAction();const n=t.currentTarget;"function"==typeof e.navigate&&n instanceof HTMLAnchorElement&&e.href&&!t.isDefaultPrevented()&&u(n,t)&&(t.preventDefault(),e.navigate(e.href,e.routerOptions))},l=e.disabled||e.current;let s={title:r,onClick:a,"aria-disabled":!!l||void 0};return"a"===t?(s.href=e.href,s.hrefLang=e.hrefLang,s.target=e.target,s.rel="_blank"!==e.target||e.rel?e.rel:"noopener noreferrer",s.download=e.download,s.ping=e.ping,s.referrerPolicy=e.referrerPolicy):(s.role="link",s.tabIndex=l?void 0:0,s.onKeyDown=e=>{"Enter"===e.key&&a(e)}),e.current&&(s["aria-current"]="page"),"menu"===e.itemType&&(s={}),o.createElement(t,Object.assign({},n,s,{className:"menu"===e.itemType?d("menu"):d("link",{"is-current":e.current,"is-disabled":l&&!e.current})}),e.children)}function h({separator:e}){return o.createElement("div",{"aria-hidden":!0,className:d("divider")},null!=e?e:"/")}m.displayName="Breadcrumbs.Item",h.displayName="Breadcrumbs.Separator";var p=n(54205);const b=JSON.parse('{"breadcrumbs":"Breadcrumbs","label_more":"Show more"}'),_=JSON.parse('{"breadcrumbs":"Навигация","label_more":"Показать больше"}'),v=(0,p.N)({en:b,ru:_},"lab/Breadcrumbs");function f(e){return null}const g=o.forwardRef((function(e,t){const n=o.useRef(null),r=(0,l.N)(t,n),a=[];o.Children.forEach(e.children,((e,t)=>{o.isValidElement(e)&&(void 0!==e.key&&null!==e.key||(e=o.cloneElement(e,{key:t})),a.push(e))}));const[p,b]=o.useState(a.length),[_,f]=o.useState(!1),g=o.useCallback((()=>{f(!1),b(a.length)}),[a.length]);!function({ref:e,onResize:t}){o.useEffect((()=>{const n=null==e?void 0:e.current;if(!n)return;if(void 0===window.ResizeObserver)return window.addEventListener("resize",t,!1),()=>{window.removeEventListener("resize",t,!1)};const r=new ResizeObserver((e=>{e.length&&t()}));return r.observe(n),()=>{r.disconnect()}}),[e,t])}({ref:n,onResize:g});const y=o.useRef(null);o.useLayoutEffect((()=>{_&&e.children!==y.current&&(y.current=e.children,f(!1),b(a.length))}),[_,a.length,e.children]),o.useLayoutEffect((()=>{_||(t=>{const r=n.current;if(!r)return;const o=Array.from(r.children);if(0===o.length)return;const l=r.offsetWidth;let s=0,i=0,c=e.maxItems||1/0,u=0;if(e.showRoot){const e=o.shift();e&&(u=e.scrollWidth,i+=u),s++}if(a.length>t){const e=o.shift();e&&(i+=e.offsetWidth),c--}e.showRoot&&i>=l&&(i-=u,s--);const d=o.pop();d&&(i+=Math.min(d.offsetWidth,200),i<l&&s++);for(let e=o.length-1;e>=0&&(i+=o[e].offsetWidth,!(i>=l));e--)s++;s=Math.max(Math.min(c,s),1),s===p?f(!0):b(s)})(p)}));const{navigate:A}=e;let x=a;if(a.length>p){x=[];const t=[...a];let n=p;if(e.showRoot&&p>1){const e=t.shift();e&&x.push(e),n--}const r=t.slice(0,-n),l=o.createElement(m,{itemType:"menu"},o.createElement(i.r,{items:r.map(((t,n)=>Object.assign(Object.assign({},t.props),{text:t.props.children,disabled:e.disabled,items:[],action:r=>{var a;"function"==typeof e.onAction&&e.onAction(null!==(a=t.key)&&void 0!==a?a:n);const o=r.currentTarget;"function"==typeof A&&o instanceof HTMLAnchorElement&&t.props.href&&u(o,r)&&(r.preventDefault(),A(t.props.href,t.props.routerOptions))}}))),popupProps:{className:d("popup",{staircase:"staircase"===e.popupStyle}),placement:e.popupPlacement},renderSwitcher:({onClick:t})=>o.createElement(s.$,{title:v("label_more"),className:d("more-button"),onClick:t,size:"s",view:"flat",disabled:e.disabled},o.createElement(s.$.Icon,null,"..."))}));x.push(l),x.push(...t.slice(-n))}const w=x.length-1,N=x.map(((t,n)=>{var r;const a=n===w,l=null!==(r=t.key)&&void 0!==r?r:n;return o.createElement("li",{key:n,className:d("item",{calculating:!_})},o.createElement(m,Object.assign({},t.props,{key:l,current:a,disabled:e.disabled,onAction:()=>{"function"==typeof e.onAction&&e.onAction(l)},navigate:A}),t.props.children),a?null:o.createElement(h,{separator:e.separator}))}));return o.createElement("ol",Object.assign({ref:r},(0,c.$)(e,{labelable:!0}),{"data-qa":e.qa,className:d(null,e.className),style:e.style}),N)}));g.Item=f,g.displayName="Breadcrumbs";var y=n(76872),A=n(64922),x=["children"],w=(0,y.A)("yt-u-breadcrumbs"),N=function(e){var t=e.children,n=(0,a.A)(e,x);return(0,A.jsx)(g,(0,r.A)((0,r.A)({},n),{},{className:w(null,n.className),children:t}))}},42324:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(77810),a=n(76426),o=n(60620),l=n(64922);function s(e){var t=e.className,n=e.url,s=e.title,i=e.theme,c=e.children,u=e.hideIcon,d=e.face,m=e.wrapContent;if(!n)return null;var h=u?null:(0,l.jsx)(o.A,{awesome:"chart-bar",face:d}),p=c?(0,l.jsxs)(r.Fragment,{children:[h,c]}):h;return(0,l.jsx)(a.A,{className:t,target:"_blank",theme:i,url:n,title:null!=s?s:"View",children:m?m(p):p})}const i=r.memo(s)},79484:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var r=n(40319),a=n(29121),o=n(12937),l=n(10785),s=n(26718),i=n(77810),c=n(75826),u=n.n(c),d=n(76872),m=n(27528),h=n.n(m),p=n(55695),b=n(92423),_=n(60620),v=n(39566),f=n(64922),g=(0,d.A)("favourites"),y=function(e){(0,l.A)(n,e);var t=(0,s.A)(n);function n(){var e;(0,a.A)(this,n);for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];return(e=t.call.apply(t,[this].concat(o))).state={isActive:e.props.isActive},e.toggleActive=function(){var t=e.props.onToggle;e.setState((function(e){return{isActive:!e.isActive}})),t()},e.onItemClick=function(t){(0,e.props.onItemClick)(t)},e}return(0,o.A)(n,[{key:"renderDropDownMenu",value:function(){var e=this,t=this.props.items,n=h()(t,(function(t){return{text:t.path,action:function(){return e.onItemClick(t)}}}));0===t.length&&n.push({action:function(){},text:"No favourites"});var r=this.renderButton({view:"normal",size:"m",pin:"brick-round",title:"View favourites",children:(0,f.jsx)(_.A,{awesome:"angle-down"})});return(0,f.jsx)(p.r,{popupProps:{className:g("popup",{empty:0===t.length})},items:n,switcher:r})}},{key:"renderHotkey",value:function(){return(0,f.jsx)(v.A,{settings:[{keys:"f",handler:this.toggleActive,scope:"all"}]})}},{key:"renderButton",value:function(e){var t=this.props.theme?{view:"outlined"}:{};return(0,f.jsx)(b.$,(0,r.A)((0,r.A)({},e),t))}},{key:"render",value:function(){var e=this.props,t=e.toggleDisabled,n=e.className,r=e.theme,a=this.state.isActive;return(0,f.jsxs)("div",{className:g(null,n),children:[(0,f.jsx)("div",{className:g("star-btn",{clear:"clear"===r}),children:this.renderButton({view:"outlined-info",selected:a,size:"m",pin:"clear"===r?"round-brick":"round-clear",title:"Add to favourites [F]",onClick:this.toggleActive,disabled:t,children:(0,f.jsx)(_.A,{awesome:a?"star-alt":"star"})})}),this.renderDropDownMenu(),this.renderHotkey()]})}}],[{key:"getDerivedStateFromProps",value:function(e,t){return e.isActive!==t.isActive?{isActive:e.isActive}:null}}]),n}(i.Component);y.itemType=u().shape({path:u().string})},53615:(e,t,n)=>{"use strict";n.d(t,{R:()=>c}),n(77810);var r=n(76872),a=n(72679),o=n(40319),l=n(64922);const s=function(e){return(0,l.jsx)("svg",(0,o.A)((0,o.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 14 14"},e),{},{children:(0,l.jsx)("path",{fill:"#027BF3",d:"M7 .828C3.521.828.703 3.672.703 7.125A6.296 6.296 0 0 0 7 13.422c3.453 0 6.297-2.818 6.297-6.297C13.297 3.672 10.453.828 7 .828m0 11.375a5.06 5.06 0 0 1-5.078-5.078A5.077 5.077 0 0 1 7 2.047c2.793 0 5.078 2.285 5.078 5.078A5.077 5.077 0 0 1 7 12.203m0-8.582c-.61 0-1.066.483-1.066 1.067 0 .609.457 1.066 1.066 1.066.584 0 1.066-.457 1.066-1.066 0-.584-.482-1.067-1.066-1.067m1.422 6.45v-.61a.33.33 0 0 0-.305-.305h-.305V6.617a.33.33 0 0 0-.304-.304H5.883a.31.31 0 0 0-.305.304v.61c0 .177.127.304.305.304h.305v1.625h-.305a.31.31 0 0 0-.305.305v.61c0 .177.127.304.305.304h2.234a.31.31 0 0 0 .305-.305"})}))};var i=(0,r.A)("info-block");function c(e){var t=e.children,n=e.className;return(0,l.jsxs)("div",{className:i(null,n),children:[(0,l.jsx)("div",{className:i("icon"),children:(0,l.jsx)(a.I,{data:s})}),(0,l.jsx)("div",{className:i("body"),children:t})]})}},80016:(e,t,n)=>{"use strict";n.d(t,{w:()=>i});var r=n(9736),a=n(77810),o=n(15647),l=n(11843),s=n(27652);function i(e){var t=e.children,n=(0,o.d4)(l.Y),i=n.regular,c=n.monospace,u=a.useState(!1),d=(0,r.A)(u,2),m=d[0],h=d[1];return a.useEffect((function(){Promise.all([(0,s.w)(i),(0,s.w)(c)]).then((function(){return h(!0)}))}),[i,c]),m?t:null}},35762:(e,t,n)=>{"use strict";n.d(t,{h:()=>l}),n(77810);var r=n(76872),a=n(64922),o=(0,r.A)("bundle-params-list"),l=function(e){var t=e.className,n=e.params,r=e.size,l=void 0===r?"s":r;return(0,a.jsx)("div",{className:o({size:l},t),children:n.map((function(e){return(0,a.jsxs)("span",{children:[e.title," ",(0,a.jsxs)("span",{className:o("value",{type:e.type}),children:[e.value," ",e.postfix]})]},e.title)}))})}},19899:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChaosCellBundlesTopRow:()=>qr,TabletCellBundles:()=>Br,TabletCellBundlesTopRow:()=>Pr});var r=n(40319),a=n(68175),o=n(77810),l=n(76872),s=n(75414),i=n.n(s),c=n(83611),u=n(42265),d=n(64965),m=n(69835),h=n(83534),p=n(15647),b=n(13322),_=n(29121),v=n(12937),f=n(10785),g=n(26718),y=n(49214),A=n.n(y),x=n(28640),w=n(84162),N=n(33023),C=n(77723),j=n(64922),B=(0,l.A)("cells-table-instruments");const k=function(e){(0,f.A)(n,e);var t=(0,g.A)(n);function n(){var e;(0,_.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))).onIdFilter=function(t){e.props.setTabletsPartial({cellsIdFilter:t})},e.onBundleFilter=function(t){e.props.setTabletsPartial({cellsBundleFilter:t})},e.onHostFilterChange=function(t){e.onHostSelected(t)},e.onHostSelected=function(t){e.props.setTabletsPartial({cellsHostFilter:t})},e.onHostInputBlur=function(){e.setState({hostFilter:e.props.hostFilter})},e.getBundleFilterItems=function(t){var n=e.props.bundles;return t?A()(n,(function(){return-1!==(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").indexOf(t)})):n},e.getHostFilterItems=function(t){var n=e.props.hosts;return t?A()(n,(function(){return-1!==(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").indexOf(t)})):n},e}return(0,v.A)(n,[{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.idFilter,a=t.bundleFilter,o=t.activeBundle,l=t.activeBundleHosts;return(0,j.jsx)(N.M,{className:B(null,n),itemsToWrap:[{name:"id1",node:(0,j.jsx)(w.A,{className:B("text-filter"),hasClear:!0,size:"m",type:"text",value:r,placeholder:"Enter cell id...",onChange:this.onIdFilter,autofocus:!1}),shrinkable:!0,growable:!0,wrapperClassName:B("item")}].concat((0,b.A)(o?[]:[{name:"bundle",node:(0,j.jsx)(C.A,{className:B("suggest"),text:a,apply:function(t){return e.onBundleFilter("string"==typeof t?t:t.value)},filter:function(t,n){return e.getBundleFilterItems(n)},placeholder:"Enter bundle name...",popupClassName:B("suggest-popup")}),growable:!0,shrinkable:!0,wrapperClassName:B("item")}]),[{name:"host",node:(0,j.jsx)(C.A,{className:B("suggest"),text:this.props.hostFilter,onTextUpdate:this.onHostFilterChange,onItemClick:function(t){return e.onHostSelected("string"==typeof t?t:t.value)},onBlur:this.onHostInputBlur,filter:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.getHostFilterItems(n)},placeholder:"Enter host...",autoFocus:!1,popupClassName:B("suggest-popup")}),growable:!0,shrinkable:!0,wrapperClassName:B("item")}],(0,b.A)(l?[{name:"copy-hosts",node:(0,j.jsx)(x.A,{pin:"round",text:l,awesome:"clipboard-list",buttonText:"Copy host list"})}]:[]))})}}]),n}(o.Component);var T=n(92547),E=n(9736),L=n(27528),S=n.n(L),F=n(90943),z=n.n(F),R=n(73928),O=n(13724),D=n(85749),I=n(623),P=n.n(I),U=n(48971),q=n(27497),H=n(64714),M=n(13542),V=n(63582),W=n(76365),Q=n(40519),Y=new W.A;function K(){return function(e){e({type:u.Nj});var t=[{command:"exists",parameters:{path:"//sys/bundle_controller/orchid/bundle_controller/state/bundles"}},{command:"list",parameters:(0,r.A)({path:"//sys/tablet_cells",attributes:["peers","id","tablet_cell_bundle","total_statistics","status"]},Q.v)},{command:"get",parameters:(0,r.A)({path:"//sys/tablet_cell_bundles",attributes:["nodes","enable_bundle_balancer","health","options","node_tag_filter","resource_limits","resource_usage","folder_id","abc","dynamic_options","bundle_controller_target_config","enable_bundle_controller","zone"]},Q.v)}];return Y.removeAllRequests(),H.Qq.executeBatch(H.Vu.tabletCellBundles,{parameters:{requests:t},cancellation:Y.saveCancelToken}).then((function(t){var n=(0,T.A)(t),r=n[0].output,a=n.slice(1),o=(0,E.A)(a,2),l=o[0].output,s=o[1].output,c=(0,U.$7)(a,"Tablet cell bundles cannot be loaded");if(c)throw c;var d=(0,R.VY)(l),m=(0,R.Th)(d,s),h=function(e){var t=new Map;return e.forEach((function(e){var n=e.bundle;t.has(n)||t.set(n,!0)})),(0,b.A)(t.keys())}(m);e(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return function(t,n){var r=(0,q.ID)(n()),a=S()(e,(function(e){return(0,V.jQ)({path:"//sys/tablet_cell_bundles/".concat(e.bundle),user:r,permission:"write"})}));return(0,U.fI)(H.Qq.executeBatch(H.Vu.tabletBundlesCheckWrite,{parameters:{requests:a},cancellation:Y.saveCancelToken}).then((function(n){var r=(0,U.hC)(n,"Failed to get bundle permissions"),a=r.error,o=r.outputs,l=i()(o,(function(t,n,r){if("allow"===(null==n?void 0:n.action)){var a=e[r].bundle;t.set(a,!0)}return t}),new Map);return t({type:u.Kh,data:{writableByName:l}}),a?Promise.reject(a):void 0})),{toasterName:"bundleWritePermissions",skipSuccessToast:!0,errorTitle:"Fetch write permissions"})}}(m)),h.length&&r?H.Qq.get(H.Vu.bundleControllerZones,{parameters:{path:"//sys/bundle_controller/controller/zones",attributes:["tablet_node_sizes","rpc_proxy_sizes","data_centers"]},cancellation:Y.saveCancelToken}).then((function(t){var n=function(e){return Object.entries(e).reduce((function(e,t){var n=(0,E.A)(t,2),r=n[0],a=n[1];return e[r]=z().getValue(a,"/@"),e}),Object.create(null))}(t);e({type:u.ds,data:{cells:d,bundles:m,bundleDefaultConfig:n}})})).catch((function(t){(0,W.m)(t)||e({type:u.m2,data:t})})):e({type:u.ds,data:{cells:d,bundles:m}})})).catch((function(t){(0,W.m)(t)||e({type:u.m2,data:t})}))}}function G(e){return{type:u.Kh,data:e}}function X(e){return function(t){t((0,O.MV)(e)),t({type:u.p9,data:{activeBundle:e}})}}var $={setTabletsPartial:G};const Z=(0,p.Ng)((function(e){return{activeBundle:(0,D.OR)(e),activeBundleHosts:(0,D.j4)(e),idFilter:(0,D.GV)(e),bundleFilter:(0,D.HS)(e),hostFilter:(0,D.HH)(e),bundles:(0,D.Eg)(e),hosts:(0,D.u6)(e)}}),$)(k);var J=n(88314),ee=n.n(J),te=n(27222),ne=n(14880),re=n(34413),ae=n(77318),oe=n(60620),le=n(81970),se=n(76426),ie=n(34380),ce=n(35074),ue=n(65873),de=n(82053),me=n.n(de),he=n(78259),pe=n(37175),be=n(7787),_e=(0,l.A)("bundle-general-meta");function ve(e){var t=e.value,n=void 0===t||t,r=e.blocking;return(0,j.jsx)("span",{className:_e("bb",{success:n,blocking:r}),children:n?"on":"off"})}var fe={good:"success",initializing:"warning",degrading:"warning",failed:"danger",changing:"info"};function ge(e){var t=e.value,n=e.className,r=fe[t||""];return t?(0,j.jsx)(le.A,{className:n,theme:r,children:t}):me().format.NO_VALUE}function ye(){var e=(0,p.d4)(D.EA),t=(0,p.d4)(q.jU),n=(0,p.d4)(q.dB),r=(0,p.d4)(q.qp);if(!e)return null;var a=[].concat((0,b.A)(be.Ay.getExtraMetaTableItemsForBundle({bundle:e,clusterUiConfig:t})||[]),[{key:"Health",value:(0,j.jsx)(ge,{value:e.health})},{key:"Tablet cells",value:me().format.Number(e.tabletCells)},{key:"Tablets",value:me().format.Number(e.tablets),visible:!r},{key:"Bundle controller",value:(0,j.jsx)(ve,{value:e.enable_bundle_controller})},{key:"Bundle balancer",value:(0,j.jsx)(ve,{value:e.enable_bundle_balancer,blocking:e.enable_bundle_controller})},{key:"Node tag filter",value:e.node_tag_filter||me().format.NO_VALUE}]),o=[{key:"Memory",value:me().format.Bytes(e.memory),visible:!r},{key:"Tablets",value:Ae(e,"tablet_count"),visible:r},{key:"Tablet static memory",value:Ae(e,"tablet_static_memory"),visible:r},{key:"Uncompressed size",value:me().format.Bytes(e.uncompressed)},{key:"Compressed size",value:me().format.Bytes(e.compressed)},{key:"Changelog account",value:e.changelog_account?(0,j.jsx)(pe.A,{className:_e("account-link"),account:e.changelog_account,cluster:n}):me().format.NO_VALUE},{key:"Snapshot account",value:e.snapshot_account?(0,j.jsx)(pe.A,{className:_e("account-link"),account:e.snapshot_account,cluster:n}):me().format.NO_VALUE}];return(0,j.jsx)(ce.Ay,{className:_e(),items:[a,o],title:"General"})}function Ae(e,t){var n=he.A.getValue(e,"/resource_usage/".concat(t)),a=he.A.getValue(e,"/resource_limits/".concat(t)),o="tablet_static_memory"===t?"Bytes":"Number",l=(0,U.z)(n,a,o);return(0,j.jsx)(ue.k,(0,r.A)({className:_e("progress")},l))}var xe=n(17955),we=(0,l.A)("cells-table"),Ne={leading:"success",none:"default",elections:"warning",leader_recovery:"warning"},Ce={displayIndices:!1,stickyHead:te.Ay.MOVING,stickyTop:h.kB,syncHeadOnResize:!0,dynamicRender:!0},je={id:"Cell id",uncompressed:"Uncompressed size",compressed:"Compressed size",peerAddress:"Node",actions:" "};function Be(e){return(0,j.jsx)("span",{className:we("hover-action"),children:e.children})}function ke(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(0,j.jsx)("div",{className:we("wrapped"),children:e.apply(void 0,(0,b.A)(n))})}}var Te=function(e){(0,f.A)(n,e);var t=(0,g.A)(n);function n(){var e;(0,_.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))).renderColumnHeader=function(t,n){var r,a=e.props.sortState,o=a.column,l=a.order,s=t===o;return(0,j.jsx)(re.A,{className:we("header-cell",{col:t,sortable:n},"data-table__head-cell"),column:t,title:null!==(r=je[t])&&void 0!==r?r:ee()(t),order:s?l:void 0,onSort:e.onColumnSort,withUndefined:!0})},e.onColumnSort=function(t,n){e.props.setTabletsPartial({cellsSort:{column:t,order:n}})},e.renderId=function(e){var t=((null==e?void 0:e.row)||{}).id;return(0,j.jsxs)("div",{className:we("id"),children:[(0,j.jsx)("span",{className:we("id-id"),children:t}),(0,j.jsx)(Be,{children:(0,j.jsx)(x.A,{view:"flat-secondary",text:t})})]})},e.renderBundle=function(t){var n=e.props,r=n.activeBundleLink,a=n.cluster,o=((null==t?void 0:t.row)||{}).bundle;return(0,j.jsx)(se.A,{routed:!0,theme:"primary",url:r(a,o),onClick:function(){e.props.setTabletsActiveBundle(o)},children:o})},e.renderState=function(e){var t,n=(null!==(t=null==e?void 0:e.row)&&void 0!==t?t:{}).state,r=n?Ne[n]:void 0;return(0,j.jsx)(le.A,{theme:r,type:"text",text:n,capitalize:!0})},e.renderActions=function(t){var n=e.props,r=n.attributesPath,a=n.cellNavigationLink,o=n.cluster,l=((null==t?void 0:t.row)||{}).id;return(0,j.jsxs)("div",{className:we("actions"),children:[(0,j.jsx)(ie.m,{placement:["bottom","top"],content:"Go to Navigation",children:(0,j.jsx)(se.A,{url:a(o,l),theme:"ghost",routed:!0,children:(0,j.jsx)(oe.A,{awesome:"folder"})})}),(0,j.jsx)(ne.A,{size:"m",view:"flat-secondary",title:l,path:r(l)})]})},e}return(0,v.A)(n,[{key:"renderNumber",value:function(e,t){var n=((null==t?void 0:t.row)||{})[e];return me().format.Number(n)}},{key:"renderBytes",value:function(e,t){var n=((null==t?void 0:t.row)||{})[e];return me().format.Bytes(n)}},{key:"renderHealth",value:function(e){var t=((null==e?void 0:e.row)||{}).health;return(0,j.jsx)(ge,{value:t})}},{key:"renderHost",value:function(e){var t;return(0,j.jsx)(xe.x,{asTabletNode:!0,address:null==e||null===(t=e.row)||void 0===t?void 0:t.peerAddress,copyBtnClassName:we("hover-action")})}},{key:"column",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{name:e,align:"left",sortable:!1,className:we("td",{col:e.toLocaleLowerCase()}),header:this.renderColumnHeader(e,t)}}},{key:"sortableColumn",value:function(e){return this.column(e,!0)}},{key:"render",value:function(){var e=this,t=this.props.columns.map((function(t){return Ee[t].call(e)})),n=this.props,r=n.data,a=n.loading,o=n.loaded;return(0,j.jsx)("div",{className:we(),children:(0,j.jsx)(ae.Ay,{loading:a,loaded:o,columns:t,data:r,settings:Ce,theme:"bundles-table"})})}}]),n}(o.Component),Ee={id:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("id")),{},{render:this.renderId,width:400})},bundle:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("bundle")),{},{render:ke(this.renderBundle)})},health:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("health")),{},{render:ke(this.renderHealth),width:80})},tablets:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablets")),{},{render:ke(this.renderNumber.bind(this,"tablets")),align:"right",width:100})},memory:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("memory")),{},{render:ke(this.renderBytes.bind(this,"memory")),align:"right",width:100})},uncompressed:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("uncompressed")),{},{render:ke(this.renderBytes.bind(this,"uncompressed")),align:"right",width:150})},compressed:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("compressed")),{},{render:ke(this.renderBytes.bind(this,"compressed")),align:"right",width:130})},peerAddress:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("peerAddress")),{},{render:this.renderHost,width:130})},state:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("state")),{},{render:ke(this.renderState),width:100})},actions:function(){return(0,r.A)((0,r.A)({},this.column("actions")),{},{render:this.renderActions,width:70})}};const Le=Te;var Se=["id","bundle","health","tablets","memory","uncompressed","compressed","peerAddress","state","actions"],Fe={setTabletsPartial:G,setTabletsActiveBundle:X};const ze=(0,p.Ng)((function(e){return{cluster:(0,q.dB)(e),loading:(0,D.U7)(e),loaded:(0,D.HF)(e),data:(0,D.It)(e),sortState:(0,D.AC)(e),columns:Se,activeBundleLink:R.d7,attributesPath:R.dh,cellNavigationLink:R.lX}}),Fe)(Le);function Re(){return(0,j.jsx)(m.A,{children:(0,j.jsx)(h.Ay,{toolbar:(0,j.jsx)(Z,{}),content:(0,j.jsx)(ze,{})})})}var Oe=n(53332),De=n(13685),Ie=n(94285);function Pe(e){return{type:u.lr,data:e}}function Ue(e){return function(t){t((0,O.MV)(e)),t({type:u.SQ,data:{activeBundle:e}})}}var qe=n(82060),He=n(18472);const Me=e=>o.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),o.createElement("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 11ZM8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14ZM6.44 4.54c.43-.354.994-.565 1.56-.565 1.217 0 2.34.82 2.34 2.14 0 .377-.079.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.326.257-.379.328-.038.052-.038.07-.038.089a.75.75 0 0 1-1.5 0c0-.794.544-1.286 1.057-1.645.28-.196.4-.332.458-.426a.543.543 0 0 0 .074-.312c0-.3-.243-.641-.839-.641a.997.997 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 1 1-1.5 0c0-.674.345-1.22.78-1.577ZM8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",clipRule:"evenodd"}));var Ve=n(14633),We=n(72679);const Qe=(0,n(65986).o)("help-popover");function Ye(e){var t;return o.createElement(Ve.A,Object.assign({},e,{className:Qe(null,e.className)}),o.createElement("button",Object.assign({ref:e.buttonRef,type:"button"},e.buttonProps,{className:Qe("button",null===(t=e.buttonProps)||void 0===t?void 0:t.className)}),o.createElement(We.I,{data:Me,size:16})))}var Ke=n(2211),Ge=n(42324),Xe=n(80016),$e=(0,l.A)("bundles-table"),Ze={displayIndices:!1,stickyHead:te.Ay.MOVING,stickyFooter:te.Ay.MOVING,stickyTop:h.kB,stickyBottom:0,syncHeadOnResize:!0,dynamicRender:!0},Je={bundle:"Bundle / Node tag filter",tabletCells:"Cells",uncompressed:"Uncompressed size",compressed:"Compressed size",enable_bundle_controller:"Bundle controller",enable_bundle_balancer:"Bundle balancer",changelog_account:"Changelog and Snapshot account",node_tag_filter:"Node tag filter",actions:" ",tablet_count:"Usage",tablet_count_limit:"Limit",tablet_count_free:"Free",tablet_count_percentage:"Percentage",tablet_static_memory:"Usage",tablet_static_memory_limit:"Limit",tablet_static_memory_free:"Free",tablet_static_memory_percentage:"Percentage"},et={enable_bundle_balancer:"BB",enable_bundle_controller:"BC"};function tt(e){var t=e.bundle,n=e.copyHostListToClipboard,r=o.useCallback((function(){return n(t)}),[t,n]);return(0,j.jsx)("div",{className:$e("actions-copy-hosts"),onClick:r,children:(0,j.jsx)(ie.m,{content:(0,j.jsx)("span",{className:$e("no-wrap"),children:"Copy hosts to clipboard"}),placement:"bottom-start",children:(0,j.jsx)(x.A,{view:"flat-secondary",onCopy:r})})})}var nt=function(e){(0,f.A)(n,e);var t=(0,g.A)(n);function n(){var e;(0,_.A)(this,n);for(var r=arguments.length,a=new Array(r),l=0;l<r;l++)a[l]=arguments[l];return(e=t.call.apply(t,[this].concat(a))).renderColumnHeader=function(t,n){var r=e.props.sortState||{},a=r.column,o=r.order,l=t===a;return(0,j.jsx)(re.A,{className:$e("header-cell",{col:t,sortable:n},"data-table__head-cell"),column:t,title:Je[t],shortTitle:et[t],order:l?o:void 0,onSort:n?e.onColumnSort:void 0,withUndefined:!0})},e.onColumnSort=function(t,n){e.props.setBundlesSortState({column:t,order:n})},e.renderBundle=function(t){var n,r=e.props,a=r.activeBundleLink,o=r.cluster,l=r.clusterUiConfig,s=(null==t?void 0:t.row)||{},i=s.bundle,c=s.node_tag_filter,u=s.enable_bundle_controller,d=Boolean(c);return(0,j.jsxs)("div",{className:$e("bundle"),children:[(0,j.jsxs)("div",{className:$e("name",{has_tag:d}),children:[i?(0,j.jsx)(se.A,{routed:!0,theme:"primary",url:a(o,i,u),onClick:function(){e.props.setActiveBundle(i)},children:null==t||null===(n=t.row)||void 0===n?void 0:n.bundle}):"Total",d&&(0,j.jsx)("span",{className:$e("name-tag"),children:c})]}),be.Ay.renderBundlesTableItemExtraControls({bundle:t.row,clusterUiConfig:l,itemClassName:$e("extra-control")})]})},e.renderAccount=function(t){var n=e.props.cluster,r=(null==t?void 0:t.row)||{},a=r.changelog_account,l=r.snapshot_account;return(0,j.jsxs)(o.Fragment,{children:[(0,j.jsx)(pe.A,{cluster:n,account:a}),a!==l&&(0,j.jsxs)(o.Fragment,{children:[", ",(0,j.jsx)(pe.A,{cluster:n,account:l})]})]})},e.renderNodes=function(e){var t=(null==e?void 0:e.row)||{},n=t.nodes,r=t.node_tag_filter,a=t.unique_node_tag,o=t.bundle;if(!a&&o){var l='This bundle shares nodes with other bundles having node tag filter\n "'.concat(r,'". Actual amount of available resources depends on the number of tablet cells and may\n be less than displayed in this column.');return(0,j.jsxs)("div",{className:$e("nodes"),children:[(0,j.jsx)(Ye,{className:$e("help-tooltip"),delayClosing:50,placement:"auto",content:l}),null==n?void 0:n.length]})}return null==n?void 0:n.length},e.renderActions=function(t){var n=e.props,r=n.allowPerBundleAccounting,a=n.bundleDashboardUrl,o=n.cluster,l=n.copyHostListToClipboard,s=n.pathPrefix,i=n.showCellBundleEditor,c=n.writeableByName,u=(null==t?void 0:t.row)||{},d=u.bundle,m=u.nodes,h=u.enable_bundle_controller;if(d){var p="".concat(s).concat(d),b=null!=h?h:null==c?void 0:c.get(d);return(0,j.jsxs)("div",{className:$e("actions"),children:[(0,j.jsx)("div",{className:$e("actions-attrs"),children:(0,j.jsx)(ne.A,{size:"m",view:"flat-secondary",title:p,path:p})}),r&&b&&(0,j.jsx)("div",{className:$e("actions-attrs"),children:(0,j.jsx)(Ke.A,{size:"m",view:"flat-secondary",onClick:function(){return i(d)},children:(0,j.jsx)(oe.A,{awesome:"pencil"})})}),a&&(0,j.jsx)("div",{className:$e("actions-attrs"),children:(0,j.jsx)(Ge.A,{url:a(o,d),wrapContent:function(e){return(0,j.jsx)(Ke.A,{size:"m",view:"flat-secondary",children:e})}})}),m&&m.length>0&&(0,j.jsx)(tt,{bundle:d,copyHostListToClipboard:l})]})}},e}return(0,v.A)(n,[{key:"renderNumber",value:function(e,t){var n=((null==t?void 0:t.row)||{})[e];return me().format.Number(n)}},{key:"renderBytes",value:function(e,t){var n=((null==t?void 0:t.row)||{})[e];return me().format.Bytes(n)}},{key:"renderBB",value:function(e){var t=(null==e?void 0:e.row)||{},n=t.bundle,r=t.enable_bundle_balancer;return n?(0,j.jsx)(ve,{value:r}):null}},{key:"renderBC",value:function(e){var t=(null==e?void 0:e.row)||{},n=t.bundle,r=t.enable_bundle_controller;return n?(0,j.jsx)(ve,{value:r}):null}},{key:"renderHealth",value:function(e){var t=((null==e?void 0:e.row)||{}).health;return(0,j.jsx)(ge,{value:t})}},{key:"renderTabletCountPercentage",value:function(e){if(void 0===e.row.tablet_count_percentage)return me().format.NO_VALUE;var t=e.row,n=t.tablet_count,r=t.tablet_count_limit,a=(0,U.z)(n,r,"Number"),o=a.value,l=a.theme,s=a.text;return void 0===o?me().format.NO_VALUE:(0,j.jsx)(ue.k,{value:o,theme:l,text:s})}},{key:"renderTabletStaticMemoryPercentage",value:function(e){if(void 0===e.row.tablet_static_memory_percentage)return me().format.NO_VALUE;var t=e.row,n=t.tablet_static_memory,r=t.tablet_static_memory_limit,a=(0,U.z)(n,r,"Bytes"),o=a.value,l=a.theme,s=a.text;return void 0===o?me().format.NO_VALUE:(0,j.jsx)(ue.k,{value:o,theme:l,text:s})}},{key:"column",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{name:e,align:"left",sortable:!1,className:$e("td",{col:e.toLowerCase()}),header:this.renderColumnHeader(e,t)}}},{key:"sortableColumn",value:function(e){return this.column(e,!0)}},{key:"render",value:function(){var e=this,t=this.props.columns.map((function(t){return rt[t].call(e)})),n=this.props,r=n.data,a=n.total,o=n.loading,l=n.loaded;return(0,j.jsx)("div",{className:$e(),children:(0,j.jsx)(Xe.w,{children:(0,j.jsx)(ae.Ay,{loading:o,loaded:l,columns:t,data:r,settings:Ze,theme:"bundles-table",footerData:r.length?[a]:void 0})})})}}]),n}(o.Component),rt={bundle:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("bundle")),{},{render:this.renderBundle})},tablet_count_percentage:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_count_percentage")),{},{render:this.renderTabletCountPercentage,width:260,align:"center"})},tablet_count:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_count")),{},{render:this.renderNumber.bind(this,"tablet_count"),align:"right",width:150})},tablet_count_limit:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_count_limit")),{},{render:this.renderNumber.bind(this,"tablet_count_limit"),align:"right",width:150})},tablet_count_free:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_count_free")),{},{render:this.renderNumber.bind(this,"tablet_count_free"),align:"right",width:150})},tablet_static_memory_percentage:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_static_memory_percentage")),{},{render:this.renderTabletStaticMemoryPercentage,width:260,align:"center"})},tablet_static_memory:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_static_memory")),{},{render:this.renderBytes.bind(this,"tablet_static_memory"),align:"right",width:150})},tablet_static_memory_limit:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_static_memory_limit")),{},{render:this.renderBytes.bind(this,"tablet_static_memory_limit"),align:"right",width:150})},tablet_static_memory_free:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablet_static_memory_free")),{},{render:this.renderBytes.bind(this,"tablet_static_memory_free"),align:"right",width:150})},health:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("health")),{},{render:this.renderHealth,align:"center",width:110})},nodes:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("nodes")),{},{render:this.renderNodes,align:"right",width:85})},tabletCells:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tabletCells")),{},{render:this.renderNumber.bind(this,"tabletCells"),align:"right",width:85})},tablets:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("tablets")),{},{render:this.renderNumber.bind(this,"tablets"),align:"right",width:100})},memory:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("memory")),{},{render:this.renderBytes.bind(this,"memory"),align:"right",width:100})},uncompressed:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("uncompressed")),{},{align:"right",render:this.renderBytes.bind(this,"uncompressed"),width:150})},compressed:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("compressed")),{},{align:"right",render:this.renderBytes.bind(this,"compressed"),width:120})},enable_bundle_balancer:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("enable_bundle_balancer")),{},{align:"center",render:this.renderBB,width:80})},enable_bundle_controller:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("enable_bundle_controller")),{},{align:"center",render:this.renderBC,width:80})},changelog_account:function(){return(0,r.A)((0,r.A)({},this.sortableColumn("changelog_account")),{},{render:this.renderAccount,width:235})},actions:function(){return(0,r.A)((0,r.A)({},this.column("actions")),{},{render:this.renderActions,width:100})}};const at=nt;var ot=n(39760),lt=n.n(ot),st=n(65304),it=n.n(st),ct=n(73822),ut=n(26777),dt=n(84092),mt=n.n(dt);function ht(e){return function(t,n){var a=n();t({type:u.N5,data:{bundleName:e}});var o=(0,D.p0)(a).find((function(t){return t.bundle===e}));if(!o)return Promise.resolve();var l=(0,D.q8)(a),s=[{command:"get",parameters:{path:"//sys/tablet_cell_bundles/".concat(e),attributes:["resource_usage","resource_limits","options","abc","folder_id","zone","enable_bundle_controller"]}}];return o.enable_bundle_controller&&s.push({command:"get",parameters:{path:"//sys/bundle_controller/orchid/bundle_controller/state/bundles/".concat(e)}}),(0,U.fI)(H.Qq.executeBatch(H.Vu.tabletCellBundlesEditData,{requests:s}).then((function(e){var t,n=o.enable_bundle_controller&&(null===(t=e[2])||void 0===t||null===(t=t.error)||void 0===t?void 0:t.code)===mt().codes.NODE_DOES_NOT_EXIST,r=(0,U.$7)(n?[e[0]]:e,"Failed to get bundle edit data");if(r)throw r;return e})),{toasterName:"edit-bundle-data",skipSuccessToast:!0,errorContent:"Failed to load bundle details"}).then((function(e){var n,a,s=e,i=(0,E.A)(s,2),c=i[0].output,d=i[1],m=(void 0===d?{output:void 0}:d).output,h=o;null!==(n=o.bundle_controller_target_config)&&void 0!==n&&n.memory_limits.reserved||!l||(h=(0,r.A)((0,r.A)({},o),{},{bundle_controller_target_config:(0,r.A)((0,r.A)({},o.bundle_controller_target_config),{},{memory_limits:(0,r.A)((0,r.A)({},null===(a=o.bundle_controller_target_config)||void 0===a?void 0:a.memory_limits),{},{reserved:l})})})),t({type:u.V,data:{bundleData:h,data:c,bundleControllerData:m}});var p=[].concat((0,b.A)(S()(null==m?void 0:m.allocated_tablet_nodes,(function(e,t){return[(0,ut.Sz)("get",{path:"//sys/cluster_nodes/".concat(t,"/@bundle_controller_annotations/nanny_service")}),(0,ut.Sz)("get",{path:"//sys/cluster_nodes/".concat(t,"/@statistics/memory/tablet_static")})]}))),(0,b.A)(S()(null==m?void 0:m.allocated_rpc_proxies,(function(e,t){return[(0,ut.Sz)("get",{path:"//sys/rpc_proxies/".concat(t,"/@bundle_controller_annotations/nanny_service")})]})))),_=[];(0,U.fI)(H.Qq.executeBatch(H.Vu.tabletCellBundlesInstancesDetails,{requests:S()(p,(function(e){return(0,ut.Sz)("execute_batch",{requests:e})}))}),{toasterName:"bundle-controller-tablet-static-memory",skipSuccessToast:!0,errorContent:"BundleController: Cannot load tablet static memory of isntances"}).then((function(e){var n=[].concat((0,b.A)(it()(null==m?void 0:m.allocated_tablet_nodes)),(0,b.A)(it()(null==m?void 0:m.allocated_rpc_proxies))),r={};lt()(e,(function(e,t){var a=e.output,o=e.error;if(o)_.push(o);else{var l=(0,E.A)(a,2),s=l[0].output,i=l[1],c=(void 0===i?{output:void 0}:i).output;r[n[t]]={nanny_service:s,tablet_static_memory:c}}})),t({type:u.Or,data:{instanceDetailsMap:r}})}))})).catch((function(e){return t({type:u.KI,data:e}),Promise.reject(e)}))}}function pt(e){return function(t){t(ht(e)).then((function(){t({type:u.Or,data:{visibleEditor:!0}})}))}}function bt(e){return function(t){var n=e.bundleName,r=e.data,a="//sys/tablet_cell_bundles/".concat(n),o=S()(r,(function(e,t){return(0,ut.Gy)("".concat(a,"/").concat(t),e)}));return(0,U.fI)(H.Qq.executeBatch(H.Vu.tabletCellBundlesSetAttrs,{requests:o}),{toasterName:"edit_bundle_".concat(n),successContent:"Set bundle edit data",batchType:"v3",errorTitle:"Failed to set bundle edit data"}).then((function(){t(K())}))}}var _t=n(94544),vt=(0,He.Mz)([D.Br],(function(e){var t=["bundle"];switch(e){case"tablets":t.push("tablet_count_percentage","tablet_count","tablet_count_limit","tablet_count_free");break;case"tablets_memory":t.push("tablet_static_memory_percentage","tablet_static_memory","tablet_static_memory_limit","tablet_static_memory_free");break;default:t.push("health","nodes","tabletCells","tablets","memory","uncompressed","compressed","enable_bundle_controller","enable_bundle_balancer","changelog_account")}return t.push("actions"),t})),ft={setBundlesSortState:function(e){return{type:u.Kh,data:{bundlesSort:e}}},setActiveBundle:X,showCellBundleEditor:pt};const gt=(0,p.Ng)((function(e){return{loading:(0,D.U7)(e),loaded:(0,D.HF)(e),data:(0,D.kj)(e),total:(0,D.XL)(e),sortState:(0,D.a1)(e),cluster:(0,q.dB)(e),allowPerBundleAccounting:(0,q.qp)(e),pathPrefix:"//sys/tablet_cell_bundles/",columns:vt(e),activeBundleLink:R.d7,bundleDashboardUrl:_t.Ut,writeableByName:(0,D.nX)(e)}}),ft)(at);var yt=n(29347),At=n.n(yt),xt=n(87604);function wt(e){var t=e.bundlesTableMode,n=e.setTabletsPartial,r=e.modes,a=(0,p.wA)(),l=(0,p.d4)(q.qp),s=o.useCallback((function(e){a(n({bundlesTableMode:e.target.value}))}),[a]),i=r.map(xt.A.prepareSimpleValue);return l?(0,j.jsx)(xt.A,{items:i,value:t,onChange:s}):null}const Nt=o.memo(wt);var Ct=(0,l.A)("bundles-table-instruments"),jt=function(e){(0,f.A)(n,e);var t=(0,g.A)(n);function n(){var e;(0,_.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))).onNameEnterKeyDown=function(){e.props.setTabletsFirstBundleAsActive()},e}return(0,v.A)(n,[{key:"render",value:function(){var e=this.props,t=e.accountFilter,n=e.bundlesTableMode,r=e.className,a=e.modes,o=e.nameFilter,l=e.setTabletsPartial,s=e.tagNodeFilter;return(0,j.jsx)(N.M,{className:Ct(null,r),itemsToWrap:At()([{name:"name",node:(0,j.jsx)(w.A,{className:Ct("text-filter"),hasClear:!0,autofocus:!0,size:"m",type:"text",value:o,placeholder:"Enter bundle name...",onChange:this.props.setTabletsBundlesNameFilter,onEnterKeyDown:this.onNameEnterKeyDown}),shrinkable:!0,growable:!0,wrapperClassName:Ct("item")},{name:"account",node:(0,j.jsx)(w.A,{className:Ct("account-filter"),hasClear:!0,size:"m",type:"text",value:t,placeholder:"Enter changelog or snapshot account...",onChange:this.props.setTabletsBundlesAccountFilter,autofocus:!1}),shrinkable:!0,growable:!0,wrapperClassName:Ct("item")},{name:"tagNode",node:(0,j.jsx)(w.A,{className:Ct("account-filter"),hasClear:!0,size:"m",type:"text",value:s,placeholder:"Enter node tag filter...",onChange:this.props.setTabletsBundlesTagNodeFilter,autofocus:!1}),shrinkable:!0,growable:!0,wrapperClassName:Ct("item")},(a.length>1||a[0]!==n)&&{name:"tableMode",node:(0,j.jsx)(Nt,{bundlesTableMode:n,setTabletsPartial:l,modes:a}),shrinkable:!1,growable:!1,wrapperClassName:Ct("item")}])})}}]),n}(o.Component);const Bt=jt;var kt=["default","tablets","tablets_memory"],Tt={setTabletsBundlesNameFilter:function(e){return{type:u.Kh,data:{bundlesNameFilter:e}}},setTabletsBundlesAccountFilter:function(e){return{type:u.Kh,data:{bundlesAccountFilter:e}}},setTabletsBundlesTagNodeFilter:function(e){return{type:u.Kh,data:{bundlesTagNodeFilter:e}}},setTabletsFirstBundleAsActive:function(){return function(e,t){var n=t(),r=(0,D.kj)(n),a=(0,E.A)(r,1)[0];if(a){var o=(0,q.dB)(n);e(X(a.bundle)),(0,M.Q)().push((0,R.d7)(o,a.bundle))}}},setTabletsPartial:G};const Et=(0,p.Ng)((function(e){return{accountFilter:(0,D.CH)(e),bundlesTableMode:(0,D.Br)(e),nameFilter:(0,D.K2)(e),tagNodeFilter:(0,D.Js)(e),modes:kt}}),Tt)(Bt);function Lt(){var e=(0,p.wA)(),t=o.useCallback((function(t){e(function(e){return function(t,n){var r=(0,D.bf)(e,(0,D.xU)(n())),a=(0,D.U5)(r);P()(a||"")}}(t))}),[e]);return o.useEffect((function(){e(X(""))}),[e]),(0,j.jsx)(m.A,{children:(0,j.jsx)(h.Ay,{toolbar:(0,j.jsx)(Et,{}),content:(0,j.jsx)(gt,{copyHostListToClipboard:t})})})}var St=n(73502);function Ft(){var e=(0,p.d4)(q.dB),t=(0,p.d4)(D.OR),n=(0,p.d4)(q.O4);if(!t)return(0,j.jsx)(St.R,{warning:"You don't have any selected bundles",hint:"Please choose one to display charts"});var r=be.Ay.getStatisticsComponentForBundle();return(0,j.jsx)(m.A,{children:(0,j.jsx)(r,{cluster:e,bundle:t,theme:n})})}const zt=o.memo(Ft);function Rt(e){var t=e.component,n=(0,p.d4)(D.EA),r=(0,p.d4)(q.dB),a=o.useMemo((function(){return he.A.getValue(n,"/bundle")}),[n]);return a?(0,j.jsx)(m.A,{children:(0,j.jsx)(t,{cluster:r,tablet_cell_bundle:a,bundleData:n})}):(0,j.jsx)(St.R,{warning:"You don't have any selected bundles",hint:"Please choose one to display charts"})}const Ot=o.memo(Rt);var Dt=n(66205),It=n(7452);function Pt(e){var t=e.className,n=(0,p.d4)(D.OR),r=(0,p.d4)(Dt.Nr);return(0,j.jsx)(m.A,{children:r?(0,j.jsx)(It.fw,{path:n,className:t}):(0,j.jsx)(St.R,{className:t,hint:"The cluster is not ready to work with bundle's ACL"})})}var Ut=n(28407),qt=n(70232),Ht=n.n(qt),Mt=n(5458),Vt=n.n(Mt),Wt=n(16737),Qt=n.n(Wt),Yt=(0,l.A)("yt-color-circle");function Kt(e){var t=e.color,n=e.marginRight,r=void 0===n||n;return(0,j.jsx)("div",{className:Yt({"margin-right":r}),style:{backgroundColor:t}})}var Gt=n(16770),Xt=(0,l.A)("bundle-meta-resource-progress");function $t(e,t){var n=t.data,a=t.limit,o=t.resourceType,l=t.postfix,s=function(e){var t=e.data,n=e.limit,r=e.resourceType,a=e.postfix,o={stack:[]},l=i()(t,(function(e,t){return e+Number(t)}),0),s=null!=n?n:l,c="".concat(ct.A.format[r](l)," ").concat(a).trim(),u=[];lt()(t,(function(e,t){var n=ct.A.format[r](e),l=(0,Gt.H)(o.stack.length);u.push({key:t,label:(0,j.jsxs)("span",{children:[(0,j.jsx)(Kt,{color:l,marginRight:!0}),ct.A.format.Readable(t)]}),value:"".concat(n," ").concat(a)});var i=Number(e)/s*100;o.stack.push({color:l,value:i})}));var d=(0,j.jsx)(ce.Ay,{items:u});return{props:o,text:c,commonTooltip:d}}({data:n,limit:a,resourceType:o,postfix:void 0===l?"":l}),c=s.props,u=s.text,d=s.commonTooltip;return{key:e,value:(0,j.jsx)("div",{className:Xt(),children:(0,j.jsx)(ie.m,{placement:"bottom",content:d,children:(0,j.jsx)(ue.k,(0,r.A)((0,r.A)({className:Xt("progress")},c),{},{text:u}))})})}}var Zt=(0,l.A)("bundle-configuration-meta"),Jt=["allocating_rpc_proxy_count","allocating_tablet_node_count","deallocating_rpc_proxy_count","deallocating_tablet_node_count","removing_cell_count"];function en(){var e=(0,p.wA)(),t=(0,p.d4)(D.EA)||{},n=t.bundle,r=t.enable_bundle_controller,a=o.useCallback((function(){n&&e(ht(n))}),[e,n]);(0,De.Tt)(a);var l=o.useRef(null),s=o.useCallback((0,Ut.A)(Ht().mark((function e(){var t,o,s,c,u,d,m,h;return Ht().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n&&r){e.next=2;break}return e.abrupt("return");case 2:return t=[{command:"get",parameters:{path:"//sys/bundle_controller/orchid/bundle_controller/state/bundles/".concat(n,"/alerts")}}].concat((0,b.A)(S()(Jt,(function(e){return{command:"get",parameters:{path:"//sys/bundle_controller/orchid/bundle_controller/state/bundles/".concat(n,"/").concat(e)}}})))),e.next=5,(0,U.fI)(H.Qq.executeBatch(H.Vu.tabletBundleControllerState,{requests:t}),{toasterName:"active-bundle-controller-status",skipSuccessToast:!0,errorContent:'Cannot load bundle controller details for "'.concat(n,'".')}).catch((function(){return[]}));case 5:if(o=e.sent,s=(0,T.A)(o),c=s[0],u=(void 0===c?{output:[]}:c).output,d=s.slice(1),m=i()(d,(function(e,t){var n=t.output;return e+(null!=n?n:0)}),0),h=an(u,m),null!==l.current){e.next=16;break}return l.current=h,e.abrupt("return");case 16:l.current!==h&&(l.current=h,a());case 17:case"end":return e.stop()}}),e)}))),[a,n,r]);return(0,De.Tt)(s,{timeout:3e3}),null}function tn(){var e=((0,p.d4)(D.EA)||{}).bundle_controller_target_config,t=(0,p.d4)(D.x0);if(!e||!t)return null;var n=[];if(t){var r=t.resource_quota,a=t.resource_allocated,o=r.memory,l=r.vcpu,s=a.memory,c=a.vcpu;n.push(function(e){var t,n,r=e.alerts,a=function(e){var t=e.alerts,n=Vt()(Qt()(e,Jt));return{state:an(t,i()(n,(function(e,t){var n=(0,E.A)(t,2);return n[0],e+n[1]}),0)),detailsEntries:n}}(e),o=a.state,l=a.detailsEntries;return"good"===o?{key:"State",value:(0,j.jsx)(ge,{className:Zt("health",{value:o}),value:o})}:"changing"===o?{key:"State",value:(0,j.jsxs)(ie.m,{content:(t=l,n=t.map((function(e){var t=(0,E.A)(e,2),n=t[0],r=t[1];return"".concat(n," - ").concat(r)})),(0,j.jsx)("ul",{className:Zt("tooltip-list"),children:n.map((function(e,t){return(0,j.jsx)("li",{className:Zt("tooltip-item"),children:e},t)}))})),placement:"bottom",className:Zt("state-with-icon"),children:[(0,j.jsx)(ge,{className:Zt("health",{value:o}),value:o})," ",(0,j.jsx)(oe.A,{awesome:"question-circle"})]})}:{key:"State",value:(0,j.jsxs)(ie.m,{content:on(r),placement:"bottom",className:Zt("state-with-icon"),children:[(0,j.jsx)(ge,{className:Zt("health",{value:o}),value:o})," ",(0,j.jsx)(oe.A,{awesome:"exclamation-triangle"})]})}}(t),nn("Memory allocated/limit",s,o,"Bytes"),nn("vCPU allocated/limit",c,l,"vCores"))}if(void 0!==e.rpc_proxy_count){var u=e.rpc_proxy_count,d=e.rpc_proxy_resource_guarantee,m=d.memory,h=d.vcpu;n.push(rn("RPC proxies",u,m,h))}if(void 0!==e.tablet_node_count){var b=e.tablet_node_count,_=e.tablet_node_resource_guarantee,v=_.memory,f=_.vcpu;n.push(rn("Tablet nodes",b,v,f))}if(e.memory_limits){var g=((null==e?void 0:e.tablet_node_resource_guarantee)||{}).memory;n.push($t("Memory allocation",{data:e.memory_limits,resourceType:"Bytes",limit:g}))}return e.cpu_limits&&n.push($t("vCPU allocation",{data:e.cpu_limits,resourceType:"Number",postfix:"threads"})),(0,j.jsx)(ce.Ay,{className:Zt(),subTitles:["Bundle configuration"],items:[n]})}function nn(e,t,n,r){var a=ct.A.format[r](n),o=ct.A.format[r](t),l=ct.A.format.Number(t/n*100||0);return{key:e,value:(0,j.jsxs)("span",{children:[(0,Oe.G1)(o,a),(0,j.jsxs)("span",{className:Zt("percentage"),children:[l,"%"]})]})}}function rn(e,t,n,r){var a=ct.A.format.Bytes(n),o=ct.A.format.vCores(r);return{key:e,value:t?"".concat(t," x (").concat(a,", ").concat(o,")"):0}}function an(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return null!=e&&e.length||0!==t?(null==e||!e.length)&&t>0?"changing":"failed":"good"}function on(e){return(0,j.jsx)("ol",{className:Zt("tooltip-list",{alerts:!0}),children:e.map((function(e){return(0,j.jsxs)("li",{className:Zt("tooltip-item"),children:[e.id," - ",e.description]},e.id)}))})}var ln=(0,l.A)("bundle-meta-table");function sn(){return(0,j.jsxs)("div",{className:ln("container"),children:[(0,j.jsx)(ye,{}),(0,j.jsx)(tn,{}),(0,j.jsx)(en,{})]})}var cn=n(64772),un=n(72902),dn=n(4617),mn=(0,l.A)("cells-bundle-controller"),hn=[{name:"Address",render:function(e){var t=e.row,n=t.url,r=t.address;return(0,j.jsxs)("span",{children:[(0,j.jsx)(se.A,{className:mn("address-host"),url:n,routed:!0,children:r}),r&&(0,j.jsx)(x.A,{text:r,view:"flat",inlineMargins:!0,visibleOnRowHover:!0})]})},sortable:!1},{name:"Type",render:function(e){var t,n=(null===(t=e.row.data)||void 0===t?void 0:t.resource)||{},r=n.memory,a=n.vcpu,o=cn.A.Bytes(r),l=cn.A.vCores(a);return(0,j.jsxs)("div",{children:[o,", ",l]})},sortable:!1,width:200},{name:"tablet_static_memory",header:"Tablet static memory",render:function(e){var t,n=e.row.tablet_static_memory;if(!n)return cn.A.NO_VALUE;var r=n.used,a=n.limit,o=(0,Oe.G1)(cn.A.Bytes(r),cn.A.Bytes(a)),l=null!==(t=(0,dn.jP)(r,a))&&void 0!==t?t:0;return(0,j.jsx)(ue.k,{value:l,theme:(0,dn.F0)(l),text:o})},sortable:!1,width:200,align:"center"},{name:"Allocation request",render:function(e){var t=e.row.hulkRequestPath;if(!t)return cn.A.NO_VALUE;var n=(0,Oe.bx)(t,"/").suffix;return(0,j.jsxs)("span",{className:mn("alloc-request"),children:[(0,j.jsx)(ne.A,{className:mn("alloc-request-attrs"),title:n,exactPath:t}),(0,j.jsx)(se.A,{className:mn("alloc-request-url"),url:(0,un.L$)({path:t}),children:n})]})},width:300,align:"center",sortable:!1},{name:"Allocation state",render:function(e){var t=e.row.allocationState,n="IN_PROGRESS"===t?"Please note that allocating new instances on MapReduce clusters can take several hours.":void 0;return t?(0,j.jsxs)(ie.m,{content:n,useFlex:!0,children:[(0,j.jsx)(le.A,{text:cn.A.ReadableField(t.toLocaleLowerCase())}),Boolean(n)&&(0,j.jsx)(oe.A,{awesome:"question-circle",color:"secondary"})]}):cn.A.NO_VALUE},sortable:!1,align:"center",width:200},{name:"",render:function(e){var t=e.row;return(0,j.jsxs)(o.Fragment,{children:[pn(t),bn(t)]})},width:80,align:"center"}];function pn(e){var t=e.deployUrl;return t?(0,j.jsx)(ie.m,{className:mn("link-icon"),content:"Deploy",placement:["top-end","bottom-end"],children:(0,j.jsx)(Ge.A,{url:t,hideIcon:!0,children:(0,j.jsx)(oe.A,{awesome:"rocket",face:"solid"})})}):null}function bn(e){var t=e.nannyUrl;return t?(0,j.jsx)(ie.m,{className:mn("link-icon"),content:"Nanny",placement:["top-end","bottom-end"],children:(0,j.jsx)(Ge.A,{url:t,hideIcon:!0,children:(0,j.jsx)(oe.A,{awesome:"cloud",face:"solid"})})}):null}var _n={displayIndices:!1,stickyHead:te.Ay.MOVING,stickyTop:h.kB,syncHeadOnResize:!0,dynamicRender:!0};function vn(e){var t=e.items,n=e.hideColumns,r=o.useState(""),a=(0,E.A)(r,2),l=a[0],s=a[1],i=o.useMemo((function(){return l?A()(t,(function(e){var t=e.address;return-1!==(null==t?void 0:t.indexOf(l))})):t}),[t,l]),c=function(e){return o.useMemo((function(){if(null==e||!e.length)return hn;var t=new Set(e);return hn.filter((function(e){return!t.has(e.name)}))}),[e])}(n),u=(0,j.jsx)(N.M,{itemsToWrap:[{name:"filter",node:(0,j.jsx)(w.A,{hasClear:!0,size:"m",type:"text",value:l,placeholder:"Enter address...",onChange:s,autofocus:!1,debounce:400,skipBlurByEnter:!0})}]});return(0,j.jsx)("div",{className:mn(),children:(0,j.jsx)(h.Ay,{toolbar:u,content:(0,j.jsx)(ae.Ay,{useThemeYT:!0,columns:c,data:i,settings:_n,emptyDataMessage:"No items to show"})})})}var fn=function(){var e=(0,p.d4)(D.Hw);return(0,j.jsx)(m.A,{children:(0,j.jsx)(vn,{items:e})})},gn=function(){var e=(0,p.d4)(D.hz);return(0,j.jsx)(m.A,{children:(0,j.jsx)(vn,{items:e,hideColumns:["tablet_static_memory"]})})},yn=n(96843),An=n.n(yn),xn=n(53615),wn=n(35762),Nn=n(20361),Cn=n(79366),jn=n(14145),Bn=n(70353),kn=n(81214),Tn=n.n(kn),En={keys:{resources:["rpc_proxy_count","rpc_proxy_resource_guarantee","tablet_node_count","tablet_node_resource_guarantee"],memory_limits:["reserved","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","key_filter_block_cache"],cpu_limits:["lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size"]},defaults:{memory_limits:{memory_reset:!1,tablet_static:0,tablet_dynamic:0,compressed_block_cache:0,uncompressed_block_cache:0,versioned_chunk_meta:0,lookup_row_cache:0,key_filter_block_cache:0},cpu_limits:{threadPool_reset:!1,lookup_thread_pool_size:0,query_thread_pool_size:0,write_thread_pool_size:0}}},Ln=function(e,t){return{usage:he.A.getValue(e,"/@resource_usage/".concat(t)),limit:he.A.getValue(e,"/@resource_limits/".concat(t))}},Sn=function(e,t){var n=he.A.getValue(e,"/@abc/slug"),r=he.A.getValue(e,"/@options/changelog_account"),a=he.A.getValue(e,"/@options/snapshot_account"),o=Ln(e,"tablet_count").limit,l=Ln(e,"tablet_static_memory").limit;if(!t)return{general:{abc:{slug:n},changelog_account:r,snapshot_account:a},resources:{tablet_count:o||0,tablet_static_memory:l||0}};var s=t.rpc_proxy_count,i=t.tablet_node_count,c=t.cpu_limits,u=t.memory_limits;return{general:{abc:{slug:n},changelog_account:r,snapshot_account:a},resources:{info:"",tablet_count:o||0,rpc_proxy_count:s,rpc_proxy_resource_guarantee:t.rpc_proxy_resource_guarantee||void 0,tablet_node_count:i,tablet_node_resource_guarantee:t.tablet_node_resource_guarantee||void 0},memory_limits:{memory_reset:!1,reserved:(null==u?void 0:u.reserved)||0,tablet_static:(null==u?void 0:u.tablet_static)||0,tablet_dynamic:(null==u?void 0:u.tablet_dynamic)||0,compressed_block_cache:(null==u?void 0:u.compressed_block_cache)||0,uncompressed_block_cache:(null==u?void 0:u.uncompressed_block_cache)||0,versioned_chunk_meta:(null==u?void 0:u.versioned_chunk_meta)||0,lookup_row_cache:(null==u?void 0:u.lookup_row_cache)||0,key_filter_block_cache:(null==u?void 0:u.key_filter_block_cache)||0},cpu_limits:{threadPool_reset:!1,lookup_thread_pool_size:(null==c?void 0:c.lookup_thread_pool_size)||0,query_thread_pool_size:(null==c?void 0:c.query_thread_pool_size)||0,write_thread_pool_size:(null==c?void 0:c.write_thread_pool_size)||0}}},Fn=function(e){return Object.entries(e).map((function(e){var t,n,a=(0,E.A)(e,2),o=a[0],l=a[1],s=l.resource_guarantee,i=s.net,c=s.vcpu,u=s.memory;return{id:o,type:o,memory:ct.A.format.Bytes(u),net:(t=i,n=void 0!==t?(t/1e9).toPrecision(2):0,"".concat(n," Gbit RX/TX")),vcpu:ct.A.format.vCores(c),initialData:(0,r.A)((0,r.A)({},l.resource_guarantee),{},{type:o})}}))},zn=function(e,t,n){var r=ct.A.format[e](t).split(" "),a=(0,E.A)(r,2),o=[{title:"Total",value:a[0],postfix:a[1]}];if(void 0!==n){var l=t-n,s=ct.A.format[e](l).split(" "),i=(0,E.A)(s,2),c=i[0],u=i[1];o.push({title:"Free",value:c===ct.A.format.NO_VALUE?"0":c,postfix:u,type:l>=0?"positive":"negative"})}return o};function Rn(e){var t=e.id,n=e.slug;return t&&n?{id:t,slug:n}:void 0}var On=function(e){var t={},n=e.getState(),r=n.dirtyFields,a=n.values;function o(e,n,o){if(r[n]){var l=Tn()(a,n);t[e]="function"==typeof o?o(l):l}}return o("@abc","general.abc",Rn),o("@options/changelog_account","general.changelog_account"),o("@options/snapshot_account","general.snapshot_account"),o("@resource_limits/tablet_count","resources.tablet_count"),o("@resource_limits/tablet_static_memory","resources.tablet_static_memory"),o("@bundle_controller_target_config/rpc_proxy_count","resources.rpc_proxy_count"),o("@bundle_controller_target_config/tablet_node_count","resources.tablet_node_count"),o("@bundle_controller_target_config/rpc_proxy_resource_guarantee","resources.rpc_proxy_resource_guarantee"),o("@bundle_controller_target_config/tablet_node_resource_guarantee","resources.tablet_node_resource_guarantee"),o("@bundle_controller_target_config/memory_limits/reserved","memory_limits.reserved"),o("@bundle_controller_target_config/memory_limits/tablet_static","memory_limits.tablet_static"),o("@bundle_controller_target_config/memory_limits/tablet_dynamic","memory_limits.tablet_dynamic"),o("@bundle_controller_target_config/memory_limits/compressed_block_cache","memory_limits.compressed_block_cache"),o("@bundle_controller_target_config/memory_limits/uncompressed_block_cache","memory_limits.uncompressed_block_cache"),o("@bundle_controller_target_config/memory_limits/versioned_chunk_meta","memory_limits.versioned_chunk_meta"),o("@bundle_controller_target_config/memory_limits/lookup_row_cache","memory_limits.lookup_row_cache"),o("@bundle_controller_target_config/memory_limits/key_filter_block_cache","memory_limits.key_filter_block_cache"),o("@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size","cpu_limits.lookup_thread_pool_size"),o("@bundle_controller_target_config/cpu_limits/query_thread_pool_size","cpu_limits.query_thread_pool_size"),o("@bundle_controller_target_config/cpu_limits/write_thread_pool_size","cpu_limits.write_thread_pool_size"),t},Dn=function(e){var t,n=Number(e);return Number.isFinite(n)||(t="Incorrect value"),n<0&&(t="Must be greater than or equal to zero"),t},In=function(e){var t=e.length;return function(e){var n,r=Number(e);return Number.isFinite(r)?r<0?n="Must be greater than or equal to zero":t>0&&r%t!=0&&(n="Must be divisible by ".concat(t)):n="Incorrect value",n}};function Pn(e,t,n){var r,a={},o=(0,Bn.A)(En.keys[n]);try{for(o.s();!(r=o.n()).done;){var l,s=r.value;a[s]=null!==(l=e[s])&&void 0!==l?l:t[s]}}catch(e){o.e(e)}finally{o.f()}return a}var Un=n(29081),qn=(0,l.A)("bundle-editor");function Hn(){var e,t=(0,p.d4)(jn.j),n=t.visibleEditor,a=t.bundleName,o=t.bundleData,l=t.data,s=t.bundleControllerData,i=(0,p.d4)(q.jU),c=(0,p.d4)(D._t).defaultConfig,d=null==o?void 0:o.bundle_controller_target_config,m=(null==o?void 0:o.enable_bundle_controller)||!1,h=Ln(l,"tablet_count").usage,_=Ln(l,"tablet_static_memory").usage,v=(0,p.d4)(D.nX).get(null!=a?a:""),f=(0,p.d4)(Cn.d),g=m?d?Sn(l,d):{}:Sn(l),y=function(){if(!c)return[[],[],[]];var e=c.rpc_proxy_sizes,t=c.tablet_node_sizes,n=c.data_centers;return[Fn(e),Fn(t),n?(0,b.A)(Object.values(n)):[]]}(),A=(0,E.A)(y,3),x=A[0],w=A[1],N=A[2],C={name:"general",title:"General",type:"tab-vertical",size:"s",fields:[].concat((0,b.A)((0,be.Ve)()?[{name:"abc",type:"abc-control",caption:"ABC Service",extras:{placeholder:"Select ABC service...",disabled:!f}}]:[]),[{name:"changelog_account",type:"accounts-suggest-with-loading",caption:"Changelog account",extras:{allowRootAccount:!0,disabled:!f}},{name:"snapshot_account",type:"accounts-suggest-with-loading",caption:"Snapshot account",extras:{allowRootAccount:!0,disabled:!f}}])},B={name:"resources",title:"Resources",type:"tab-vertical",size:"s",fields:[{name:"info",type:"block",fullWidth:!0,touched:!0,extras:{children:(0,j.jsxs)(xn.R,{className:qn("info"),children:[be.Ay.renderTableCellBundleEditorNotice({bundleData:o,clusterUiConfig:i}),(0,j.jsx)(wn.h,{className:qn("params"),params:[{title:"Memory",value:ct.A.format.Bytes((null==s?void 0:s.resource_quota.memory)||"0")},{title:"vCPU",value:ct.A.format.vCores((null==s?void 0:s.resource_quota.vcpu)||"0")},{title:"Tablet count",value:ct.A.format.Number(null===(e=g.resources)||void 0===e?void 0:e.tablet_count)}]})]})}}].concat((0,b.A)(v?[{name:"tablet_count",type:"bundle-input",caption:"Tablet count",extras:{format:"Number",withoutDetailedBar:!0,progress:{usage:h}},validator:Dn}]:[]),[{section:"RPC proxy"},{type:"bundle-input",name:"rpc_proxy_count",caption:"RPC proxy count",extras:{format:"Number",withoutDetailedBar:!0,hasClear:!0},tooltip:(0,Un.fs)((0,U.f2)(be.Ay.docsUrls["dynamic-tables:cross-dc"],"Help")),validator:In(N)},{type:"bundle-table-field",name:"rpc_proxy_resource_guarantee",caption:"Instance configuration",fullWidth:!0,extras:{data:x}},{section:"Tablet node"},{type:"bundle-input",name:"tablet_node_count",caption:"Tablet node count",extras:{format:"Number",withoutDetailedBar:!0,hasClear:!0},tooltip:(0,Un.fs)((0,U.f2)(be.Ay.docsUrls["dynamic-tables:cross-dc"],"Help")),validator:In(N)},{type:"bundle-table-field",name:"tablet_node_resource_guarantee",caption:"Instance configuration",fullWidth:!0,extras:function(e,t){var n=t.form;return{data:w,onRadioClick:function(t){var a,o=t.type||"",l=(null==c?void 0:c.tablet_node_sizes[o].default_config.memory_limits)||{},s=(null==c?void 0:c.tablet_node_sizes[o].default_config.cpu_limits)||{},i=(null==c||null===(a=c.tablet_node_sizes[o].default_config.memory_limits)||void 0===a?void 0:a.reserved)||void 0,u=Pn(e.memory_limits,l,"memory_limits"),d=Pn(e.cpu_limits,s,"cpu_limits");u.reserved=i,n.change("memory_limits",(0,r.A)((0,r.A)({},En.defaults.memory_limits),u)),n.change("cpu_limits",(0,r.A)((0,r.A)({},En.defaults.cpu_limits),d))}}}}])},k={name:"resources",title:"Resources",type:"tab-vertical",size:"s",fields:[{name:"tablet_count",type:"bundle-input",caption:"Tablet count",extras:{format:"Number",withoutDetailedBar:!0,progress:{usage:h}},validator:Dn},{name:"tablet_static_memory",type:"bundle-input",caption:"Tablet static memory",extras:{format:"Bytes",progress:{usage:_}},validator:Dn,tooltip:(0,j.jsx)("span",{children:"Tablet static memory limit is based on hardware resources. Do not increase it unless you fully understand what you are doing. In case of emergency consider adding new tablet cells to the bundle, consulting with Components/Nodes page and increasing the limit only when new nodes are added to the bundle."})}]},T={name:"memory_limits",title:"Memory",type:"tab-vertical",size:"s",visibilityCondition:{when:"resources.tablet_node_resource_guarantee",isActive:function(e){return void 0!==e}},fields:[{name:"memory_reset",type:"bundle-title",caption:"Memory",touched:!0,extras:function(e,t){var n,a=t.form,o=null===(n=e.resources)||void 0===n?void 0:n.tablet_node_resource_guarantee,l=function(){if(o&&o.type&&c){var e=o.type,t=c.tablet_node_sizes[e].default_config.memory_limits;a.change("memory_limits",(0,r.A)((0,r.A)({},En.defaults.memory_limits),t))}};if(!o)return{params:[],onReset:l};var s=o.memory,i=En.keys.memory_limits.reduce((function(t,n){var r,a=null==e||null===(r=e.memory_limits)||void 0===r?void 0:r[n];return"number"!=typeof a||isNaN(a)?t:t+a}),0);return{params:zn("Bytes",s,i),onReset:l}}},{name:"reserved",type:"bundle-input",caption:"Reserved",extras:{format:"Bytes",disabled:!0},tooltip:(0,Un.fs)((0,U.f2)(be.Ay.docsUrls["bundle-controller:reserved-memory"],"Help"))},{name:"tablet_static",type:"bundle-input",caption:"Tablet static",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"tablet_dynamic",type:"bundle-input",caption:"Tablet dynamic",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"compressed_block_cache",type:"bundle-input",caption:"Compressed block cache",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"uncompressed_block_cache",type:"bundle-input",caption:"Uncompressed block cache",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"versioned_chunk_meta",type:"bundle-input",caption:"Versioned chunk meta",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"lookup_row_cache",type:"bundle-input",caption:"Lookup row cache",extras:{format:"Bytes",hasClear:!0},validator:Dn},{name:"key_filter_block_cache",type:"bundle-input",caption:"Key filter block cache",extras:{format:"Bytes",hasClear:!0},validator:Dn}]},L={name:"cpu_limits",title:"Thread pools",type:"tab-vertical",size:"s",visibilityCondition:{when:"resources.tablet_node_resource_guarantee",isActive:function(e){return void 0!==e}},fields:[{name:"threadPool_reset",type:"bundle-title",caption:"vCPU",extras:function(e,t){var n,a=t.form,o=null===(n=e.resources)||void 0===n?void 0:n.tablet_node_resource_guarantee;if(!o||!o.type||!c)return{params:[],onReset:function(){}};var l=o.vcpu;return{params:zn("vCores",l),onReset:function(){var e=o.type;if(e){var t=c.tablet_node_sizes[e].default_config.cpu_limits;a.change("cpu_limits",(0,r.A)((0,r.A)({},En.defaults.cpu_limits),t))}}}}},{name:"lookup_thread_pool_size",type:"bundle-input",caption:"Lookup thread pool size",extras:{postfix:"threads",format:"Number",hasClear:!0},validator:Dn},{name:"query_thread_pool_size",type:"bundle-input",caption:"Query thread pool size",extras:{postfix:"threads",format:"Number",hasClear:!0},validator:Dn},{name:"write_thread_pool_size",type:"bundle-input",caption:"Write thread pool size",extras:{postfix:"threads",format:"Number",hasClear:!0},validator:Dn}]},S=[C];m?S.push(B,T,L):S.push(k);var F=(0,p.wA)(),z=function(){var e=(0,Ut.A)(Ht().mark((function e(t){var n;return Ht().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a){e.next=2;break}return e.abrupt("return",{});case 2:return n=On(t),e.prev=3,e.next=6,F(bt({bundleName:a,data:n}));case 6:return e.abrupt("return",void 0);case 9:return e.prev=9,e.t0=e.catch(3),e.abrupt("return",(0,Nn.Ln)(e.t0));case 12:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t){return e.apply(this,arguments)}}();return An()(l)?null:(0,j.jsx)(Nn.yZ,{className:qn("dialog"),headerProps:{title:a},size:"l",initialValues:g,visible:n,onAdd:z,onClose:function(){F((function(e){e({type:u.Or,data:{bundleName:void 0,loaded:!0,visibleEditor:!1}})}))},fields:S,validate:Mn.bind(null,null==s?void 0:s.resource_quota)})}function Mn(e,t){var n,r,a,o,l,s,i,c={resources:{info:void 0},memory_limits:{memory_reset:void 0}},u=t.resources,d=Object.values(t.memory_limits||{}).reduce((function(e,t){return"number"!=typeof t?e:e+t}),0),m=u.tablet_node_resource_guarantee;c.memory_limits.memory_reset=d>(null!==(n=null==m?void 0:m.memory)&&void 0!==n?n:0)?"The sum of the memory limits exceeds the allowed values":void 0;var h=u.rpc_proxy_count,p=void 0===h?0:h,b=u.tablet_node_count,_=void 0===b?0:b,v=(null!==(r=null==m?void 0:m.vcpu)&&void 0!==r?r:0)*_+(null!==(a=null===(o=u.rpc_proxy_resource_guarantee)||void 0===o?void 0:o.vcpu)&&void 0!==a?a:0)*p,f=[];v>(null==e?void 0:e.vcpu)&&f.push("".concat(ct.A.format.Number(v/1e3)," cpu required"));var g=(null!==(l=null==m?void 0:m.memory)&&void 0!==l?l:0)*_+(null!==(s=null===(i=u.rpc_proxy_resource_guarantee)||void 0===i?void 0:i.memory)&&void 0!==s?s:0)*p;return g>(null==e?void 0:e.memory)&&f.push("".concat(ct.A.format.Bytes(g)," memory requried")),c.resources.info=f.length?f.join(", "):void 0,c}var Vn=n(26264);function Wn(e){return function(t){return t({type:u.cP}),t({type:u.LJ,data:{bundleName:e,visibleEditor:!0}}),H.Qq.get(H.Vu.chaosCellBundlesEditData,{path:"//sys/chaos_cell_bundles/".concat(e),attributes:["resource_usage","resource_limits","options","abc"]}).then((function(e){t({type:u.sP,data:{data:e}})})).catch((function(e){t({type:u.VA,data:e})}))}}var Qn=["bundle","health","tabletCells","enable_bundle_balancer","changelog_account","actions"],Yn={setBundlesSortState:function(e){return{type:u.lr,data:{bundlesSort:e}}},setActiveBundle:Ue,showCellBundleEditor:Wn};const Kn=(0,p.Ng)((function(e){return{loading:(0,Ie.l9)(e),loaded:(0,Ie.um)(e),data:(0,Ie.v8)(e),total:(0,Ie.sD)(e),sortState:(0,Ie.dz)(e),cluster:(0,q.dB)(e),allowPerBundleAccounting:!1,mode:(0,Ie.tC)(e),pathPrefix:"//sys/chaos_cell_bundles/",columns:Qn,activeBundleLink:R.pu,writeableByName:{get:function(){return!0}}}}),Yn)(at);var Gn=["default"],Xn={setTabletsBundlesNameFilter:function(e){return{type:u.lr,data:{bundlesNameFilter:e}}},setTabletsBundlesAccountFilter:function(e){return{type:u.lr,data:{bundlesAccountFilter:e}}},setTabletsBundlesTagNodeFilter:function(e){return{type:u.lr,data:{bundlesTagNodeFilter:e}}},setTabletsFirstBundleAsActive:function(){return function(e,t){var n=t(),r=(0,Ie.v8)(n),a=(0,E.A)(r,1)[0];if(a){var o=(0,q.dB)(n);e(Ue(a.bundle)),(0,M.Q)().push((0,R.d7)(o,a.bundle))}}},setTabletsPartial:Pe};const $n=(0,p.Ng)((function(e){return{accountFilter:(0,Ie.px)(e),bundlesTableMode:(0,Ie.tC)(e),nameFilter:(0,Ie.p1)(e),tagNodeFilter:(0,Ie.QJ)(e),modes:Gn}}),Xn)(Bt);function Zn(){var e=(0,p.wA)(),t=o.useCallback((function(t){e(function(e){return function(t,n){var r=(0,Ie.DO)(e,(0,Ie.UI)(n())),a=(0,Ie.U5)(r);P()(a||"")}}(t))}),[e]);return o.useEffect((function(){e(Ue(""))}),[e]),(0,j.jsx)(m.A,{children:(0,j.jsx)(h.Ay,{toolbar:(0,j.jsx)($n,{}),content:(0,j.jsx)(Kn,{copyHostListToClipboard:t})})})}var Jn=n(50073),er=n(9772),tr=n(60680),nr=n(84656),rr=n(44187),ar=(0,l.A)("chaos-editor"),or=[{value:"general",text:"General",show:!0},{value:"resources",text:"Resources",show:!0}];function lr(e){var t=e.bundleEditorData,n=e.resourceType,r=e.setBundleQuota,a=t.data,l=he.A.getValue(a,"/@resource_limits/".concat(n)),s=he.A.getValue(a,"/@resource_usage/".concat(n)),i=o.useState(!1),c=(0,E.A)(i,2),u=c[0],d=c[1],m=o.useCallback((function(){d(!u)}),[u,d]),h=(0,U.z)(s,l,sr[n]),p=h.value,b=void 0===p?0:p,_=h.theme,v=h.text;return(0,j.jsxs)("div",{className:ar("item"),children:[(0,j.jsxs)("div",{className:ar("name-usage"),children:[(0,j.jsx)("div",{className:ar("name"),children:(0,j.jsx)(tr.yN,{children:ct.A.format.Readable(n)})}),(0,j.jsx)(ue.k,{className:ar("progress"),value:b,theme:_,text:v}),(0,j.jsx)(Ke.A,{view:"flat-secondary",onClick:m,children:(0,j.jsx)(oe.A,{awesome:"pencil"})})]}),u&&(0,j.jsx)(ir,{bundleEditorData:t,resourceType:n,setBundleQuota:r,toggleVisibility:m})]})}var sr={tablet_count:"Number",tablet_static_memory:"Bytes"};function ir(e){var t=e.bundleEditorData,n=e.resourceType,r=e.setBundleQuota,a=e.toggleVisibility,l=t.bundleName,s=void 0===l?"":l,i=t.data,c=he.A.getValue(i,"/@resource_limits/".concat(n)),u=he.A.getValue(i,"/@resource_usage/".concat(n)),d=(0,p.wA)(),m=o.useCallback((function(e){d(r({bundleName:s,resourceType:n,limit:e}))}),[n]);return(0,j.jsx)(er.A,{format:sr[n],limit:c,onHide:a,onSave:m,getInfoByName:function(){return{limit:c,total:u}},currentAccount:s,parentOfCurrentAccount:"",max:1/0})}function cr(e){var t=e.bundleEditorData,n=e.setBunndleAttributes;return(0,j.jsxs)(o.Fragment,{children:[(0,j.jsx)(ur,{bundleEditorData:t,setBunndleAttributes:n}),(0,j.jsx)(dr,{attributeName:"changelog_account",bundleEditorData:t,setBunndleAttributes:n}),(0,j.jsx)(dr,{attributeName:"snapshot_account",bundleEditorData:t,setBunndleAttributes:n})]})}function ur(e){var t=e.bundleEditorData,n=e.setBunndleAttributes,r=t.bundleName,a=t.data,l=he.A.getValue(a,"/@abc/slug"),s=(0,p.d4)(Cn.d),i=(0,p.wA)(),c=o.useCallback((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.id,a=e.slug;if(!r)throw new Error("Name of bundle cannot be empty");i(n(r,{attributes:{abc:t&&a?{id:t,slug:a}:void 0}}))}),[]),u=be.Ay.renderControlAbcService({value:{slug:l},onChange:c,placeholder:"Select ABC service...",disabled:!s});return u?(0,j.jsx)(rr.o,{header:"ABC Service",children:(0,j.jsx)(j.Fragment,{children:u})}):null}function dr(e){var t=e.attributeName,n=e.bundleEditorData,r=e.setBunndleAttributes,l=n.bundleName,s=n.data,i=he.A.getValue(s,"/@options/".concat(t)),c=(0,p.d4)(Cn.d),u=(0,p.wA)(),d=o.useCallback((function(e){if(!l)throw new Error("Name of bundle cannot be empty");u(r(l,{options:(0,a.A)({},t,e)}))}),[]);return(0,j.jsx)(rr.o,{header:"".concat(ee()(t)," account"),children:(0,j.jsx)(nr.Dk,{value:i||"",onChange:d,disabled:!c,allowRootAccount:!0})})}var mr=function(e){return e.chaosCellBundleEditor},hr={hideBundleEditor:function(){return function(e){e({type:u.LJ,data:{bundleName:void 0,loaded:!0,visibleEditor:!1}})}},setBundleQuota:function(e){return function(t){var n=e.bundleName,r=e.resourceType,a=e.limit,o=ct.A.format.Readable(r);return(0,U.fI)(mt().v3.set({path:"//sys/chaos_cell_bundles/".concat(n,"/@resource_limits/").concat(r)},a),{toasterName:"edit_bundle_".concat(n),successContent:"Set quota limit for ".concat(o),errorContent:"Cannot set quota limit for ".concat(o)}).then((function(){t(Wn(n))}))}},setBunndleAttributes:function(e,t){return function(n){console.log(t);var r=t.attributes,a=t.options,o="//sys/chaos_cell_bundles/".concat(e);return(0,U.fI)(H.Qq.executeBatch(H.Vu.chaosCellBundlesSetAttrs,{requests:[].concat((0,b.A)(S()(r,(function(e,t){return(0,ut.Gy)("".concat(o,"/@").concat(t),e)}))),(0,b.A)(S()(a,(function(e,t){return(0,ut.Gy)("".concat(o,"/@options/").concat(t),e)}))))}),{toasterName:"update-bundle_".concat(e),successContent:"".concat(e," successfully updated"),errorContent:"".concat(e," cannot be updated"),batchType:"v3",errorTitle:"Failed to update bundle configuration"}).then((function(){n(Wn(e))}))}}};const pr=(0,p.Ng)((function(e){return{bundleEditorData:mr(e)}}),hr)((function(e){var t=e.bundleEditorData,n=e.hideBundleEditor,r=e.setBundleQuota,a=e.setBunndleAttributes,l=t.visibleEditor,s=t.bundleName,i=t.error,u=o.useState(or[0].value),d=(0,E.A)(u,2),m=d[0],h=d[1],b=(0,p.wA)(),_=o.useCallback((function(){b(n())}),[]);return l?(0,j.jsxs)(Jn.l,{open:!0,onClose:_,children:[(0,j.jsx)(Jn.l.Header,{caption:(0,j.jsx)(o.Fragment,{children:s})}),(0,j.jsx)(Jn.l.Divider,{}),(0,j.jsxs)(Jn.l.Body,{className:ar("body"),children:[(0,j.jsx)("div",{className:ar("body-tabs"),children:(0,j.jsx)(c.A,{items:or,size:"m",layout:"vertical",active:m,onTabChange:h})}),(0,j.jsxs)("div",{className:ar("body-tab-content"),children:["resources"===m&&(0,j.jsxs)(o.Fragment,{children:[(0,j.jsx)(lr,{bundleEditorData:t,resourceType:"tablet_count",setBundleQuota:r}),(0,j.jsx)(lr,{bundleEditorData:t,resourceType:"tablet_static_memory",setBundleQuota:r}),i&&(0,j.jsx)(qe.A,{error:i})]}),"general"===m&&(0,j.jsx)(cr,{bundleEditorData:t,setBunndleAttributes:a})]})]})]}):null}));var br={setTabletsPartial:Pe};const _r=(0,p.Ng)((function(e){return{activeBundle:(0,Ie.JP)(e),activeBundleHosts:(0,Ie.GR)(e),idFilter:(0,Ie.Xj)(e),bundleFilter:(0,Ie.uo)(e),hostFilter:(0,Ie.yb)(e),bundles:(0,Ie.zQ)(e),hosts:(0,Ie.RC)(e)}}),br)(k);var vr=["id","bundle","health","peerAddress","state","actions"],fr={setTabletsPartial:Pe,setTabletsActiveBundle:Ue};const gr=(0,p.Ng)((function(e){return{cluster:(0,q.dB)(e),loading:(0,Ie.l9)(e),loaded:(0,Ie.um)(e),data:(0,Ie.jU)(e),sortState:(0,Ie.Nd)(e),columns:vr,activeBundleLink:R.pu,attributesPath:R.Dr,cellNavigationLink:R.t8}}),fr)(Le);function yr(){return(0,j.jsx)(m.A,{children:(0,j.jsx)(h.Ay,{toolbar:(0,j.jsx)(_r,{}),content:(0,j.jsx)(gr,{})})})}var Ar=n(35441),xr=n(62250),wr=(0,n(33882).A)(o.lazy((0,Ut.A)(Ht().mark((function e(){return Ht().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8096),n.e(2209),n.e(3266),n.e(7164),n.e(6733),n.e(3990),n.e(3735),n.e(8356),n.e(1830)]).then(n.bind(n,87277));case 2:return e.t0=e.sent.TabletErrorsByBundle,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),Nr=n(31229),Cr=(0,l.A)("tablets"),jr=o.memo(Tr);function Br(){var e,t=(0,d.W5)(),n=(0,p.d4)(q.dB),a=(0,p.d4)(D.Mm),l=(0,p.d4)(D.OR),s=((0,p.d4)(D.EA)||{}).enable_bundle_controller,c=void 0!==s&&s,m=(0,p.wA)(),h=o.useCallback((function(){Promise.all([m((function(e){e({type:u.CQ});var t=[{command:"list",parameters:(0,r.A)({path:"//sys/chaos_cells",attributes:["health","id","peers","status","tablet_cell_bundle"]},Q.v)},{command:"get",parameters:(0,r.A)({path:"//sys/chaos_cell_bundles",attributes:["health","id","options"]},Q.v)}];return H.Qq.executeBatch(H.Vu.chaosCellBundles,{requests:t}).then((function(t){var n=(0,E.A)(t,2),r=n[0].output,a=n[1].output,o=(0,U.$7)(t,"Tablet cell bundles cannot be loaded");if(o)throw o;var l=(0,R.VY)(r),s=(0,R.Th)(l,a);e({type:u.CZ,data:{cells:l,bundles:s}})})).catch((function(t){e({type:u.jo,data:t})}))})),m(K())])}),[m]);(0,De.Tt)(h);var b=(0,p.d4)(D.nX).get(l),_=c||b,v=function(e,t){return o.useMemo((function(){return i()(u.R_,(function(t,n){return n===u.R_.CHAOS_CELLS?t[n]={show:!1}:t[n]={show:n===u.R_.TABLET_CELLS||Boolean(e)},t}),{})}),[e,t])}(l,c),f=v[u.R_.STATISTICS];f.show=f.show&&Boolean(be.Ay.getStatisticsComponentForBundle());var g=v[u.R_.MONITOR],y=null!==(e=be.Ay.getMonitoringForBundle())&&void 0!==e?e:{},A=y.component,x=y.urlTemplate,w=y.title;g.show=g.show&&Boolean(A||x),x&&(g.external=!0,g.routed=!1,g.url=(0,Ar.j)(x,{ytCluster:n,ytTabletCellBundle:l}));var N=v[u.R_.INSTANCES];N.show=N.show&&c;var C=v[u.R_.PROXIES];C.show=C.show&&c;var B=v[u.R_.TABLET_ERRORS];return B.show=B.show&&(0,Nr.FG)().allowTabletErrorsAPI,(0,j.jsxs)("div",{className:"elements-page__content",children:[(0,j.jsxs)("section",{className:Cr(null,"elements-main-section"),children:[(0,j.jsx)("div",{className:Cr("content"),children:(0,j.jsxs)("div",{className:Cr("heading"),children:[(0,j.jsx)(kr,{allowEdit:_,activeBundle:l,cluster:n}),(0,j.jsx)("div",{className:Cr("tabs"),children:(0,j.jsx)(jr,{activeBundle:l,showSettings:v,monitoringTitle:w})})]})}),a&&(0,j.jsx)(qe.A,{error:a}),(0,j.jsx)("div",{className:Cr("tab-viewer"),children:(0,j.jsxs)(d.dO,{children:[N&&(0,j.jsx)(d.qh,{path:"".concat(t.path,"/").concat(u.R_.INSTANCES),component:fn}),C&&(0,j.jsx)(d.qh,{path:"".concat(t.path,"/").concat(u.R_.PROXIES),component:gn}),B.show&&(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.TABLET_ERRORS),render:function(){return(0,j.jsx)(wr,{bundle:l})}}),(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.TABLET_CELLS),component:Re}),(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.CHAOS_CELL_BUNDLES,"/").concat(u.R_.CHAOS_CELLS),component:yr}),f.show&&(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.STATISTICS),component:zt}),g.show&&A&&(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.MONITOR),render:function(){return(0,j.jsx)(Ot,{component:A})}}),(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.ACL),render:function(){return(0,j.jsx)(Pt,{className:Cr("acl-tab")})}}),(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES),component:Lt}),(0,j.jsx)(d.qh,{path:"/".concat(n,"/").concat(Vn.YW.CHAOS_CELL_BUNDLES),component:Zn}),(0,j.jsx)(d.rd,{from:"/".concat(n,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/*"),to:t.path})]})})]}),(0,j.jsx)(Hn,{}),(0,j.jsx)(pr,{})]})}function kr(e){var t=e.activeBundle,n=e.allowEdit,r=e.cluster,a=(0,p.wA)(),l=(0,p.d4)(q.qp),s=o.useCallback((function(){t&&a(pt(t))}),[t,a]);return(0,j.jsxs)(o.Fragment,{children:[t&&(0,j.jsx)("div",{className:"elements-heading elements-heading_size_l",children:(0,j.jsxs)("div",{className:Cr("bundle-name"),children:[(0,j.jsxs)("div",{className:Cr("bundle-name-left"),children:[t,(0,j.jsx)(Ge.A,{className:Cr("dashboard-link"),theme:"ghost",url:(0,_t.Ut)(r,t)})]}),l&&n&&(0,j.jsx)("div",{className:Cr("tabs-edit-btn"),children:(0,j.jsxs)(Ke.A,{className:Cr("edit-btn"),size:"m",onClick:s,children:[(0,j.jsx)(oe.A,{awesome:"pencil"}),"Edit Bundle"]})})]})}),(0,j.jsx)(sn,{})]})}function Tr(e){var t=e.activeBundle,n=e.showSettings,o=e.monitoringTitle,l=void 0===o?"Monitoring":o,s=(0,d.W5)(),i=s.params.cluster,m=t?(0,Oe._4)(s.url,u.R_,n,void 0,(0,a.A)({},u.R_.MONITOR,l)):function(e,t){var n=(0,Oe._4)(e,{});return n.items=[{value:Vn.YW.TABLET_CELL_BUNDLES,text:"Tablet cell bundles",show:!0,url:"/".concat(t,"/").concat(Vn.YW.TABLET_CELL_BUNDLES)},{value:u.R_.TABLET_CELLS,text:"Tablet cells",show:!0,url:"/".concat(t,"/").concat(Vn.YW.TABLET_CELL_BUNDLES,"/").concat(u.R_.TABLET_CELLS)},{value:Vn.YW.CHAOS_CELL_BUNDLES,text:"Chaos cell bundles",show:!0,url:"/".concat(t,"/").concat(Vn.YW.CHAOS_CELL_BUNDLES)},{value:u.R_.CHAOS_CELLS,text:"Chaos cells",show:!0,url:"/".concat(t,"/").concat(Vn.YW.CHAOS_CELL_BUNDLES,"/").concat(u.R_.CHAOS_CELLS)}],n}(s.url,i);return(0,j.jsx)(c.A,(0,r.A)((0,r.A)({},m),{},{className:Cr("tabs"),routed:!0,routedPreserveLocation:!0,exactNavLink:!0,size:xr.jr}))}var Er=n(29228),Lr=n(79484),Sr=n(17777),Fr=(0,l.A)("tablet-cell-bundles-top-row-content");function zr(e){var t=e.isActiveBundleInFavourites,n=e.items,r=e.activeBundle,a=e.page,l=e.setActiveBundle,s=e.toggleFavourite,i=(0,p.d4)(q.dB),c=o.useCallback((function(e){l(e.path),e.path?(0,M.Q)().push("/".concat(i,"/").concat(a,"/").concat(u.R_.TABLET_CELLS,"?activeBundle=").concat(e.path)):(0,M.Q)().push("/".concat(i,"/").concat(a))}),[i,l]),d=o.useCallback((function(){s(r)}),[s]);return(0,j.jsx)(Lr.A,{className:Fr("favourites"),isActive:t,items:n,onItemClick:c,onToggle:d,toggleDisabled:!r,theme:"clear"})}function Rr(e){var t=e.className,n=e.bcItems,r=e.setActiveBundle,a=(0,d.W6)(),l=o.useCallback((function(e){r(e.toString())}),[r]),s=o.useMemo((function(){return n.map((function(e){var t=e.text||e.title||"";return(0,j.jsx)(Er.y,{href:e.href,children:t},t)}))}),[n]);return(0,j.jsx)(Er.B,{navigate:a.push,onAction:l,className:t,showRoot:!0,children:s})}const Or=function(e){var t=e.isActiveBundleInFavourites,n=e.favourites,r=e.toggleFavourite,a=e.activeBundle,o=e.activeBundleData,l=e.bcItems,s=e.page,i=e.setActiveBundle,c=(0,p.d4)(q.jU);return(0,j.jsxs)(Sr.K,{page:s,urlParams:{activeBundle:""},children:[(0,j.jsx)(zr,{isActiveBundleInFavourites:t,activeBundle:a,page:s,setActiveBundle:i,items:n,toggleFavourite:r}),(0,j.jsx)(Rr,{className:Fr("breadcrumbs"),bcItems:l,setActiveBundle:i}),be.Ay.renderTopRowExtraControlsForBundle({itemClassName:Fr("extra-control"),clusterUiConfig:c,bundle:o})]})};var Dr=n(82947),Ir={setActiveBundle:X,toggleFavourite:O.BO};const Pr=(0,p.Ng)((function(e){return{activeBundle:(0,D.OR)(e),activeBundleData:(0,D.EA)(e),bcItems:(0,D.tB)(e),page:Vn.YW.TABLET_CELL_BUNDLES,favourites:(0,Dr.NF)(e),isActiveBundleInFavourites:(0,Dr.YZ)(e)}}),Ir)(Or);var Ur={setActiveBundle:Ue};const qr=(0,p.Ng)((function(e){return{activeBundle:(0,Ie.JP)(e),activeBundleData:(0,Ie.vY)(e),bcItems:(0,Ie.K)(e),page:Vn.YW.CHAOS_CELL_BUNDLES,favourites:(0,Dr.jO)(e),isActiveBundleInFavourites:(0,Dr.sO)(e)}}),Ur)(Or)},27652:(e,t,n)=>{"use strict";n.d(t,{c:()=>s,w:()=>l});var r=n(53746),a=n.n(r),o=n(11843);function l(e){return new(a())(e).load(null,1e4)}function s(e){return function(t,n){var r=(0,o.Y)(n());return Promise.all([l(r.regular),l(r.monospace)]).then((function(){return e}))}}},94544:(e,t,n)=>{"use strict";n.d(t,{Af:()=>d,Ut:()=>i,Z3:()=>c});var r=n(13322),a=n(7787),o=n(26264),l=n(42265),s=n(44458);function i(e,t){return a.Ay.makeUrlForTabletCellBundleDashboard(e,t)}function c(e,t){var n=t?"/".concat(t,"/"):"";return"".concat(n).concat(o.YW.TABLET_CELL_BUNDLES,"/").concat(l.R_.TABLET_CELLS,"?id=").concat(e)}function u(e,t){return e.changelog_account===t.changelog_account&&e.snapshot_account===t.snapshot_account?0:e.changelog_account<t.changelog_account||e.snapshot_account<t.snapshot_account?-1:1}var d=function(e){var t=e.bundles,n=e.column,a=e.columnsSortable,o=e.order,l=[],i=(0,s.fA)(o),c=i.orderK,d=i.undefinedOrderK;if("changelog_account"===n)l=(0,r.A)(t).sort(u);else if("nodes"===n)l=(0,r.A)(t).sort((function(e,t){var n=e.nodes,r=void 0===n?[]:n,a=t.nodes,o=void 0===a?[]:a;return r.length-o.length}));else if(a.has(n))return(0,s.Uy)(t,[{key:n,orderK:c,undefinedOrderK:d}]);return o.includes("asc")?l:l.reverse()}},65986:(e,t,n)=>{"use strict";n.d(t,{C:()=>a,o:()=>o});var r=n(29717);const a="gc-",o=((0,r.withNaming)({e:"__",m:"_",v:"_"}),(0,r.withNaming)({n:a,e:"__",m:"_",v:"_"}))},65873:(e,t,n)=>{"use strict";n.d(t,{k:()=>d});var r=n(77810);const a=(0,n(21086).om)("progress");function o(e){const{text:t,offset:n=0}=e;return t?r.createElement("div",{className:a("text-inner"),style:{transform:`translateX(calc(var(--g-flow-direction) * ${-n}%))`}},t):null}function l({item:e}){const{value:t,color:n,className:o,theme:l,title:s,content:i,loading:c}=e,u={loading:c};return void 0===n&&(u.theme=l||"default"),Number.isFinite(t)?r.createElement("div",{className:a("item",u,o),style:{width:`${t}%`,backgroundColor:n},title:s},i):null}function s(e){return e<100?e-100:0}function i(e){const{theme:t,colorStops:n,colorStopsValue:r,value:a}=e;if(n){const e=n.find(((e,t)=>{const o="number"==typeof r?r:a,l=t>1?n[t-1].stop:0,s=t<n.length-1?e.stop:100;return o>=l&&o<=s}));return e?e.theme:t}return t}function c(e){const{stack:t,stackClassName:n,value:i,text:c}=e,u=s(i||function(e){return e.reduce(((e,{value:t})=>e+t),0)}(t));return r.createElement("div",{className:a("stack",n),style:{transform:`translateX(calc(var(--g-flow-direction) * ${u}%))`}},r.createElement("div",{className:a("item"),style:{width:-u+"%"}}),t.map(((e,t)=>r.createElement(l,{key:t,item:e}))),r.createElement(o,{offset:u,text:c}))}function u(e){const{value:t,loading:n,text:l}=e,c=s(t);return Number.isFinite(t)?r.createElement("div",{className:a("item",{theme:i(e),loading:n}),style:{transform:`translateX(calc(var(--g-flow-direction) * ${c}%))`}},r.createElement(o,{offset:c,text:l})):null}const d=r.forwardRef((function(e,t){const{text:n="",theme:o="default",size:l="m",loading:s=!1,className:i,qa:d}=e,m=Object.assign(Object.assign({},e),{text:n,theme:o,size:l,loading:s});return r.createElement("div",{ref:t,className:a({size:l},i),"data-qa":d},r.createElement("div",{className:a("text")},n),function(e){return void 0!==e.stack}(m)?r.createElement(c,Object.assign({},m)):r.createElement(u,Object.assign({},m)))}))},53746:e=>{!function(){function t(e,t){document.addEventListener?e.addEventListener("scroll",t,!1):e.attachEvent("scroll",t)}function n(e){this.g=document.createElement("div"),this.g.setAttribute("aria-hidden","true"),this.g.appendChild(document.createTextNode(e)),this.h=document.createElement("span"),this.i=document.createElement("span"),this.m=document.createElement("span"),this.j=document.createElement("span"),this.l=-1,this.h.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.i.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.j.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;",this.m.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;",this.h.appendChild(this.m),this.i.appendChild(this.j),this.g.appendChild(this.h),this.g.appendChild(this.i)}function r(e,t){e.g.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+t+";"}function a(e){var t=e.g.offsetWidth,n=t+100;return e.j.style.width=n+"px",e.i.scrollLeft=n,e.h.scrollLeft=e.h.scrollWidth+100,e.l!==t&&(e.l=t,!0)}function o(e,n){function r(){var e=o;a(e)&&null!==e.g.parentNode&&n(e.l)}var o=e;t(e.h,r),t(e.i,r),a(e)}function l(e,t,n){t=t||{},n=n||window,this.family=e,this.style=t.style||"normal",this.weight=t.weight||"normal",this.stretch=t.stretch||"normal",this.context=n}var s=null,i=null,c=null,u=null;function d(e){return null===u&&(u=!!e.document.fonts),u}function m(e,t){var n=e.style,r=e.weight;if(null===c){var a=document.createElement("div");try{a.style.font="condensed 100px sans-serif"}catch(e){}c=""!==a.style.font}return[n,r,c?e.stretch:"","100px",t].join(" ")}l.prototype.load=function(e,t){var a=this,l=e||"BESbswy",c=0,u=t||3e3,h=(new Date).getTime();return new Promise((function(e,t){if(d(a.context)&&!function(e){return null===i&&(d(e)&&/Apple/.test(window.navigator.vendor)?(e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent),i=!!e&&603>parseInt(e[1],10)):i=!1),i}(a.context)){var p=new Promise((function(e,t){!function n(){(new Date).getTime()-h>=u?t(Error(u+"ms timeout exceeded")):a.context.document.fonts.load(m(a,'"'+a.family+'"'),l).then((function(t){1<=t.length?e():setTimeout(n,25)}),t)}()})),b=new Promise((function(e,t){c=setTimeout((function(){t(Error(u+"ms timeout exceeded"))}),u)}));Promise.race([b,p]).then((function(){clearTimeout(c),e(a)}),t)}else!function(e){document.body?e():document.addEventListener?document.addEventListener("DOMContentLoaded",(function t(){document.removeEventListener("DOMContentLoaded",t),e()})):document.attachEvent("onreadystatechange",(function t(){"interactive"!=document.readyState&&"complete"!=document.readyState||(document.detachEvent("onreadystatechange",t),e())}))}((function(){function i(){var t;(t=-1!=_&&-1!=v||-1!=_&&-1!=f||-1!=v&&-1!=f)&&((t=_!=v&&_!=f&&v!=f)||(null===s&&(t=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),s=!!t&&(536>parseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))),t=s&&(_==g&&v==g&&f==g||_==y&&v==y&&f==y||_==A&&v==A&&f==A)),t=!t),t&&(null!==x.parentNode&&x.parentNode.removeChild(x),clearTimeout(c),e(a))}var d=new n(l),p=new n(l),b=new n(l),_=-1,v=-1,f=-1,g=-1,y=-1,A=-1,x=document.createElement("div");x.dir="ltr",r(d,m(a,"sans-serif")),r(p,m(a,"serif")),r(b,m(a,"monospace")),x.appendChild(d.g),x.appendChild(p.g),x.appendChild(b.g),a.context.document.body.appendChild(x),g=d.g.offsetWidth,y=p.g.offsetWidth,A=b.g.offsetWidth,function e(){if((new Date).getTime()-h>=u)null!==x.parentNode&&x.parentNode.removeChild(x),t(Error(u+"ms timeout exceeded"));else{var n=a.context.document.hidden;!0!==n&&void 0!==n||(_=d.g.offsetWidth,v=p.g.offsetWidth,f=b.g.offsetWidth,i()),c=setTimeout(e,50)}}(),o(d,(function(e){_=e,i()})),r(d,m(a,'"'+a.family+'",sans-serif')),o(p,(function(e){v=e,i()})),r(p,m(a,'"'+a.family+'",serif')),o(b,(function(e){f=e,i()})),r(b,m(a,'"'+a.family+'",monospace'))}))}))},e.exports=l}()}}]);
2
- //# sourceMappingURL=bundles.86be96f0.chunk.js.map
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[583],{36810:(e,r,n)=>{n.d(r,{A:()=>u});var t=n(77810),o=n(76872),a=n(60620),s=n(64922),i=(0,o.A)("expand-icon");function u(e){var r=e.className,n=e.data,o=e.expanded,u=e.visible,l=e.onClick,c=o?"angle-up":"angle-down",m=t.useCallback((function(){l&&l(n)}),[n,l]);return(0,s.jsx)("span",{className:i({visible:Boolean(u),clickable:void 0!==l},r),onClick:m,children:(0,s.jsx)(a.A,{awesome:c})})}},2164:(e,r,n)=>{n.r(r),n.d(r,{GroupsPage:()=>qe});var t=n(77810),o=n(76872),a=n(83534),s=n(29121),i=n(12937),u=n(10785),l=n(26718),c=n(15647),m=n(13322),p=n(28407),d=n(9736),v=n(40319),g=n(70232),f=n.n(g),b=n(53144),h=n.n(b),A=n(49214),y=n.n(A),x=n(39760),N=n.n(x),C=n(30650),w=n(27497),j=n(3009),k=n.n(j),G=n(27528),M=n.n(G),E=n(29347),S=n.n(E),T=n(18472),z=n(44458),R=n(6184),D=n(73822),F=n(53332),I=n(29081),_=function(e){return e.groups.table.nameFilter},P=function(e){return e.groups.table.sort},O=function(e){return e.groups.table.expanded},L=(0,T.Mz)([function(e){return e.groups.table.groups}],(function(e){var r=e.reduce((function(e,r){return e[r.name]=(0,v.A)((0,v.A)({},r),{},{children:[],leaves:[]}),e}),{}),n={children:[],leaves:[],name:""};r[C.Tb]=n;var t={};return N()(r,(function(e){if(e!==n){var o=e.memberOf,a=void 0===o?[]:o;0===a.length&&(a=[C.Tb]),a.forEach((function(n){t[n]=!0;var o=(0,v.A)((0,v.A)({},e),{},{parent:n});r[n].children.push(o),e.parent=n}))}})),D.A.treeList.treeForEach(r[C.Tb],(function(e,r){e.shift=r-1,e.hasChildren=t[e.name]})),r})),B=(0,T.Mz)([L,_],(function(e,r){var n=e[C.Tb],t=S()([r&&function(e){return e===n||-1!==e.name.indexOf(r)}]);return D.A.treeList.filterTree(n,R.concatByAnd.apply(void 0,(0,m.A)(t)))})),U=(0,T.Mz)([B,O],(function(e,r){var n=k()(e);return D.A.treeList.treeForEach(n.children,(function(e){var n=e.name;r[n]||(e.children=[])})),n})),V={name:{get:function(e){return e.name},compareFn:z.IP},idm:{get:function(e){return e.idm},compareFn:z.IP},size:{get:function(e){var r=e.members;return(void 0===r?[]:r).length}}},X=(0,T.Mz)([U,P],(function(e,r){var n=r.column,t=r.order,o=(0,z.fA)(t),a=o.orderK,s=o.undefinedOrderK;return D.A.treeList.sortTree((0,v.A)({},e),{field:n,asc:1===a,undefinedAsk:1===s},V)})),q=(0,T.Mz)([X],(function(e){return D.A.treeList.flattenTree(e)})),H=function(e){return e.groups.editor.showModal},$=function(e){return e.groups.editor.groupName},Q=function(e){var r;return F.Mv.get(null===(r=e.groups.editor.data.$attributes)||void 0===r?void 0:r.upravlyator_managed)},K=function(e){return e.groups.editor.idmData},W=function(e){return e.groups.editor.idmData.version},Z=(0,T.Mz)([K],(function(e){var r=e.group,n=r.members,t=r.responsible;return{responsible:M()(t,(function(e){return e.subject})),members:M()(n,(function(e){return e.subject}))}})),Y=(0,T.Mz)([K,function(e){return e.groups.editor.data}],(function(e,r){var n;if((0,I.Gq)()){var t=e.group,o=t.members;return{responsible:t.responsible,members:o}}return{responsible:[],members:((null===(n=r.$attributes)||void 0===n?void 0:n.members)||[]).map((function(e){return{text:e,value:e,state:"granted",role_type:"member",subject:{user:e}}}))}})),J=n(88681),ee=n(64714),re=n(7787),ne=["member_of","members","upravlyator_managed"];function te(){return function(e){return e({type:C.kw.REQUEST}),(0,J.AD)(ee.Vu.groupsData,{attributes:ne}).then((function(r){var n=[];return N()(r,(function(e){var r=e.$value,t=e.$attributes,o=t.members,a=t.member_of,s=void 0===a?[]:a,i=t.upravlyator_managed;o.sort(),n.push({name:r,members:o,memberOf:s,idm:F.Mv.get(i||!1)})})),e({type:C.kw.SUCCESS,data:{groups:n}})})).catch((function(r){e({type:C.kw.FAILURE,data:{error:r}})}))}}function oe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return function(r,n){var t=n();if(r({type:C.IX,data:{showModal:!0,groupName:e}}),!e)return Promise.resolve();r({type:C.NV.REQUEST});var o,a="//sys/groups/".concat(e),s=re.Ay.getAclApi().getGroupAcl;return o=s?s((0,w.dB)(t),e):Promise.resolve(),Promise.all([ee.Qq.get(ee.Vu.groupsEditData,{path:a,attributes:ne}),o]).then((function(e){var n=(0,d.A)(e,2),t=n[0],o=n[1],a=(0,v.A)({data:t},o?{idmData:o}:{});return r({type:C.NV.SUCCESS,data:a})})).catch((function(e){return r({type:C.NV.FAILURE,data:e})}))}}function ae(e){var r=e.groupName;return ee.X8.create({type:"group",attributes:{name:r}})}function se(e,r,n){if(r&&r.length||n&&n.length){var t,o,a,s=(t=n,o=new Map,a=new Map,N()(t,(function(e){var r=e,n=r.user,t=r.group;n?o.set(n,e):a.set(t,e)})),[o,a]),i=(0,d.A)(s,2),u=i[0],l=i[1],c=y()(e,(function(e){var r=e,n=r.user,t=r.group;return n?!u.has(n):!l.has(t)}));return h()(c,r)}}function ie(e){var r=e.groupName,n=e.membersToAdd,t=e.membersToRemove,o=n.map((function(e){return{command:"add_member",parameters:{group:r,member:e.user||e.group}}})),a=t.map((function(e){return{command:"remove_member",parameters:{group:r,member:e.user||e.group}}})),s=[].concat((0,m.A)(o),(0,m.A)(a));return ee.X8.executeBatch({requests:s})}var ue=n(69835),le=n(84162),ce=n(33023),me=n(2211),pe=n(64922),de=function(){var e=(0,c.wA)(),r=(0,t.useCallback)((function(){e(oe())}),[]);return re.Ay.getAclApi().groups.allowCreate?(0,pe.jsx)(me.A,{view:"action",onClick:r,children:"Create new"}):null},ve=(0,o.A)("groups-page-filters"),ge=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){return(0,s.A)(this,n),r.apply(this,arguments)}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,r=e.className,n=e.groupFilter;return(0,pe.jsx)(ue.A,{children:(0,pe.jsx)(ce.M,{className:ve(null,r),itemsToWrap:[{name:"group",node:(0,pe.jsx)(le.A,{hasClear:!0,size:"m",type:"text",value:n,placeholder:"Enter group...",onChange:this.props.setGroupsNameFilter}),wrapperClassName:ve("item")}],children:(0,pe.jsx)(de,{})})})}}]),n}(t.Component),fe={setGroupsNameFilter:function(e){return{type:C.Nm,data:{nameFilter:e}}}};const be=(0,c.Ng)((function(e){return{groupFilter:_(e)}}),fe)(ge);var he=n(27222),Ae=n(57614),ye=n(34413),xe=n(62640),Ne=n(77318),Ce=n(95664),we=n(36810),je=n(34380),ke=n(63588),Ge=n(20361),Me=(0,o.A)("group-editor-dialog"),Ee=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){var e;(0,s.A)(this,n);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return(e=r.call.apply(r,[this].concat(o))).onSubmit=function(){var r=(0,p.A)(f().mark((function r(n){var t,o,a,s,i,u,l,c,m,p,d,v,g,b,h,A,y;return f().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=e.props.groupName,o=n.getState(),a=o.values,s=a.members,i=s.members,u=s.membersComment,l=(0,Ge.lN)(i),c=l.added,m=l.removed,p=a.responsibles,d=p.responsibles,v=p.responsiblesComment,g=(0,Ge.lN)(d),b=g.added,h=g.removed,A=a.general.groupName,y="",u&&(y+=v?"**COMMENT FOR MEMBERS**\n":"",y+="".concat(u,"\n\n")),v&&(y+=u?"**COMMENT FOR RESPONSIBLES**\n":"",y+="".concat(v)),r.abrupt("return",e.props.saveGroupData({initialGroupName:t,groupName:A,membersToAdd:c,membersToRemove:m,responsiblesToAdd:b,responsiblesToRemove:h,comment:y}).then((function(){return(0,J.PE)(),e.props.fetchGroups()})).then((function(){})));case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),e}return(0,i.A)(n,[{key:"render",value:function(){var e=this.props,r=e.visible,n=e.closeGroupEditorModal,t=e.groupName,o=e.idm,a=e.members,s=e.otherMembers,i=e.responsible;return(0,pe.jsx)(Ge.yZ,{size:"l",className:Me(null),pristineSubmittable:!1,visible:r,headerProps:{title:this.isNewGroup()?"Create group":"Group ".concat(t)},onClose:n,onAdd:this.onSubmit,initialValues:{general:{groupName:t,idm:String(o||"-"),size:String(a.length)},responsibles:{responsibles:(0,Ge.D7)(i)},members:{members:(0,Ge.D7)(a,s)}},fields:[{type:"tab-vertical",name:"general",title:"General",fields:[{name:"groupName",type:re.Ay.getAclApi().groups.allowRename?"text":"plain",required:!0,caption:"Group name"}].concat((0,m.A)(re.Ay.getAclApi().getGroupAcl?[{name:"idm",type:"plain",caption:"Idm managed"}]:[]),[{name:"size",type:"plain",caption:"Size"}])}].concat((0,m.A)(re.Ay.getAclApi().getGroupAcl?[{type:"tab-vertical",name:"responsibles",title:"Responsibles",fields:[{name:"responsibles",type:"acl-roles",caption:"Responsibles",extras:{placeholder:"Enter login or name"}},{name:"responsiblesComment",type:"textarea",caption:"Comment for IDM"}]}]:[])).concat([{type:"tab-vertical",name:"members",title:"Members",fields:[{name:"members",type:"acl-roles",caption:"Members",extras:{placeholder:"Enter login or name"}}].concat((0,m.A)(re.Ay.getAclApi().updateGroup?[{name:"membersComment",type:"textarea",caption:"Comment for IDM"}]:[]))}])})}},{key:"isNewGroup",value:function(){return!this.props.groupName}}]),n}(t.Component),Se={closeGroupEditorModal:function(){return{type:C.IX,data:{groupData:void 0,groupName:"",showModal:!1}}},saveGroupData:function(e){var r=e.initialGroupName,n=e.groupName,t=e.membersToAdd,o=e.membersToRemove,a=e.responsiblesToAdd,s=e.responsiblesToRemove,i=e.comment;return function(){var e=(0,p.A)(f().mark((function e(u,l){var c,m,p,d,v,g,b,h,A,y,x,N;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(c=!r)){e.next=4;break}return e.next=4,ae({groupName:n});case 4:if(m=r!==n,c||!m){e.next=8;break}return e.next=8,void 0,void 0,f=(u={oldGroupname:r,newGroupName:n}).oldGroupname,C=u.newGroupName,ee.X8.set({path:"//sys/groups/".concat(f,"/@name")},C);case 8:if(p=re.Ay.getAclApi(),!(d=p.updateGroup)){e.next=17;break}return v=l(),g=Z(v),b=g.members,h=g.responsible,A=W(v),y=se(b,t,o),x=se(h,a,s),N=(0,w.dB)(v),e.abrupt("return",d({cluster:N,groupName:n,version:A,groupDiff:{members:y,responsible:x},comment:i}));case 17:return e.abrupt("return",ie({groupName:n,membersToAdd:t,membersToRemove:o}));case 18:case"end":return e.stop()}var u,f,C}),e)})));return function(r,n){return e.apply(this,arguments)}}()},fetchGroups:te};const Te=(0,c.Ng)((function(e){var r=function(e){return e.groups.editor.idmData.group.other_members}(e),n=Y(e),t=n.responsible,o=n.members;return{visible:H(e),groupName:$(e),idm:Q(e),members:o,responsible:t,otherMembers:r}}),Se)(Ee);var ze=n(14880),Re=n(60620),De=n(85137),Fe=function(e){var r=e.group,n=e.onClose,o=(0,c.wA)(),a=t.useState(void 0),s=(0,d.A)(a,2),i=s[0],u=s[1],l=(0,t.useCallback)((0,p.A)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,u(void 0),e.next=4,void 0,t=r,ee.X8.remove({path:"//sys/groups/"+t});case 4:n(),(0,J.PE)(),o(te()),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),u(e.t0);case 12:case"end":return e.stop()}var t}),e,null,[[0,9]])}))),[o,r,n]);return(0,pe.jsx)(Ge.yZ,{visible:!0,headerProps:{title:"Delete group ".concat(r)},pristineSubmittable:!0,onClose:n,onAdd:l,fields:[{name:"groupname",type:"block",extras:{children:(0,pe.jsxs)(De.E,{children:['Are you sure you want to delete "',r,'"?']})}}].concat((0,m.A)((0,Ge.Y)([i])))})};function Ie(e){var r=e.className,n=e.groupname,o=(0,c.wA)(),a=t.useCallback((function(){o(oe(n))}),[n]),s=re.Ay.getAclApi().groups.allowDelete;return(0,pe.jsxs)("div",{className:r,children:[(0,pe.jsx)(ze.A,{title:n,path:"//sys/groups/".concat(n)}),(0,pe.jsx)(me.A,{view:"flat-secondary",size:"m",onClick:a,children:(0,pe.jsx)(Re.A,{awesome:"pencil-alt"})}),s&&(0,pe.jsx)(_e,{group:n})]})}function _e(e){var r=e.group,n=(0,t.useState)(!1),o=(0,d.A)(n,2),a=o[0],s=o[1],i=(0,t.useCallback)((function(){s(!0)}),[]),u=(0,t.useCallback)((function(){s(!1)}),[]);return(0,pe.jsxs)(t.Fragment,{children:[(0,pe.jsx)(me.A,{view:"flat-secondary",size:"m",onClick:i,children:(0,pe.jsx)(Re.A,{awesome:"trash-bin"})}),a&&(0,pe.jsx)(Fe,{group:r,onClose:u})]})}var Pe=(0,o.A)("groups-page-table"),Oe={displayIndices:!1,stickyHead:he.Ay.MOVING,stickyTop:a.kB,syncHeadOnResize:!0,dynamicRender:!0},Le={name:"Name",idm:"IDM",size:"Size",responsibles:"Responsible users",actions:""},Be=function(e){(0,u.A)(n,e);var r=(0,l.A)(n);function n(){var e;(0,s.A)(this,n);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return(e=r.call.apply(r,[this].concat(o))).onColumnSort=function(r,n){(0,e.props.setGroupsPageSorting)(r,n)},e.toggleExpand=function(r){(0,e.props.toggleGroupExpand)(r)},e}return(0,i.A)(n,[{key:"componentDidMount",value:function(){(0,this.props.fetchGroups)()}},{key:"renderColumnHeader",value:function(e,r){var n=this.props.sort,t=n.column,o=n.order,a=e===t;return(0,pe.jsx)(ye.A,{className:Pe("header-cell",{col:e,sortable:r},"data-table__head-cell"),column:e,title:Le[e],order:a?o:"",onSort:this.onColumnSort})}},{key:"renderNameCell",value:function(e,r){var n=r.row,t=n.name,o=n.shift,a=n.hasChildren,s=n.expanded;return(0,pe.jsxs)("div",{className:Pe("content",{col:e,shift:String(o),level:String(Math.min(10,o))}),children:[(0,pe.jsx)(we.A,{data:t,visible:a,onClick:this.toggleExpand,expanded:s}),(0,pe.jsx)(je.m,{content:t,children:(0,pe.jsx)("span",{className:Pe("group-name"),children:t})})]})}},{key:"renderIdmCell",value:function(e,r){var n=r.row.idm;return(0,pe.jsx)("div",{className:Pe("content",{col:e}),children:(0,pe.jsx)("div",{className:Pe(e),children:n&&n.toString()})})}},{key:"renderUsersCell",value:function(e,r){var n=r.row[e];return(0,pe.jsx)("div",{className:Pe("content",{col:e}),children:(0,pe.jsx)(xe.A,{className:Pe("groups"),items:n,itemRenderer:function(e){return e.startsWith("idm-group:")?e:(0,pe.jsx)(Ce.R,{name:e})}})})}},{key:"renderSizeCell",value:function(e,r){var n=r.row.members;return(0,pe.jsx)("div",{className:Pe("content",{col:e}),children:(0,pe.jsx)("span",{children:n.length})})}},{key:"renderActionsCell",value:function(e,r){var n=r.row.name;return(0,pe.jsx)(Ie,{className:Pe("content",{col:e}),groupname:n})}},{key:"renderTable",value:function(){var e=this,r=this.props,n=r.loaded,t=r.loading,o=r.groups,a=function(r){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{name:r,align:he.Ay.LEFT,sortable:!1,className:Pe("td",{col:r.toLowerCase()}),header:e.renderColumnHeader(r,!n)}},s=[(0,v.A)((0,v.A)({},a("name")),{},{render:this.renderNameCell.bind(this,"name")})].concat((0,m.A)((0,I.Gq)()?[(0,v.A)((0,v.A)({},a("idm")),{},{render:this.renderIdmCell.bind(this,"idm")})]:[]),[(0,v.A)((0,v.A)({},a("members",!0)),{},{render:this.renderUsersCell.bind(this,"members")}),(0,v.A)((0,v.A)({},a("size")),{},{render:this.renderSizeCell.bind(this,"size")}),(0,v.A)((0,v.A)({},a("actions")),{},{header:"",render:this.renderActionsCell.bind(this,"actions")})]);return(0,pe.jsx)(Ne.Ay,{loaded:n,loading:t,data:o,columns:s,settings:Oe,theme:"yt-internal"})}},{key:"render",value:function(){var e=this.props,r=e.className,n=e.error,t=e.showEditor;return(0,pe.jsxs)(ue.A,{children:[(0,pe.jsx)("div",{className:Pe(null,r),children:(0,pe.jsx)(ke.A,{loaded:!0,error:Boolean(n),errorData:n||void 0,children:this.renderTable()})}),t&&(0,pe.jsx)(Te,{})]})}}]),n}(t.Component),Ue={fetchGroups:te,setGroupsPageSorting:function(e,r){return{type:C.Nm,data:{sort:{column:e,order:r}}}},toggleGroupExpand:function(e){return function(r,n){var t=(0,v.A)({},O(n()));return t[e]?delete t[e]:t[e]=!0,r({type:C.Nm,data:{expanded:t}})}},openAttributesModal:Ae.V6};const Ve=(0,c.Ng)((function(e){var r=function(e){return e.groups.table}(e);return{loaded:r.loaded,loading:r.loading,error:r.error,groups:q(e),sort:P(e),showEditor:H(e)}}),Ue)(Be);var Xe=(0,o.A)("groups-page");function qe(){return(0,pe.jsx)("div",{className:Xe(null,"elements-main-section"),children:(0,pe.jsx)(a.Ay,{className:"elements-section",toolbar:(0,pe.jsx)(be,{}),content:(0,pe.jsx)(Ve,{})})})}}}]);
2
- //# sourceMappingURL=groups.acc74ffc.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/groups.acc74ffc.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/ExpandIcon/ExpandIcon.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/groups.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/groups.ts","webpack://@ytsaurus/ui/./src/ui/pages/groups/CreateGroupModal/CreateGroupModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/DeleteGroupModal/DeleteUserModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupActions/GroupActions.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupsPageTable/GroupsPageTable.tsx","webpack://@ytsaurus/ui/./src/ui/pages/groups/GroupsPage.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport Icon from '../../components/Icon/Icon';\n\nimport './ExpandIcon.scss';\n\nconst block = cn('expand-icon');\n\nExpandIcon.propTypes = {\n className: PropTypes.string,\n\n expanded: PropTypes.bool,\n visible: PropTypes.bool,\n onClick: PropTypes.func,\n\n data: PropTypes.any,\n};\n\nexport default function ExpandIcon({className, data, expanded, visible, onClick}) {\n const icon = expanded ? 'angle-up' : 'angle-down';\n const onClickCb = React.useCallback(() => {\n if (onClick) {\n onClick(data);\n }\n }, [data, onClick]);\n\n return (\n <span\n className={block(\n {visible: Boolean(visible), clickable: onClick !== undefined},\n className,\n )}\n onClick={onClickCb}\n >\n <Icon awesome={icon} />\n </span>\n );\n}\n","import cloneDeep_ from 'lodash/cloneDeep';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport compact_ from 'lodash/compact';\n\nimport {createSelector} from 'reselect';\nimport {ROOT_GROUP_NAME} from '../../constants/groups';\nimport {compareWithUndefined, orderTypeToOrderK} from '../../utils/sort-helpers';\n\nimport {concatByAnd} from '../../common/hammer/predicate';\nimport hammer from '../../common/hammer';\nimport {FlagType, flags} from '../../utils';\nimport type {RootState} from '../../store/reducers';\nimport type {Group} from '../../store/reducers/groups/table';\nimport {isIdmAclAvailable} from '../../config';\nimport type {PreparedRole} from '../../utils/acl';\n\n// Table\n\nexport const getGroupsTableDataState = (state: RootState) => state.groups.table;\n\nconst getGroups = (state: RootState) => state.groups.table.groups;\nexport const getGroupsNameFilter = (state: RootState) => state.groups.table.nameFilter;\nexport const getGroupsSort = (state: RootState) => state.groups.table.sort;\nexport const getGroupsExpanded = (state: RootState) => state.groups.table.expanded;\n\nexport type GroupsTreeNode = Group & {\n parent?: string;\n children: GroupsTreeNode[];\n leaves: GroupsTreeNode[];\n shift?: number;\n hasChildren?: boolean;\n expanded?: boolean;\n};\n\ntype GroupsTree = Record<string, GroupsTreeNode>;\n\nexport const getGroupsTree = createSelector([getGroups], (groups) => {\n const res: GroupsTree = groups.reduce((acc: GroupsTree, item) => {\n acc[item.name] = {...item, children: [], leaves: []};\n return acc;\n }, {});\n const root = {children: [], leaves: [], name: ''};\n res[ROOT_GROUP_NAME] = root;\n\n const hasChildren: Record<string, boolean> = {};\n forEach_(res, (item: GroupsTreeNode) => {\n if (item === root) {\n return;\n }\n let {memberOf = []} = item;\n if (memberOf.length === 0) {\n memberOf = [ROOT_GROUP_NAME];\n }\n memberOf.forEach((parent) => {\n hasChildren[parent] = true;\n /**\n * Copy of the item is reuired because\n * a group might be a member of many other groups\n * i.e. different copies will have different parent field\n */\n const itemCopy = {...item, parent};\n res[parent].children.push(itemCopy);\n item.parent = parent;\n });\n });\n hammer.treeList.treeForEach(res[ROOT_GROUP_NAME], (item: GroupsTreeNode, depth: number) => {\n item.shift = depth - 1; // -1 cause <Root> is not visible\n item.hasChildren = hasChildren[item.name!];\n });\n return res;\n});\n\nconst getGroupsTreeFiltered = createSelector(\n [getGroupsTree, getGroupsNameFilter],\n (tree, nameFilter) => {\n const root = tree[ROOT_GROUP_NAME];\n const predicates = compact_([\n nameFilter &&\n ((node: GroupsTreeNode) => {\n return node === root || -1 !== node.name!.indexOf(nameFilter);\n }),\n ]);\n\n const res = hammer.treeList.filterTree(root, concatByAnd(...predicates));\n return res;\n },\n);\n\nconst getGroupsTreeFilteredAndExpanded = createSelector(\n [getGroupsTreeFiltered, getGroupsExpanded],\n (root, expanded) => {\n const res = cloneDeep_(root);\n hammer.treeList.treeForEach(res.children, (node: GroupsTreeNode) => {\n const {name} = node;\n if (!expanded[name]) {\n node.children = [];\n }\n });\n return res;\n },\n);\n\nconst GROUP_FIELDS = {\n name: {\n get(group: {name: string}) {\n return group.name;\n },\n compareFn: compareWithUndefined,\n },\n idm: {\n get(group: {idm: string}) {\n return group.idm;\n },\n compareFn: compareWithUndefined,\n },\n size: {\n get({members = []}: {members: string[]}) {\n return members.length;\n },\n },\n};\n\nconst getGroupsTreeFilteredAndSorted = createSelector(\n [getGroupsTreeFilteredAndExpanded, getGroupsSort],\n (root, {column, order}) => {\n const {orderK, undefinedOrderK} = orderTypeToOrderK(order);\n const res = hammer.treeList.sortTree(\n {...root},\n {\n field: column,\n asc: orderK === 1,\n undefinedAsk: undefinedOrderK === 1,\n },\n GROUP_FIELDS,\n );\n return res;\n },\n);\n\nexport const getGroupsFlattenTree = createSelector(\n [getGroupsTreeFilteredAndSorted],\n (root): GroupsTreeNode[] => {\n return hammer.treeList.flattenTree(root);\n },\n);\n\n// Editor\nexport const getGroupEditorData = (state: RootState) => state.groups.editor.data;\nexport const getGroupEditorVisible = (state: RootState) => state.groups.editor.showModal;\nexport const getGroupEditorGroupName = (state: RootState) => state.groups.editor.groupName;\n// eslint-disable-next-line camelcase\nexport const getGroupEditorGroupIdm = (state: RootState) =>\n flags.get(state.groups.editor.data.$attributes?.upravlyator_managed as FlagType);\nconst getGroupEditorIdmData = (state: RootState) => state.groups.editor.idmData;\nexport const getGroupEditorIdmDataVersion = (state: RootState) =>\n state.groups.editor.idmData.version;\nexport const getGroupEditorIdmDataOtherMembers = (state: RootState) =>\n state.groups.editor.idmData.group.other_members;\n\nexport const getGroupEditorSubjects = createSelector([getGroupEditorIdmData], (idmData) => {\n const {\n group: {members, responsible},\n } = idmData;\n return {\n responsible: map_(responsible, ({subject}) => subject),\n members: map_(members, ({subject}) => subject),\n };\n});\n\nexport const getGroupEditorRoles = createSelector(\n [getGroupEditorIdmData, getGroupEditorData],\n (\n idmData,\n data,\n ): {\n responsible: PreparedRole[];\n members: PreparedRole[];\n } => {\n if (isIdmAclAvailable()) {\n const {\n group: {members, responsible},\n } = idmData;\n\n return {\n responsible,\n members,\n };\n }\n\n const members = data.$attributes?.members || [];\n\n return {\n responsible: [],\n members: members.map((member) => {\n return {\n text: member,\n value: member,\n state: 'granted',\n role_type: 'member',\n subject: {\n user: member,\n },\n };\n }),\n };\n },\n);\n","import concat_ from 'lodash/concat';\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\n\nimport {\n GROUPS_TABLE,\n GROUPS_TABLE_DATA_FIELDS,\n GROUP_EDITOR_ACTION,\n GROUP_EDITOR_ACTION_DATA_FIELDS,\n} from '../../constants/groups';\nimport {getCluster} from '../../store/selectors/global';\nimport {\n getGroupEditorIdmDataVersion,\n getGroupEditorSubjects,\n getGroupsExpanded,\n} from '../../store/selectors/groups';\nimport {flags} from '../../utils/index';\nimport {listAllGroups} from '../../utils/users-groups';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport UIFactory from '../../UIFactory';\nimport type {Dispatch} from 'redux';\nimport type {Group} from '../../store/reducers/groups/table';\nimport type {OrderType} from '../../utils/sort-helpers';\nimport type {RootState} from '../../store/reducers';\nimport type {GroupSubject, Subject, UserSubject} from '../../utils/acl/acl-types';\n\n// Table\n\nconst GROUP_ATTRIBUTES = ['member_of', 'members', 'upravlyator_managed'];\n\nexport function fetchGroups() {\n return (dispatch: Dispatch) => {\n dispatch({type: GROUPS_TABLE.REQUEST});\n\n return listAllGroups(YTApiId.groupsData, {attributes: GROUP_ATTRIBUTES})\n .then((data) => {\n const groups: Group[] = [];\n forEach_(data, (item) => {\n const {\n $value: name,\n $attributes: {members, member_of: memberOf = [], upravlyator_managed: idm},\n } = item;\n members.sort();\n groups.push({\n name,\n members,\n memberOf,\n idm: flags.get(idm || false)!,\n });\n });\n return dispatch({\n type: GROUPS_TABLE.SUCCESS,\n data: {groups},\n });\n })\n .catch((error) => {\n dispatch({type: GROUPS_TABLE.FAILURE, data: {error}});\n });\n };\n}\n\nexport function setGroupsNameFilter(nameFilter: string) {\n return {type: GROUPS_TABLE_DATA_FIELDS, data: {nameFilter}};\n}\n\nexport function setGroupsPageSorting(column: string, order: OrderType) {\n return {\n type: GROUPS_TABLE_DATA_FIELDS,\n data: {sort: {column, order}},\n };\n}\n\nexport function toggleGroupExpand(groupName: string) {\n return (dispatch: Dispatch, getState: () => RootState) => {\n const expanded = {...getGroupsExpanded(getState())};\n const current = expanded[groupName];\n if (current) {\n delete expanded[groupName];\n } else {\n expanded[groupName] = true;\n }\n\n return dispatch({type: GROUPS_TABLE_DATA_FIELDS, data: {expanded}});\n };\n}\n\nexport function openGroupEditorModal(groupName = '') {\n return (dispatch: Dispatch, getState: () => RootState) => {\n const state = getState();\n\n dispatch({\n type: GROUP_EDITOR_ACTION_DATA_FIELDS,\n data: {showModal: true, groupName},\n });\n\n if (!groupName) {\n return Promise.resolve();\n }\n\n dispatch({type: GROUP_EDITOR_ACTION.REQUEST});\n\n const path = `//sys/groups/${groupName}`;\n\n let idmDataPromise;\n\n const {getGroupAcl} = UIFactory.getAclApi();\n\n if (getGroupAcl) {\n idmDataPromise = getGroupAcl(getCluster(state), groupName);\n } else {\n idmDataPromise = Promise.resolve();\n }\n\n return Promise.all([\n ytApiV3Id.get(YTApiId.groupsEditData, {path, attributes: GROUP_ATTRIBUTES}),\n idmDataPromise,\n ])\n .then(([groupsData, idmData]) => {\n const data = {\n data: groupsData,\n ...(idmData ? {idmData} : {}),\n };\n\n return dispatch({\n type: GROUP_EDITOR_ACTION.SUCCESS,\n data,\n });\n })\n .catch((error) => {\n return dispatch({\n type: GROUP_EDITOR_ACTION.FAILURE,\n data: error,\n });\n });\n };\n}\n\nexport function closeGroupEditorModal() {\n return {\n type: GROUP_EDITOR_ACTION_DATA_FIELDS,\n data: {groupData: undefined, groupName: '', showModal: false},\n };\n}\n\nexport function createGroup({groupName}: {groupName: string}) {\n return ytApiV3.create({\n type: 'group',\n attributes: {name: groupName},\n });\n}\n\nexport function deleteGroup({groupName}: {groupName: string}) {\n return ytApiV3.remove({\n path: '//sys/groups/' + groupName,\n });\n}\n\ntype SaveGroupDataPayload = {\n initialGroupName: string;\n groupName: string;\n membersToAdd: Subject[];\n membersToRemove: Subject[];\n responsiblesToAdd: Subject[];\n responsiblesToRemove: Subject[];\n comment: string;\n};\n\nexport function saveGroupData({\n initialGroupName,\n groupName,\n membersToAdd,\n membersToRemove,\n responsiblesToAdd,\n responsiblesToRemove,\n comment,\n}: SaveGroupDataPayload) {\n return async (_dispatch: Dispatch, getState: () => RootState) => {\n const isNewGroup = !initialGroupName;\n\n if (isNewGroup) {\n await createGroup({groupName});\n }\n\n const groupNameChanged = initialGroupName !== groupName;\n\n if (!isNewGroup && groupNameChanged) {\n await renameGroup({\n oldGroupname: initialGroupName,\n newGroupName: groupName,\n });\n }\n\n const {updateGroup} = UIFactory.getAclApi();\n\n if (updateGroup) {\n const state = getState();\n const {members, responsible} = getGroupEditorSubjects(state);\n const version = getGroupEditorIdmDataVersion(state);\n const newMembers = calculateMembers(members, membersToAdd, membersToRemove);\n const newResponsibles = calculateMembers(\n responsible,\n responsiblesToAdd,\n responsiblesToRemove,\n );\n\n const cluster = getCluster(state);\n return updateGroup({\n cluster,\n groupName,\n version,\n groupDiff: {\n members: newMembers,\n responsible: newResponsibles,\n },\n comment,\n });\n }\n\n return changeGroupMembers({\n groupName,\n membersToAdd,\n membersToRemove,\n });\n };\n}\n\nfunction calculateMembers(\n members: Subject[],\n toAdd: Subject[],\n toRemove: Subject[],\n): undefined | Subject[] {\n if ((!toAdd || !toAdd.length) && (!toRemove || !toRemove.length)) {\n return undefined;\n }\n\n const [rmUsers, rmGroups] = mapsByNameFromSubjects(toRemove);\n const afterRemove = filter_(members, (item) => {\n const {user, group} = item as {user: string; group: string};\n if (user) {\n return !rmUsers.has(user);\n } else {\n return !rmGroups.has(group);\n }\n });\n\n return concat_(afterRemove, toAdd);\n}\n\nfunction mapsByNameFromSubjects(subjects: Subject[]) {\n const userMap = new Map();\n const groupMap = new Map();\n forEach_(subjects, (item) => {\n const {user, group} = item as {user: string; group: string};\n if (user) {\n userMap.set(user, item);\n } else {\n groupMap.set(group, item);\n }\n });\n return [userMap, groupMap];\n}\n\ntype RenameGroupPayload = {\n oldGroupname: string;\n newGroupName: string;\n};\n\nfunction renameGroup({oldGroupname, newGroupName}: RenameGroupPayload) {\n return ytApiV3.set({path: `//sys/groups/${oldGroupname}/@name`}, newGroupName);\n}\n\ntype ChangeGroupMembersPayload = {\n groupName: string;\n membersToAdd: Subject[];\n membersToRemove: Subject[];\n};\n\nfunction changeGroupMembers({groupName, membersToAdd, membersToRemove}: ChangeGroupMembersPayload) {\n const requestsToAdd = membersToAdd.map((user) => {\n return {\n command: 'add_member' as const,\n parameters: {\n group: groupName,\n member: (user as UserSubject).user || (user as GroupSubject).group,\n },\n };\n });\n\n const requestsToRemove = membersToRemove.map((user) => {\n return {\n command: 'remove_member' as const,\n parameters: {\n group: groupName,\n member: (user as UserSubject).user || (user as GroupSubject).group,\n },\n };\n });\n\n const requests = [...requestsToAdd, ...requestsToRemove];\n\n return ytApiV3.executeBatch({\n requests,\n });\n}\n","import Button from '../../../components/Button/Button';\nimport React, {useCallback} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {openGroupEditorModal} from '../../../store/actions/groups';\nimport UIFactory from '../../../UIFactory';\n\nexport const ShowCreateGroupModalButton: React.FC = () => {\n const dispatch = useDispatch();\n const onClick = useCallback(() => {\n dispatch(openGroupEditorModal());\n }, []);\n\n if (!UIFactory.getAclApi().groups.allowCreate) {\n return null;\n }\n\n return (\n <Button view=\"action\" onClick={onClick}>\n Create new\n </Button>\n );\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {connect} from 'react-redux';\n\nimport {setGroupsNameFilter} from '../../../store/actions/groups';\nimport ErrorBoundary from '../../../components/ErrorBoundary/ErrorBoundary';\nimport Filter from '../../../components/Filter/Filter';\nimport {Toolbar} from '../../../components/WithStickyToolbar/Toolbar/Toolbar';\nimport {getGroupsNameFilter} from '../../../store/selectors/groups';\nimport type {RootState} from '../../../store/reducers';\n\nimport './GroupsPageFilters.scss';\nimport {ShowCreateGroupModalButton} from '../CreateGroupModal/CreateGroupModal';\n\nconst block = cn('groups-page-filters');\n\ntype GroupsPageFiltersProps = {\n className?: string;\n groupFilter: string;\n setGroupsNameFilter: (value: string) => void;\n};\n\nclass GroupsPageFilters extends React.Component<GroupsPageFiltersProps> {\n render() {\n const {className, groupFilter} = this.props;\n\n return (\n <ErrorBoundary>\n <Toolbar\n className={block(null, className)}\n itemsToWrap={[\n {\n name: 'group',\n node: (\n <Filter\n hasClear\n size=\"m\"\n type=\"text\"\n value={groupFilter}\n placeholder=\"Enter group...\"\n onChange={this.props.setGroupsNameFilter}\n />\n ),\n wrapperClassName: block('item'),\n },\n ]}\n >\n <ShowCreateGroupModalButton />\n </Toolbar>\n </ErrorBoundary>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n return {\n groupFilter: getGroupsNameFilter(state),\n };\n};\n\nconst mapDispatchToProps = {\n setGroupsNameFilter,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(GroupsPageFilters);\n","import {\n EditableManyListsItemType,\n FormApi,\n YTDFDialog,\n extractChangedSubjects,\n prepareRoleListValue,\n} from '../../../components/Dialog';\nimport React from 'react';\nimport cn from 'bem-cn-lite';\nimport {ConnectedProps, connect} from 'react-redux';\n\nimport {closeGroupEditorModal, fetchGroups, saveGroupData} from '../../../store/actions/groups';\nimport {\n getGroupEditorGroupIdm,\n getGroupEditorGroupName,\n getGroupEditorIdmDataOtherMembers,\n getGroupEditorRoles,\n getGroupEditorVisible,\n} from '../../../store/selectors/groups';\nimport type {RootState} from '../../../store/reducers';\nimport type {ResponsibleType, RoleConverted} from '../../../utils/acl/acl-types';\nimport UIFactory from '../../../UIFactory';\nimport {disableGroupsCache} from '../../../utils/users-groups';\n\nimport './GroupEditorDialog.scss';\n\nconst block = cn('group-editor-dialog');\n\ninterface GroupsPageTableProps extends ConnectedProps<typeof connector> {}\n\ntype FormValues = {\n general: {\n groupName: string;\n idm: string;\n size: string;\n };\n members: {\n members: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n };\n membersComment?: string;\n };\n responsibles: {\n responsibles: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n };\n responsiblesComment?: string;\n };\n};\n\nclass GroupEditorDialog extends React.Component<GroupsPageTableProps> {\n onSubmit = async (form: FormApi<FormValues, Partial<FormValues>>) => {\n const {groupName: initialGroupName} = this.props;\n const {values} = form.getState();\n const {members, membersComment} = values.members;\n const {added: membersToAdd, removed: membersToRemove} = extractChangedSubjects(members);\n\n const {responsibles, responsiblesComment} = values.responsibles;\n const {added: responsiblesToAdd, removed: responsiblesToRemove} =\n extractChangedSubjects(responsibles);\n\n const {groupName} = values.general;\n\n let comment = '';\n if (membersComment) {\n comment += responsiblesComment ? '**COMMENT FOR MEMBERS**\\n' : '';\n comment += `${membersComment}\\n\\n`;\n }\n if (responsiblesComment) {\n comment += membersComment ? '**COMMENT FOR RESPONSIBLES**\\n' : '';\n comment += `${responsiblesComment}`;\n }\n\n return this.props\n .saveGroupData({\n initialGroupName,\n groupName,\n membersToAdd,\n membersToRemove,\n responsiblesToAdd,\n responsiblesToRemove,\n comment,\n })\n .then(() => {\n disableGroupsCache();\n return this.props.fetchGroups();\n })\n .then(() => {});\n };\n\n render() {\n const {visible, closeGroupEditorModal, groupName, idm, members, otherMembers, responsible} =\n this.props;\n return (\n <YTDFDialog<FormValues>\n size={'l'}\n className={block(null)}\n pristineSubmittable={false}\n visible={visible}\n headerProps={{\n title: this.isNewGroup() ? 'Create group' : `Group ${groupName}`,\n }}\n onClose={closeGroupEditorModal}\n onAdd={this.onSubmit}\n initialValues={{\n general: {\n groupName,\n idm: String(idm || '-'),\n size: String(members.length),\n },\n responsibles: {\n responsibles: prepareRoleListValue(responsible),\n },\n members: {\n members: prepareRoleListValue(members, otherMembers),\n },\n }}\n fields={[\n ...[\n {\n type: 'tab-vertical' as const,\n name: 'general',\n title: 'General',\n fields: [\n {\n name: 'groupName',\n type: UIFactory.getAclApi().groups.allowRename\n ? ('text' as const)\n : ('plain' as const),\n required: true,\n caption: 'Group name',\n },\n ...(UIFactory.getAclApi().getGroupAcl\n ? [\n {\n name: 'idm',\n type: 'plain' as const,\n caption: 'Idm managed',\n },\n ]\n : []),\n\n {\n name: 'size',\n type: 'plain' as const,\n caption: 'Size',\n },\n ],\n },\n ...(UIFactory.getAclApi().getGroupAcl\n ? [\n {\n type: 'tab-vertical' as const,\n name: 'responsibles',\n title: 'Responsibles',\n fields: [\n {\n name: 'responsibles',\n type: 'acl-roles' as const,\n caption: 'Responsibles',\n extras: {\n placeholder: 'Enter login or name',\n },\n },\n {\n name: 'responsiblesComment',\n type: 'textarea' as const,\n caption: 'Comment for IDM',\n },\n ],\n },\n ]\n : []),\n ],\n {\n type: 'tab-vertical',\n name: 'members',\n title: 'Members',\n fields: [\n {\n name: 'members',\n type: 'acl-roles',\n caption: 'Members',\n extras: {\n placeholder: 'Enter login or name',\n },\n },\n\n ...(UIFactory.getAclApi().updateGroup\n ? [\n {\n name: 'membersComment',\n type: 'textarea' as const,\n caption: 'Comment for IDM',\n },\n ]\n : []),\n ],\n },\n ]}\n />\n );\n }\n\n private isNewGroup() {\n return !this.props.groupName;\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const otherMembers = getGroupEditorIdmDataOtherMembers(state);\n const {responsible, members} = getGroupEditorRoles(state);\n return {\n visible: getGroupEditorVisible(state),\n groupName: getGroupEditorGroupName(state),\n idm: getGroupEditorGroupIdm(state),\n members,\n responsible,\n otherMembers,\n };\n};\n\nconst mapDispatchToProps = {\n closeGroupEditorModal,\n saveGroupData,\n fetchGroups,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(GroupEditorDialog);\n","import React, {useCallback} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {Text} from '@gravity-ui/uikit';\nimport {deleteGroup, fetchGroups} from '../../../store/actions/groups';\nimport {YTDFDialog, makeErrorFields} from '../../../components/Dialog';\nimport {YTError} from '../../../types';\nimport {disableGroupsCache} from '../../../utils/users-groups';\n\ntype DeleteGroupModalProps = {\n group: string;\n onClose: () => void;\n};\n\nexport const DeleteGroupModal: React.FC<DeleteGroupModalProps> = ({group, onClose}) => {\n const dispatch = useDispatch();\n const [error, setError] = React.useState<YTError | undefined>(undefined);\n\n const onAdd = useCallback(async () => {\n try {\n setError(undefined);\n\n await deleteGroup({groupName: group});\n\n onClose();\n\n disableGroupsCache();\n // we don't need to wait for the end of the action\n dispatch(fetchGroups());\n } catch (error) {\n setError(error as YTError);\n }\n }, [dispatch, group, onClose]);\n\n return (\n <YTDFDialog\n visible={true}\n headerProps={{title: `Delete group ${group}`}}\n pristineSubmittable={true}\n onClose={onClose}\n onAdd={onAdd}\n fields={[\n {\n name: 'groupname',\n type: 'block',\n extras: {\n children: <Text>Are you sure you want to delete &quot;{group}&quot;?</Text>,\n },\n },\n ...makeErrorFields([error]),\n ]}\n />\n );\n};\n","import React, {useCallback, useState} from 'react';\n\nimport {useDispatch} from 'react-redux';\n\nimport ClickableAttributesButton from '../../../components/AttributesButton/ClickableAttributesButton';\n\nimport Icon from '../../../components/Icon/Icon';\nimport Button from '../../../components/Button/Button';\n\nimport {openGroupEditorModal} from '../../../store/actions/groups';\nimport UIFactory from '../../../UIFactory';\nimport {DeleteGroupModal} from '../DeleteGroupModal/DeleteUserModal';\n\ntype GroupActionsProps = {\n className?: string;\n groupname: string;\n};\n\nexport function GroupActions({className, groupname}: GroupActionsProps) {\n const dispatch = useDispatch();\n\n const onEdit = React.useCallback(() => {\n dispatch(openGroupEditorModal(groupname));\n }, [groupname]);\n\n const {allowDelete} = UIFactory.getAclApi().groups;\n\n return (\n <div className={className}>\n <ClickableAttributesButton title={groupname} path={`//sys/groups/${groupname}`} />\n <Button view=\"flat-secondary\" size=\"m\" onClick={onEdit}>\n <Icon awesome=\"pencil-alt\" />\n </Button>\n {allowDelete && <DeleteGroupButton group={groupname} />}\n </div>\n );\n}\n\nfunction DeleteGroupButton({group}: {group: string}) {\n const [visible, setVisible] = useState(false);\n\n const onClick = useCallback(() => {\n setVisible(true);\n }, []);\n\n const onClose = useCallback(() => {\n setVisible(false);\n }, []);\n\n return (\n <React.Fragment>\n <Button view=\"flat-secondary\" size=\"m\" onClick={onClick}>\n <Icon awesome=\"trash-bin\" />\n </Button>\n {visible && <DeleteGroupModal group={group} onClose={onClose} />}\n </React.Fragment>\n );\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {ConnectedProps, connect} from 'react-redux';\nimport DataTable from '@gravity-ui/react-data-table';\n\nimport {openAttributesModal} from '../../../store/actions/modals/attributes-modal';\nimport ColumnHeader from '../../../components/ColumnHeader/ColumnHeader';\nimport CommaSeparatedListWithRestCounter from '../../../components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter';\nimport DataTableYT from '../../../components/DataTableYT/DataTableYT';\nimport {SubjectCard} from '../../../components/SubjectLink/SubjectLink';\n\nimport ErrorBoundary from '../../../components/ErrorBoundary/ErrorBoundary';\nimport ExpandIcon from '../../../components/ExpandIcon/ExpandIcon';\nimport {Tooltip} from '../../../components/Tooltip/Tooltip';\n\nimport LoadDataHandler from '../../../components/LoadDataHandler/LoadDataHandler';\n\nimport {fetchGroups, setGroupsPageSorting, toggleGroupExpand} from '../../../store/actions/groups';\nimport {STICKY_TOOLBAR_BOTTOM} from '../../../components/WithStickyToolbar/WithStickyToolbar';\nimport GroupEditorDialog from '../../../pages/groups/GroupEditorDialog/GroupEditorDialog';\nimport {\n GroupsTreeNode,\n getGroupEditorVisible,\n getGroupsFlattenTree,\n getGroupsSort,\n getGroupsTableDataState,\n} from '../../../store/selectors/groups';\n\nimport './GroupsPageTable.scss';\nimport {isIdmAclAvailable} from '../../../config';\nimport type {RootState} from '../../../store/reducers';\nimport type {OrderType} from '../../../utils/sort-helpers';\nimport {GroupActions} from '../GroupActions/GroupActions';\n\nconst block = cn('groups-page-table');\n\nconst TABLE_SETTINGS = {\n displayIndices: false,\n stickyHead: DataTable.MOVING,\n stickyTop: STICKY_TOOLBAR_BOTTOM,\n syncHeadOnResize: true,\n dynamicRender: true,\n} as const;\n\nconst COLUMN_NAMES: Record<string, string> = {\n name: 'Name',\n idm: 'IDM',\n size: 'Size',\n responsibles: 'Responsible users',\n actions: '',\n};\n\ninterface GroupsPageTableProps extends ConnectedProps<typeof connector> {\n className?: string;\n}\n\nclass GroupsPageTable extends React.Component<GroupsPageTableProps> {\n componentDidMount() {\n const {fetchGroups} = this.props;\n fetchGroups();\n }\n\n renderColumnHeader(col: string, sortable: boolean) {\n const {\n sort: {column, order},\n } = this.props;\n const isSorted = col === column;\n\n return (\n <ColumnHeader\n className={block('header-cell', {col, sortable}, 'data-table__head-cell')}\n column={col}\n title={COLUMN_NAMES[col]}\n order={isSorted ? order : ''}\n onSort={this.onColumnSort}\n />\n );\n }\n\n onColumnSort = (colName: string, nextOrder: OrderType) => {\n const {setGroupsPageSorting} = this.props;\n setGroupsPageSorting(colName, nextOrder);\n };\n\n renderNameCell(col: string, {row}: {row: GroupsTreeNode}) {\n const {name, shift, hasChildren, expanded} = row;\n return (\n <div\n className={block('content', {\n col,\n shift: String(shift),\n level: String(Math.min(10, shift!)),\n })}\n >\n <ExpandIcon\n data={name}\n visible={hasChildren}\n onClick={this.toggleExpand}\n expanded={expanded}\n />\n <Tooltip content={name}>\n <span className={block('group-name')}>{name}</span>\n </Tooltip>\n </div>\n );\n }\n\n toggleExpand = (groupName: string) => {\n const {toggleGroupExpand} = this.props;\n toggleGroupExpand(groupName);\n };\n\n renderIdmCell(col: string, {row}: {row: GroupsTreeNode}) {\n const {idm} = row;\n return (\n <div className={block('content', {col})}>\n <div className={block(col)}>{idm && idm.toString()}</div>\n </div>\n );\n }\n\n renderUsersCell(col: 'members', {row}: {row: GroupsTreeNode}) {\n const {[col]: value} = row;\n return (\n <div className={block('content', {col})}>\n <CommaSeparatedListWithRestCounter\n className={block('groups')}\n items={value}\n itemRenderer={(item: string) => {\n if (item.startsWith('idm-group:')) {\n return item;\n } else {\n return <SubjectCard name={item} />;\n }\n }}\n />\n </div>\n );\n }\n\n renderSizeCell(col: string, {row}: {row: GroupsTreeNode}) {\n const {members} = row;\n return (\n <div className={block('content', {col})}>\n <span>{members!.length}</span>\n </div>\n );\n }\n\n renderActionsCell(col: string, {row}: {row: GroupsTreeNode}) {\n const {name: groupname} = row;\n\n return <GroupActions className={block('content', {col})} groupname={groupname} />;\n }\n\n renderTable() {\n const {loaded, loading, groups} = this.props;\n\n const columnProps = (name: string, disableSorting = false) => {\n return {\n name,\n align: DataTable.LEFT,\n sortable: false,\n className: block('td', {col: name.toLowerCase()}),\n header: this.renderColumnHeader(name, !disableSorting),\n } as const;\n };\n\n const DISABLED_SORTING = true;\n\n const columns = [\n {\n ...columnProps('name'),\n render: this.renderNameCell.bind(this, 'name'),\n },\n ...(!isIdmAclAvailable()\n ? []\n : [\n {\n ...columnProps('idm'),\n render: this.renderIdmCell.bind(this, 'idm'),\n },\n ]),\n {\n ...columnProps('members', DISABLED_SORTING),\n render: this.renderUsersCell.bind(this, 'members'),\n },\n {\n ...columnProps('size'),\n render: this.renderSizeCell.bind(this, 'size'),\n },\n {\n ...columnProps('actions'),\n header: '',\n render: this.renderActionsCell.bind(this, 'actions'),\n },\n ];\n\n return (\n <DataTableYT\n loaded={loaded}\n loading={loading}\n data={groups}\n columns={columns}\n settings={TABLE_SETTINGS}\n theme={'yt-internal'}\n />\n );\n }\n\n render() {\n const {className, error, showEditor} = this.props;\n return (\n <ErrorBoundary>\n <div className={block(null, className)}>\n <LoadDataHandler\n loaded={true}\n error={Boolean(error)}\n errorData={error || undefined}\n >\n {this.renderTable()}\n </LoadDataHandler>\n </div>\n {showEditor && <GroupEditorDialog />}\n </ErrorBoundary>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {loaded, loading, error} = getGroupsTableDataState(state);\n const groups = getGroupsFlattenTree(state);\n const sort = getGroupsSort(state);\n const showEditor = getGroupEditorVisible(state);\n\n return {\n loaded,\n loading,\n error,\n\n groups,\n sort,\n showEditor,\n };\n};\n\nconst mapDispatchToProps = {\n fetchGroups,\n setGroupsPageSorting,\n toggleGroupExpand,\n openAttributesModal,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(GroupsPageTable);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport WithStickyToolbar from '../../components/WithStickyToolbar/WithStickyToolbar';\n\nimport GroupsPageFilters from './GroupsPageFilters/GroupsPageFilters';\nimport GroupsPageTable from './GroupsPageTable/GroupsPageTable';\n\nconst block = cn('groups-page');\n\nexport default function GroupsPage() {\n return (\n <div className={block(null, 'elements-main-section')}>\n <WithStickyToolbar\n className=\"elements-section\"\n toolbar={<GroupsPageFilters />}\n content={<GroupsPageTable />}\n />\n </div>\n );\n}\n"],"names":["block","cn","ExpandIcon","_ref","className","data","expanded","visible","onClick","icon","onClickCb","React","_jsx","Boolean","clickable","undefined","children","Icon","awesome","getGroupsNameFilter","state","groups","table","nameFilter","getGroupsSort","sort","getGroupsExpanded","getGroupsTree","createSelector","res","reduce","acc","item","name","_objectSpread","leaves","root","ROOT_GROUP_NAME","hasChildren","forEach_","_item$memberOf","memberOf","length","forEach","parent","itemCopy","push","hammer","treeList","treeForEach","depth","shift","getGroupsTreeFiltered","tree","predicates","compact_","node","indexOf","filterTree","concatByAnd","apply","_toConsumableArray","getGroupsTreeFilteredAndExpanded","cloneDeep_","GROUP_FIELDS","get","group","compareFn","compareWithUndefined","idm","size","_ref$members","members","getGroupsTreeFilteredAndSorted","_ref2","column","order","_orderTypeToOrderK","orderTypeToOrderK","orderK","undefinedOrderK","sortTree","field","asc","undefinedAsk","getGroupsFlattenTree","flattenTree","getGroupEditorVisible","editor","showModal","getGroupEditorGroupName","groupName","getGroupEditorGroupIdm","_state$groups$editor$","flags","$attributes","upravlyator_managed","getGroupEditorIdmData","idmData","getGroupEditorIdmDataVersion","version","getGroupEditorSubjects","_idmData$group","responsible","map_","_ref3","subject","_ref4","getGroupEditorRoles","_data$$attributes","isIdmAclAvailable","_idmData$group2","map","member","text","value","role_type","user","GROUP_ATTRIBUTES","fetchGroups","dispatch","type","GROUPS_TABLE","REQUEST","listAllGroups","YTApiId","groupsData","attributes","then","$value","_item$$attributes","_item$$attributes$mem","member_of","SUCCESS","error","FAILURE","openGroupEditorModal","arguments","getState","GROUP_EDITOR_ACTION_DATA_FIELDS","Promise","resolve","GROUP_EDITOR_ACTION","idmDataPromise","path","concat","getGroupAcl","UIFactory","getAclApi","getCluster","all","ytApiV3Id","groupsEditData","_slicedToArray","createGroup","ytApiV3","create","calculateMembers","toAdd","toRemove","subjects","userMap","groupMap","_mapsByNameFromSubjec","Map","_ref8","set","_mapsByNameFromSubjec2","rmUsers","rmGroups","afterRemove","filter_","_ref7","has","concat_","changeGroupMembers","_ref10","membersToAdd","membersToRemove","requestsToAdd","command","parameters","requestsToRemove","requests","executeBatch","ShowCreateGroupModalButton","useDispatch","useCallback","allowCreate","Button","view","GroupsPageFilters","_React$Component","_inherits","_super","_createSuper","_classCallCheck","_createClass","key","_this$props","this","props","groupFilter","ErrorBoundary","Toolbar","itemsToWrap","Filter","hasClear","placeholder","onChange","setGroupsNameFilter","wrapperClassName","mapDispatchToProps","GROUPS_TABLE_DATA_FIELDS","connect","GroupEditorDialog","_this","_len","args","Array","_key","call","onSubmit","_asyncToGenerator","_regeneratorRuntime","_callee","form","initialGroupName","_form$getState","values","_values$members","membersComment","_extractChangedSubjec","_values$responsibles","responsibles","responsiblesComment","_extractChangedSubjec2","responsiblesToAdd","responsiblesToRemove","comment","_context","prev","next","extractChangedSubjects","added","removed","general","abrupt","saveGroupData","disableGroupsCache","stop","_x","closeGroupEditorModal","otherMembers","YTDFDialog","pristineSubmittable","headerProps","title","isNewGroup","onClose","onAdd","initialValues","String","prepareRoleListValue","fields","allowRename","required","caption","extras","updateGroup","groupData","_ref5","_ref6","_dispatch","groupNameChanged","_UIFactory$getAclApi2","_getGroupEditorSubjec","newMembers","newResponsibles","cluster","oldGroupname","newGroupName","_ref9","groupDiff","_x2","other_members","getGroupEditorIdmDataOtherMembers","_getGroupEditorRoles","DeleteGroupModal","_React$useState","_React$useState2","setError","remove","t0","_jsxs","Text","makeErrorFields","GroupActions","groupname","onEdit","allowDelete","ClickableAttributesButton","DeleteGroupButton","_useState","useState","_useState2","setVisible","TABLE_SETTINGS","displayIndices","stickyHead","DataTable","MOVING","stickyTop","STICKY_TOOLBAR_BOTTOM","syncHeadOnResize","dynamicRender","COLUMN_NAMES","actions","GroupsPageTable","onColumnSort","colName","nextOrder","setGroupsPageSorting","toggleExpand","toggleGroupExpand","col","sortable","_this$props$sort","isSorted","ColumnHeader","onSort","row","level","Math","min","Tooltip","content","toString","CommaSeparatedListWithRestCounter","items","itemRenderer","startsWith","SubjectCard","_this2","loaded","loading","columnProps","disableSorting","align","LEFT","toLowerCase","header","renderColumnHeader","columns","render","renderNameCell","bind","renderIdmCell","renderUsersCell","renderSizeCell","renderActionsCell","DataTableYT","settings","theme","_this$props2","showEditor","LoadDataHandler","errorData","renderTable","openAttributesModal","_getGroupsTableDataSt","getGroupsTableDataState","GroupsPage","WithStickyToolbar","toolbar"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[5684],{97536:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(40319),r=n(18801),s=(n(77810),n(2211)),o=n(60620),i=n(64922),l=["view","size"];function u(e){var t=e.view,n=void 0===t?"flat-secondary":t,u=e.size,c=void 0===u?"m":u,d=(0,r.A)(e,l);return(0,i.jsx)(s.A,(0,a.A)((0,a.A)({view:n,size:c},d),{},{children:(0,i.jsx)(o.A,{awesome:"at"})}))}},97931:(e,t,n)=>{n.d(t,{A:()=>i}),n(77810);var a=n(76872),r=n(60620),s=n(64922),o=(0,a.A)("error-message");const i=function(e){var t=e.message,n=e.className;return(0,s.jsxs)("div",{className:o(null,n),children:[(0,s.jsx)(r.A,{awesome:"exclamation-circle"}),(0,s.jsx)("span",{className:o("message-text"),children:t})]})}},78466:(e,t,n)=>{n.d(t,{L:()=>c}),n(77810);var a=n(92423),r=n(72679),s=n(39702),o=n(40319),i=n(64922);const l=function(e){return(0,i.jsx)("svg",(0,o.A)((0,o.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,i.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M3.47 10.97a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L6.44 8zm5 0a.75.75 0 1 0 1.06 1.06l3.5-3.5a.75.75 0 0 0 0-1.06l-3.5-3.5a.75.75 0 0 0-1.06 1.06L11.44 8z",clipRule:"evenodd"})}))};var u=(0,n(76872).A)("yt-expanded-button"),c=function(e){var t=e.className,n=e.expanded,o=e.inline,c=e.toggleExpanded,d=e.all,m=e.showText,p=e.qa,h=d?"Collapse All":"Collapse",f=d?"Expand All":"Expand";return(0,i.jsxs)(a.$,{className:u({inline:o},t),view:"flat-secondary",title:n?h:f,onClick:c,qa:p,children:[m&&(n?h:f)+" ",(0,i.jsx)(r.I,{className:u("expand",{expanded:n}),data:d?l:s.A,size:16})]})}},38226:(e,t,n)=>{n.d(t,{A:()=>j});var a,r=n(29121),s=n(12937),o=n(10785),i=n(26718),l=n(68175),u=n(77810),c=n(76872),d=n(64772),m=n(60620),p=n(34380),h=n(44458),f=n(64922),v=(0,c.A)("sort-icon"),g=(a={},(0,l.A)(a,"","sort"),(0,l.A)(a,"asc","sort-up"),(0,l.A)(a,"desc","sort-down"),(0,l.A)(a,"asc-undefined","arrow-to-bottom"),(0,l.A)(a,"desc-undefined","arrow-from-bottom"),(0,l.A)(a,"undefined-asc","arrow-from-top"),(0,l.A)(a,"undefined-desc","arrow-to-top"),a),j=function(e){(0,o.A)(n,e);var t=(0,i.A)(n);function n(){var e;(0,r.A)(this,n);for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return(e=t.call.apply(t,[this].concat(s))).onClick=function(){var t=e.props,n=t.order,a=t.onChange,r=t.allowUnordered,s=t.withUndefined;a&&a((0,h.$N)(n,r,s))},e}return(0,s.A)(n,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.label,a=e.order,r=e.hidden,s=g[a||""];return(0,f.jsxs)("span",{className:v({hidden:r},t),onClick:this.onClick,children:[n&&(0,f.jsx)("span",{className:v("label"),children:n}),(0,f.jsx)(p.m,{className:v("icon"),content:a?d.A.ReadableField(a):"Unordered",children:(0,f.jsx)(m.A,{awesome:s,face:"solid"})})]})}}]),n}(u.Component)},82564:(e,t,n)=>{n.d(t,{DC:()=>O});var a=n(40319),r=n(13322),s=n(9736),o=n(77810),i=n(15647),l=n(76872),u=n(60620),c=n(73822),d=n(69835),m=n(11394),p=n(11843),h=n(84162),f=n(30008),v=n(78466),g=n(64922),j=(0,l.A)("elements-toolbar"),b=(0,l.A)("job-statistics");function x(e){var t=o.useCallback((function(){return e.onTreeStateChange("collapsed")}),[e.onTreeStateChange]),n=o.useCallback((function(){return e.onTreeStateChange("expanded")}),[e.onTreeStateChange]),a=(0,i.wA)(),r=(0,o.useCallback)((function(t){return a(e.onFilterChange(t))}),[a]),s="expanded"===e.treeState||"mixed"===e.treeState;return(0,g.jsx)("div",{className:j(null,b("toolbar")),children:(0,g.jsxs)("div",{className:j("container"),children:[(0,g.jsx)("div",{className:j("component",b("filter")),children:(0,g.jsx)(h.A,{size:"m",debounce:500,value:"",onChange:r})}),(0,g.jsx)("div",{className:j("component",b("expand-collapse")),children:(0,g.jsx)("span",{className:b("expand-metrics"),children:(0,g.jsx)(v.L,{expanded:s,toggleExpanded:s?t:n})})}),e.helpUrl&&(0,g.jsx)("div",{className:j("component",b("help")),children:(0,g.jsx)(f.A,{url:e.helpUrl})})]})})}var A=n(70353);function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.measureText(t).width;return Math.max(1,Math.ceil(n))}var _=n(74360),C=n(39760),k=n.n(C),N=n(30002),w=n.n(N),S="<Root>";function I(e,t){return{name:t,prefix:e,path:e+"/"+t}}function D(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S,a=t||{children:{},leaves:{}};return k()(e,(function(e,t){if("object"===(0,_.A)(w()(e)[0])){var r=I(n,t);a.children[r.path]=r,a=D(e,a,r.path)}else{var s=function(e,t,n){var a=I(e,t);return a.value=n,a}(n,t,e);a.leaves[s.path]=s}})),a}var T=function(e){return t=D(e),n=c.A.treeList.prepareTree(t.children,(function(e){return e.prefix})),(n=c.A.treeList.attachTreeLeaves(n,t.leaves,(function(e){return e.prefix})))[S];var t,n},E=(0,l.A)("job-statistics"),z=40;function F(e){var t=e.item.attributes.value;if(t&&t.count&&t.sum){var n=t.sum/t.count;return n<1?c.A.format.Number(n,{significantDigits:6}):c.A.format.Number(n)}return c.A.format.NO_VALUE}function M(e){var t,n=e.item,a=e.aggregation;return n.isLeafNode&&Boolean(n.attributes.value)?"avg"===a?(0,g.jsx)(F,{item:n}):c.A.format.Number(null===(t=n.attributes)||void 0===t||null===(t=t.value)||void 0===t?void 0:t[a]):c.A.format.NO_VALUE}function L(e){var t=e.item,n=e.itemState,a=e.toggleItemState,r=e.minWidth,s=void 0===r?void 0:r,i=e.renderValue,l=o.useMemo((function(){return{minWidth:s,paddingLeft:((null==t?void 0:t.level)||0)*z}}),[t.level,s]),c=o.useCallback((function(){n.empty||a()}),[n,a]);return t.isLeafNode?(0,g.jsxs)("span",{className:E("metric"),style:l,children:[(0,g.jsx)(u.A,{awesome:"chart-line",className:E("metric-icon")}),(0,g.jsx)("span",{children:i(t)})]}):(0,g.jsxs)("span",{className:E("group"),style:l,onClick:c,children:[(0,g.jsx)(v.L,{expanded:!(n.collapsed||n.empty),toggleExpanded:function(){}}),(0,g.jsx)(u.A,{awesome:n.collapsed||n.empty?"folder":"folder-open",className:E("group-icon")}),(0,g.jsx)("span",{children:i(t)})]})}var B=function(e){var t=e.visibleColumns.reduce((function(e,t){return e[t]={sort:!1,align:"right"},e}),{name:{sort:!1,align:"left"}});return{theme:"light",size:"s",striped:!1,computeKey:function(e){return e.name},tree:!0,columns:{sets:{default:{items:Object.keys(t)}},items:t,mode:"default"}}},R=function(e){var t=e.statistic,n=e.fontFamilies,a=o.useState(""),r=(0,s.A)(a,2),i=r[0],l=r[1],u=o.useState("expanded"),d=(0,s.A)(u,2),m=d[0],p=d[1],h=o.useMemo((function(){return T(t)}),[t]),f=o.useMemo((function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!e)return[];var n=c.A.treeList.filterTree(e,(function(e){return-1!==e.name.indexOf(t)}),!0),a=c.A.treeList.sortTree(n,{field:"name",asc:!0},{name:{get:function(e){return e.name}}});return c.A.treeList.flattenTree(a)}(h,i)}),[h,i]);return{minWidth:o.useMemo((function(){return function(e,t){var n,a=300,r=function(e){var t=document.createElement("canvas").getContext("2d");return t.font=e,t}('14px / 20.02px "'.concat(t.regular,'", "Helvetica Neue", Arial, Helvetica, sans-serif')),s=(0,A.A)(e);try{for(s.s();!(n=s.n()).done;){var o=n.value,i=o.isLeafNode?20:40,l=y(r,o.attributes.name);a=Math.max(a,l+i+o.level*z)}}catch(e){s.e(e)}finally{s.f()}return Math.round(1.05*a)}(f,n)}),[n,f]),items:f,treeState:m,setTreeState:p,onFilterChange:function(e){return l(e)}}};function O(e){var t=e.helpUrl,n=e.virtual,s=e.visibleColumns,l=e.fixedHeader,u=e.statistic,c=(0,i.d4)(p.Y),h=R({statistic:u,fontFamilies:c}),f=h.items,v=h.minWidth,j=h.treeState,b=h.setTreeState,A=h.onFilterChange,y=o.useMemo((function(){return{name:function(e,t,n,a){return(0,g.jsx)(L,{item:e,minWidth:v,toggleItemState:n,itemState:a,renderValue:function(e){var t;return null==e||null===(t=e.attributes)||void 0===t?void 0:t.name}})},__default__:function(e,t){return e.isLeafNode?(0,g.jsx)(M,{item:e,aggregation:t}):null}}}),[v]),_=o.useMemo((function(){return B({visibleColumns:s})}),(0,r.A)(s));return(0,g.jsx)(d.A,{children:(0,g.jsxs)("div",{className:E(),children:[(0,g.jsx)(x,{helpUrl:t,onFilterChange:A,onTreeStateChange:b,treeState:j}),(0,g.jsx)("div",{className:E("table-container"),children:(0,g.jsx)(m.A,(0,a.A)((0,a.A)({},_),{},{virtual:n,treeState:j,templates:y,items:f,css:E(),headerClassName:E("header",{fixed:l})}))})]})})}},29241:(e,t,n)=>{n.d(t,{K$:()=>f,i:()=>g,Ay:()=>j,WS:()=>v,A4:()=>p,bU:()=>h,FF:()=>m,S5:()=>d});var a=n(74360),r=n(40319),s=(n(77810),n(3659)),o=n(76872),i=n(76426),l=n(73822),u=n(48971),c=n(64922);function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,o.A)("elements-text");n=t.mix?n(!1,(0,o.A)(t.mix.block)(t.mix.elem,(0,r.A)({},t.mix.mods))):n();var a=function(e,t){var n={};return t?n.dangerouslySetInnerHTML={__html:e}:n.children=s.A.decode(String(e)),n}(e,t.asHTML),i=t.title||e;return(0,c.jsx)("span",(0,r.A)((0,r.A)({},a),{},{title:i,className:n}))}function m(e,t){var n=this.getColumn(t);return l.A.format.TimeDuration(n.get(e),{format:"milliseconds"})}function p(e,t){var n=this.getColumn(t);return(0,c.jsx)("span",{className:"elements-ellipsis",children:l.A.format.ReadableField(n.get(e))})}function h(e,t){var n=null!=this&&this.getColumn?this.getColumn(t).get(e):e[t];return(0,c.jsx)(f,{value:n})}function f(e){var t=e.value;return(0,c.jsx)("span",{className:"elements-ellipsis",children:l.A.format.DateTime(t,{format:"full"})})}function v(e){return"object"===(0,a.A)(e)?(0,c.jsx)(i.A,{theme:"ghost",onClick:function(){(0,u.eW)(e,{hideOopsMsg:!0})},children:"View"}):l.A.format.NO_VALUE}function g(e,t){return l.A.format.Number(e[t])}const j={__default__:function(e,t){return String(l.A.format.ValueOrDefault(e[t]))},_templates:{},add:function(e,t){this._templates[e]=function(e){return Object.keys(e).reduce((function(t,n){return t[n]=e[n],t}),{})}(t)},get:function(e){return this._templates[e]||{}}}},19845:(e,t,n)=>{n.d(t,{A:()=>I});var a=n(29121),r=n(12937),s=n(10785),o=n(26718),i=n(77810),l=n(15647),u=n(25147),c=n.n(u),d=n(76872),m=n(65573),p=n(24503),h=n.n(p),f=n(34455),v=n.n(f),g=n(96843),j=n.n(g),b=n(65692),x=n(55740),A=n(60620),y=n(97931),_=n(36554),C=n(17790),k=n(26264),N=n(64922),w=(0,d.A)("path-editor"),S=function(e){(0,s.A)(n,e);var t=(0,o.A)(n);function n(e){var r,s;return(0,a.A)(this,n),(s=t.call(this,e)).state=void 0,s.suggestionsList=i.createRef(),s.input=i.createRef(),s.prevScope="",s.hideSuggestions=function(){s.setState({inputFocus:!1,selectedIndex:-1})},s.handleInputChange=function(e){s.setState({path:e,selectedIndex:-1,inputChange:!0}),s.debounceLoading(e)},s.handleInputFocus=function(e){var t=s.props.onFocus,n=s.state.path;m.A.setScope("path-editor"),s.setState({inputFocus:!0}),null==t||t(e,{path:n})},s.handleInputBlur=function(){var e=s.props.onBlur,t=s.state.path;m.A.setScope(s.prevScope),s.hideSuggestions(),s.callCallback(e,t)},s.handleKeyDown=function(e){switch(e.keyCode){case k.DD.ARROW_DOWN:s.selectNextSuggestion();break;case k.DD.ARROW_UP:s.selectPrevSuggestion();break;case k.DD.ENTER:s.handleEnterClick(e);break;case k.DD.ESCAPE:s.handleEscClick();break;case k.DD.TAB:s.handleTabClick(e)}},s.renderItem=function(e,t){var n=s.state,a=n.selectedIndex,r=n.actualSuggestions[e],o=r.type,i=r.dynamic,l="table"===o&&i?"table_dynamic":o,u=(0,_.DC)(r),c=e===a?"yes":"no",d=(0,_.c5)(l,r.targetPathBroken);return(0,N.jsxs)("div",{onMouseDown:function(e){s.handleInputChange(u),e.preventDefault()},className:w("item",{selected:c}),children:[(0,N.jsx)(A.A,{awesome:d}),(0,N.jsx)("span",{className:w("item-path"),children:r.path})]},t)},s.debounceLoading=h()(s.debounceLoading,300),s.state={path:null!==(r=e.defaultPath)&&void 0!==r?r:"",actualSuggestions:[],inputFocus:!1,inputChange:!1,selectedIndex:-1},s}return(0,r.A)(n,[{key:"componentDidMount",value:function(){var e=this.props,t=e.loadSuggestionsList,n=e.customFilter,a=e.autoFocus,r=this.state.path;this.prevScope=m.A.getScope(),r&&t(r,n),a&&this._setFocus()}},{key:"componentDidUpdate",value:function(e){e.disabled&&!this.props.disabled&&this.input.current&&this._setFocus()}},{key:"componentWillUnmount",value:function(){this.props.removeActiveRequests()}},{key:"_setFocus",value:function(){var e;null===(e=this.input.current)||void 0===e||e.focus()}},{key:"inputWidth",get:function(){return this.input.current&&this.input.current.offsetWidth-2}},{key:"callCallback",value:function(e){if("function"==typeof e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return e.apply(void 0,n)}}},{key:"debounceLoading",value:function(e){var t=this.props,n=t.loadSuggestionsList,a=t.customFilter,r=t.onChange;n(e,a),this.callCallback(r,e)}},{key:"selectPrevSuggestion",value:function(){var e=this.state,t=e.selectedIndex,n=e.actualSuggestions,a=(0,_.F_)(n,t);this.setState({selectedIndex:a})}},{key:"selectNextSuggestion",value:function(){var e=this.state,t=e.selectedIndex,n=e.actualSuggestions,a=(0,_.$F)(n,t);this.setState({selectedIndex:a})}},{key:"handleEnterClick",value:function(e){e.preventDefault();var t=this.state,n=t.selectedIndex,a=t.actualSuggestions,r=this.props.onApply,s=e.currentTarget.value;if(-1===n)this.setState({path:s,selectedIndex:-1}),this.callCallback(r,s);else{var o=v()(a,(function(e,t){return t===n})),i=(0,_.DC)(o);this.handleInputChange(i)}}},{key:"handleEscClick",value:function(){var e,t=this.props.onCancel;null===(e=this.input.current)||void 0===e||e.blur(),this.callCallback(t)}},{key:"handleTabClick",value:function(e){e.preventDefault();var t=this.state.actualSuggestions;if(1===t.length){var n=(0,_.DC)(t[0]);this.handleInputChange(n)}else t.length>1&&this.selectNextSuggestion()}},{key:"renderInput",value:function(){var e=this.props,t=e.placeholder,n=e.autoFocus,a=e.hasClear,r=e.disabled,s=this.state.path;return(0,N.jsx)(b.k,{onKeyDown:this.handleKeyDown,onUpdate:this.handleInputChange,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,placeholder:t,hasClear:a,autoFocus:n,disabled:r,controlRef:this.input,value:s})}},{key:"renderSuggestions",value:function(){var e=this.state.actualSuggestions;return e.length?(0,N.jsx)(c(),{itemRenderer:this.renderItem,length:e.length,type:"simple"}):null}},{key:"renderError",value:function(){var e=this.props.errorMessage;if(e)return(0,N.jsx)(y.A,{className:w("item",{error:!0}),message:e})}},{key:"renderPopup",value:function(){var e=this.props,t=e.suggestionsError,n=e.showErrors,a=this.state,r=a.actualSuggestions,s=a.inputFocus,o=this.inputWidth||0,i=Boolean((r.length||t&&n)&&s),l=t&&n?this.renderError():this.renderSuggestions();return(0,N.jsx)(x.z,{className:w("popup"),placement:["bottom-start","top-start"],onClose:this.hideSuggestions,anchorRef:this.input,open:i,offset:[0,0],children:(0,N.jsx)("div",{className:w("items"),style:{width:o},ref:this.suggestionsList,children:l})})}},{key:"render",value:function(){return(0,N.jsxs)("div",{className:w(null,this.props.className),children:[this.renderInput(),this.renderPopup()]})}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n={};return t.inputFocus&&t.inputChange&&Object.assign(n,{actualSuggestions:e.suggestions.length?(0,_.aA)(t.path,e.suggestions):[]}),void 0===t.path&&void 0!==e.defaultPath&&Object.assign(n,{path:e.defaultPath}),j()(n)?null:n}}]),n}(i.Component);S.defaultProps={errorMessage:"Oops, something went wrong",placeholder:"Enter the path...",suggestionsError:!1,autoFocus:!1,showErrors:!0,defaultPath:void 0,disabled:!1,hasClear:!1};const I=(0,l.Ng)((function(e){var t=e.navigation;return{suggestions:t.pathEditor.suggestions,suggestionsError:t.pathEditor.suggestionsError,errorMessage:t.pathEditor.errorMessage}}),{loadSuggestionsList:function(e,t){return function(n,a){var r,s=a().navigation.pathEditor,o=s.suggestionsPath,i=s.suggestionsLoaded;try{r=(0,_.$A)(e)}catch(e){return n({type:C.v.FAILURE,data:{message:e.message}})}if(o!==r||!i)return n({type:C.v.REQUEST}),(0,_._X)(e,t).then((function(t){n({type:C.v.SUCCESS,data:{suggestions:t,path:e,currentParentPath:r}})})).catch((function(e){n({type:C.v.FAILURE,data:{message:e.message}})}))}},removeActiveRequests:function(){return function(e){_.nH.removeAllRequests(),e({type:C.v.CANCELLED})}}})(S)},47393:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ut});var a=n(77810),r=n(64965),s=n(69835),o=n(15647),i=n(76872),l=n(63588),u=n(40319),c=n(13322),d=n(64196),m=n(90826),p=n(16413),h=n(91326),f=n(9736),v=n(84092),g=n.n(v),j=n(78259),b=n(52699),x=n(76365),A=new x.A;function y(e){return function(t,n){var a=n().job.specification,r=a.omitNodeDirectory,s=a.omitInputTableSpecs,o=a.omitOutputTableSpecs;return t({type:b.lG}),g().v4.getJobSpec({parameters:{job_id:e,omit_node_directory:r,omit_input_table_specs:s,omit_output_table_specs:o},cancellation:A.saveCancelToken}).then((function(e){var n=j.A.getValues(e,["/scheduler_job_spec_ext","/job_spec_ext"]),a=(0,f.A)(n,2),r=a[0],s=a[1];t({type:b.Jv,data:{specification:null!=s?s:r}})})).catch((function(e){e.code===g().codes.CANCELLED?t({type:b.NF}):t({type:b.E4,data:{error:e}})}))}}function _(){return function(e){A.removeAllRequests(),e({type:b.NF})}}var C=n(4386),k=n(64922),N=(0,i.A)("job-specification");function w(e){var t=e.jobID,n=(0,o.wA)(),r=(0,o.d4)((function(e){return e.job.specification})),s=r.omitNodeDirectory,i=r.omitInputTableSpecs,l=r.omitOutputTableSpecs,u=(0,a.useCallback)((function(e){n(function(e){return function(t){A.removeAllRequests(),t({type:b.Mz}),t(y(e))}}(t)),S(e)}),[n,t]),c=(0,a.useCallback)((function(e){n(function(e){return function(t){A.removeAllRequests(),t({type:b.Bx}),t(y(e))}}(t)),S(e)}),[n,t]),d=(0,a.useCallback)((function(e){n(function(e){return function(t){A.removeAllRequests(),t({type:b.iw}),t(y(e))}}(t)),S(e)}),[n,t]);return(0,k.jsxs)("div",{className:N("toolbar"),children:[(0,k.jsx)(p.S,{size:"l",content:"Omit node directory",checked:s,onChange:u}),(0,k.jsx)(p.S,{size:"l",content:"Omit input table specs",checked:i,onChange:c}),(0,k.jsx)(p.S,{size:"l",content:"Omit output table specs",checked:l,onChange:d})]})}function S(e){e.target.blur()}function I(e){var t=e.jobID,n=(0,o.wA)(),r=(0,o.d4)((function(e){return e.job.specification})),i=r.loading,u=r.loaded,c=r.error,d=r.errorData,p=r.specification;(0,a.useEffect)((function(){return n(y(t)),function(){n(_())}}),[n,t]);var f=i&&!u,v=(0,o.d4)(C.lD);return(0,k.jsx)(s.A,{children:(0,k.jsx)("div",{className:N(),children:(0,k.jsx)("div",{className:N("content",{loading:f}),children:f?(0,k.jsx)(h.a,{}):(0,k.jsx)(l.A,{loaded:u,error:c,errorData:d,children:(0,k.jsx)(m.A,{folding:!0,settings:v,value:p,extraTools:(0,k.jsx)(w,{jobID:t})})})})})})}var D=n(35074),T=function(e){return e.job.general.job.statistics},E=n(82564),z=n(29081),F=n(7787);function M(){var e=(0,o.d4)(T);return(0,k.jsx)(E.DC,{helpUrl:(0,z.cK)()?F.Ay.docsUrls["problems:jobstatistics"]:void 0,statistic:e,visibleColumns:["min","max","last","sum","count"]})}var L=n(28640),B=n(65692),R=n(2211),O=n(60620),P=n(27497),U=n(26264),V=(0,i.A)("job-breadcrumbs");function W(e){var t=e.id,n=e.className,i=(0,r.W5)(),l=(0,o.d4)(P.dB),c=(0,r.W6)(),d=(0,a.useState)(!1),m=(0,f.A)(d,2),p=m[0],h=m[1],v=(0,a.useState)(i.params.jobID),g=(0,f.A)(v,2),j=g[0],b=g[1],x=i.params.operationID,A="".concat(x,"/").concat(j),y=(0,a.useCallback)((function(){return h(!0)}),[]),_=(0,a.useCallback)((function(e){return b(e)}),[]),C=(0,a.useCallback)((function(){return h(!1)}),[]),N=(0,a.useCallback)((function(e){e.keyCode===U.DD.ENTER&&(h(!1),c.push("/".concat(l,"/").concat(U.YW.JOB,"/").concat(A)))}),[A,c,l]),w={onBlur:C};return(0,k.jsx)(s.A,{children:(0,k.jsx)("div",{className:V(null,n),children:p?(0,k.jsx)("div",{className:V("input"),children:(0,k.jsx)(B.k,(0,u.A)((0,u.A)({},w),{},{autoFocus:!0,size:"m",value:j,onUpdate:_,onKeyDown:N}))}):(0,k.jsxs)("div",{className:V("id"),children:[(0,k.jsx)("span",{className:"elements-ellipsis",children:t})," ",(0,k.jsx)(L.A,{view:"flat-secondary",text:t,size:"m"})," ",(0,k.jsx)(R.A,{view:"flat-secondary",size:"m",onClick:y,children:(0,k.jsx)(O.A,{awesome:"pencil"})})]})})})}var J=n(80545),q=n(36161),H=n(65193),K=n.n(H),Y=n(82060),$=n(11394),Q=n(18801),X=n(18472),G=n(4176),Z=n.n(G),ee=n(36146),te=n.n(ee),ne=n(27528),ae=n.n(ne),re=n(95668),se=n.n(re),oe=n(30002),ie=n.n(oe),le=n(33497),ue=["total"],ce=function(e,t,n){return(0,u.A)({table:void 0!==n?"".concat(t,":").concat(n):t},te()(e,(function(e){return e.sum})))},de=function(e){return e.job.general.job},me=(0,X.Mz)(de,(function(e){return j.A.getValue(e,"/statistics/user_job/pipes")||{}})),pe=(0,X.Mz)(me,(function(e){var t=e.input,n=e.output;return{read:null==t?void 0:t.idle_time.sum,write:se()(ie()(n),(function(e){return e.busy_time.sum}))}})),he=(0,X.Mz)(me,(function(e){var t=e.input,n=e.output,a=n.total,r=(0,Q.A)(n,ue),s={input:[ce(t,"input",0)],output:ie()(r).map((function(e,t){return ce(e,"output",t)}))};if(a){var o=ce(a,"Total");o.isTotal=!0,s.output.push(o)}return s})),fe=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/user_job/cpu/user/sum")})),ve=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/user_job/cpu/wait/sum")})),ge=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_utilization_gpu/sum")})),je=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_power/sum")})),be=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_memory/sum")})),xe=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/statistics/time/exec/sum")})),Ae=(0,X.Mz)([fe,xe],(function(e,t){return e/t})),ye=(0,X.Mz)([ve,xe],(function(e,t){return e/t})),_e=(0,X.Mz)(de,(function(e){return j.A.getNumberDeprecated(e,"/exec_attributes/gpu_devices/length")})),Ce=(0,X.Mz)([ge,xe],(function(e,t){return e/t})),ke=(0,X.Mz)([je,xe],(function(e,t){return e/t})),Ne=(0,X.Mz)([be,xe],(function(e,t){return e/t})),we=(0,X.Mz)([function(e){return e.job.specification.specification}],(function(e){var t=j.A.getValue(e,"/input_table_specs");return Z()(ae()(t,(function(e){var t=j.A.getValue(e,"/chunk_specs");return ae()(t,(function(e){var t=j.A.getValue(e,"/chunk_id"),n=ae()(j.A.getValue(e,"/lower_limit/key"),(function(e){return j.A.getValue(e)})),a=[j.A.getValue(e,"/lower_limit/row_index")],r=n&&0!==n.length?n:a,s=ae()(j.A.getValue(e,"/upper_limit/key"),(function(e){return j.A.getValue(e)})),o=[j.A.getValue(e,"/upper_limit/row_index")];return{id:t,from:r,to:s&&0!==s.length?s:o}}))})))})),Se=(0,X.Mz)(de,(function(e){var t=[],n=e.state;return"completed"!==n&&"failed"!==n&&"aborted"!==n&&(t.push({modalKey:"abort",name:"abort",successMessage:"Job was successfully aborted. Please wait",icon:"redo",message:"Job will be immediately aborted. Are you sure you want to proceed?",confirmationText:le.e}),t.push({modalKey:"interrupt",name:"interrupt",successMessage:"Job was successfully aborted. Please wait",icon:"hand-paper",message:"Job will be immediately interrupted. Are you sure you want to proceed?",confirmationText:le.e,optionMessage:"Interruption timeout",optionValue:1e4,optionType:"input",options:[{data:{parameters:{interrupt_timeout:1e4}},value:"timeout",text:"timeout"}]})),"running"===n&&t.push({modalKey:"abandon",name:"abandon",successMessage:"Job was successfully aborted. Please wait",icon:"trash-bin",message:"Job will be aborted, but considered as completed, output data of job will be lost. Do you want to proceed?",confirmationText:le.e}),t})),Ie=n(3659),De=(0,i.A)("job-pivot-keys"),Te=$.A,Ee=function(){return{items:{id:{name:"id",caption:"Chunk ID",align:"left"},from:{name:"from",align:"left"},to:{name:"to",align:"left"}},sets:{default:{items:["id","from","to"]}},mode:"default"}},ze=function(){var e=function(e,t){var n=Ie.A.prettyprint(e[t],{break:!1,indent:0,asHTML:!1}),a=n.split(",").join(",\n");return(0,k.jsxs)("div",{className:"unipika",children:["[",(0,k.jsx)("span",{title:a,className:"uint64 elements-ellipsis",children:n.slice(1,-1)}),"]"]})};return{from:function(t){return e(t,"from")},to:function(t){return e(t,"to")}}};function Fe(){var e=(0,o.wA)(),t=(0,o.d4)((function(e){return e.job.general})).job,n=(0,o.d4)((function(e){return e.job.specification})),r=n.loading,s=n.loaded,i=n.error,u=n.errorData,c=(0,o.d4)(we);(0,a.useEffect)((function(){return e(y(t.id)),function(){e(_())}}),[e,t.id]);var d=(0,a.useMemo)(Ee,[]),m=(0,a.useMemo)(ze,[]);return(0,k.jsx)("div",{className:De({loading:r}),children:(0,k.jsx)(l.A,{loaded:s,error:i,errorData:u,children:(0,k.jsx)(Te,{size:"s",theme:"light",css:De(),virtual:!1,striped:!1,columns:d,isLoading:r,templates:m,items:c})})})}var Me=n(76426),Le=n(73822),Be=n(78894),Re=new x.A,Oe=new Be.I,Pe=n(34121),Ue=(0,i.A)("job-competitors"),Ve=$.A;function We(e){var t=e.job,n=e.operationId,r=(0,o.d4)(P.dB),s=j.A.getValues(t,["/id","/address","/job_competition_id"]),i=(0,f.A)(s,3),l=i[0],u=i[1],c=i[2],d=Le.A.format.Address(u),m=c&&c!==l;return(0,k.jsxs)("div",{children:[(0,k.jsxs)("span",{className:Ue("id","elements-monospace elements-ellipsis"),children:[(0,k.jsx)(L.A,{text:l,theme:"flat-secondary",size:"s",title:"Copy job id"}),(0,k.jsx)(Me.A,{routed:!0,url:"/".concat(r,"/job/").concat(n,"/").concat(l),theme:"primary",children:l})]}),(0,k.jsx)("br",{}),(0,k.jsxs)("span",{className:Ue("host","elements-monospace elements-ellipsis"),children:[(0,k.jsx)(L.A,{text:d,view:"flat-secondary",size:"s",title:"Copy host"}),d]}),m&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)("br",{}),(0,k.jsx)("span",{className:Ue("speculative-job-label","elements-monospace elements-ellipsis"),children:"Speculative job"})]})]})}var Je=function(){return{items:{id_address:{name:"id_address",align:"left",caption:"Id / Address",sort:!1},state:{name:"type",align:"right",sort:!0},type:{name:"type",align:"right",sort:!0}},sets:{default:{items:["id_address","type","state"]}},mode:"default"}},qe=function(e){return{id_address:function(t){return(0,k.jsx)(We,{job:t,operationId:e})},state:function(e){return(0,k.jsx)(J.A,{label:e.state})}}};function He(){var e=(0,o.wA)(),t=(0,a.useCallback)((function(e){return e.id}),[]),n=(0,o.d4)((function(e){return e.job.general})).job,r=(0,o.d4)((function(e){return e.job.competitors})),i=r.loading,u=r.loaded,c=r.error,d=r.errorData,m=r.competitors,p=n.jobCompetitionId,h=n.operationId;if(!p||!h)throw new Error("Unexpected behavior: jobCompetitionId or operationId is not defined");var f=(0,a.useMemo)(Je,[]),v=(0,a.useMemo)((function(){return qe(h)}),[h]);return(0,a.useEffect)((function(){var t,n;e((t=h,n=p,function(e){return e({type:b.vm}),g().v3.listJobs({parameters:{operation_id:t,job_competition_id:n},cancellation:Re.saveCancelToken}).then((function(t){e({type:b.vp,data:{competitors:t.jobs}})})).catch((function(t){t.code===g().codes.CANCELLED?e({type:b.Pr}):(Oe.add({theme:"danger",name:"job competitors",autoHiding:1e4,content:(null==t?void 0:t.message)||"Oops, something went wrong",title:"Failed to load job's competitors"}),e({type:b._I,data:{error:t}}))}))}))}),[e,h,p]),(0,k.jsx)(s.A,{children:(0,k.jsx)("div",{className:Ue({loading:i}),children:(0,k.jsx)(l.A,{loaded:u,error:c,errorData:d,children:(0,k.jsx)(Ve,{size:"s",theme:"light",css:Ue(),virtual:!1,striped:!1,columns:f,isLoading:i,items:m,templates:v,computeKey:t,tableId:Pe.MV})})})})}var Ke=n(29347),Ye=n.n(Ke),$e=n(73831),Qe=n.n($e),Xe=(0,i.A)("job-statistics-io"),Ge=(0,i.A)("elements-heading"),Ze=$.A,et=function(){return{items:{table:{caption:"Table",align:"left"},busy_time:{caption:"Busy time",align:"right"},bytes:{caption:"Bytes",align:"right"},idle_time:{caption:"Idle time",align:"right"}},sets:{default:{items:["table","busy_time","bytes","idle_time"]}},mode:"default"}},tt=function(){var e=function(e,t){return Le.A.format["bytes"===t?"Bytes":"TimeDuration"](e[t])};return{busy_time:function(t){return e(t,"busy_time")},bytes:function(t){return e(t,"bytes")},idle_time:function(t){return e(t,"idle_time")}}},nt=(0,X.Mz)([pe,Ae,ye,_e,Ce,ke,Ne],(function(e,t,n,a,r,s,o){var i=e.read,l=e.write;return Ye()([{key:"total time waiting to read data",value:Le.A.format.TimeDuration(i)},{key:"total time waiting to write data",value:Le.A.format.TimeDuration(l)},Qe()(t)&&{key:"average user cpu time per second",value:Le.A.format.Number(t,{digits:3})},Qe()(n)&&{key:"average wait cpu time per second",value:Le.A.format.Number(n,{digits:3})},{key:"gpu devices",value:Le.A.format.Number(a)},Qe()(r)&&{key:"average gpu utilization",value:Le.A.format.Percent(100*r)},Qe()(s)&&{key:"average gpu power",value:Le.A.format.Number(s,{digits:3})},Qe()(o)&&{key:"average gpu memory usage",value:Le.A.format.Bytes(o)}])}));function at(){var e=(0,o.d4)(he),t=e.input,n=e.output,r=(0,o.d4)(nt),s=(0,a.useMemo)(et,[]),i=(0,a.useMemo)((function(){return tt()}),[]);return(0,k.jsxs)("div",{className:Xe(),children:[(0,k.jsx)(D.Ay,{className:Xe("meta"),items:r}),(0,k.jsx)("div",{className:Ge({size:"m"},Xe("heading")),children:"Input"}),(0,k.jsx)(Ze,{size:"s",theme:"light",css:Xe(),items:t,virtual:!1,striped:!1,columns:s,templates:i}),n.length>0&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)("div",{className:Ge({size:"m"},Xe("heading")),children:"Output"}),(0,k.jsx)(Ze,{size:"s",theme:"light",css:Xe(),items:n,virtual:!1,striped:!1,columns:s,templates:i,rowClassName:function(e){return e.isTotal?Xe("row-total"):void 0}})]})]})}var rt=n(70917),st=n(70436),ot=n(62250),it=(0,i.A)("job-details");function lt(e,t){return e?(0,k.jsx)(st.A,{name:"Events",className:it("events"),size:t,children:(0,k.jsx)(rt.A,{events:e,type:"phase"})}):null}function ut(e,t){return e?(0,k.jsx)(st.A,{collapsed:!0,name:"Competitive jobs",className:it("speculative-jobs"),size:t,children:(0,k.jsx)(He,{})}):null}function ct(e,t){return K()(["reduce","join_reduce","sorted_merge"],e)?(0,k.jsx)(st.A,{collapsed:!0,name:"Pivot keys",className:it("pivot-keys"),size:t,children:(0,k.jsx)(Fe,{})}):null}function dt(){var e,t,n,a=(0,o.d4)((function(e){return e.job.general})),r=a.details,i=a.job,l=r.events;return(0,k.jsx)(s.A,{children:(0,k.jsxs)("div",{className:it(),children:[(null==l?void 0:l.length)>0&&(0,k.jsx)("div",{className:it("section"),children:lt(r.events,ot.Y1)}),(0,k.jsxs)("div",{className:it("section"),children:[(n=i.error,n?(0,k.jsx)("div",{className:it("result"),children:(0,k.jsx)(Y.A,{error:n})}):null),(e=i.statistics,t=ot.Y1,j.A.getValue(e,"/user_job/pipes")?(0,k.jsx)(st.A,{name:"Statistics",className:it("statistics"),size:t,children:(0,k.jsx)(at,{})}):null),ct(i.type,ot.Y1),ut(Boolean(i.hasCompetitors),ot.Y1)]})]})})}var mt=n(623),pt=n.n(mt),ht=n(55695),ft=n(50073),vt=n(19845),gt=new x.A;function jt(e,t){return function(n,a){n({type:b.M1});var r=(0,P.Si)(a());return g().v3.getJob({parameters:{operation_id:e,job_id:t},cancellation:gt.saveCancelToken}).then((function(e){n({type:b.s8,data:{job:e,clusterConfig:r}})})).catch((function(e){e.code===g().codes.CANCELLED?n({type:b.E}):n({type:b.V3,data:{error:e}})}))}}var bt=n(7313),xt=n(48971),At=new Be.I,yt=(0,i.A)("job-actions"),_t=(0,i.A)("elements-code"),Ct=function(e,t,n){var a=[{action:function(){window.open(e.prepareCommandURL("get_job_input"))},text:"get_job_input"},{action:function(){window.open(e.prepareCommandURL("get_job_stderr"))},text:"get_job_stderr"}];return"failed"===e.state?a.push({action:function(){window.open(e.prepareCommandURL("get_job_fail_context"))},text:"get_job_fail_context"}):a.push({action:n,text:"dump_job_context"}),[a,[{action:t,text:"job shell"}]]},kt=function(e){var t=e.currentOption,n=e.name,a=e.id,r=function(e){return{interrupt:g().v4.abortJob,abort:g().v4.abortJob,abandon:g().v4.abandonJob}[e]}(n),s={job_id:a};return t&&(s=(0,u.A)((0,u.A)({},s),{},{interrupt_timeout:t})),r(s)},Nt=function(e,t,n){var a={job_id:e,path:t};return g().v3.dumpJobContext(a).then((function(){At.add({theme:"success",autoHiding:!1,name:"dump job context",title:"Job context has been dumped.",content:(0,k.jsx)(Me.A,{url:"/".concat(n,"/navigation?path=").concat(t),children:t})})})).catch((function(e){At.add({theme:"danger",autoHiding:!1,name:"dump job context",title:"Could not dump job context.",content:(null==e?void 0:e.message)||"Oops, something went wrong",actions:[{label:" view",onClick:function(){return(0,xt.eW)(e)}}]})}))};function wt(e){var t=(0,o.wA)(),n=e.message||(0,k.jsxs)("span",{children:["Are you sure you want to ",(0,k.jsx)("strong",{children:e.name})," the job?"]}),r=(0,o.d4)((function(e){return e.job.general})).job,s=r.id,i=r.operationId,l=(0,a.useCallback)((function(){setTimeout((function(){return t(jt(i,s))}),5e3)}),[t,i,s]),c=(0,a.useCallback)((function(e){return t((0,bt.Jm)(e))}),[t]),d=(0,a.useCallback)((function(t){var n=t.currentOption,a=(0,u.A)((0,u.A)({},e),{},{currentOption:n,id:s});return kt(a).then(l)}),[s,e,l]),m=(0,a.useCallback)((function(){return t(c((0,u.A)((0,u.A)({},e),{},{message:n,handler:d})))}),[t,c,e,n,d]);return(0,k.jsxs)(R.A,{size:"m",onClick:m,view:e.theme||"outlined",className:yt("action"),title:Le.A.format.ReadableField(e.name),children:[(0,k.jsx)(O.A,{awesome:e.icon})," ",Le.A.format.ReadableField(e.name)]},e.name)}function St(e){var t=e.className,n=(0,o.d4)(de),r=(0,o.d4)((function(e){return e.job.general})).loaded,i=(0,o.d4)(P.dB),l=n.id,c="yt run-job-shell ".concat(l),d=(0,a.useState)(!1),m=(0,f.A)(d,2),p=m[0],h=m[1],v=(0,a.useCallback)((function(){return h(!0)}),[h]),g=(0,a.useCallback)((function(){return h(!1)}),[h]),j=(0,a.useCallback)((function(){pt()(c),g()}),[c,g]),b="//home",x=(0,a.useState)(b),A=(0,f.A)(x,2),y=A[0],_=A[1],C=(0,a.useState)(!1),N=(0,f.A)(C,2),w=N[0],S=N[1],I=(0,a.useCallback)((function(e){return _(e)}),[_]),D=(0,a.useCallback)((function(){return S(!0)}),[S]),T=(0,a.useCallback)((function(){return S(!1)}),[S]),E=(0,a.useCallback)((function(){Nt(l,y,i),T()}),[l,y,i,T]),z=(0,o.d4)(Se),F=(0,a.useMemo)((function(){return Ct(n,v,D)}),[n,v,D]);return r?(0,k.jsx)(s.A,{children:(0,k.jsxs)("div",{className:yt(null,t),children:[ae()(z,(function(e){return(0,k.jsx)(wt,(0,u.A)({},e))})),(0,k.jsx)(ht.r,{items:F}),(0,k.jsxs)(ft.l,{size:"m",open:p,onClose:g,children:[(0,k.jsx)(ft.l.Header,{caption:"Job shell"}),(0,k.jsx)(ft.l.Body,{children:(0,k.jsx)("div",{className:yt("code"),children:(0,k.jsx)("div",{className:_t({theme:"default"}),children:c})})}),(0,k.jsx)(ft.l.Footer,{onClickButtonCancel:g,onClickButtonApply:j,textButtonCancel:"Cancel",textButtonApply:"Copy",showError:!1,preset:"success",listenKeyEnter:!0})]}),(0,k.jsxs)(ft.l,{size:"m",open:w,onClose:T,children:[(0,k.jsx)(ft.l.Header,{caption:"Dump job context"}),(0,k.jsx)(ft.l.Body,{children:(0,k.jsx)("div",{className:yt("dump-context"),children:(0,k.jsx)(vt.A,{hasClear:!0,defaultPath:b,onChange:I})})}),(0,k.jsx)(ft.l.Footer,{onClickButtonCancel:T,onClickButtonApply:E,textButtonCancel:"Cancel",textButtonApply:"Confirm",showError:!1,preset:"success",listenKeyEnter:!0})]})]})}):null}var It=n(81970),Dt=n(83611),Tt=n(53332),Et=n(35441),zt=n(93209),Ft=n(42324),Mt=n(40860),Lt=(0,i.A)("job-general");function Bt(){var e,t=(0,o.d4)(P.dB),n=(0,r.W5)(),i=(0,o.d4)(C.cm),l=(0,o.d4)(de),p=(0,o.d4)((function(e){return e.job.general})),h=p.loaded,f=function(e){var t=e.operationId,n=e.jobId,r=e.pool_tree,s=e.has_trace,i=e.cluster,l=(0,o.d4)(P.jU).job_trace_url_template,u=void 0===l?{}:l,c=u.url_template,d=u.title,m=void 0===d?"Open trace":d,p=u.enforce_for_trees;return a.useMemo((function(){return(s||0<=(null==p?void 0:p.indexOf(r)))&&i&&t&&n&&c?{url:(0,Et.j)(c,{operationId:t,jobId:n,cluster:i}),title:m}:{}}),[i,t,n,c,m,p,r,s])}({operationId:null==l?void 0:l.operationId,jobId:null==l?void 0:l.id,has_trace:null==l||null===(e=l.archive_features)||void 0===e?void 0:e.has_trace,pool_tree:null==l?void 0:l.pool_tree,cluster:t}),v=f.url,g=f.title;if(!h)return null;var j=n.url,x=n.params,A=x.operationID,y=x.jobID,_=l.operationId,N=l.attributes,w=l.finishTime,S=l.startTime,T=l.duration,E=l.address,z=l.state,B=l.type,R=l.id,O=l.jobCompetitionId,V=l.monitoring_descriptor,H=l.pool_tree,K=l.is_stale,Y="/".concat(t,"/").concat(U.YW.OPERATIONS,"/").concat(A,"/jobs?jobId=").concat(y),$="/".concat(t,"/").concat(U.YW.JOB,"/").concat(A,"/").concat(y),Q=(0,Tt._4)($,b.oz),X=O&&O!==R,G="yt --proxy ".concat(t," run-job-shell ").concat(R);return(0,k.jsx)(s.A,{children:(0,k.jsxs)("div",{className:Lt(null,"elements-section"),children:[(0,k.jsxs)("div",{className:Lt("header"),children:[(0,k.jsxs)("span",{className:Lt("heading"),children:[Le.A.format.ReadableField(B)," job"]}),(0,k.jsx)(J.A,{label:z,renderPlaque:!0}),(0,k.jsx)(St,{className:Lt("actions")})]}),X&&(0,k.jsx)(It.A,{className:Lt("speculative-label"),text:"Speculative job",theme:"warning",type:"text"}),(0,k.jsx)(D.Ay,{className:Lt("meta"),items:[[{key:"operation id",value:(0,k.jsx)(D.Bj.Link,{url:Y,text:_,withClipboard:!0})},{key:"job id",value:(0,k.jsx)(W,{id:R,className:Lt("meta-breadcrumbs")})},{key:"host",value:(0,k.jsxs)("span",{className:Lt("meta-host"),children:[(0,k.jsx)(D.Bj.Id,{id:null==E?void 0:E.split(":")[0]}),(0,k.jsx)(Ft.A,{url:F.Ay.makeUrlForNodeIO(t,E)})]})},{key:"type",value:(0,k.jsx)(D.Bj.Value,{value:B})},{key:"Monitoring descriptor",value:(0,k.jsxs)("span",{className:Lt("meta-host"),children:[(0,k.jsx)(D.Bj.Id,{id:V}),(0,k.jsx)(Ft.A,{url:F.Ay.makeUrlForMonitoringDescriptor(t,{from:S,to:w},V)})]}),visible:Boolean(V)},{key:"Pool tree",value:H,visible:Boolean(H)}],[{key:"started",value:(0,k.jsx)(D.Bj.Time,{time:S,valueFormat:"DateTime"})},{key:"finished",value:(0,k.jsx)(D.Bj.Time,{time:w,valueFormat:"DateTime"})},{key:"duration",value:(0,k.jsx)(D.Bj.Time,{time:T,valueFormat:"TimeDuration"})},{key:"Stale",value:(0,k.jsxs)(k.Fragment,{children:[Boolean("is_stale").toString()+" ",(0,k.jsx)(Mt.q,{})]}),visible:K}],[{key:"job_input",value:(0,k.jsx)(zt.S,{onClick:function(){return window.open(l.prepareCommandURL("get_job_input"))},children:"get_job_input"})},{key:"job_error",value:(0,k.jsx)(zt.S,{onClick:function(){return window.open(l.prepareCommandURL("get_job_stderr"))},children:"get_job_stderr"})}].concat((0,c.A)("failed"!==(null==l?void 0:l.state)?[]:[{key:"fail_context",value:(0,k.jsx)(zt.S,{onClick:function(){return window.open(l.prepareCommandURL("get_job_fail_context"))},children:"get_job_fail_context"})}]),(0,c.A)(null!=l&&l.finishTime?[]:[{key:"Job ssh",value:(0,k.jsxs)("span",{className:Lt("meta-ssh"),children:[(0,k.jsx)("span",{className:Lt("meta-ssh-cmd"),title:G,children:G}),(0,k.jsx)(L.A,{view:"flat-secondary",text:G,size:"s"})]})}]),[{key:"Job trace",value:(0,k.jsx)(d.N,{target:"_blank",href:v,children:g}),visible:Boolean(v)}])]}),(0,k.jsx)("div",{className:Lt("tabs"),children:(0,k.jsx)(Dt.A,(0,u.A)((0,u.A)({},Q),{},{active:b._N,routed:!0,size:ot.jr}))}),(0,k.jsxs)(r.dO,{children:[(0,k.jsx)(r.qh,{path:"".concat($,"/").concat(b.oz.ATTRIBUTES),children:(0,k.jsx)(m.A,{value:N,settings:i,folding:!0})}),(0,k.jsx)(r.qh,{path:"".concat($,"/").concat(b.oz.DETAILS),children:(0,k.jsx)(dt,{})}),(0,k.jsx)(r.qh,{path:"".concat($,"/").concat(b.oz.STATISTICS),children:(0,k.jsx)(M,{})}),(0,k.jsx)(r.qh,{path:"".concat($,"/").concat(b.oz.SPECIFICATION),children:(0,k.jsx)(I,{jobID:y})}),(0,k.jsx)(r.qh,{path:"".concat($,"/:tab"),children:(0,k.jsx)(q.A,{})}),(0,k.jsx)(r.rd,{from:j,to:"".concat($,"/").concat(b._N)})]})]})})}var Rt=n(13685),Ot=(0,i.A)("job-detail");function Pt(){var e=(0,r.W5)(),t=(0,o.wA)(),n=e.params,i=n.operationID,u=n.jobID,c=(0,o.d4)((function(e){return e.job.general})),d=c.loading,m=c.loaded,p=c.error,f=c.errorData,v=d&&!m,g=a.useMemo((function(){return{updateFn:function(){return t(jt(i,u))},destructFn:function(){return t((function(e){gt.removeAllRequests(),e({type:b.E})}))}}}),[t,i,u]),j=g.updateFn,x=g.destructFn;return(0,Rt.Tt)(j,{destructFn:x}),(0,k.jsx)(s.A,{children:(0,k.jsx)("div",{className:Ot(),children:(0,k.jsx)("div",{className:Ot("content",{loading:v}),children:v?(0,k.jsx)(h.a,{}):(0,k.jsx)(l.A,{loaded:m,error:p,errorData:f,children:(0,k.jsx)(Bt,{})})})})})}function Ut(){var e=(0,r.W5)();return(0,k.jsx)("div",{className:"elements-main-section",children:(0,k.jsx)(s.A,{children:(0,k.jsx)(r.dO,{children:(0,k.jsx)(r.qh,{path:"".concat(e.path,"/:operationID/:jobID"),children:(0,k.jsx)(Pt,{})})})})})}},36554:(e,t,n)=>{n.d(t,{$A:()=>h,$F:()=>g,DC:()=>b,F_:()=>j,_X:()=>f,aA:()=>v,c5:()=>x,nH:()=>p});var a=n(49214),r=n.n(a),s=n(27528),o=n.n(s),i=n(63281),l=n.n(i),u=n(3659),c=n(78259),d=n(76365),m=n(64714),p=new d.A;function h(e){return c.A.YPath.create(e,"absolute").toSubpath(-2).stringify()}function f(e,t){var n=h(e);return m.Qq.list(m.Vu.pathEditorLoadSuggestions,{parameters:{path:n,attributes:["type","dynamic"]},cancellation:p.saveCancelToken}).then(c.A.getValue).then((function(e){return function(e,t,n){var a=o()(n,(function(e){var n={};return n.parentPath=t,n.childPath="/"+u.A.decode(c.A.getValue(e)),n.path=n.parentPath+n.childPath,n.type=c.A.getValue(e,"/@type"),n.dynamic=c.A.getValue(e,"/@dynamic"),n.targetPathBroken=c.A.getValue(e,"/@broken"),n}));return l()(a,"childPath")}(0,n,e)})).then((function(e){return t?t(e):e}))}function v(e,t){var n=e.toLowerCase();return r()(t,(function(e){var t=e.path.startsWith(n),a=e.path!==n||"map_node"===e.type;return t&&a}))}function g(e,t){return-1===t||t===e.length-1?0:t+1}function j(e,t){return-1===t||0===t?e.length-1:t-1}function b(e){return"map_node"===e.type?e.path+"/":e.path}function x(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:c.A.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"}},39702:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(40319),r=n(64922);const s=function(e){return(0,r.jsx)("svg",(0,a.A)((0,a.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,r.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.47 13.03a.75.75 0 0 1 0-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0",clipRule:"evenodd"})}))}}}]);
2
- //# sourceMappingURL=job.64020b69.chunk.js.map