FIX: ensures period-chooser is not losing query params (#10534)

eg repro before:
- visit http://pr-discourse.test/top/weekly?f=foo
- select another period in the period chooser
- f=foo was gone

After this commit it should still be present
This commit is contained in:
Joffrey JAFFEUX
2020-08-26 19:01:08 +02:00
committed by GitHub
parent ff4de97dfd
commit f5eccdd0b8
2 changed files with 33 additions and 0 deletions

View File

@@ -3,11 +3,13 @@ import Controller, { inject as controller } from "@ember/controller";
import DiscourseURL from "discourse/lib/url";
import Category from "discourse/models/category";
import { observes } from "discourse-common/utils/decorators";
import { inject as service } from "@ember/service";
export default Controller.extend({
discoveryTopics: controller("discovery/topics"),
navigationCategory: controller("navigation/category"),
application: controller(),
router: service(),
loading: false,
@@ -32,6 +34,16 @@ export default Controller.extend({
}
url += "/top/" + period;
const queryParams = this.router.currentRoute.queryParams;
if (Object.keys(queryParams).length) {
url =
`${url}?` +
Object.keys(queryParams)
.map(key => `${key}=${queryParams[key]}`)
.join("&");
}
return url;
},