aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorjpl2017-01-25 12:40:37 +0100
committerjpl2017-01-25 12:40:37 +0100
commit7e34d2737f54f5ced79a0dd836835a769d4439ea (patch)
tree7f4b9642eaed5b856aeff97fb1f852fc17311b8c /app/assets/javascripts
parenta992e8c13703c8e64e66dbef2edceaea8d91c1d0 (diff)
downloadchouette-core-7e34d2737f54f5ced79a0dd836835a769d4439ea.tar.bz2
Refs #2405: adding unselect marker action
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/actions/index.js4
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/components/OlMap.js2
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/components/StopPoint.js3
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/components/StopPointList.js6
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/containers/VisibleStopPoints.js3
-rw-r--r--app/assets/javascripts/es6_browserified/itineraries/reducers/stopPoints.js13
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
}
})