discourse/app/assets/javascripts/admin/addon/routes/admin-site-settings.js
Ted Johansson 8483d09fc4
UX: Add missing admin config page titles (#32198)
A number of admin config pages are missing a page title. This PR adds them in.
2025-04-08 10:02:11 +08:00

56 lines
1.3 KiB
JavaScript
Vendored

import { action } from "@ember/object";
import { service } from "@ember/service";
import DiscourseRoute from "discourse/routes/discourse";
import { i18n } from "discourse-i18n";
import SiteSetting from "admin/models/site-setting";
export default class AdminSiteSettingsRoute extends DiscourseRoute {
@service siteSettingChangeTracker;
queryParams = {
filter: { replace: true },
};
titleToken() {
return i18n("admin.config.site_settings.title");
}
model() {
return SiteSetting.findAll();
}
afterModel(siteSettings) {
const controller = this.controllerFor("adminSiteSettings");
if (!controller.get("visibleSiteSettings")) {
controller.set("visibleSiteSettings", siteSettings);
}
}
@action
async willTransition(transition) {
if (
this.siteSettingChangeTracker.hasUnsavedChanges &&
transition.from.name !== transition.to.name
) {
transition.abort();
await this.siteSettingChangeTracker.confirmTransition();
transition.retry();
}
}
@action
refreshAll() {
SiteSetting.findAll().then((settings) => {
this.controllerFor("adminSiteSettings").set("model", settings);
});
}
resetController(controller, isExiting) {
if (isExiting) {
controller.set("filter", "");
}
}
}