11import React from 'react' ;
2- import { Button , ButtonVariation , Container , Heading , Layout , Text } from '@harnessio/uicore' ;
2+ import { ButtonVariation , Container , Heading , Layout , Text , useToggleOpen } from '@harnessio/uicore' ;
33import { Color , FontVariation } from '@harnessio/design-system' ;
44import { Icon } from '@harnessio/icons' ;
55import type { DefaultLayoutTemplateProps } from '@components/DefaultLayout/DefaultLayout' ;
@@ -11,6 +11,8 @@ import MainNav from '@components/MainNav';
1111import SideNav from '@components/SideNav' ;
1212import { UpdateProbeModal } from '@views/ChaosProbes/UpdateProbeModal' ;
1313import { RefetchGetProbes } from '@controllers/ChaosProbe/types' ;
14+ import RbacButton from '@components/RbacButton' ;
15+ import { PermissionGroup } from '@models' ;
1416import css from './ChaosProbe.module.scss' ;
1517
1618interface ChaosProbeHeaderProps extends DefaultLayoutTemplateProps {
@@ -53,7 +55,7 @@ export default function ChaosProbeHeader({
5355 refetchProbes
5456} : React . PropsWithChildren < ChaosProbeHeaderProps > ) : React . ReactElement {
5557 const { getString } = useStrings ( ) ;
56- const [ isEditProbeOpen , setEditProbeOpen ] = React . useState < boolean > ( false ) ;
58+ const { isOpen : isEditProbeOpen , open : setEditProbeOpen , close : setEditProbeClose } = useToggleOpen ( ) ;
5759
5860 return (
5961 < Layout . Horizontal >
@@ -95,19 +97,20 @@ export default function ChaosProbeHeader({
9597 { /* Details of creation, updation and editing */ }
9698 < Layout . Horizontal spacing = { 'medium' } >
9799 < HeaderToolbar createdAt = { createdAt } updatedAt = { updatedAt } />
98- < Button
100+ < RbacButton
99101 text = { getString ( 'editProbe' ) }
100102 variation = { ButtonVariation . SECONDARY }
101103 icon = "Edit"
102- onClick = { ( ) => setEditProbeOpen ( true ) }
104+ permission = { PermissionGroup . EDITOR }
105+ onClick = { setEditProbeOpen }
103106 />
104107 </ Layout . Horizontal >
105108 </ Layout . Horizontal >
106109 </ Container >
107110 < UpdateProbeModal
108111 refetchProbes = { refetchProbes }
109112 isOpen = { isEditProbeOpen }
110- hideDarkModal = { ( ) => setEditProbeOpen ( false ) }
113+ hideDarkModal = { setEditProbeClose }
111114 probeName = { probeData . name }
112115 infrastructureType = { probeData . infrastructureType }
113116 />
0 commit comments