blob: f2b305422ed67800955a8c71bdd6b688e205b6b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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
|