50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
export default Discourse.Route.extend({
|
|
queryParams: {
|
|
period: { refreshModel: true },
|
|
order: { refreshModel: true },
|
|
asc: { refreshModel: true },
|
|
name: { refreshModel: true, replace: true }
|
|
},
|
|
|
|
refreshQueryWithoutTransition: true,
|
|
|
|
titleToken() {
|
|
return I18n.t("directory.title");
|
|
},
|
|
|
|
resetController(controller, isExiting) {
|
|
if (isExiting) {
|
|
controller.setProperties({
|
|
period: "weekly",
|
|
order: "likes_received",
|
|
asc: null,
|
|
name: ""
|
|
});
|
|
}
|
|
},
|
|
|
|
beforeModel() {
|
|
if (this.siteSettings.hide_user_profiles_from_public && !this.currentUser) {
|
|
this.replaceWith("discovery");
|
|
}
|
|
},
|
|
|
|
model(params) {
|
|
// If we refresh via `refreshModel` set the old model to loading
|
|
this._params = params;
|
|
return this.store.find("directoryItem", params);
|
|
},
|
|
|
|
setupController(controller, model) {
|
|
const params = this._params;
|
|
controller.setProperties({ model, period: params.period, nameInput: params.name });
|
|
},
|
|
|
|
actions: {
|
|
didTransition() {
|
|
this.controllerFor("users")._showFooter();
|
|
return true;
|
|
}
|
|
}
|
|
});
|