From 4a18b9186bb976535b1964f9acd084a7f3072d93 Mon Sep 17 00:00:00 2001 From: Federico Madoery Date: Wed, 9 Jan 2019 09:57:35 -0300 Subject: [PATCH 1/2] Close Issue #27 & #29 Color of the edit icon change if setBlock have description or issueUrl IssueUrl now is saved as " " not more undefined --- web/components/CommitBlock.jsx | 2 +- web/components/SetBlock.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/components/CommitBlock.jsx b/web/components/CommitBlock.jsx index a2bdfee..4221a71 100644 --- a/web/components/CommitBlock.jsx +++ b/web/components/CommitBlock.jsx @@ -26,7 +26,7 @@ class CommitBlock extends React.Component { // this.props.updateSetBlock(setBlock) } else if (setBlock.blockFraction !== 0) { // Create a new one if have blockFraction != 0 - this.props.createSetBlock({ teamMemberId: currentTeamMember.id, date: day, ...setBlock }) + this.props.createSetBlock({ teamMemberId: currentTeamMember.id, date: day, ...setBlock, issueUrl: (setBlock.issueUrl || '') }) } }) diff --git a/web/components/SetBlock.jsx b/web/components/SetBlock.jsx index 184c3fa..65c9ba4 100644 --- a/web/components/SetBlock.jsx +++ b/web/components/SetBlock.jsx @@ -226,7 +226,7 @@ class SetBlock extends React.Component { { React.createElement(Edit3, { size: 24, - color: 'black', + color: data.description || data.issueUrl ? 'blue' : 'black', onClick: onToggle }) } From 6bb5f5be312c09815e22d8c7bbe3c6e1888a435f Mon Sep 17 00:00:00 2001 From: Federico Madoery Date: Wed, 9 Jan 2019 11:32:04 -0300 Subject: [PATCH 2/2] Closes #12 When the user loads /team/:teamMemberId with an invalid teamMemberId, then the app should pop the user back to the /team route --- web/components/SchedulePage.jsx | 5 ++++- web/reducers/environment.js | 9 +++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/web/components/SchedulePage.jsx b/web/components/SchedulePage.jsx index e913d75..a4410f4 100644 --- a/web/components/SchedulePage.jsx +++ b/web/components/SchedulePage.jsx @@ -64,9 +64,12 @@ class SchedulePage extends React.Component { } componentDidUpdate (nextProps) { - const { currentTeamMember, editModeSchedule, selectedDay } = this.props; + const { currentTeamMember, editModeSchedule, selectedDay, history } = this.props; // This is to make a different array for editing purpose, completed with empty set blocks // This only take effect if change the currentTeamMember + if (nextProps.currentTeamMember && nextProps.currentTeamMember.id === 'error') { + history.push('/team'); // If the teamMemberId is invalid should go to /team + } if ((editModeSchedule && currentTeamMember !== nextProps.currentTeamMember) || selectedDay !== nextProps.selectedDay) { this.makeSetBlocksForEdit(nextProps.currentWeeklySetblocks); this.setState({ enableSubmit: false }) diff --git a/web/reducers/environment.js b/web/reducers/environment.js index 7bc1bfe..0ad9373 100644 --- a/web/reducers/environment.js +++ b/web/reducers/environment.js @@ -100,11 +100,13 @@ export function fetchAllTeamMembers(params) { // Handle payload // Dispatch additional actions dispatch(receiveTeamMembers(payload.teamMembers)) - dispatch(setFetchingData(false)) }) .catch(err => { // Handle error }) + .finally(() => { + dispatch(setFetchingData(false)) + }) } } @@ -130,10 +132,13 @@ export function fetchCurrentTeamMemberById(params) { // Handle payload // Dispatch additional actions dispatch(receiveTeamMember(payload.teamMemberById)) - dispatch(setFetchingData(false)) }) .catch(err => { // Handle error + dispatch(receiveTeamMember({ id: 'error' })) + }) + .finally(() => { + dispatch(setFetchingData(false)) }) } }