Skip to content

Commit d7846c7

Browse files
committed
pr review fixes
1 parent 8cc67c0 commit d7846c7

File tree

5 files changed

+40
-39
lines changed

5 files changed

+40
-39
lines changed

src/components/ChallengeEditor/ChallengeView/index.js

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ const ChallengeView = ({
3737
assignedMemberDetails,
3838
enableEdit,
3939
onLaunchChallenge,
40-
onCloseTask,
41-
location }) => {
42-
const params = new URLSearchParams(location.search)
40+
onCloseTask }) => {
4341
const selectedType = _.find(metadata.challengeTypes, { id: challenge.typeId })
4442
const challengeTrack = _.find(metadata.challengeTracks, { id: challenge.trackId })
4543

@@ -183,16 +181,6 @@ const ChallengeView = ({
183181
{openAdvanceSettings && (
184182
<>
185183
<NDAField beta challenge={challenge} readOnly />
186-
{params.get('beta') === 'true' && (
187-
<div className={styles.row}>
188-
<div className={styles.col}>
189-
<span>
190-
<span className={styles.fieldTitle}>Terms:</span>
191-
{challenge.terms.map(term => term.id).join(', ')}
192-
</span>
193-
</div>
194-
</div>
195-
)}
196184
<div className={cn(styles.row, styles.topRow)}>
197185
<div className={styles.col}>
198186
<span><span className={styles.fieldTitle}>Groups:</span> {groups}</span>
@@ -283,8 +271,7 @@ ChallengeView.propTypes = {
283271
assignedMemberDetails: PropTypes.shape(),
284272
enableEdit: PropTypes.bool,
285273
onLaunchChallenge: PropTypes.func,
286-
onCloseTask: PropTypes.func,
287-
location: PropTypes.object
274+
onCloseTask: PropTypes.func
288275
}
289276

290277
export default withRouter(ChallengeView)

src/components/ChallengeEditor/NDAField/NDAField.module.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@
173173
}
174174

175175
height: 18px;
176-
width: 210px;
176+
width: 80px;
177177
margin: 0;
178178
padding: 0;
179179
vertical-align: bottom;

src/components/ChallengeEditor/NDAField/index.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,21 @@ import { DEFAULT_NDA_UUID } from '../../../config/constants'
88
const NDAField = ({ challenge, toggleNdaRequire, readOnly }) => {
99
const isRequiredNda = challenge.terms && _.some(challenge.terms, { id: DEFAULT_NDA_UUID })
1010

11+
if (readOnly) {
12+
return (
13+
<div className={styles.row}>
14+
<div className={cn(styles.field, styles.col1, styles.fieldTitle)}>NDA Required :</div>
15+
<div className={cn(styles.field, styles.col2)}>
16+
{
17+
isRequiredNda
18+
? <div>Yes</div>
19+
: <div>No</div>
20+
}
21+
</div>
22+
</div>
23+
)
24+
}
25+
1126
return (
1227
<div className={styles.row}>
1328
<div className={cn(styles.field, styles.col1, styles.fieldTitle)}>NDA Required :</div>
@@ -18,7 +33,7 @@ const NDAField = ({ challenge, toggleNdaRequire, readOnly }) => {
1833
type='radio'
1934
id='nda-yes'
2035
checked={isRequiredNda}
21-
onChange={!readOnly && toggleNdaRequire}
36+
onChange={toggleNdaRequire}
2237
/>
2338
<label className={styles['tc-RadioButton-label']} htmlFor='nda-yes'>
2439
<div>yes</div>
@@ -31,7 +46,7 @@ const NDAField = ({ challenge, toggleNdaRequire, readOnly }) => {
3146
type='radio'
3247
id='nda-no'
3348
checked={!isRequiredNda}
34-
onChange={!readOnly && toggleNdaRequire}
49+
onChange={toggleNdaRequire}
3550
/>
3651
<label className={styles['tc-RadioButton-label']} htmlFor='nda-no'>
3752
<div>No</div>

src/components/ChallengeEditor/Terms-Field/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ import Select from '../../Select'
44
import cn from 'classnames'
55
import styles from './Terms-Field.module.scss'
66

7-
const TermsField = ({ terms, projectTerms, challenge, onUpdateMultiSelect }) => {
8-
const mapOps = item => ({ label: item, value: item })
7+
const TermsField = ({ terms, challenge, onUpdateMultiSelect }) => {
8+
const mapOps = item => ({ label: item.title, value: item.id })
99

1010
const [currTerms, setCurrTerms] = React.useState([])
1111

1212
React.useEffect(() => {
13-
const challengeTermsIds = challenge.terms.map(({ id }) => id)
14-
const allTerms = [...new Set([...projectTerms, ...challengeTermsIds])]
13+
const challengeTerms = new Set(challenge.terms)
14+
const defaultValue = terms
15+
.filter(term => challengeTerms.has(term.id))
1516
.map(mapOps)
16-
setCurrTerms(allTerms)
17+
setCurrTerms(defaultValue)
1718
}, [])
1819

1920
return (
@@ -31,7 +32,7 @@ const TermsField = ({ terms, projectTerms, challenge, onUpdateMultiSelect }) =>
3132
value={currTerms}
3233
onChange={(value) => {
3334
onUpdateMultiSelect(value, 'terms')
34-
setCurrTerms(value)
35+
setCurrTerms(setCurrTerms(terms))
3536
}}
3637
/>
3738
</div>
@@ -46,8 +47,7 @@ TermsField.defaultProps = {
4647
TermsField.propTypes = {
4748
challenge: PropTypes.shape().isRequired,
4849
terms: PropTypes.arrayOf(PropTypes.shape()).isRequired,
49-
onUpdateMultiSelect: PropTypes.func.isRequired,
50-
projectTerms: PropTypes.array
50+
onUpdateMultiSelect: PropTypes.func.isRequired
5151
}
5252

5353
export default TermsField

src/components/ChallengeEditor/index.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,7 @@ class ChallengeEditor extends Component {
810810

811811
async createNewChallenge () {
812812
if (!this.props.isNew) return
813-
const { metadata, createChallenge } = this.props
813+
const { metadata, createChallenge, projectDetail } = this.props
814814
const { name, trackId, typeId } = this.state.challenge
815815
const { timelineTemplates } = metadata
816816
const isDesignChallenge = trackId === DES_TRACK_ID
@@ -839,6 +839,14 @@ class ChallengeEditor extends Component {
839839
terms: [{ id: DEFAULT_TERM_UUID, roleId: SUBMITTER_ROLE_UUID }]
840840
// prizeSets: this.getDefaultPrizeSets()
841841
}
842+
if (projectDetail.terms) {
843+
const currTerms = new Set(newChallenge.terms.map(term => term.id))
844+
newChallenge.terms.push(
845+
...projectDetail.terms
846+
.filter(term => !currTerms.has(term))
847+
.map(term => ({ id: term, roleId: SUBMITTER_ROLE_UUID }))
848+
)
849+
}
842850
const discussions = this.getDiscussionsConfig(newChallenge)
843851
if (discussions) {
844852
newChallenge.discussions = discussions
@@ -1117,8 +1125,6 @@ class ChallengeEditor extends Component {
11171125
}
11181126

11191127
render () {
1120-
const params = new URLSearchParams(this.props.location.search)
1121-
11221128
const {
11231129
isLaunch,
11241130
isConfirm,
@@ -1395,14 +1401,8 @@ class ChallengeEditor extends Component {
13951401
{ isOpenAdvanceSettings && (
13961402
<React.Fragment>
13971403
<NDAField challenge={challenge} toggleNdaRequire={this.toggleNdaRequire} />
1398-
{params.get('beta') && (
1399-
<TermsField
1400-
terms={metadata.challengeTerms}
1401-
projectTerms={projectDetail.terms}
1402-
challenge={challenge}
1403-
onUpdateMultiSelect={this.onUpdateMultiSelect}
1404-
/>
1405-
)}
1404+
{/* remove terms field and use default term */}
1405+
{false && (<TermsField terms={metadata.challengeTerms} challenge={challenge} onUpdateMultiSelect={this.onUpdateMultiSelect} />)}
14061406
<GroupsField onUpdateMultiSelect={this.onUpdateMultiSelect} challenge={challenge} />
14071407
</React.Fragment>
14081408
)}
@@ -1535,8 +1535,7 @@ ChallengeEditor.propTypes = {
15351535
replaceResourceInRole: PropTypes.func,
15361536
partiallyUpdateChallengeDetails: PropTypes.func.isRequired,
15371537
deleteChallenge: PropTypes.func.isRequired,
1538-
loggedInUser: PropTypes.shape().isRequired,
1539-
location: PropTypes.object
1538+
loggedInUser: PropTypes.shape().isRequired
15401539
}
15411540

15421541
export default withRouter(ChallengeEditor)

0 commit comments

Comments
 (0)