@ytsaurus/ui 1.71.1 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/public/build/assets-manifest.json +55 -55
  2. package/dist/public/build/js/1260.534f3f75.chunk.js +2 -0
  3. package/dist/public/build/js/{1260.e955a5ff.chunk.js.map → 1260.534f3f75.chunk.js.map} +1 -1
  4. package/dist/public/build/js/{1983.3d8315a1.chunk.js → 1983.666923be.chunk.js} +2 -2
  5. package/dist/public/build/js/{1983.3d8315a1.chunk.js.map → 1983.666923be.chunk.js.map} +1 -1
  6. package/dist/public/build/js/3337.31ee332d.chunk.js +3 -0
  7. package/dist/public/build/js/3337.31ee332d.chunk.js.map +1 -0
  8. package/dist/public/build/js/3724.425d01ec.chunk.js +2 -0
  9. package/dist/public/build/js/{3724.49a6f456.chunk.js.map → 3724.425d01ec.chunk.js.map} +1 -1
  10. package/dist/public/build/js/5088.64e090aa.chunk.js +2 -0
  11. package/dist/public/build/js/{5088.f0feaa1e.chunk.js.map → 5088.64e090aa.chunk.js.map} +1 -1
  12. package/dist/public/build/js/{5177.3e2a0ddb.chunk.js → 5177.8978a5b3.chunk.js} +2 -2
  13. package/dist/public/build/js/{5177.3e2a0ddb.chunk.js.map → 5177.8978a5b3.chunk.js.map} +1 -1
  14. package/dist/public/build/js/6729.c07b8f4c.chunk.js +2 -0
  15. package/dist/public/build/js/6729.c07b8f4c.chunk.js.map +1 -0
  16. package/dist/public/build/js/{7263.860d7c88.chunk.js → 7263.210dadfd.chunk.js} +3 -3
  17. package/dist/public/build/js/{7263.860d7c88.chunk.js.map → 7263.210dadfd.chunk.js.map} +1 -1
  18. package/dist/public/build/js/{7959.ab3789db.chunk.js → 7959.fedd6b2e.chunk.js} +2 -2
  19. package/dist/public/build/js/{7959.ab3789db.chunk.js.map → 7959.fedd6b2e.chunk.js.map} +1 -1
  20. package/dist/public/build/js/9558.a6ea64c9.chunk.js +2 -0
  21. package/dist/public/build/js/9558.a6ea64c9.chunk.js.map +1 -0
  22. package/dist/public/build/js/accounts.2ba221c2.chunk.js +2 -0
  23. package/dist/public/build/js/{accounts.69da4208.chunk.js.map → accounts.2ba221c2.chunk.js.map} +1 -1
  24. package/dist/public/build/js/acl.5e54e4b4.chunk.js +2 -0
  25. package/dist/public/build/js/acl.5e54e4b4.chunk.js.map +1 -0
  26. package/dist/public/build/js/bundles.7fc5e9e7.chunk.js +2 -0
  27. package/dist/public/build/js/{bundles.86be96f0.chunk.js.map → bundles.7fc5e9e7.chunk.js.map} +1 -1
  28. package/dist/public/build/js/{chyt.6901fd41.chunk.js → chyt.eff6e270.chunk.js} +2 -2
  29. package/dist/public/build/js/{chyt.6901fd41.chunk.js.map → chyt.eff6e270.chunk.js.map} +1 -1
  30. package/dist/public/build/js/{cluster-page-wrapper.af414db5.chunk.js → cluster-page-wrapper.434bb4ef.chunk.js} +2 -2
  31. package/dist/public/build/js/{cluster-page-wrapper.af414db5.chunk.js.map → cluster-page-wrapper.434bb4ef.chunk.js.map} +1 -1
  32. package/dist/public/build/js/groups.923ba865.chunk.js +2 -0
  33. package/dist/public/build/js/groups.923ba865.chunk.js.map +1 -0
  34. package/dist/public/build/js/job.1bfebd02.chunk.js +2 -0
  35. package/dist/public/build/js/{job.64020b69.chunk.js.map → job.1bfebd02.chunk.js.map} +1 -1
  36. package/dist/public/build/js/main.c46b0cfa.js +3 -0
  37. package/dist/public/build/js/main.c46b0cfa.js.map +1 -0
  38. package/dist/public/build/js/navigation.f5cf971c.chunk.js +2 -0
  39. package/dist/public/build/js/navigation.f5cf971c.chunk.js.map +1 -0
  40. package/dist/public/build/js/query-navigation.76b02345.chunk.js +2 -0
  41. package/dist/public/build/js/{query-navigation.38a9af12.chunk.js.map → query-navigation.76b02345.chunk.js.map} +1 -1
  42. package/dist/public/build/js/{runtime.e38921d0.js → runtime.c88113bf.js} +2 -2
  43. package/dist/public/build/js/{runtime.e38921d0.js.map → runtime.c88113bf.js.map} +1 -1
  44. package/dist/public/build/js/scheduling.428b3b4f.chunk.js +2 -0
  45. package/dist/public/build/js/{scheduling.8bc4b3c7.chunk.js.map → scheduling.428b3b4f.chunk.js.map} +1 -1
  46. package/dist/public/build/js/system.65647634.chunk.js +2 -0
  47. package/dist/public/build/js/{system.eed98c65.chunk.js.map → system.65647634.chunk.js.map} +1 -1
  48. package/dist/public/build/js/{yt-df-dialog.0886347f.chunk.js → yt-df-dialog.636f6f6b.chunk.js} +2 -2
  49. package/dist/public/build/js/{yt-df-dialog.0886347f.chunk.js.map → yt-df-dialog.636f6f6b.chunk.js.map} +1 -1
  50. package/dist/public/build/js/yt-monaco-editor.59382231.chunk.js +2 -0
  51. package/dist/public/build/js/{yt-monaco-editor.61605970.chunk.js.map → yt-monaco-editor.59382231.chunk.js.map} +1 -1
  52. package/dist/public/build/manifest.json +50 -50
  53. package/dist/server/components/oauth.js +3 -0
  54. package/dist/server/utils/index.d.ts +1 -1
  55. package/dist/server/utils/index.js +0 -1
  56. package/dist/shared/constants/settings-types.d.ts +1 -1
  57. package/package.json +2 -2
  58. package/dist/public/build/js/1260.e955a5ff.chunk.js +0 -2
  59. package/dist/public/build/js/3337.b59984e8.chunk.js +0 -3
  60. package/dist/public/build/js/3337.b59984e8.chunk.js.map +0 -1
  61. package/dist/public/build/js/3724.49a6f456.chunk.js +0 -2
  62. package/dist/public/build/js/5088.f0feaa1e.chunk.js +0 -2
  63. package/dist/public/build/js/6729.90d07a56.chunk.js +0 -2
  64. package/dist/public/build/js/6729.90d07a56.chunk.js.map +0 -1
  65. package/dist/public/build/js/9558.65b707cc.chunk.js +0 -2
  66. package/dist/public/build/js/9558.65b707cc.chunk.js.map +0 -1
  67. package/dist/public/build/js/accounts.69da4208.chunk.js +0 -2
  68. package/dist/public/build/js/acl.81abf8c2.chunk.js +0 -2
  69. package/dist/public/build/js/acl.81abf8c2.chunk.js.map +0 -1
  70. package/dist/public/build/js/bundles.86be96f0.chunk.js +0 -2
  71. package/dist/public/build/js/groups.acc74ffc.chunk.js +0 -2
  72. package/dist/public/build/js/groups.acc74ffc.chunk.js.map +0 -1
  73. package/dist/public/build/js/job.64020b69.chunk.js +0 -2
  74. package/dist/public/build/js/main.0840984c.js +0 -3
  75. package/dist/public/build/js/main.0840984c.js.map +0 -1
  76. package/dist/public/build/js/navigation.f21aa950.chunk.js +0 -2
  77. package/dist/public/build/js/navigation.f21aa950.chunk.js.map +0 -1
  78. package/dist/public/build/js/query-navigation.38a9af12.chunk.js +0 -2
  79. package/dist/public/build/js/scheduling.8bc4b3c7.chunk.js +0 -2
  80. package/dist/public/build/js/system.eed98c65.chunk.js +0 -2
  81. package/dist/public/build/js/yt-monaco-editor.61605970.chunk.js +0 -2
  82. /package/dist/public/build/js/{3337.b59984e8.chunk.js.LICENSE.txt → 3337.31ee332d.chunk.js.LICENSE.txt} +0 -0
  83. /package/dist/public/build/js/{7263.860d7c88.chunk.js.LICENSE.txt → 7263.210dadfd.chunk.js.LICENSE.txt} +0 -0
  84. /package/dist/public/build/js/{main.0840984c.js.LICENSE.txt → main.c46b0cfa.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[583],{16744:(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,o)}),[n,l,o]);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),f=n(40319),v=n(70232),g=n.n(v),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),E=n(27528),G=n.n(E),M=n(29347),S=n.n(M),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},L=function(e){return e.groups.table.expanded},O=(0,T.Mz)([function(e){return e.groups.table.groups}],(function(e){var r=e.reduce((function(e,r){return e[r.name]=(0,f.A)((0,f.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,f.A)((0,f.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)([O,_],(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)([O,B,L,_],(function(e,r,n,t){var o={},a=k()(r);return D.A.treeList.treeForEach(a.children,(function(r){if(t&&r.name.includes(t))for(var n=r.parent;e[n];)o[n]=!0,n=e[n].parent})),D.A.treeList.treeForEach(a.children,(function(e){(void 0!==n[e.name]?n:o)[e.name]?e.expanded=!0:(e.expanded=!1,e.children=[])})),a})),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,f.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:G()(t,(function(e){return e.subject})),members:G()(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,f.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},fe=(0,o.A)("groups-page-filters"),ve=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:fe(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:fe("item")}],children:(0,pe.jsx)(de,{})})})}}]),n}(t.Component),ge={setGroupsNameFilter:function(e){return{type:C.Nm,data:{nameFilter:e}}}};const be=(0,c.Ng)((function(e){return{groupFilter:_(e)}}),ge)(ve);var he=n(27222),Ae=n(57614),ye=n(34413),xe=n(62640),Ne=n(77318),Ce=n(95664),we=n(16744),je=n(34380),ke=n(63588),Ee=n(20361),Ge=(0,o.A)("group-editor-dialog"),Me=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)(g().mark((function r(n){var t,o,a,s,i,u,l,c,m,p,d,f,v,b,h,A,y;return g().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,Ee.lN)(i),c=l.added,m=l.removed,p=a.responsibles,d=p.responsibles,f=p.responsiblesComment,v=(0,Ee.lN)(d),b=v.added,h=v.removed,A=a.general.groupName,y="",u&&(y+=f?"**COMMENT FOR MEMBERS**\n":"",y+="".concat(u,"\n\n")),f&&(y+=u?"**COMMENT FOR RESPONSIBLES**\n":"",y+="".concat(f)),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)(Ee.yZ,{size:"l",className:Ge(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,Ee.D7)(i)},members:{members:(0,Ee.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)(g().mark((function e(u,l){var c,m,p,d,f,v,b,h,A,y,x,N;return g().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,g=(u={oldGroupname:r,newGroupName:n}).oldGroupname,C=u.newGroupName,ee.X8.set({path:"//sys/groups/".concat(g,"/@name")},C);case 8:if(p=re.Ay.getAclApi(),!(d=p.updateGroup)){e.next=17;break}return f=l(),v=Z(f),b=v.members,h=v.responsible,A=W(f),y=se(b,t,o),x=se(h,a,s),N=(0,w.dB)(f),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,g,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)(Me);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)(g().mark((function e(){return g().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)(Ee.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,Ee.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"),Le={displayIndices:!1,stickyHead:he.Ay.MOVING,stickyTop:a.kB,syncHeadOnResize:!0,dynamicRender:!0},Oe={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,n){(0,e.props.toggleGroupExpand)(r,!n)},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:Oe[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,f.A)((0,f.A)({},a("name")),{},{render:this.renderNameCell.bind(this,"name")})].concat((0,m.A)((0,I.Gq)()?[(0,f.A)((0,f.A)({},a("idm")),{},{render:this.renderIdmCell.bind(this,"idm")})]:[]),[(0,f.A)((0,f.A)({},a("members",!0)),{},{render:this.renderUsersCell.bind(this,"members")}),(0,f.A)((0,f.A)({},a("size")),{},{render:this.renderSizeCell.bind(this,"size")}),(0,f.A)((0,f.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:Le,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,r){return function(n,t){var o=(0,f.A)({},L(t()));return o[e]=r,n({type:C.Nm,data:{expanded:o}})}},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.923ba865.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/groups.923ba865.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/components/ExpandIcon/ExpandIcon.tsx","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 cn from 'bem-cn-lite';\n\nimport Icon from '../../components/Icon/Icon';\n\nimport './ExpandIcon.scss';\n\nconst block = cn('expand-icon');\n\ntype ExpandIconProps = {\n className?: string;\n\n expanded?: boolean;\n visible?: boolean;\n onClick?: (data?: string, expanded?: boolean) => void;\n\n data?: string;\n};\n\nexport default function ExpandIcon({className, data, expanded, visible, onClick}: ExpandIconProps) {\n const icon = expanded ? 'angle-up' : 'angle-down';\n const onClickCb = React.useCallback(() => {\n if (onClick) {\n onClick(data, expanded);\n }\n }, [data, onClick, expanded]);\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 [getGroupsTree, getGroupsTreeFiltered, getGroupsExpanded, getGroupsNameFilter],\n (groupTree, groupsTreeFiltered, expandedByUser, groupNameFilter) => {\n const expandedBySearch: Record<string, boolean> = {};\n\n const res = cloneDeep_(groupsTreeFiltered);\n\n hammer.treeList.treeForEach(res.children, (node: GroupsTreeNode) => {\n const isNodeMatchedFilter = groupNameFilter && node.name.includes(groupNameFilter);\n\n if (isNodeMatchedFilter) {\n let parentName = node.parent!;\n\n while (groupTree[parentName]) {\n expandedBySearch[parentName] = true;\n parentName = groupTree[parentName].parent!;\n }\n }\n });\n\n hammer.treeList.treeForEach(res.children, (node: GroupsTreeNode) => {\n const userInteractedWithNode = typeof expandedByUser[node.name] !== 'undefined';\n\n const expanded = userInteractedWithNode ? expandedByUser : expandedBySearch;\n\n if (!expanded[node.name]) {\n node.expanded = false;\n node.children = [];\n } else {\n node.expanded = true;\n }\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, isExpanded: boolean) {\n return (dispatch: Dispatch, getState: () => RootState) => {\n const expanded = {...getGroupsExpanded(getState())};\n\n expanded[groupName] = isExpanded;\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, isExpanded?: boolean) => {\n const {toggleGroupExpand} = this.props;\n toggleGroupExpand(groupName!, !isExpanded);\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","groupTree","groupsTreeFiltered","expandedByUser","groupNameFilter","expandedBySearch","cloneDeep_","includes","parentName","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","isExpanded","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":""}
@@ -0,0 +1,2 @@
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(29746),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.Ay.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.Ay.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.Ay.getNumberDeprecated(e,"/statistics/user_job/cpu/user/sum")})),ve=(0,X.Mz)(de,(function(e){return j.Ay.getNumberDeprecated(e,"/statistics/user_job/cpu/wait/sum")})),ge=(0,X.Mz)(de,(function(e){return j.Ay.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_utilization_gpu/sum")})),je=(0,X.Mz)(de,(function(e){return j.Ay.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_power/sum")})),be=(0,X.Mz)(de,(function(e){return j.Ay.getNumberDeprecated(e,"/statistics/user_job/gpu/cumulative_memory/sum")})),xe=(0,X.Mz)(de,(function(e){return j.Ay.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.Ay.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.Ay.getValue(e,"/input_table_specs");return Z()(ae()(t,(function(e){var t=j.Ay.getValue(e,"/chunk_specs");return ae()(t,(function(e){var t=j.Ay.getValue(e,"/chunk_id"),n=ae()(j.Ay.getValue(e,"/lower_limit/key"),(function(e){return j.Ay.getValue(e)})),a=[j.Ay.getValue(e,"/lower_limit/row_index")],r=n&&0!==n.length?n:a,s=ae()(j.Ay.getValue(e,"/upper_limit/key"),(function(e){return j.Ay.getValue(e)})),o=[j.Ay.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.Ay.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.Ay.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(29746),d=n(76365),m=n(64714),p=new d.A;function h(e){return c.Ay.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.Ay.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.Ay.getValue(e)),n.path=n.parentPath+n.childPath,n.type=c.Ay.getValue(e,"/@type"),n.dynamic=c.Ay.getValue(e,"/@dynamic"),n.targetPathBroken=c.Ay.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.Ay.getBoolean(t)?"unlink":"link",rootstock:"link",portal_entrance:"link",cell_node:"circle",cell_node_map:"far circle",sys_node:"cog",access_control_object_namespace_map:"acl-namespace-map",access_control_object_namespace:"acl-namespace",access_control_object:"acl-object"};return e?n[e]||"not-suported":"eye-slash"}},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.1bfebd02.chunk.js.map