Skip to content

Commit 59d429a

Browse files
refactor(PatternStopCard): Clone before updating pickup/dropoff stop attribute.
1 parent 1c5fd78 commit 59d429a

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

lib/editor/components/pattern/PatternStopCard.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// @flow
22

33
import Icon from '@conveyal/woonerf/components/icon'
4-
import React, {Component} from 'react'
4+
import clone from 'lodash/cloneDeep'
5+
import React, { Component } from 'react'
56
import { DragSource, DropTarget } from 'react-dnd'
67
import {
78
Checkbox,
@@ -18,11 +19,11 @@ import * as stopStrategiesActions from '../../actions/map/stopStrategies'
1819
import * as tripPatternActions from '../../actions/tripPattern'
1920
import {getEntityName, getAbbreviatedStopName} from '../../util/gtfs'
2021
import MinuteSecondInput from '../MinuteSecondInput'
22+
import type {Feed, Pattern, PatternStop} from '../../../types'
23+
2124
import NormalizeStopTimesTip from './NormalizeStopTimesTip'
2225
import PatternStopButtons from './PatternStopButtons'
2326

24-
import type {Feed, Pattern, PatternStop} from '../../../types'
25-
2627
type Props = {
2728
active: boolean,
2829
activePattern: Pattern,
@@ -326,7 +327,9 @@ class PatternStopContents extends Component<Props, State> {
326327
const {activePattern, index, updatePatternStops} = this.props
327328
const patternStops = [...activePattern.patternStops]
328329

329-
patternStops[index][evt.target.id] = selectedOptionValue
330+
const newPatternStop = clone(patternStops[index])
331+
newPatternStop[evt.target.id] = selectedOptionValue
332+
patternStops[index] = newPatternStop
330333
this.setState({update: true})
331334
updatePatternStops(activePattern, patternStops)
332335
}

0 commit comments

Comments
 (0)