mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 22:43:30 +03:00
🐛 Fixed browser back button behaviour after clicking "x posts" on tags screen (#1306)
closes https://github.com/TryGhost/Ghost/issues/11057 - removed static "replace" configuration of posts/pages query params - used the router service to register a `willTransition` event handler which handles conditional replaceState transition behaviour only when filters are changed whilst already on the posts/pages route
This commit is contained in:
parent
0ba331ec5f
commit
4a11a72ea2
@ -5,30 +5,36 @@ import {inject as service} from '@ember/service';
|
||||
|
||||
export default AuthenticatedRoute.extend({
|
||||
infinity: service(),
|
||||
router: service(),
|
||||
|
||||
queryParams: {
|
||||
type: {
|
||||
refreshModel: true,
|
||||
replace: true
|
||||
},
|
||||
author: {
|
||||
refreshModel: true,
|
||||
replace: true
|
||||
},
|
||||
tag: {
|
||||
refreshModel: true,
|
||||
replace: true
|
||||
},
|
||||
order: {
|
||||
refreshModel: true,
|
||||
replace: true
|
||||
}
|
||||
type: {refreshModel: true},
|
||||
author: {refreshModel: true},
|
||||
tag: {refreshModel: true},
|
||||
order: {refreshModel: true}
|
||||
},
|
||||
|
||||
modelName: 'post',
|
||||
|
||||
perPage: 30,
|
||||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
// if we're already on this route and we're transiting _to_ this route
|
||||
// then the filters are being changed and we shouldn't create a new
|
||||
// browser history entry
|
||||
// see https://github.com/TryGhost/Ghost/issues/11057
|
||||
this.router.on('routeWillChange', (transition) => {
|
||||
if (transition.to && (this.routeName === 'posts' || this.routeName === 'pages')) {
|
||||
let toThisRoute = transition.to.find(route => route.name === this.routeName);
|
||||
if (transition.from && transition.from.name === this.routeName && toThisRoute) {
|
||||
transition.method('replace');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
model(params) {
|
||||
return this.session.user.then((user) => {
|
||||
let queryParams = {};
|
||||
|
Loading…
Reference in New Issue
Block a user