From 20aff2a32afcdd5315410129e64aae2b21908c07 Mon Sep 17 00:00:00 2001 From: nursoltan-s Date: Sat, 9 Jan 2021 19:42:29 +0800 Subject: [PATCH 1/4] added assign to me button --- .../AssignedMember-Field.module.scss | 4 ++++ .../AssignedMember-Field/index.js | 14 +++++++++++-- src/components/ChallengeEditor/index.js | 21 ++++++++++++++++++- src/containers/ChallengeEditor/index.js | 4 +++- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss b/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss index 4f22fc27..d31dff9e 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss +++ b/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss @@ -45,5 +45,9 @@ .readOnlyValue { margin-bottom: 0.5rem; // the same like `label` to be aligned } + + .assignSelfField { + margin-left: 20px; + } } diff --git a/src/components/ChallengeEditor/AssignedMember-Field/index.js b/src/components/ChallengeEditor/AssignedMember-Field/index.js index 4731518d..5a15b8f6 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/index.js +++ b/src/components/ChallengeEditor/AssignedMember-Field/index.js @@ -6,13 +6,15 @@ import PropTypes from 'prop-types' import cn from 'classnames' import styles from './AssignedMember-Field.module.scss' import SelectUserAutocomplete from '../../SelectUserAutocomplete' +import { PrimaryButton } from '../../Buttons' -const AssignedMemberField = ({ challenge, onChange, assignedMemberDetails, readOnly }) => { +const AssignedMemberField = ({ challenge, onAssignSelf, onChange, assignedMemberDetails, readOnly }) => { const value = assignedMemberDetails ? { // if we know assigned member details, then show user `handle`, otherwise fallback to `userId` label: assignedMemberDetails.handle, value: assignedMemberDetails.userId + '' } : null + return (
@@ -28,6 +30,13 @@ const AssignedMemberField = ({ challenge, onChange, assignedMemberDetails, readO /> )}
+
+ +
) } @@ -41,7 +50,8 @@ AssignedMemberField.propTypes = { challenge: PropTypes.shape().isRequired, onChange: PropTypes.func, assignedMemberDetails: PropTypes.shape(), - readOnly: PropTypes.bool + readOnly: PropTypes.bool, + onAssignSelf: PropTypes.func } export default AssignedMemberField diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 935b65ad..82281cc0 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -90,6 +90,7 @@ class ChallengeEditor extends Component { this.onUpdateOthers = this.onUpdateOthers.bind(this) this.onUpdateCheckbox = this.onUpdateCheckbox.bind(this) this.onUpdateAssignedMember = this.onUpdateAssignedMember.bind(this) + this.onAssignSelf = this.onAssignSelf.bind(this) this.addFileType = this.addFileType.bind(this) this.removeFileType = this.removeFileType.bind(this) this.updateFileTypesMetadata = this.updateFileTypesMetadata.bind(this) @@ -335,6 +336,22 @@ class ChallengeEditor extends Component { }) } + /** + * Update Assigned Member to Current User + */ + onAssignSelf () { + const { loggedInUser } = this.props + + const assignedMemberDetails = { + handle: loggedInUser.handle, + userId: loggedInUser.userId + } + + this.setState({ + assignedMemberDetails + }) + } + /** * Update Single Select * @param option The select option @@ -1326,6 +1343,7 @@ class ChallengeEditor extends Component { challenge={challenge} onChange={this.onUpdateAssignedMember} assignedMemberDetails={assignedMemberDetails} + onAssignSelf={this.onAssignSelf} /> )} @@ -1469,7 +1487,8 @@ ChallengeEditor.propTypes = { updateChallengeDetails: PropTypes.func.isRequired, createChallenge: PropTypes.func, replaceResourceInRole: PropTypes.func, - partiallyUpdateChallengeDetails: PropTypes.func.isRequired + partiallyUpdateChallengeDetails: PropTypes.func.isRequired, + loggedInUser: PropTypes.shape().isRequired } export default withRouter(ChallengeEditor) diff --git a/src/containers/ChallengeEditor/index.js b/src/containers/ChallengeEditor/index.js index ab0c4796..a7bba88a 100644 --- a/src/containers/ChallengeEditor/index.js +++ b/src/containers/ChallengeEditor/index.js @@ -229,7 +229,8 @@ class ChallengeEditor extends Component { updateChallengeDetails, partiallyUpdateChallengeDetails, createChallenge, - replaceResourceInRole + replaceResourceInRole, + loggedInUser // members } = this.props const { @@ -335,6 +336,7 @@ class ChallengeEditor extends Component { updateChallengeDetails={updateChallengeDetails} replaceResourceInRole={replaceResourceInRole} partiallyUpdateChallengeDetails={partiallyUpdateChallengeDetails} + loggedInUser={loggedInUser} /> )) } /> From 62c81c170e70bd68ca1e6a6480dbfdb72e7fd4e1 Mon Sep 17 00:00:00 2001 From: nursoltan-s Date: Mon, 11 Jan 2021 17:51:41 +0800 Subject: [PATCH 2/4] change button to href --- .../AssignedMember-Field/AssignedMember-Field.module.scss | 1 + .../ChallengeEditor/AssignedMember-Field/index.js | 7 +------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss b/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss index d31dff9e..33eea080 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss +++ b/src/components/ChallengeEditor/AssignedMember-Field/AssignedMember-Field.module.scss @@ -48,6 +48,7 @@ .assignSelfField { margin-left: 20px; + padding-top: 6px; } } diff --git a/src/components/ChallengeEditor/AssignedMember-Field/index.js b/src/components/ChallengeEditor/AssignedMember-Field/index.js index 5a15b8f6..0afe0121 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/index.js +++ b/src/components/ChallengeEditor/AssignedMember-Field/index.js @@ -6,7 +6,6 @@ import PropTypes from 'prop-types' import cn from 'classnames' import styles from './AssignedMember-Field.module.scss' import SelectUserAutocomplete from '../../SelectUserAutocomplete' -import { PrimaryButton } from '../../Buttons' const AssignedMemberField = ({ challenge, onAssignSelf, onChange, assignedMemberDetails, readOnly }) => { const value = assignedMemberDetails ? { @@ -31,11 +30,7 @@ const AssignedMemberField = ({ challenge, onAssignSelf, onChange, assignedMember )}
- + Assign to me
) From 283b9d9e0f7a73b169c87d341145e9540e9b9a6c Mon Sep 17 00:00:00 2001 From: nursoltan-s Date: Mon, 11 Jan 2021 18:50:01 +0800 Subject: [PATCH 3/4] add prevent Default --- src/components/ChallengeEditor/AssignedMember-Field/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/ChallengeEditor/AssignedMember-Field/index.js b/src/components/ChallengeEditor/AssignedMember-Field/index.js index 0afe0121..d62f429b 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/index.js +++ b/src/components/ChallengeEditor/AssignedMember-Field/index.js @@ -30,7 +30,10 @@ const AssignedMemberField = ({ challenge, onAssignSelf, onChange, assignedMember )}
- Assign to me + { + e.preventDefault() + onAssignSelf() + }}>Assign to me
) From f35be7fca514a1d0c1730ddacdfcfde57d8d3edf Mon Sep 17 00:00:00 2001 From: nursoltan-s Date: Mon, 11 Jan 2021 20:07:29 +0800 Subject: [PATCH 4/4] show only edit --- .../ChallengeEditor/AssignedMember-Field/index.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/components/ChallengeEditor/AssignedMember-Field/index.js b/src/components/ChallengeEditor/AssignedMember-Field/index.js index d62f429b..cf52873f 100644 --- a/src/components/ChallengeEditor/AssignedMember-Field/index.js +++ b/src/components/ChallengeEditor/AssignedMember-Field/index.js @@ -29,12 +29,15 @@ const AssignedMemberField = ({ challenge, onAssignSelf, onChange, assignedMember /> )} - + { + !readOnly && + + } ) }