diff options
Diffstat (limited to 'app/assets/javascripts')
3 files changed, 14 insertions, 1 deletions
diff --git a/app/assets/javascripts/es6_browserified/itineraries/actions/index.js b/app/assets/javascripts/es6_browserified/itineraries/actions/index.js index 6e943c0d4..6b5b35bd6 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/actions/index.js +++ b/app/assets/javascripts/es6_browserified/itineraries/actions/index.js @@ -41,6 +41,9 @@ const actions = { type: 'TOGGLE_MAP', index }), + closeMaps: () => ({ + type : 'CLOSE_MAP' + }), selectMarker: (index, data) =>({ type: 'SELECT_MARKER', index, diff --git a/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js b/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js index c0b10bb9b..0bc5b0319 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js +++ b/app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js @@ -12,18 +12,23 @@ const mapDispatchToProps = (dispatch) => { return { onDeleteClick: (index) =>{ dispatch(actions.deleteStop(index)) + dispatch(actions.closeMaps()) }, onMoveUpClick: (index) =>{ dispatch(actions.moveStopUp(index)) + dispatch(actions.closeMaps()) }, onMoveDownClick: (index) =>{ dispatch(actions.moveStopDown(index)) + dispatch(actions.closeMaps()) }, onChange: (index, text) =>{ dispatch(actions.updateInputValue(index, text)) + dispatch(actions.closeMaps()) }, onSelectChange: (e, index) =>{ dispatch(actions.updateSelectValue(e, index)) + dispatch(actions.closeMaps()) }, onToggleMap: (index) =>{ dispatch(actions.toggleMap(index)) diff --git a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js index 42e1db01f..046a125f9 100644 --- a/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js +++ b/app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js @@ -82,7 +82,7 @@ const stopPoints = (state = [], action) => { return state.map( (t, i) => { if (i === action.index){ let val = !t.olMap.isOpened - let stateMap = Object.assign({}, t.olMap, {isOpened: val}) + let stateMap = Object.assign({}, t.olMap, {isOpened: val, json: {}}) return Object.assign({}, t, {olMap: stateMap}) }else { let emptyMap = Object.assign({}, t.olMap, {isOpened: false, json : {}}) @@ -107,6 +107,11 @@ const stopPoints = (state = [], action) => { return t } }) + case 'CLOSE_MAP': + return state.map( (t, i) => { + let emptyMap = Object.assign({}, t.olMap, {isOpened: false, json: {}}) + return Object.assign({}, t, {olMap: emptyMap}) + }) default: return state } |
