From b4bdf9fde013bb7ff9579693b64ff575f7b00e44 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Tue, 7 Jul 2020 09:55:10 +0200 Subject: Rename simulations to projects and remove experiment view --- .../containers/projects/VisibleProjectAuthList.js | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 frontend/src/containers/projects/VisibleProjectAuthList.js (limited to 'frontend/src/containers/projects/VisibleProjectAuthList.js') diff --git a/frontend/src/containers/projects/VisibleProjectAuthList.js b/frontend/src/containers/projects/VisibleProjectAuthList.js new file mode 100644 index 00000000..b7ef6d24 --- /dev/null +++ b/frontend/src/containers/projects/VisibleProjectAuthList.js @@ -0,0 +1,42 @@ +import { connect } from 'react-redux' +import ProjectList from '../../components/projects/ProjectAuthList' + +const getVisibleProjectAuths = (projectAuths, filter) => { + switch (filter) { + case 'SHOW_ALL': + return projectAuths + case 'SHOW_OWN': + return projectAuths.filter( + projectAuth => projectAuth.authorizationLevel === 'OWN', + ) + case 'SHOW_SHARED': + return projectAuths.filter( + projectAuth => projectAuth.authorizationLevel !== 'OWN', + ) + default: + return projectAuths + } +} + +const mapStateToProps = state => { + const denormalizedAuthorizations = state.projectList.authorizationsOfCurrentUser.map( + authorizationIds => { + const authorization = state.objects.authorization[authorizationIds] + authorization.user = state.objects.user[authorization.userId] + authorization.project = + state.objects.project[authorization.projectId] + return authorization + }, + ) + + return { + authorizations: getVisibleProjectAuths( + denormalizedAuthorizations, + state.projectList.authVisibilityFilter, + ), + } +} + +const VisibleProjectAuthList = connect(mapStateToProps)(ProjectList) + +export default VisibleProjectAuthList -- cgit v1.2.3