import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { gettext } from '../../../utils/constants'; import OpIcon from '../../op-icon'; const propTypes = { permission: PropTypes.object.isRequired, onEditCustomPermission: PropTypes.func.isRequired, onDeleteCustomPermission: PropTypes.func.isRequired, }; class CustomPermissionItem extends React.Component { constructor(props) { super(props); this.state = { isShowOperations: false }; } onMouseEnter = () => { this.setState({ isShowOperations: true }); }; onMouseOver = () => { this.setState({ isShowOperations: true }); }; onMouseLeave = () => { this.setState({ isShowOperations: false }); }; onEditCustomPermission = () => { const { permission } = this.props; this.props.onEditCustomPermission(permission); }; onDeleteCustomPermission = () => { const { permission } = this.props; this.props.onDeleteCustomPermission(permission); }; render() { const { permission } = this.props; const { id, name, description } = permission; return ( {name} {description} {this.state.isShowOperations && ( )} ); } } CustomPermissionItem.propTypes = propTypes; export default CustomPermissionItem;