diff options
| author | jpl | 2017-01-25 12:40:37 +0100 |
|---|---|---|
| committer | jpl | 2017-01-25 12:40:37 +0100 |
| commit | 7e34d2737f54f5ced79a0dd836835a769d4439ea (patch) | |
| tree | 7f4b9642eaed5b856aeff97fb1f852fc17311b8c /app/assets/javascripts | |
| parent | a992e8c13703c8e64e66dbef2edceaea8d91c1d0 (diff) | |
| download | chouette-core-7e34d2737f54f5ced79a0dd836835a769d4439ea.tar.bz2 | |
Refs #2405: adding unselect marker action
Diffstat (limited to 'app/assets/javascripts')
6 files changed, 26 insertions, 5 deletions
diff --git a/app/assets/javascripts/es6_browserified/itineraries/actions/index.js b/app/assets/javascripts/es6_browserified/itineraries/actions/index.js index 2efa928a0..6e943c0d4 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/actions/index.js +++ b/app/assets/javascripts/es6_browserified/itineraries/actions/index.js @@ -45,6 +45,10 @@ const actions = { type: 'SELECT_MARKER', index, data + }), + unselectMarker: (index) => ({ + type: 'UNSELECT_MARKER', + index }) } diff --git a/app/assets/javascripts/es6_browserified/itineraries/components/OlMap.js b/app/assets/javascripts/es6_browserified/itineraries/components/OlMap.js index 6236b5682..b5ba7b4f9 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/components/OlMap.js +++ b/app/assets/javascripts/es6_browserified/itineraries/components/OlMap.js @@ -71,6 +71,8 @@ class OlMap extends Component{ // console.log('Selected item'); // console.log('id:' + data.getId()); // console.log('LonLat:' + data.getGeometry().getCoordinates()); + } else { + this.props.onUnselectMarker(this.props.index) } }, this); diff --git a/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js b/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js index 22d3814d1..a1f4e3cdf 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js +++ b/app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js @@ -74,7 +74,8 @@ const StopPoint = (props) => { <OlMap value = {props.value} index = {props.index} - onSelectMarker= {props.onSelectMarker} + onSelectMarker = {props.onSelectMarker} + onUnselectMarker = {props.onUnselectMarker} /> </div> ) diff --git a/app/assets/javascripts/es6_browserified/itineraries/components/StopPointList.js b/app/assets/javascripts/es6_browserified/itineraries/components/StopPointList.js index b1bbb3611..6c27a8907 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/components/StopPointList.js +++ b/app/assets/javascripts/es6_browserified/itineraries/components/StopPointList.js @@ -2,7 +2,7 @@ var React = require('react') var PropTypes = require('react').PropTypes var StopPoint = require('./StopPoint') -const StopPointList = ({ stopPoints, onDeleteClick, onMoveUpClick, onMoveDownClick, onChange, onSelectChange, onToggleMap, onSelectMarker }) => { +const StopPointList = ({ stopPoints, onDeleteClick, onMoveUpClick, onMoveDownClick, onChange, onSelectChange, onToggleMap, onSelectMarker, onUnselectMarker }) => { return ( <div className='list-group'> {stopPoints.map((stopPoint, index) => @@ -17,6 +17,7 @@ const StopPointList = ({ stopPoints, onDeleteClick, onMoveUpClick, onMoveDownCli onSelectChange={ (e) => onSelectChange(e, index) } onToggleMap={() => onToggleMap(index)} onSelectMarker={onSelectMarker} + onUnselectMarker={onUnselectMarker} first={ index === 0 } last={ index === (stopPoints.length - 1) } index={ index } @@ -33,7 +34,8 @@ StopPointList.propTypes = { onMoveUpClick: PropTypes.func.isRequired, onMoveDownClick: PropTypes.func.isRequired, onSelectChange: PropTypes.func.isRequired, - onSelectMarker: PropTypes.func.isRequired + onSelectMarker: PropTypes.func.isRequired, + onUnselectMarker : PropTypes.func.isRequired } module.exports = StopPointList diff --git a/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js b/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js index 59c4bd554..26293b517 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js +++ b/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js @@ -30,6 +30,9 @@ const mapDispatchToProps = (dispatch) => { }, onSelectMarker: (index, data) =>{ dispatch(actions.selectMarker(index, data)) + }, + onUnselectMarker: (index) =>{ + dispatch(actions.unselectMarker(index)) } } diff --git a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js index f649aacf4..bc354c2c8 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js +++ b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js @@ -93,11 +93,20 @@ const stopPoints = (state = [], action) => { } }) case 'SELECT_MARKER': - return state.map( (t, i) => { + return state.map((t, i) => { if (i === action.index){ let stateMap = Object.assign({}, t.olMap, {json: action.data}) return Object.assign({}, t, {olMap: stateMap}) - }else { + } else { + return t + } + }) + case 'UNSELECT_MARKER': + return state.map((t, i) => { + if (i === action.index){ + let stateMap = Object.assign({}, t.olMap, {json: {}}) + return Object.assign({}, t, {olMap: stateMap}) + } elseĀ { return t } }) |
