Skip to content

Commit aab1472

Browse files
author
Maksym Mykhailenko
committed
Merge branch 'dev' into feature/bulk-milestone-updates
2 parents f061325 + 8446070 commit aab1472

File tree

6 files changed

+51
-9
lines changed

6 files changed

+51
-9
lines changed

config/constants/dev.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,5 @@ module.exports = {
4949
TC_SYSTEM_USERID: process.env.DEV_TC_SYSTEM_USERID,
5050
MAINTENANCE_MODE: process.env.DEV_MAINTENANCE_MODE,
5151

52+
TC_CDN_URL: process.env.TC_CDN_URL
5253
}

config/constants/master.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,5 @@ module.exports = {
4949
TC_SYSTEM_USERID: process.env.PROD_TC_SYSTEM_USERID,
5050
MAINTENANCE_MODE: process.env.PROD_MAINTENANCE_MODE,
5151

52+
TC_CDN_URL: process.env.TC_CDN_URL
5253
}

config/constants/qa.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module.exports = {
1515
ENV : 'QA',
1616

1717
PROJECTS_API_URL : 'http://api.topcoder-dev.com',
18-
18+
1919
NEW_RELIC_APPLICATION_ID: process.env.TRAVIS_BRANCH ? '11199233' : '',
2020

2121
ARENA_URL : '//arena.topcoder-qa.com',
@@ -47,4 +47,6 @@ module.exports = {
4747
CONNECT_MESSAGE_API_URL: 'https://api.topcoder-qa.com/v5',
4848
TC_SYSTEM_USERID: process.env.QA_TC_SYSTEM_USERID,
4949
MAINTENANCE_MODE: process.env.QA_MAINTENANCE_MODE,
50+
51+
TC_CDN_URL: process.env.TC_CDN_URL
5052
}

src/components/PositiveNumberInput/PositiveNumberInput.jsx

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ class PositiveNumberInput extends React.PureComponent {
77
super(props)
88

99
this.isInputValid = true
10+
this.previousValue = props.value || ''
1011

1112
this.onKeyDown = this.onKeyDown.bind(this)
1213
this.onPaste = this.onPaste.bind(this)
1314
this.onKeyUp = this.onKeyUp.bind(this)
15+
this.onChange = this.onChange.bind(this)
1416
}
1517

1618
onKeyDown(evt) {
@@ -44,26 +46,62 @@ class PositiveNumberInput extends React.PureComponent {
4446
this.props.onKeyUp(evt)
4547
}
4648

49+
onChange(evt) {
50+
const { onChange } = this.props
51+
52+
this.enforceInputBelowMax(evt)
53+
onChange(evt)
54+
}
55+
56+
/**
57+
* Makes sure the input value is kept below the max value
58+
* @param {Event} evt The change event
59+
*/
60+
enforceInputBelowMax(evt) {
61+
const value = evt.target.value
62+
if (this.isBelowMaxLimit(value)) {
63+
this.previousValue = value
64+
} else {
65+
evt.target.value = this.previousValue
66+
}
67+
}
68+
69+
isBelowMaxLimit(text) {
70+
const { max = Infinity } = this.props
71+
return Number(text) <= max
72+
}
73+
4774
render() {
4875
const props = omit(this.props, ['onValidityChange'])
49-
return <input type="number" min={0} {...props} onKeyDown={this.onKeyDown} onPaste={this.onPaste} onKeyUp={this.onKeyUp} />
76+
return (
77+
<input
78+
type="number"
79+
min={0}
80+
{...props}
81+
onKeyDown={this.onKeyDown}
82+
onPaste={this.onPaste}
83+
onKeyUp={this.onKeyUp}
84+
onChange={this.onChange}
85+
/>
86+
)
5087
}
5188
}
5289

5390
PositiveNumberInput.defaultProps = {
5491
onKeyDown: noop,
5592
onPaste: noop,
5693
onKeyUp: noop,
57-
onValidityChange: noop
58-
94+
onValidityChange: noop,
95+
onChange: noop,
5996
}
6097

6198
PositiveNumberInput.propTypes = {
99+
max: PT.number,
62100
onKeyDown: PT.func,
63101
onPaste: PT.func,
64102
onKeyUp: PT.func,
65-
onValidityChange: PT.func
103+
onValidityChange: PT.func,
104+
onChange: PT.func,
66105
}
67106

68-
69107
export default PositiveNumberInput

src/config/constants.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ export const SALESFORCE_PROJECT_LEAD_LINK = process.env.SALESFORCE_PROJECT_LEAD_
715715
// export const TC_NOTIFICATION_URL = process.env.TC_NOTIFICATION_URL || `${TC_API_URL}/v5/notifications`
716716
export const TC_NOTIFICATION_URL = 'https://dev.maxceem.com/v5/notifications'
717717

718-
export const TC_CDN_URL = process.env.NODE_ENV === 'development' ? 'https://d1aahxkjiobka8.cloudfront.net' : 'https://d2nl5eqipnb33q.cloudfront.net'
718+
export const TC_CDN_URL = process.env.TC_CDN_URL || `https://community-app.${DOMAIN}/api/cdn/public`
719719

720720
export const RESET_PASSWORD_URL = `https://accounts.${DOMAIN}/connect/reset-password`
721721
export const VERIFY_EMAIL_URL = `http://www.${DOMAIN}/settings/account/changeEmail`

src/projects/detail/components/TalentPickerRow/TalentPickerRow.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ class TalentPickerRow extends React.PureComponent {
100100
People
101101
</label>
102102
<PositiveNumberInput
103-
type="number"
104103
styleName="noMargin"
105104
className={cn('tc-file-field__inputs', { error: isRowIncomplete && value.people <= 0 })}
105+
max={10000}
106106
value={value.people || ''}
107107
onChange={this.handlePeopleChange}
108108
onBlur={this.resetPeople}
@@ -116,9 +116,9 @@ class TalentPickerRow extends React.PureComponent {
116116
Duration (months)
117117
</label>
118118
<PositiveNumberInput
119-
type="number"
120119
styleName="noMargin"
121120
className={cn('tc-file-field__inputs', {error: isRowIncomplete && value.duration <= 0 })}
121+
max={10000}
122122
value={value.duration || ''}
123123
onChange={this.handleDurationChange}
124124
onBlur={this.resetDuration}

0 commit comments

Comments
 (0)