Skip to content

Commit b23a178

Browse files
Merge pull request #1466 from opentripplanner/fix-print-layout-reload
Fix print layout reload
2 parents 405d1cd + 4b43fdb commit b23a178

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

lib/components/app/print-layout.tsx

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import { connect } from 'react-redux'
22
import { FormattedMessage, injectIntl, IntlShape } from 'react-intl'
33
import { Itinerary } from '@opentripplanner/types'
4+
import coreUtils from '@opentripplanner/core-utils'
45
import React, { Component } from 'react'
56

6-
import * as apiActions from '../../actions/api'
77
import * as formActions from '../../actions/form'
8+
import * as narrativeActions from '../../actions/narrative'
89
import { AppReduxState } from '../../util/state-types'
9-
import { getActiveItinerary, getActiveSearch } from '../../util/state'
10+
import {
11+
getActiveItineraries,
12+
getActiveSearch,
13+
getVisibleItineraryIndex
14+
} from '../../util/state'
1015
import { summarizeQuery } from '../form/user-settings-i18n'
1116
import { User } from '../user/types'
1217
import DefaultMap from '../map/default-map'
@@ -19,7 +24,8 @@ type Props = {
1924
intl: IntlShape
2025
itinerary: Itinerary
2126
location?: { search?: string }
22-
parseUrlQueryString: (params?: any, source?: string) => any
27+
parseUrlQueryString: (params?: any, source?: string) => void
28+
setVisibleItinerary: (params: { index: number }) => void
2329
user: User
2430
}
2531

@@ -37,6 +43,23 @@ class PrintLayout extends Component<Props> {
3743
}
3844
}
3945

46+
componentDidUpdate() {
47+
const { activeSearch, itinerary, setVisibleItinerary } = this.props
48+
49+
// Display the desired itinerary on map.
50+
if (!itinerary) {
51+
const { ui_activeItinerary: uiActiveItinerary } =
52+
coreUtils.query.getUrlParams() || {}
53+
if (
54+
activeSearch &&
55+
uiActiveItinerary !== undefined &&
56+
uiActiveItinerary !== '-1'
57+
) {
58+
setVisibleItinerary({ index: +uiActiveItinerary })
59+
}
60+
}
61+
}
62+
4063
render() {
4164
const { activeSearch, intl, itinerary, user } = this.props
4265
const printVerb = intl.formatMessage({ id: 'common.forms.print' })
@@ -68,16 +91,17 @@ const mapStateToProps = (state: AppReduxState) => {
6891
const activeSearch = getActiveSearch(state)
6992
const { localUser, loggedInUser } = state.user
7093
const user = loggedInUser || localUser
94+
const itineraries = getActiveItineraries(state)
7195
return {
7296
activeSearch,
73-
itinerary: getActiveItinerary(state) as Itinerary,
97+
itinerary: itineraries[getVisibleItineraryIndex(state)] as Itinerary,
7498
user
7599
}
76100
}
77101

78102
const mapDispatchToProps = {
79103
parseUrlQueryString: formActions.parseUrlQueryString,
80-
routingQuery: apiActions.routingQuery
104+
setVisibleItinerary: narrativeActions.setVisibleItinerary
81105
}
82106

83107
export default connect(

0 commit comments

Comments
 (0)