/* * * Row * */ import React from 'react'; import PropTypes from 'prop-types'; import cn from 'classnames'; import { FormattedMessage } from 'react-intl'; // Design import Ico from 'components/Ico'; import ListRow from 'components/ListRow'; import PopUpWarning from 'components/PopUpWarning'; import IconAuth from 'assets/icons/icon_auth-permissions.svg'; import IconCtb from 'assets/icons/icon_content-type-builder.svg'; import IconCm from 'assets/icons/icon_content-manager.svg'; import IconSettings from 'assets/icons/icon_settings-manager.svg'; import styles from './styles.scss'; class Row extends React.Component { state = { showModal: false }; componentWillReceiveProps(nextProps) { if (nextProps.pluginActionSucceeded !== this.props.pluginActionSucceeded) { this.setState({ showModal: false }); } } handleClick = (e) => { this.setState({ showModal: !this.state.showModal }); this.props.onDeleteClick(e); } renderImg = () => { switch (this.props.plugin.name) { case 'Auth & Permissions': return logo; case 'Content Manager': return logo; case 'Settings Manager': return logo; case 'Content Type Builder': return logo; default: } } render() { const pluginIcon = this.props.plugin.name !== 'Email' ? (
{this.renderImg()}
) : (
); return (
{pluginIcon}
{this.props.plugin.name} — 
this.setState({ showModal: !this.state.showModal })} popUpWarningType="danger" onConfirm={this.props.onDeleteConfirm} />
); } } Row.propTypes = { name: PropTypes.string.isRequired, onDeleteClick: PropTypes.func.isRequired, onDeleteConfirm: PropTypes.func.isRequired, plugin: PropTypes.object.isRequired, pluginActionSucceeded: PropTypes.bool.isRequired, }; export default Row;