Skip to content

Commit 40f66bc

Browse files
authored
Revert "fixes - topcoder-platform#927"
1 parent 85d8f44 commit 40f66bc

File tree

12 files changed

+22
-208
lines changed

12 files changed

+22
-208
lines changed

src/actions/challenges.js

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515
fetchChallengeTracks,
1616
updateChallenge,
1717
patchChallenge,
18-
deleteChallenge as deleteChallengeAPI,
1918
createChallenge as createChallengeAPI,
2019
createResource as createResourceAPI,
2120
deleteResource as deleteResourceAPI
@@ -39,9 +38,6 @@ import {
3938
CREATE_CHALLENGE_PENDING,
4039
CREATE_CHALLENGE_SUCCESS,
4140
CREATE_CHALLENGE_FAILURE,
42-
DELETE_CHALLENGE_PENDING,
43-
DELETE_CHALLENGE_SUCCESS,
44-
DELETE_CHALLENGE_FAILURE,
4541
LOAD_CHALLENGE_RESOURCES
4642
} from '../config/constants'
4743
import { loadProject } from './projects'
@@ -271,26 +267,6 @@ export function partiallyUpdateChallengeDetails (challengeId, partialChallengeDe
271267
}
272268
}
273269

274-
export function deleteChallenge (challengeId) {
275-
return async (dispatch) => {
276-
dispatch({
277-
type: DELETE_CHALLENGE_PENDING
278-
})
279-
280-
return deleteChallengeAPI(challengeId).then((challenge) => {
281-
return dispatch({
282-
type: DELETE_CHALLENGE_SUCCESS,
283-
challengeDetails: challenge
284-
})
285-
}).catch((error) => {
286-
dispatch({
287-
type: DELETE_CHALLENGE_FAILURE
288-
})
289-
throw error
290-
})
291-
}
292-
}
293-
294270
export function loadTimelineTemplates () {
295271
return async (dispatch) => {
296272
const timelineTemplates = await fetchTimelineTemplates()

src/components/ChallengeEditor/ChallengeEditor.module.scss

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@
241241
.actionButtons {
242242
position: absolute;
243243
top: 30px;
244-
a,button {
244+
a {
245245
height: 40px;
246246
}
247247
}
@@ -251,13 +251,7 @@
251251
}
252252

253253
.actionButtonsRight {
254-
display: flex;
255-
align-items: center;
256254
right: 20px;
257-
258-
button {
259-
margin-right: 20px;
260-
}
261255
}
262256

263257
.buttonContainer {

src/components/ChallengeEditor/index.js

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ class ChallengeEditor extends Component {
6868
super(props)
6969
this.state = {
7070
isLaunch: false,
71-
isDeleteLaunch: false,
7271
isConfirm: false,
7372
isClose: false,
7473
isOpenAdvanceSettings: false,
@@ -122,8 +121,6 @@ class ChallengeEditor extends Component {
122121
this.getAvailableTimelineTemplates = this.getAvailableTimelineTemplates.bind(this)
123122
this.autoUpdateChallengeThrottled = _.throttle(this.validateAndAutoUpdateChallenge.bind(this), 3000) // 3s
124123
this.updateResource = this.updateResource.bind(this)
125-
this.onDeleteChallenge = this.onDeleteChallenge.bind(this)
126-
this.deleteModalLaunch = this.deleteModalLaunch.bind(this)
127124
}
128125

129126
componentDidMount () {
@@ -134,27 +131,6 @@ class ChallengeEditor extends Component {
134131
this.resetChallengeData(this.setState.bind(this))
135132
}
136133

137-
deleteModalLaunch () {
138-
if (!this.state.isDeleteLaunch) {
139-
this.setState({ isDeleteLaunch: true })
140-
}
141-
}
142-
143-
async onDeleteChallenge () {
144-
const { deleteChallenge, challengeDetails, history } = this.props
145-
try {
146-
this.setState({ isSaving: true })
147-
// Call action to delete the challenge
148-
await deleteChallenge(challengeDetails.id)
149-
this.setState({ isSaving: false })
150-
this.resetModal()
151-
history.push(`/projects/${challengeDetails.projectId}/challenges`)
152-
} catch (e) {
153-
const error = _.get(e, 'response.data.message', 'Unable to Delete the challenge')
154-
this.setState({ isSaving: false, error })
155-
}
156-
}
157-
158134
/**
159135
* Validates challenge and if its valid calling an autosave method
160136
*
@@ -230,7 +206,7 @@ class ChallengeEditor extends Component {
230206
}
231207

232208
resetModal () {
233-
this.setState({ isLoading: false, isConfirm: false, isLaunch: false, error: null, isCloseTask: false, isDeleteLaunch: false })
209+
this.setState({ isLoading: false, isConfirm: false, isLaunch: false, error: null, isCloseTask: false })
234210
}
235211

236212
/**
@@ -1397,19 +1373,6 @@ class ChallengeEditor extends Component {
13971373
/>
13981374
</div>
13991375
}
1400-
{
1401-
this.state.isDeleteLaunch && !this.state.isConfirm && (
1402-
<ConfirmationModal
1403-
title='Confirm Delete'
1404-
message={`Do you want to delete "${challenge.name}"?`}
1405-
theme={theme}
1406-
isProcessing={isSaving}
1407-
errorMessage={this.state.error}
1408-
onCancel={this.resetModal}
1409-
onConfirm={this.onDeleteChallenge}
1410-
/>
1411-
)
1412-
}
14131376
{ showTimeline && (
14141377
<ChallengeScheduleField
14151378
templates={this.getAvailableTimelineTemplates()}
@@ -1463,7 +1426,6 @@ class ChallengeEditor extends Component {
14631426
</div>
14641427
<div className={styles.title}>{getTitle(isNew)}</div>
14651428
<div className={cn(styles.actionButtons, styles.actionButtonsRight)}>
1466-
{this.props.challengeDetails.status === 'New' && <PrimaryButton text={'Delete'} type={'danger'} onClick={this.deleteModalLaunch} />}
14671429
<PrimaryButton text={'Back'} type={'info'} submit link={`/projects/${projectDetail.id}/challenges`} />
14681430
</div>
14691431
<div className={styles.textRequired}>* Required</div>
@@ -1507,8 +1469,7 @@ ChallengeEditor.propTypes = {
15071469
updateChallengeDetails: PropTypes.func.isRequired,
15081470
createChallenge: PropTypes.func,
15091471
replaceResourceInRole: PropTypes.func,
1510-
partiallyUpdateChallengeDetails: PropTypes.func.isRequired,
1511-
deleteChallenge: PropTypes.func.isRequired
1472+
partiallyUpdateChallengeDetails: PropTypes.func.isRequired
15121473
}
15131474

15141475
export default withRouter(ChallengeEditor)

src/components/ChallengesComponent/ChallengeCard/ChallengeCard.module.scss

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -257,31 +257,6 @@
257257
}
258258
}
259259

260-
.deleteButton {
261-
height: 22px;
262-
width: 86px;
263-
border-radius: 11.5px;
264-
display: flex;
265-
justify-content: center;
266-
align-items: center;
267-
background-color: $tc-red;
268-
border-color: $tc-red;
269-
cursor: pointer;
270-
271-
span {
272-
@include roboto;
273-
274-
font-size: 14px;
275-
font-weight: 400;
276-
line-height: 17px;
277-
color: $white;
278-
text-transform: capitalize;
279-
display: flex;
280-
justify-content: center;
281-
align-items: center;
282-
}
283-
}
284-
285260
.icon {
286261
vertical-align: bottom;
287262
}

src/components/ChallengesComponent/ChallengeCard/index.js

Lines changed: 8 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,14 @@ const getPhaseInfo = (c) => {
9696
* @param onUpdateLaunch
9797
* @returns {*}
9898
*/
99-
const hoverComponents = (challenge, onUpdateLaunch, deleteModalLaunch) => {
99+
const hoverComponents = (challenge, onUpdateLaunch) => {
100100
const communityAppUrl = `${COMMUNITY_APP_URL}/challenges/${challenge.id}`
101101
const directUrl = `${DIRECT_PROJECT_URL}/contest/detail?projectId=${challenge.legacyId}`
102102
const orUrl = `${ONLINE_REVIEW_URL}/review/actions/ViewProjectDetails?pid=${challenge.legacyId}`
103103

104104
// NEW projects never have Legacy challenge created, so don't show links and "Activate" button for them at all
105105
if (challenge.status.toUpperCase() === CHALLENGE_STATUS.NEW) {
106-
if (challenge.status.toUpperCase() === CHALLENGE_STATUS.NEW) {
107-
return (
108-
<button className={styles.deleteButton} onClick={deleteModalLaunch}>
109-
<span>Delete</span>
110-
</button>
111-
)
112-
}
106+
return null
113107
}
114108

115109
return challenge.legacyId ? (
@@ -183,13 +177,10 @@ class ChallengeCard extends React.Component {
183177
this.state = {
184178
isConfirm: false,
185179
isLaunch: false,
186-
isDeleteLaunch: false,
187180
isSaving: false
188181
}
189182
this.onUpdateConfirm = this.onUpdateConfirm.bind(this)
190183
this.onUpdateLaunch = this.onUpdateLaunch.bind(this)
191-
this.onDeleteChallenge = this.onDeleteChallenge.bind(this)
192-
this.deleteModalLaunch = this.deleteModalLaunch.bind(this)
193184
this.resetModal = this.resetModal.bind(this)
194185
this.onLaunchChallenge = this.onLaunchChallenge.bind(this)
195186
}
@@ -204,14 +195,8 @@ class ChallengeCard extends React.Component {
204195
}
205196
}
206197

207-
deleteModalLaunch () {
208-
if (!this.state.isDeleteLaunch) {
209-
this.setState({ isDeleteLaunch: true })
210-
}
211-
}
212-
213198
resetModal () {
214-
this.setState({ isConfirm: false, isLaunch: false, isDeleteLaunch: false })
199+
this.setState({ isConfirm: false, isLaunch: false })
215200
}
216201

217202
async onLaunchChallenge () {
@@ -231,39 +216,12 @@ class ChallengeCard extends React.Component {
231216
}
232217
}
233218

234-
async onDeleteChallenge () {
235-
const { deleteChallenge, challenge } = this.props
236-
try {
237-
this.setState({ isSaving: true })
238-
// Call action to delete the challenge
239-
await deleteChallenge(challenge.id)
240-
this.setState({ isSaving: false })
241-
this.resetModal()
242-
} catch (e) {
243-
const error = _.get(e, 'response.data.message', 'Unable to Delete the challenge')
244-
this.setState({ isSaving: false, error })
245-
}
246-
}
247-
248219
render () {
249-
const { isLaunch, isConfirm, isSaving, isDeleteLaunch } = this.state
220+
const { isLaunch, isConfirm, isSaving } = this.state
250221
const { challenge, shouldShowCurrentPhase, reloadChallengeList } = this.props
251222
const { phaseMessage, endTime } = getPhaseInfo(challenge)
252223
return (
253224
<div className={styles.item}>
254-
{
255-
isDeleteLaunch && !isConfirm && (
256-
<ConfirmationModal
257-
title='Confirm Delete'
258-
message={`Do you want to delete "${challenge.name}"?`}
259-
theme={theme}
260-
isProcessing={isSaving}
261-
errorMessage={this.state.error}
262-
onCancel={this.resetModal}
263-
onConfirm={this.onDeleteChallenge}
264-
/>
265-
)
266-
}
267225
{ isLaunch && !isConfirm && (
268226
<ConfirmationModal
269227
title='Confirm Launch'
@@ -305,7 +263,7 @@ class ChallengeCard extends React.Component {
305263
<span className='block light-text'>{endTime}</span>
306264
</Link>)}
307265
<div className={cn(styles.col4, styles.editingContainer)}>
308-
{hoverComponents(challenge, this.onUpdateLaunch, this.deleteModalLaunch)}
266+
{hoverComponents(challenge, this.onUpdateLaunch, this.props.showError)}
309267
</div>
310268
<div className={cn(styles.col4, styles.iconsContainer)}>
311269
<div className={styles.faIconContainer}>
@@ -324,15 +282,16 @@ class ChallengeCard extends React.Component {
324282

325283
ChallengeCard.defaultPrps = {
326284
shouldShowCurrentPhase: true,
285+
showError: () => {},
327286
reloadChallengeList: () => {}
328287
}
329288

330289
ChallengeCard.propTypes = {
331290
challenge: PropTypes.object,
332291
shouldShowCurrentPhase: PropTypes.bool,
292+
showError: PropTypes.func,
333293
reloadChallengeList: PropTypes.func,
334-
partiallyUpdateChallengeDetails: PropTypes.func.isRequired,
335-
deleteChallenge: PropTypes.func.isRequired
294+
partiallyUpdateChallengeDetails: PropTypes.func.isRequired
336295
}
337296

338297
export default withRouter(ChallengeCard)

src/components/ChallengesComponent/ChallengeList/index.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ class ChallengeList extends Component {
102102
page,
103103
perPage,
104104
totalChallenges,
105-
partiallyUpdateChallengeDetails,
106-
deleteChallenge
105+
partiallyUpdateChallengeDetails
107106
} = this.props
108107
if (warnMessage) {
109108
return <Message warnMessage={warnMessage} />
@@ -212,9 +211,9 @@ class ChallengeList extends Component {
212211
<ChallengeCard
213212
shouldShowCurrentPhase={selectedTab === 0}
214213
challenge={c}
214+
showError={this.showError}
215215
reloadChallengeList={this.reloadChallengeList}
216216
partiallyUpdateChallengeDetails={partiallyUpdateChallengeDetails}
217-
deleteChallenge={deleteChallenge}
218217
/>
219218
</li>
220219
)
@@ -257,8 +256,7 @@ ChallengeList.propTypes = {
257256
page: PropTypes.number.isRequired,
258257
perPage: PropTypes.number.isRequired,
259258
totalChallenges: PropTypes.number.isRequired,
260-
partiallyUpdateChallengeDetails: PropTypes.func.isRequired,
261-
deleteChallenge: PropTypes.func.isRequired
259+
partiallyUpdateChallengeDetails: PropTypes.func.isRequired
262260
}
263261

264262
export default ChallengeList

src/components/ChallengesComponent/index.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ const ChallengesComponent = ({
2626
page,
2727
perPage,
2828
totalChallenges,
29-
partiallyUpdateChallengeDetails,
30-
deleteChallenge
29+
partiallyUpdateChallengeDetails
3130
}) => {
3231
return (
3332
<Sticky top={10}>
@@ -87,7 +86,6 @@ const ChallengesComponent = ({
8786
perPage={perPage}
8887
totalChallenges={totalChallenges}
8988
partiallyUpdateChallengeDetails={partiallyUpdateChallengeDetails}
90-
deleteChallenge={deleteChallenge}
9189
/>
9290
)}
9391
</div>
@@ -111,8 +109,7 @@ ChallengesComponent.propTypes = {
111109
page: PropTypes.number.isRequired,
112110
perPage: PropTypes.number.isRequired,
113111
totalChallenges: PropTypes.number.isRequired,
114-
partiallyUpdateChallengeDetails: PropTypes.func.isRequired,
115-
deleteChallenge: PropTypes.func.isRequired
112+
partiallyUpdateChallengeDetails: PropTypes.func.isRequired
116113
}
117114

118115
ChallengesComponent.defaultProps = {

src/config/constants.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ export const CREATE_CHALLENGE_SUCCESS = 'CREATE_CHALLENGE_SUCCESS'
4848
export const CREATE_CHALLENGE_PENDING = 'CREATE_CHALLENGE_PENDING'
4949
export const CREATE_CHALLENGE_FAILURE = 'CREATE_CHALLENGE_FAILURE'
5050

51-
export const DELETE_CHALLENGE_SUCCESS = 'DELETE_CHALLENGE_SUCCESS'
52-
export const DELETE_CHALLENGE_PENDING = 'DELETE_CHALLENGE_PENDING'
53-
export const DELETE_CHALLENGE_FAILURE = 'DELETE_CHALLENGE_FAILURE'
54-
5551
export const LOAD_PROJECT_DETAILS = 'LOAD_PROJECT_DETAILS'
5652
export const LOAD_PROJECT_DETAILS_SUCCESS = 'LOAD_PROJECT_DETAILS_SUCCESS'
5753
export const LOAD_PROJECT_DETAILS_PENDING = 'LOAD_PROJECT_DETAILS_PENDING'

0 commit comments

Comments
 (0)