diff --git a/lib/editor/components/pattern/PatternStopsPanel.js b/lib/editor/components/pattern/PatternStopsPanel.js index 1f2a91528..41e8feba7 100644 --- a/lib/editor/components/pattern/PatternStopsPanel.js +++ b/lib/editor/components/pattern/PatternStopsPanel.js @@ -20,9 +20,12 @@ export default class PatternStopsPanel extends Pure { updateEditSetting: PropTypes.func.isRequired } - _onClickAddStop = () => this.props.updateEditSetting('addStops', !this.props.editSettings.addStops) + _toggleAddStopsMode = () => { + const {editSettings, updateEditSetting} = this.props + updateEditSetting('addStops', !editSettings.present.addStops) + } - addStopFromSelect = (input) => { + _addStopFromSelect = (input) => { if (!input) { return } @@ -45,9 +48,11 @@ export default class PatternStopsPanel extends Pure { setActiveStop, status, stops, - updateActiveEntity, - updateEditSetting + updateActiveEntity } = this.props + const {addStops} = editSettings.present + const patternHasStops = activePattern.patternStops && + activePattern.patternStops.length > 0 const cardStyle = { border: '1px dashed gray', padding: '0.5rem 0.5rem', @@ -63,31 +68,36 @@ export default class PatternStopsPanel extends Pure {
- {editSettings.addStops && mapState.zoom <= 14 - ? 'Zoom to view stops' - : `Add stops via map` - } + + {addStops && mapState.zoom <= 14 + ? 'Zoom to view stops' + : `Add stops via map` + } +
{/* List of pattern stops */}
-

Stop sequence

+

+ Stop sequence +

-

Travel time

+

+ Travel time +

- {activePattern.patternStops && activePattern.patternStops.length > 0 + {patternHasStops ? + setActiveStop={setActiveStop} /> :

This pattern has no stops.

} {/* Add stop selector */} - {editSettings.addStops + {addStops ?
+ onChange={this._addStopFromSelect} />
@@ -126,7 +134,7 @@ export default class PatternStopsPanel extends Pure { : }