Skip to content

Commit a73b15b

Browse files
authored
Merge pull request #1333 from nursoltan-s/issue-1328
fix 1328
2 parents 72f2128 + f3efd38 commit a73b15b

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

src/components/ChallengeEditor/index.js

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,10 +813,28 @@ class ChallengeEditor extends Component {
813813
}
814814

815815
onUpdatePhaseDate (phase, index) {
816+
const { phases } = this.state.challenge
816817
let newChallenge = _.cloneDeep(this.state.challenge)
817818
newChallenge.phases[index]['duration'] = phase.duration
818-
newChallenge.phases[index]['scheduledStartDate'] = phase.scheduledStartDate
819-
newChallenge.phases[index]['scheduledEndDate'] = phase.scheduledEndDate
819+
newChallenge.phases[index]['scheduledStartDate'] = phase.startDate
820+
newChallenge.phases[index]['scheduledEndDate'] = phase.endDate
821+
822+
let lastDate = phase.endDate
823+
for (let phaseIndex = index + 1; phaseIndex < phases.length; phaseIndex++) {
824+
if (moment(phases[phaseIndex]['scheduledStartDate']).isBefore(lastDate)) {
825+
lastDate = moment(lastDate).add('1', 'hour').format('MM/DD/YYYY HH:mm')
826+
newChallenge.phases[phaseIndex]['scheduledStartDate'] = lastDate
827+
828+
if (moment(phases[phaseIndex]['scheduledEndDate']).isBefore(lastDate)) {
829+
lastDate = moment(lastDate).add('1', 'hour').format('MM/DD/YYYY HH:mm')
830+
newChallenge.phases[phaseIndex]['scheduledEndDate'] = lastDate
831+
}
832+
833+
newChallenge.phases[phaseIndex]['duration'] =
834+
moment(newChallenge.phases[phaseIndex]['scheduledEndDate']).diff(newChallenge.phases[phaseIndex]['scheduledStartDate'], 'hours')
835+
}
836+
}
837+
820838
this.setState({ challenge: newChallenge })
821839
}
822840

@@ -1594,7 +1612,8 @@ class ChallengeEditor extends Component {
15941612
phase={phase}
15951613
phaseIndex={uuidv4()}
15961614
readOnly={false}
1597-
isActive={this.isPhaseEditable(index)}
1615+
// isActive={this.isPhaseEditable(index)}
1616+
isActive
15981617
onUpdatePhase={(item) => {
15991618
if ((item.startDate && !moment(item.startDate).isSame(phase.scheduledStartDate)) ||
16001619
(item.endDate && !moment(item.endDate).isSame(phase.scheduledEndDate))

src/components/PhaseInput/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const PhaseInput = ({ onUpdatePhase, phase, readOnly, phaseIndex, isActive }) =>
2525
setEndDate(phase.scheduledEndDate)
2626
setDuration(moment(phase.scheduledEndDate).diff(phase.scheduledStartDate, 'hours'))
2727
}
28-
}, [])
28+
}, [phase])
2929

3030
useEffect(() => {
3131
if (!readOnly) {

0 commit comments

Comments
 (0)