/** * * List * */ import React from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { map, omitBy, size } from 'lodash'; import { Button, LoadingBar, LoadingIndicator } from 'strapi-helper-plugin'; import ListRow from '../ListRow'; import { Flex, ListWrapper, Title, Wrapper } from './Components'; 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, showLoaders, values }) { const object = omitBy(data, v => v.name === 'server'); // Remove the server key when displaying providers return ( {showLoaders ? ( <LoadingBar style={{ marginTop: '0' }} /> ) : ( generateListTitle(data, settingType) )}
{noButton ? ( '' ) : ( )}
{showLoaders ? ( ) : (
    {map(object, item => ( ))}
)}
); } List.defaultProps = { noButton: false, onButtonClick: () => {}, showLoaders: true, }; List.propTypes = { data: PropTypes.array.isRequired, deleteData: PropTypes.func.isRequired, noButton: PropTypes.bool, onButtonClick: PropTypes.func, settingType: PropTypes.string.isRequired, showLoaders: PropTypes.bool, values: PropTypes.object.isRequired, }; export default List;