/** * * List * */ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import cn from 'classnames'; 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, deleteActionSucceeded, deleteData, noButton, onButtonClick, settingType }) { return (
{generateListTitle(data, settingType)}
{noButton ? ( '' ) : ( )}
    {map(data, item => ( ))}
); } List.defaultProps = { noButton: false, onButtonClick: () => {}, }; List.proptypes = { deleteActionSucceeded: PropTypes.bool.isRequired, deleteData: PropTypes.func.isRequired, noButton: PropTypes.bool, onButtonClick: PropTypes.func, }; export default List;