store route_opts from url param in session rather than next_route_options, so that they persist after page reload etc
This commit is contained in:
parent
e6d2afc99b
commit
ef05647ec4
1 changed files with 12 additions and 2 deletions
|
@ -513,6 +513,7 @@ c3nav = {
|
||||||
$location_details.removeClass('loading');
|
$location_details.removeClass('loading');
|
||||||
},
|
},
|
||||||
next_route_options: null,
|
next_route_options: null,
|
||||||
|
session_route_options: null,
|
||||||
load_route: function (origin, destination, nofly) {
|
load_route: function (origin, destination, nofly) {
|
||||||
var $route = $('#route-summary'),
|
var $route = $('#route-summary'),
|
||||||
$details_wrapper = $('#route-details'),
|
$details_wrapper = $('#route-details'),
|
||||||
|
@ -525,7 +526,7 @@ c3nav = {
|
||||||
c3nav_api.post('routing/route', {
|
c3nav_api.post('routing/route', {
|
||||||
origin: origin.id,
|
origin: origin.id,
|
||||||
destination: destination.id,
|
destination: destination.id,
|
||||||
options_override: c3nav.next_route_options ?? null,
|
options_override: c3nav.next_route_options ?? c3nav.session_route_options ?? null,
|
||||||
})
|
})
|
||||||
.then(data => c3nav._route_loaded(data, nofly))
|
.then(data => c3nav._route_loaded(data, nofly))
|
||||||
.catch(data => {
|
.catch(data => {
|
||||||
|
@ -803,7 +804,16 @@ c3nav = {
|
||||||
const route_options_str = new URLSearchParams(window.location.search).get('route_opts');
|
const route_options_str = new URLSearchParams(window.location.search).get('route_opts');
|
||||||
if (route_options_str) {
|
if (route_options_str) {
|
||||||
try {
|
try {
|
||||||
c3nav.next_route_options = JSON.parse(route_options_str);
|
c3nav.session_route_options = JSON.parse(route_options_str);
|
||||||
|
if (sessionStorage) {
|
||||||
|
sessionStorage.setItem('session-route-opts', JSON.stringify(c3nav.session_route_options));
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
} else if (sessionStorage) {
|
||||||
|
try {
|
||||||
|
c3nav.session_route_options = JSON.parse(sessionStorage.getItem('session-route-opts'));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue