\ No newline at end of file
diff --git a/portal-ui/build/static/js/2249.802fef70.chunk.js b/portal-ui/build/static/js/2249.4862887a.chunk.js
similarity index 67%
rename from portal-ui/build/static/js/2249.802fef70.chunk.js
rename to portal-ui/build/static/js/2249.4862887a.chunk.js
index b7f3f250c..adffded1a 100644
--- a/portal-ui/build/static/js/2249.802fef70.chunk.js
+++ b/portal-ui/build/static/js/2249.4862887a.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2249],{23804:function(e,n,t){t(72791);var o=t(11135),i=t(25787),r=t(61889),a=t(80184);n.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,o=e.title,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,o]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},60937:function(e,n,t){t.d(n,{Z:function(){return u}});var o=t(32291),i=t(72791),r=t(61889),a=t(64554),s=t(23804),l=t(80184),c=function(e){var n=e.iconComponent,t=void 0===n?null:n,o=e.title,i=void 0===o?"":o,c=e.message,d=void 0===c?"":c;return(0,l.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,l.jsx)(r.ZP,{item:!0,xs:12,children:(0,l.jsx)(s.Z,{title:i,iconComponent:t,help:(0,l.jsx)(a.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:d})})})})},d=t(74794),u=function(e){var n=e.pageHeaderText,t=void 0===n?"":n,r=e.icon,a=void 0===r?null:r,s=e.title,u=void 0===s?"":s,f=e.message,x=void 0===f?null:f;return(0,l.jsxs)(i.Fragment,{children:[(0,l.jsx)(o.Z,{label:t}),(0,l.jsx)(d.Z,{children:(0,l.jsx)(c,{iconComponent:a,title:u,message:x})})]})}},75578:function(e,n,t){var o=t(1413),i=t(72791),r=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,r.jsx)(i.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,o.Z)({},t))})}return t}},74794:function(e,n,t){var o=t(1413),i=(t(72791),t(61889)),r=t(11135),a=t(25787),s=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,o=void 0===t?"":t,r=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:o,children:r})})})}))},32291:function(e,n,t){var o=t(72791),i=t(60364),r=t(61889),a=t(11135),s=t(25787),l=t(20890),c=t(13400),d=t(95466),u=t(84683),f=t(3925),x=t(74833),g=t(80184),m={toggleList:f.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),m);n.Z=p((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,a=e.sidebarOpen,s=e.operatorMode,f=e.managerObjects,m=e.toggleList,p=e.middleComponent;return e.features.includes("hide-menu")?(0,g.jsx)(o.Fragment,{}):(0,g.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,g.jsx)("div",{className:n.logo,children:s?(0,g.jsx)(d.Z,{}):(0,g.jsx)(u.Z,{})}),(0,g.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,g.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[i&&i,f&&f.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},id:"object-manager-toggle",size:"large",children:(0,g.jsx)(x.gx,{})})]})]})})))},2249:function(e,n,t){t.r(n),t.d(n,{default:function(){return T}});var o=t(72791),i=t(79271),r=t(62666),a=t(50099),s=t(1413),l=t(11135),c=t(25787),d=t(61889),u=t(23814),f=t(32291),x=t(91523),g=t(80184),m=(0,c.Z)((function(e){return(0,l.Z)({configurationLink:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,width:190,maxWidth:190,height:80,margin:14,display:"flex",alignItems:"center",color:"#072C4F",fontSize:14,fontWeight:700,textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",lineClamp:2,"& svg":{fontSize:35,marginRight:15},"&:hover":{backgroundColor:"#FBFAFA"},"&.disabled":{backgroundColor:"#F9F9F9",color:"#ababab",cursor:"not-allowed"}}})}))((function(e){var n=e.classes,t=e.configuration,o=e.prefix,i=void 0===o?"settings":o,r=e.disabled,a=void 0!==r&&r;return(0,g.jsxs)(x.rU,{to:a?"/".concat(i):"/".concat(i,"/").concat(t.configuration_id),className:"".concat(n.configurationLink," ").concat(a?"disabled":""),children:[t.icon,t.configuration_label]})})),p=t(74794),h=t(74833),b=t(56087),j=t(38442),Z=(0,t(60364).$j)((function(e){return{features:e.console.session.features}}),null)((0,c.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)((0,s.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,padding:5,backgroundColor:"#fff"}},u.qg),u.OR),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(e.features,[{icon:(0,g.jsx)(h.I$,{}),configuration_id:"logs",configuration_label:"Logs",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_LOGS])},{icon:(0,g.jsx)(h.W1,{}),configuration_id:"audit-logs",configuration_label:"Audit Logs",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_AUDITLOGS])},{icon:(0,g.jsx)(h.fO,{}),configuration_id:"watch",configuration_label:"Watch",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_WATCH])},{icon:(0,g.jsx)(h.C_,{}),configuration_id:"trace",configuration_label:"Trace",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_TRACE])},{icon:(0,g.jsx)(h.ln,{}),configuration_id:"heal",configuration_label:"Heal",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_HEAL])},{icon:(0,g.jsx)(h.MX,{}),configuration_id:"diagnostics",configuration_label:"Diagnostics",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_DIAGNOSTICS])},{icon:(0,g.jsx)(h.QB,{}),configuration_id:"speedtest",configuration_label:"Speedtest",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_SPEEDTEST])}]);return(0,g.jsxs)(o.Fragment,{children:[(0,g.jsx)(f.Z,{label:"Tools"}),(0,g.jsx)(p.Z,{children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:n.settingsOptionsContainer,children:t.map((function(e){return(0,g.jsx)(m,{prefix:"tools",configuration:e,disabled:e.disabled||!1},"configItem-".concat(e.configuration_label))}))})})})})]})}))),v=t(60937),C=t(25183),y=t(75578),S=(0,y.Z)(o.lazy((function(){return Promise.all([t.e(3772),t.e(7757),t.e(8833)]).then(t.bind(t,58833))}))),A=(0,y.Z)(o.lazy((function(){return t.e(471).then(t.bind(t,80471))}))),L=(0,y.Z)(o.lazy((function(){return t.e(483).then(t.bind(t,70483))}))),T=function(){return(0,g.jsx)(i.F0,{history:r.Z,children:(0,g.jsxs)(i.rs,{children:[(0,g.jsx)(i.AW,{path:b.gA.TOOLS,exact:!0,component:Z}),(0,g.jsx)(i.AW,{path:b.gA.REGISTER_SUPPORT,exact:!0,component:A}),(0,g.jsx)(i.AW,{path:b.gA.PROFILE,exact:!0,component:L}),(0,g.jsx)(i.AW,{path:b.gA.CALL_HOME,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Call Home",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.TOOLS_WATCH,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Inspect",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.PROFILE,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Profile",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.TOOLS_INSPECT,exact:!0,component:S}),(0,g.jsx)(i.AW,{component:a.Z})]})})}},50099:function(e,n,t){t.d(n,{Z:function(){return c}});t(72791);var o=t(64554),i=t(20890),r=t(23060),a=t(80184);function s(){return(0,a.jsxs)(i.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,a.jsx)(r.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=t(74794),c=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(o.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(o.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,a.jsx)(o.Z,{mt:5,children:(0,a.jsx)(s,{})})]})})}},23060:function(e,n,t){t.d(n,{Z:function(){return A}});var o=t(70885),i=t(4942),r=t(63366),a=t(87462),s=t(72791),l=t(28182),c=t(90767),d=t(18529),u=t(12065),f=t(14036),x=t(47630),g=t(93736),m=t(23031),p=t(42071),h=t(20890),b=t(95159);function j(e){return(0,b.Z)("MuiLink",e)}var Z=(0,t(30208).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),v=t(80184),C=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],y={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},S=(0,x.ZP)(h.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(t.underline))],"button"===t.component&&n.button]}})((function(e){var n=e.theme,t=e.ownerState,o=(0,d.D)(n,"palette.".concat(function(e){return y[e]||e}(t.color)))||t.color;return(0,a.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==o?(0,u.Fq)(o,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,i.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(Z.focusVisible),{outline:"auto"}))})),A=s.forwardRef((function(e,n){var t=(0,g.Z)({props:e,name:"MuiLink"}),i=t.className,d=t.color,u=void 0===d?"primary":d,x=t.component,h=void 0===x?"a":x,b=t.onBlur,Z=t.onFocus,y=t.TypographyClasses,A=t.underline,L=void 0===A?"always":A,T=t.variant,O=void 0===T?"inherit":T,F=(0,r.Z)(t,C),w=(0,m.Z)(),_=w.isFocusVisibleRef,P=w.onBlur,k=w.onFocus,E=w.ref,I=s.useState(!1),N=(0,o.Z)(I,2),W=N[0],R=N[1],z=(0,p.Z)(n,E),D=(0,a.Z)({},t,{color:u,component:h,focusVisible:W,underline:L,variant:O}),M=function(e){var n=e.classes,t=e.component,o=e.focusVisible,i=e.underline,r={root:["root","underline".concat((0,f.Z)(i)),"button"===t&&"button",o&&"focusVisible"]};return(0,c.Z)(r,j,n)}(D);return(0,v.jsx)(S,(0,a.Z)({className:(0,l.Z)(M.root,i),classes:y,color:u,component:h,onBlur:function(e){P(e),!1===_.current&&R(!1),b&&b(e)},onFocus:function(e){k(e),!0===_.current&&R(!0),Z&&Z(e)},ref:z,ownerState:D,variant:O},F))}))}}]);
-//# sourceMappingURL=2249.802fef70.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2249],{23804:function(e,n,t){t(72791);var o=t(11135),i=t(25787),r=t(61889),a=t(80184);n.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,o=e.title,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,o]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},60937:function(e,n,t){t.d(n,{Z:function(){return u}});var o=t(32291),i=t(72791),r=t(61889),a=t(64554),s=t(23804),l=t(80184),c=function(e){var n=e.iconComponent,t=void 0===n?null:n,o=e.title,i=void 0===o?"":o,c=e.message,d=void 0===c?"":c;return(0,l.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,l.jsx)(r.ZP,{item:!0,xs:12,children:(0,l.jsx)(s.Z,{title:i,iconComponent:t,help:(0,l.jsx)(a.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:d})})})})},d=t(74794),u=function(e){var n=e.pageHeaderText,t=void 0===n?"":n,r=e.icon,a=void 0===r?null:r,s=e.title,u=void 0===s?"":s,f=e.message,x=void 0===f?null:f;return(0,l.jsxs)(i.Fragment,{children:[(0,l.jsx)(o.Z,{label:t}),(0,l.jsx)(d.Z,{children:(0,l.jsx)(c,{iconComponent:a,title:u,message:x})})]})}},75578:function(e,n,t){var o=t(1413),i=t(72791),r=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,r.jsx)(i.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,o.Z)({},t))})}return t}},74794:function(e,n,t){var o=t(1413),i=(t(72791),t(61889)),r=t(11135),a=t(25787),s=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,o=void 0===t?"":t,r=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:o,children:r})})})}))},32291:function(e,n,t){var o=t(72791),i=t(60364),r=t(61889),a=t(11135),s=t(25787),l=t(20890),c=t(13400),d=t(95466),u=t(84683),f=t(3925),x=t(74833),g=t(80184),m={toggleList:f.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),m);n.Z=p((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,a=e.sidebarOpen,s=e.operatorMode,f=e.managerObjects,m=e.toggleList,p=e.middleComponent;return e.features.includes("hide-menu")?(0,g.jsx)(o.Fragment,{}):(0,g.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,g.jsx)("div",{className:n.logo,children:s?(0,g.jsx)(d.Z,{}):(0,g.jsx)(u.Z,{})}),(0,g.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,g.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[i&&i,f&&f.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},id:"object-manager-toggle",size:"large",children:(0,g.jsx)(x.gx,{})})]})]})})))},2249:function(e,n,t){t.r(n),t.d(n,{default:function(){return L}});var o=t(72791),i=t(79271),r=t(62666),a=t(50099),s=t(1413),l=t(11135),c=t(25787),d=t(61889),u=t(23814),f=t(32291),x=t(91523),g=t(80184),m=(0,c.Z)((function(e){return(0,l.Z)({configurationLink:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,width:190,maxWidth:190,height:80,margin:14,display:"flex",alignItems:"center",color:"#072C4F",fontSize:14,fontWeight:700,textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",lineClamp:2,"& svg":{fontSize:35,marginRight:15},"&:hover":{backgroundColor:"#FBFAFA"},"&.disabled":{backgroundColor:"#F9F9F9",color:"#ababab",cursor:"not-allowed"}}})}))((function(e){var n=e.classes,t=e.configuration,o=e.prefix,i=void 0===o?"settings":o,r=e.disabled,a=void 0!==r&&r;return(0,g.jsxs)(x.rU,{to:a?"/".concat(i):"/".concat(i,"/").concat(t.configuration_id),className:"".concat(n.configurationLink," ").concat(a?"disabled":""),children:[t.icon,t.configuration_label]})})),p=t(74794),h=t(74833),b=t(56087),j=t(38442),Z=(0,t(60364).$j)((function(e){return{features:e.console.session.features}}),null)((0,c.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)((0,s.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,padding:5,backgroundColor:"#fff"}},u.qg),u.OR),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(e.features,[{icon:(0,g.jsx)(h.I$,{}),configuration_id:"logs",configuration_label:"Logs",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_LOGS])},{icon:(0,g.jsx)(h.W1,{}),configuration_id:"audit-logs",configuration_label:"Audit Logs",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_AUDITLOGS])},{icon:(0,g.jsx)(h.fO,{}),configuration_id:"watch",configuration_label:"Watch",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_WATCH])},{icon:(0,g.jsx)(h.C_,{}),configuration_id:"trace",configuration_label:"Trace",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_TRACE])},{icon:(0,g.jsx)(h.ln,{}),configuration_id:"heal",configuration_label:"Heal",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_HEAL])},{icon:(0,g.jsx)(h.MX,{}),configuration_id:"diagnostics",configuration_label:"Diagnostics",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_DIAGNOSTICS])},{icon:(0,g.jsx)(h.QB,{}),configuration_id:"speedtest",configuration_label:"Speedtest",disabled:!(0,j.F)(b.C3,b.LC[b.gA.TOOLS_SPEEDTEST])}]);return(0,g.jsxs)(o.Fragment,{children:[(0,g.jsx)(f.Z,{label:"Tools"}),(0,g.jsx)(p.Z,{children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:n.settingsOptionsContainer,children:t.map((function(e){return(0,g.jsx)(m,{prefix:"tools",configuration:e,disabled:e.disabled||!1},"configItem-".concat(e.configuration_label))}))})})})})]})}))),v=t(60937),C=t(25183),y=t(75578),S=(0,y.Z)(o.lazy((function(){return Promise.all([t.e(3772),t.e(7757),t.e(8833)]).then(t.bind(t,58833))}))),A=(0,y.Z)(o.lazy((function(){return t.e(471).then(t.bind(t,80471))}))),T=(0,y.Z)(o.lazy((function(){return t.e(483).then(t.bind(t,70483))}))),L=function(){return(0,g.jsx)(i.F0,{history:r.Z,children:(0,g.jsxs)(i.rs,{children:[(0,g.jsx)(i.AW,{path:b.gA.TOOLS,exact:!0,component:Z}),(0,g.jsx)(i.AW,{path:b.gA.REGISTER_SUPPORT,exact:!0,component:A}),(0,g.jsx)(i.AW,{path:b.gA.PROFILE,exact:!0,component:T}),(0,g.jsx)(i.AW,{path:b.gA.CALL_HOME,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Call Home",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.TOOLS_WATCH,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Inspect",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.PROFILE,exact:!0,render:function(){return(0,g.jsx)(v.Z,{icon:(0,g.jsx)(C.aw,{}),pageHeaderText:"Support",title:"Profile",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(i.AW,{path:b.gA.SUPPORT_INSPECT,exact:!0,component:S}),(0,g.jsx)(i.AW,{component:a.Z})]})})}},50099:function(e,n,t){t.d(n,{Z:function(){return c}});t(72791);var o=t(64554),i=t(20890),r=t(23060),a=t(80184);function s(){return(0,a.jsxs)(i.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,a.jsx)(r.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=t(74794),c=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(o.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(o.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,a.jsx)(o.Z,{mt:5,children:(0,a.jsx)(s,{})})]})})}},23060:function(e,n,t){t.d(n,{Z:function(){return A}});var o=t(70885),i=t(4942),r=t(63366),a=t(87462),s=t(72791),l=t(28182),c=t(90767),d=t(18529),u=t(12065),f=t(14036),x=t(47630),g=t(93736),m=t(23031),p=t(42071),h=t(20890),b=t(95159);function j(e){return(0,b.Z)("MuiLink",e)}var Z=(0,t(30208).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),v=t(80184),C=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],y={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},S=(0,x.ZP)(h.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(t.underline))],"button"===t.component&&n.button]}})((function(e){var n=e.theme,t=e.ownerState,o=(0,d.D)(n,"palette.".concat(function(e){return y[e]||e}(t.color)))||t.color;return(0,a.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==o?(0,u.Fq)(o,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,i.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(Z.focusVisible),{outline:"auto"}))})),A=s.forwardRef((function(e,n){var t=(0,g.Z)({props:e,name:"MuiLink"}),i=t.className,d=t.color,u=void 0===d?"primary":d,x=t.component,h=void 0===x?"a":x,b=t.onBlur,Z=t.onFocus,y=t.TypographyClasses,A=t.underline,T=void 0===A?"always":A,L=t.variant,O=void 0===L?"inherit":L,F=(0,r.Z)(t,C),w=(0,m.Z)(),_=w.isFocusVisibleRef,P=w.onBlur,k=w.onFocus,E=w.ref,I=s.useState(!1),N=(0,o.Z)(I,2),R=N[0],W=N[1],z=(0,p.Z)(n,E),D=(0,a.Z)({},t,{color:u,component:h,focusVisible:R,underline:T,variant:O}),M=function(e){var n=e.classes,t=e.component,o=e.focusVisible,i=e.underline,r={root:["root","underline".concat((0,f.Z)(i)),"button"===t&&"button",o&&"focusVisible"]};return(0,c.Z)(r,j,n)}(D);return(0,v.jsx)(S,(0,a.Z)({className:(0,l.Z)(M.root,i),classes:y,color:u,component:h,onBlur:function(e){P(e),!1===_.current&&W(!1),b&&b(e)},onFocus:function(e){k(e),!0===_.current&&W(!0),Z&&Z(e)},ref:z,ownerState:D,variant:O},F))}))}}]);
+//# sourceMappingURL=2249.4862887a.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2249.4862887a.chunk.js.map b/portal-ui/build/static/js/2249.4862887a.chunk.js.map
new file mode 100644
index 000000000..6f87e0f71
--- /dev/null
+++ b/portal-ui/build/static/js/2249.4862887a.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/2249.4862887a.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/FeatureNotAvailable.tsx","screens/Console/Common/Components/FeatureNotAvailablePage.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SettingsCard/SettingsCard.tsx","screens/Console/Tools/ToolsPanel/ToolsList.tsx","screens/Console/Tools/Tools.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n TraceIcon,\n WatchIcon,\n SpeedtestIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { AppState } from \"../../../../store\";\nimport { connect } from \"react-redux\";\n\ninterface IConfigurationOptions {\n classes: any;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst ToolsList = ({ classes, features }: IConfigurationOptions) => {\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(ToolsList));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n TraceIcon,\n WatchIcon,\n SpeedtestIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { AppState } from \"../../../../store\";\nimport { connect } from \"react-redux\";\n\ninterface IConfigurationOptions {\n classes: any;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst ToolsList = ({ classes, features }: IConfigurationOptions) => {\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(ToolsList));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
\n \n );\n };\n\n return (\n \n \n {metricValue !== \"\" && (\n }\n subheader={\n \n \n \n }\n classes={{\n root: subStyles.root,\n title: subStyles.title,\n content: subStyles.content,\n }}\n />\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(CommonCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport CommonCard from \"../CommonCard\";\n\ninterface IMergedWidgets {\n title: string;\n leftComponent: any;\n rightComponent: any;\n}\n\nconst MergedWidgets = ({\n title,\n leftComponent,\n rightComponent,\n}: IMergedWidgets) => {\n return (\n \n \n \n );\n};\n\nexport default MergedWidgets;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst BarChartTooltip = ({\n active,\n payload,\n label,\n barChartConfiguration,\n classes,\n}: any) => {\n if (active) {\n return (\n
\n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(BarChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Bar,\n BarChart,\n Cell,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { IBarChartConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport BarChartTooltip from \"./tooltips/BarChartTooltip\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface IBarChartWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"15px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n });\n\nconst CustomizedAxisTick = ({ y, payload }: any) => {\n return (\n \n {payload.value}\n \n );\n};\n\nconst BarChartWidget = ({\n classes,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n apiPrefix,\n zoomActivated = false,\n openZoomPage,\n}: IBarChartWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setResult(widgetsWithValue);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n const barChartConfiguration = result\n ? (result.widgetConfiguration as IBarChartConfiguration[])\n : [];\n\n let greatestIndex = 0;\n let currentValue = 0;\n\n if (barChartConfiguration.length === 1) {\n const dataGraph = barChartConfiguration[0];\n data.forEach((item: any, index: number) => {\n if (item[dataGraph.dataKey] > currentValue) {\n currentValue = item[dataGraph.dataKey];\n greatestIndex = index;\n }\n });\n }\n\n const theme = useTheme();\n const biggerThanMd = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n return (\n
\n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n openZoomPage: openZoomPage,\n});\n\nexport default withStyles(styles)(connector(BarChartWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { getTimeFromTimestamp } from \"../../../../../../common/utils\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst LineChartTooltip = ({\n active,\n payload,\n label,\n linearConfiguration,\n yAxisFormatter,\n classes,\n}: any) => {\n if (active) {\n return (\n
\n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(LineChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Area,\n AreaChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { ILinearGraphConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport LineChartTooltip from \"./tooltips/LineChartTooltip\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface ILinearGraphWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n hideYAxis?: boolean;\n yAxisFormatter?: (item: string) => string;\n xAxisFormatter?: (item: string) => string;\n areaWidget?: boolean;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n containerElements: {\n display: \"flex\",\n flexDirection: \"row\",\n height: \"100%\",\n flexGrow: 1,\n },\n verticalAlignment: {\n flexDirection: \"column\",\n },\n chartCont: {\n position: \"relative\",\n height: 140,\n width: \"100%\",\n },\n legendChart: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"0 1 auto\",\n maxHeight: 130,\n margin: 0,\n overflowY: \"auto\",\n position: \"relative\",\n textAlign: \"center\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n color: \"#404143\",\n fontWeight: \"bold\",\n fontSize: 12,\n },\n loadingAlign: {\n margin: \"auto\",\n },\n });\n\nconst LinearGraphWidget = ({\n classes,\n title,\n displayErrorMessage,\n timeStart,\n timeEnd,\n propLoading,\n panelItem,\n apiPrefix,\n hideYAxis = false,\n areaWidget = false,\n yAxisFormatter = (item: string) => item,\n xAxisFormatter = (item: string) => item,\n zoomActivated = false,\n openZoomPage,\n}: ILinearGraphWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState