aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haddad2017-03-10 11:39:03 +0100
committerThomas Haddad2017-03-10 11:39:03 +0100
commit8ddfc8c0441eaa29fee3974d9d74d078ddc83502 (patch)
tree86477122517de4cdac0d290afd195c9ccf331174
parent35f49c9df1c615edc7cd8fca10c225972ffbe81d (diff)
downloadchouette-core-8ddfc8c0441eaa29fee3974d9d74d078ddc83502.tar.bz2
Refs #2501: Add queryString to vj state when coming from a journeypattern
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com> Signed-off-by: Jean-Paul Lescouzeres <jean-paul.lescouzeres@af83.com>
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js5
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js2
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js4
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/index.js17
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js3
5 files changed, 25 insertions, 6 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
index 25fa3b221..d6de64256 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
@@ -350,6 +350,11 @@ const actions = {
return d.toString()
}
},
+ encodeParams: (params) => {
+ let esc = encodeURIComponent
+ let queryString = Object.keys(params).map((k) => esc(k) + '=' + esc(params[k])).join('&')
+ return queryString
+ },
fillEmptyFields: (vjas) => {
if (vjas.departure_time.hour == null) vjas.departure_time.hour = '00'
if (vjas.departure_time.minute == null) vjas.departure_time.minute = '00'
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js
index ddf40b88d..fcc5fd153 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourneys.js
@@ -9,7 +9,7 @@ class VehicleJourneys extends Component{
this.previousCity = undefined
}
componentDidMount() {
- this.props.onLoadFirstPage()
+ this.props.onLoadFirstPage(this.props.filters)
}
componentDidUpdate(prevProps, prevState) {
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js
index 7cedc3ec0..176a68500 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/VehicleJourneysList.js
@@ -13,9 +13,9 @@ const mapStateToProps = (state) => {
const mapDispatchToProps = (dispatch) => {
return {
- onLoadFirstPage: () =>{
+ onLoadFirstPage: (filters) =>{
dispatch(actions.fetchingApi())
- actions.fetchVehicleJourneys(dispatch)
+ actions.fetchVehicleJourneys(dispatch, undefined, undefined, filters.queryString)
},
onUpdateTime: (e, subIndex, index, timeUnit, isDeparture, isArrivalsToggled) => {
dispatch(actions.updateTime(e.target.value, subIndex, index, timeUnit, isDeparture, isArrivalsToggled))
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
index ce64d3692..517f5c922 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
@@ -4,10 +4,11 @@ var Provider = require('react-redux').Provider
var createStore = require('redux').createStore
var vehicleJourneysApp = require('./reducers')
var App = require('./components/App')
+var actions = require("./actions")
var enableBatching = require('./batch').enableBatching
// logger, DO NOT REMOVE
-var applyMiddleware = require('redux').applyMiddleware
+// var applyMiddleware = require('redux').applyMiddleware
// var createLogger = require('redux-logger')
// var thunkMiddleware = require('redux-thunk').default
// var promise = require('redux-promise')
@@ -62,6 +63,20 @@ var initialState = {
confirmModal: {}
}
}
+
+if (window.jpOrigin){
+ initialState.filters.query.journeyPattern = {
+ id: window.jpOrigin.id,
+ name: window.jpOrigin.name,
+ published_name: window.jpOrigin.published_name,
+ objectid: window.jpOrigin.objectid
+ }
+ let params = {
+ 'q[journey_pattern_id_eq]': initialState.filters.query.journeyPattern.id,
+ }
+ initialState.filters.queryString = actions.encodeParams(params)
+}
+
// const loggerMiddleware = createLogger()
let store = createStore(
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js
index c2deaf019..5b5ba0788 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/filters.js
@@ -55,8 +55,7 @@ const filters = (state = {}, action) => {
'q[vehicle_journey_at_stops_departure_time_gteq]': (state.query.interval.start.hour + ':' + state.query.interval.start.minute),
'q[vehicle_journey_at_stops_departure_time_lteq]': (state.query.interval.end.hour + ':' + state.query.interval.end.minute)
}
- let esc = encodeURIComponent
- let queryString = Object.keys(params).map((k) => esc(k) + '=' + esc(params[k])).join('&')
+ let queryString = actions.encodeParams(params)
return Object.assign({}, state, {queryString: queryString})
default:
return state