From 96a3b87a58df2f7f7a62485039857264a95db190 Mon Sep 17 00:00:00 2001 From: Vikas Agarwal Date: Tue, 13 Dec 2016 16:28:23 +0530 Subject: [PATCH 1/2] Github issue #568, Dashboard: status update thread is too "sticky" -- Cleared the redux state on successful projects load action --- src/projects/detail/Dashboard.jsx | 25 +++++++++++++++++-- .../detail/containers/ProjectInfoContainer.js | 2 +- src/projects/reducers/project.js | 4 ++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/projects/detail/Dashboard.jsx b/src/projects/detail/Dashboard.jsx index 1279d4015..f7cf3c8fe 100644 --- a/src/projects/detail/Dashboard.jsx +++ b/src/projects/detail/Dashboard.jsx @@ -1,11 +1,13 @@ import React from 'react' +import { connect } from 'react-redux' import ProjectInfoContainer from './containers/ProjectInfoContainer' import FeedContainer from './containers/FeedContainer' import Sticky from 'react-stickynode' +import spinnerWhileLoading from '../../components/LoadingSpinner' require('./Dashboard.scss') -const Dashboard = ({project, currentMemberRole, route}) => ( +const DashboardView = ({project, currentMemberRole, route}) => (
@@ -22,4 +24,23 @@ const Dashboard = ({project, currentMemberRole, route}) => (
) -export default Dashboard +const enhance = spinnerWhileLoading(props => !props.isLoading) +const EnhancedDashboardView = enhance(DashboardView) + +class Dashboard extends React.Component { + constructor(props) { + super(props) + } + + render() { + return + } +} + +const mapStateToProps = ({ projectState, projectTopics }) => { + return { + isLoading : projectState.isLoading + } +} + +export default connect(mapStateToProps)(Dashboard) diff --git a/src/projects/detail/containers/ProjectInfoContainer.js b/src/projects/detail/containers/ProjectInfoContainer.js index 36fce9b24..d4220c89b 100644 --- a/src/projects/detail/containers/ProjectInfoContainer.js +++ b/src/projects/detail/containers/ProjectInfoContainer.js @@ -135,7 +135,7 @@ class ProjectInfoContainer extends React.Component { currentMemberRole={currentMemberRole} description={project.description} type={project.type} - devices={project.details.devices || []} + devices={ _.get(project, 'details.devices', []) } status={project.status} onChangeStatus={this.onChangeStatus} duration={duration} budget={budget} diff --git a/src/projects/reducers/project.js b/src/projects/reducers/project.js index 1791b363f..e1523a823 100644 --- a/src/projects/reducers/project.js +++ b/src/projects/reducers/project.js @@ -9,7 +9,8 @@ import { REMOVE_PROJECT_ATTACHMENT_PENDING, REMOVE_PROJECT_ATTACHMENT_SUCCESS, REMOVE_PROJECT_ATTACHMENT_FAILURE, ADD_PROJECT_MEMBER_PENDING, ADD_PROJECT_MEMBER_SUCCESS, ADD_PROJECT_MEMBER_FAILURE, UPDATE_PROJECT_MEMBER_PENDING, UPDATE_PROJECT_MEMBER_SUCCESS, UPDATE_PROJECT_MEMBER_FAILURE, - REMOVE_PROJECT_MEMBER_PENDING, REMOVE_PROJECT_MEMBER_SUCCESS, REMOVE_PROJECT_MEMBER_FAILURE + REMOVE_PROJECT_MEMBER_PENDING, REMOVE_PROJECT_MEMBER_SUCCESS, REMOVE_PROJECT_MEMBER_FAILURE, + GET_PROJECTS_SUCCESS } from '../../config/constants' import _ from 'lodash' import update from 'react-addons-update' @@ -50,6 +51,7 @@ export const projectState = function (state=initialState, action) { }) case CLEAR_LOADED_PROJECT: + case GET_PROJECTS_SUCCESS: return Object.assign({}, state, { project: {} }) From f20de04ee0c3022613e0fcb6315c075c59a151f9 Mon Sep 17 00:00:00 2001 From: Vikas Agarwal Date: Tue, 13 Dec 2016 16:34:23 +0530 Subject: [PATCH 2/2] Fixed lint error --- src/projects/detail/Dashboard.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/projects/detail/Dashboard.jsx b/src/projects/detail/Dashboard.jsx index f7cf3c8fe..277d41e96 100644 --- a/src/projects/detail/Dashboard.jsx +++ b/src/projects/detail/Dashboard.jsx @@ -37,7 +37,7 @@ class Dashboard extends React.Component { } } -const mapStateToProps = ({ projectState, projectTopics }) => { +const mapStateToProps = ({ projectState }) => { return { isLoading : projectState.isLoading }