diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-16 22:55:16 +0300 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:42 +0200 |
| commit | 07195f3762b6a8a7dfb44c2231db58c5be13c43f (patch) | |
| tree | 2b4640457f70b55a97aff22fbe617e4b8538464a /src/containers/simulations/VisibleSimulationAuthList.js | |
| parent | 91c8088e1d7def9242f60c708cd34f25dcb77d76 (diff) | |
Rename project to sim and enable sim-adding
Diffstat (limited to 'src/containers/simulations/VisibleSimulationAuthList.js')
| -rw-r--r-- | src/containers/simulations/VisibleSimulationAuthList.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/containers/simulations/VisibleSimulationAuthList.js b/src/containers/simulations/VisibleSimulationAuthList.js new file mode 100644 index 00000000..07740435 --- /dev/null +++ b/src/containers/simulations/VisibleSimulationAuthList.js @@ -0,0 +1,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; |
