import { connect } from 'react-redux' import SimulationList from '../../components/simulations/SimulationAuthList' const getVisibleSimulationAuths = (simulationAuths, filter) => { switch (filter) { case 'SHOW_ALL': return simulationAuths case 'SHOW_OWN': return simulationAuths.filter( simulationAuth => simulationAuth.authorizationLevel === 'OWN', ) case 'SHOW_SHARED': return simulationAuths.filter( simulationAuth => simulationAuth.authorizationLevel !== 'OWN', ) default: return simulationAuths } } const mapStateToProps = state => { const denormalizedAuthorizations = state.simulationList.authorizationsOfCurrentUser.map( authorizationIds => { const authorization = state.objects.authorization[authorizationIds] authorization.user = state.objects.user[authorization.userId] authorization.simulation = state.objects.simulation[authorization.simulationId] return authorization }, ) return { authorizations: getVisibleSimulationAuths( denormalizedAuthorizations, state.simulationList.authVisibilityFilter, ), } } const VisibleSimulationAuthList = connect(mapStateToProps)(SimulationList) export default VisibleSimulationAuthList