blob: 077404359990f26a2c23eb22069f95ff4ff7e110 (
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
|
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.authorizationsOfCurrentUser.map(authorizationIds => {
const authorization = Object.assign({}, state.objects.authorizations[authorizationIds]);
authorization.simulation = state.objects.simulations[authorization.simulationId];
authorization.user = state.objects.users[authorization.userId];
return authorization;
});
return {
authorizations: getVisibleSimulationAuths(denormalizedAuthorizations, state.authVisibilityFilter)
};
};
const VisibleSimulationAuthList = connect(mapStateToProps)(SimulationList);
export default VisibleSimulationAuthList;
|