From ad74afb62821b843cbbcb7f016614b0cb46aa480 Mon Sep 17 00:00:00 2001 From: ireic Date: Sun, 29 Dec 2019 18:43:11 +0100 Subject: [PATCH] Refactored code structure --- .../IssueDetails/AssigneesReporter}/Styles.js | 0 .../IssueDetails/AssigneesReporter}/index.jsx | 55 +++---- .../IssueDetails/Comments/BodyForm/Styles.js | 0 .../IssueDetails/Comments/BodyForm/index.jsx | 16 +-- .../IssueDetails/Comments/Comment/Styles.js | 0 .../IssueDetails/Comments/Comment/index.jsx | 0 .../Comments/Create/ProTip/Styles.js | 0 .../Comments/Create/ProTip/index.jsx | 0 .../IssueDetails/Comments/Create/Styles.js | 0 .../IssueDetails/Comments/Create/index.jsx | 0 .../IssueDetails/Comments/Styles.js | 0 .../IssueDetails/Comments/index.jsx | 0 .../{ => Board}/IssueDetails/Dates/Styles.js | 0 .../{ => Board}/IssueDetails/Dates/index.jsx | 0 .../{ => Board}/IssueDetails/Delete.jsx | 0 .../IssueDetails/Description/Styles.js | 0 .../IssueDetails/Description/index.jsx | 53 ++++--- .../IssueDetails/EstimateTracking}/Styles.js | 36 ----- .../EstimateTracking/TrackingWidget/Styles.js | 39 +++++ .../EstimateTracking/TrackingWidget/index.jsx | 55 +++++++ .../IssueDetails/EstimateTracking/index.jsx | 76 ++++++++++ .../{ => Board}/IssueDetails/Loader.jsx | 0 .../IssueDetails/Priority/Styles.js | 0 .../Board/IssueDetails/Priority/index.jsx | 43 ++++++ .../{ => Board}/IssueDetails/Status/Styles.js | 0 .../{ => Board}/IssueDetails/Status/index.jsx | 0 .../{ => Board}/IssueDetails/Styles.js | 0 .../{ => Board}/IssueDetails/Title/Styles.js | 0 .../{ => Board}/IssueDetails/Title/index.jsx | 0 .../{ => Board}/IssueDetails/Type/Styles.js | 0 .../{ => Board}/IssueDetails/Type/index.jsx | 0 .../{ => Board}/IssueDetails/index.jsx | 8 +- .../Board/Lists/{ => List}/Issue/Styles.js | 0 .../Board/Lists/{ => List}/Issue/index.jsx | 9 +- client/src/Project/Board/Lists/List/Styles.js | 30 ++++ client/src/Project/Board/Lists/List/index.jsx | 77 ++++++++++ client/src/Project/Board/Lists/Styles.js | 29 ---- client/src/Project/Board/Lists/index.jsx | 94 +++--------- client/src/Project/Board/index.jsx | 30 +++- client/src/Project/IssueCreateForm/index.jsx | 97 ++++++------- .../Project/IssueDetails/Priority/index.jsx | 45 ------ .../Project/IssueDetails/Tracking/index.jsx | 134 ------------------ client/src/Project/IssueSearch/index.jsx | 24 ++-- client/src/Project/NavbarLeft/index.jsx | 3 + client/src/Project/ProjectSettings/index.jsx | 14 +- client/src/Project/Sidebar/index.jsx | 46 +++--- client/src/Project/index.jsx | 106 ++++++-------- client/src/shared/components/Avatar/index.jsx | 1 + client/src/shared/components/Form/Field.jsx | 1 + client/src/shared/components/Modal/index.jsx | 25 ++-- .../src/shared/components/ProjectAvatar.jsx | 8 +- .../src/shared/components/Select/Dropdown.jsx | 48 +++---- client/src/shared/components/Select/index.jsx | 55 +++---- .../src/shared/components/Tooltip/index.jsx | 17 ++- 54 files changed, 650 insertions(+), 624 deletions(-) rename client/src/Project/{IssueDetails/Users => Board/IssueDetails/AssigneesReporter}/Styles.js (100%) rename client/src/Project/{IssueDetails/Users => Board/IssueDetails/AssigneesReporter}/index.jsx (51%) rename client/src/Project/{ => Board}/IssueDetails/Comments/BodyForm/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/BodyForm/index.jsx (82%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Comment/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Comment/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Create/ProTip/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Create/ProTip/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Create/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Create/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Comments/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Dates/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Dates/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Delete.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Description/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Description/index.jsx (55%) rename client/src/Project/{IssueDetails/Tracking => Board/IssueDetails/EstimateTracking}/Styles.js (55%) create mode 100644 client/src/Project/Board/IssueDetails/EstimateTracking/TrackingWidget/Styles.js create mode 100644 client/src/Project/Board/IssueDetails/EstimateTracking/TrackingWidget/index.jsx create mode 100644 client/src/Project/Board/IssueDetails/EstimateTracking/index.jsx rename client/src/Project/{ => Board}/IssueDetails/Loader.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Priority/Styles.js (100%) create mode 100644 client/src/Project/Board/IssueDetails/Priority/index.jsx rename client/src/Project/{ => Board}/IssueDetails/Status/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Status/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Title/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Title/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/Type/Styles.js (100%) rename client/src/Project/{ => Board}/IssueDetails/Type/index.jsx (100%) rename client/src/Project/{ => Board}/IssueDetails/index.jsx (90%) rename client/src/Project/Board/Lists/{ => List}/Issue/Styles.js (100%) rename client/src/Project/Board/Lists/{ => List}/Issue/index.jsx (84%) create mode 100644 client/src/Project/Board/Lists/List/Styles.js create mode 100644 client/src/Project/Board/Lists/List/index.jsx delete mode 100644 client/src/Project/IssueDetails/Priority/index.jsx delete mode 100644 client/src/Project/IssueDetails/Tracking/index.jsx diff --git a/client/src/Project/IssueDetails/Users/Styles.js b/client/src/Project/Board/IssueDetails/AssigneesReporter/Styles.js similarity index 100% rename from client/src/Project/IssueDetails/Users/Styles.js rename to client/src/Project/Board/IssueDetails/AssigneesReporter/Styles.js diff --git a/client/src/Project/IssueDetails/Users/index.jsx b/client/src/Project/Board/IssueDetails/AssigneesReporter/index.jsx similarity index 51% rename from client/src/Project/IssueDetails/Users/index.jsx rename to client/src/Project/Board/IssueDetails/AssigneesReporter/index.jsx index a7b6729..415d7b9 100644 --- a/client/src/Project/IssueDetails/Users/index.jsx +++ b/client/src/Project/Board/IssueDetails/AssigneesReporter/index.jsx @@ -12,25 +12,12 @@ const propTypes = { projectUsers: PropTypes.array.isRequired, }; -const ProjectBoardIssueDetailsUsers = ({ issue, updateIssue, projectUsers }) => { +const ProjectBoardIssueDetailsAssigneesReporter = ({ issue, updateIssue, projectUsers }) => { const getUserById = userId => projectUsers.find(user => user.id === userId); const userOptions = projectUsers.map(user => ({ value: user.id, label: user.name })); - const renderUser = (user, isSelectValue, removeOptionValue) => ( - removeOptionValue && removeOptionValue()} - > - - {user.name} - {removeOptionValue && } - - ); - - const renderAssignees = () => ( + return ( <> Assignees value={issue.reporterId} options={userOptions} onChange={userId => updateIssue({ reporterId: userId })} - renderValue={({ value }) => renderUser(getUserById(value), true)} - renderOption={({ value }) => renderUser(getUserById(value))} + renderValue={({ value: userId }) => renderUser(getUserById(userId), true)} + renderOption={({ value: userId }) => renderUser(getUserById(userId))} /> ); - - return ( - <> - {renderAssignees()} - {renderReporter()} - - ); }; -ProjectBoardIssueDetailsUsers.propTypes = propTypes; +const renderUser = (user, isSelectValue, removeOptionValue) => ( + removeOptionValue && removeOptionValue()} + > + + {user.name} + {removeOptionValue && } + +); -export default ProjectBoardIssueDetailsUsers; +ProjectBoardIssueDetailsAssigneesReporter.propTypes = propTypes; + +export default ProjectBoardIssueDetailsAssigneesReporter; diff --git a/client/src/Project/IssueDetails/Comments/BodyForm/Styles.js b/client/src/Project/Board/IssueDetails/Comments/BodyForm/Styles.js similarity index 100% rename from client/src/Project/IssueDetails/Comments/BodyForm/Styles.js rename to client/src/Project/Board/IssueDetails/Comments/BodyForm/Styles.js diff --git a/client/src/Project/IssueDetails/Comments/BodyForm/index.jsx b/client/src/Project/Board/IssueDetails/Comments/BodyForm/index.jsx similarity index 82% rename from client/src/Project/IssueDetails/Comments/BodyForm/index.jsx rename to client/src/Project/Board/IssueDetails/Comments/BodyForm/index.jsx index fea70f7..fe3dd7c 100644 --- a/client/src/Project/IssueDetails/Comments/BodyForm/index.jsx +++ b/client/src/Project/Board/IssueDetails/Comments/BodyForm/index.jsx @@ -22,6 +22,12 @@ const ProjectBoardIssueDetailsCommentsBodyForm = ({ }) => { const $textareaRef = useRef(); + const handleSubmit = () => { + if ($textareaRef.current.value.trim()) { + onSubmit(); + } + }; + return ( <>