/** * * List * */ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { map, size } from 'lodash'; // Design import Button from 'components/Button'; import ListRow from 'components/ListRow'; import styles from './styles.scss'; const generateListTitle = (data, settingType) => { switch (settingType) { case 'roles': { const title = size(data) < 2 ? : ; return title; } case 'providers': { const enabledProvidersSize = data.filter(o => o.enabled).length; const enabledProviders = enabledProvidersSize > 1 ? : ; const disabledProviders = size(data) - enabledProvidersSize > 1 ? : ; return
{enabledProviders} {disabledProviders}
; } case 'email-templates': { return size(data) > 1 ? : ; } default: return ''; } }; function List({ data, deleteData, noButton, onButtonClick, settingType }) { return (
{generateListTitle(data, settingType)}
{noButton ? ( '' ) : ( )}
    {map(data, item => ( ))}
); } List.defaultProps = { noButton: false, onButtonClick: () => {}, }; List.propTypes = { data: PropTypes.array.isRequired, deleteData: PropTypes.func.isRequired, noButton: PropTypes.bool, onButtonClick: PropTypes.func, settingType: PropTypes.string.isRequired, }; export default List;