From e700f0af93ff86130acebf541121e3f93d977a0f Mon Sep 17 00:00:00 2001 From: David Taylor Date: Wed, 15 Mar 2023 13:17:51 +0000 Subject: [PATCH] DEV: Update admin routes to native class syntax (#20686) --- .../admin/addon/routes/admin-api-index.js | 6 +- .../addon/routes/admin-api-keys-index.js | 6 +- .../admin/addon/routes/admin-api-keys-new.js | 6 +- .../admin/addon/routes/admin-api-keys-show.js | 6 +- .../admin/addon/routes/admin-api-keys.js | 21 +- .../admin/addon/routes/admin-backups-index.js | 12 +- .../admin/addon/routes/admin-backups-logs.js | 8 +- .../admin/addon/routes/admin-backups.js | 211 +++++++++--------- .../routes/admin-customize-colors-show.js | 11 +- .../addon/routes/admin-customize-colors.js | 8 +- .../admin-customize-email-style-edit.js | 53 ++--- .../admin-customize-email-style-index.js | 6 +- .../routes/admin-customize-email-style.js | 6 +- .../admin-customize-email-templates-edit.js | 10 +- .../routes/admin-customize-email-templates.js | 10 +- .../admin-customize-form-templates-index.js | 1 + .../addon/routes/admin-customize-index.js | 7 +- .../routes/admin-customize-robots-txt.js | 6 +- .../routes/admin-customize-themes-edit.js | 54 ++--- .../routes/admin-customize-themes-index.js | 8 +- .../routes/admin-customize-themes-show.js | 60 ++--- .../addon/routes/admin-customize-themes.js | 71 +++--- .../addon/routes/admin-dashboard-general.js | 6 +- .../addon/routes/admin-dashboard-reports.js | 8 +- .../admin/addon/routes/admin-dashboard.js | 6 +- .../admin/addon/routes/admin-email-bounced.js | 18 +- .../addon/routes/admin-email-incomings.js | 8 +- .../admin/addon/routes/admin-email-index.js | 6 +- .../admin/addon/routes/admin-email-logs.js | 6 +- .../routes/admin-email-preview-digest.js | 8 +- .../addon/routes/admin-email-received.js | 5 +- .../addon/routes/admin-email-rejected.js | 18 +- .../admin/addon/routes/admin-email-sent.js | 5 +- .../admin/addon/routes/admin-email-skipped.js | 5 +- .../admin/addon/routes/admin-embedding.js | 9 +- .../admin/addon/routes/admin-emojis.js | 6 +- .../addon/routes/admin-flags-posts-active.js | 6 +- .../addon/routes/admin-flags-posts-old.js | 6 +- .../addon/routes/admin-flags-topics-index.js | 8 +- .../admin/addon/routes/admin-logs-index.js | 6 +- .../routes/admin-logs-screened-emails.js | 6 +- .../admin-logs-screened-ip-addresses.js | 6 +- .../addon/routes/admin-logs-screened-urls.js | 6 +- .../routes/admin-logs-staff-action-logs.js | 41 ++-- .../admin/addon/routes/admin-permalinks.js | 8 +- .../admin/addon/routes/admin-plugins.js | 37 +-- .../admin/addon/routes/admin-reports-index.js | 6 +- .../admin/addon/routes/admin-reports-show.js | 52 ++--- .../addon/routes/admin-search-logs-index.js | 12 +- .../addon/routes/admin-search-logs-term.js | 12 +- .../routes/admin-site-settings-category.js | 6 +- .../addon/routes/admin-site-settings-index.js | 6 +- .../admin/addon/routes/admin-site-settings.js | 26 +-- .../addon/routes/admin-site-text-edit.js | 12 +- .../addon/routes/admin-site-text-index.js | 23 +- .../admin/addon/routes/admin-user-badges.js | 8 +- .../admin/addon/routes/admin-user-fields.js | 8 +- .../admin/addon/routes/admin-user-index.js | 10 +- .../routes/admin-user-tl3-requirements.js | 6 +- .../admin/addon/routes/admin-user.js | 10 +- .../admin/addon/routes/admin-users-index.js | 6 +- .../addon/routes/admin-users-list-index.js | 6 +- .../addon/routes/admin-users-list-show.js | 10 +- .../admin/addon/routes/admin-users-list.js | 32 +-- .../routes/admin-watched-words-action.js | 6 +- .../addon/routes/admin-watched-words-index.js | 6 +- .../admin/addon/routes/admin-watched-words.js | 12 +- .../addon/routes/admin-web-hooks-edit.js | 12 +- .../addon/routes/admin-web-hooks-show.js | 6 +- .../admin/addon/routes/admin-web-hooks.js | 8 +- .../javascripts/admin/addon/routes/admin.js | 10 +- 71 files changed, 583 insertions(+), 559 deletions(-) diff --git a/app/assets/javascripts/admin/addon/routes/admin-api-index.js b/app/assets/javascripts/admin/addon/routes/admin-api-index.js index 05c999b6323..a0fff155e6e 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-api-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-api-index.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminApiIndexRoute extends Route { beforeModel() { this.transitionTo("adminApiKeys"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-api-keys-index.js b/app/assets/javascripts/admin/addon/routes/admin-api-keys-index.js index cdf77212133..84af24382be 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-api-keys-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-api-keys-index.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminApiKeysIndexRoute extends Route { model() { return this.store.findAll("api-key"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-api-keys-new.js b/app/assets/javascripts/admin/addon/routes/admin-api-keys-new.js index cc375b0cc36..44ebc9066b5 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-api-keys-new.js +++ b/app/assets/javascripts/admin/addon/routes/admin-api-keys-new.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminApiKeysNewRoute extends Route { model() { return this.store.createRecord("api-key"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-api-keys-show.js b/app/assets/javascripts/admin/addon/routes/admin-api-keys-show.js index 37d9b24119e..368e5c8a8bf 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-api-keys-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-api-keys-show.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminApiKeysShowRoute extends Route { model(params) { return this.store.find("api-key", params.api_key_id); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-api-keys.js b/app/assets/javascripts/admin/addon/routes/admin-api-keys.js index bc733cc2bf4..c186ae53172 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-api-keys.js +++ b/app/assets/javascripts/admin/addon/routes/admin-api-keys.js @@ -1,13 +1,14 @@ +import { action } from "@ember/object"; import Route from "@ember/routing/route"; -export default Route.extend({ - actions: { - show(apiKey) { - this.transitionTo("adminApiKeys.show", apiKey.id); - }, +export default class AdminApiKeysRoute extends Route { + @action + show(apiKey) { + this.transitionTo("adminApiKeys.show", apiKey.id); + } - new() { - this.transitionTo("adminApiKeys.new"); - }, - }, -}); + @action + new() { + this.transitionTo("adminApiKeys.new"); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-backups-index.js b/app/assets/javascripts/admin/addon/routes/admin-backups-index.js index 1f7ea93a693..60187bf3722 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-backups-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-backups-index.js @@ -2,20 +2,20 @@ import Backup from "admin/models/backup"; import Route from "@ember/routing/route"; import { bind } from "discourse-common/utils/decorators"; -export default Route.extend({ +export default class AdminBackupsIndexRoute extends Route { activate() { this.messageBus.subscribe("/admin/backups", this.onMessage); - }, + } deactivate() { this.messageBus.unsubscribe("/admin/backups", this.onMessage); - }, + } model() { return Backup.find().then((backups) => backups.map((backup) => Backup.create(backup)) ); - }, + } @bind onMessage(backups) { @@ -23,5 +23,5 @@ export default Route.extend({ "model", backups.map((backup) => Backup.create(backup)) ); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-backups-logs.js b/app/assets/javascripts/admin/addon/routes/admin-backups-logs.js index 8de1ef52401..62fe429b057 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-backups-logs.js +++ b/app/assets/javascripts/admin/addon/routes/admin-backups-logs.js @@ -2,7 +2,7 @@ import EmberObject from "@ember/object"; import PreloadStore from "discourse/lib/preload-store"; import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminBackupsLogsRoute extends Route { // since the logs are pushed via the message bus // we only want to preload them (hence the beforeModel hook) beforeModel() { @@ -20,9 +20,9 @@ export default Route.extend({ logs.pushObjects(newLogs); } }); - }, + } setupController() { /* prevent default behavior */ - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-backups.js b/app/assets/javascripts/admin/addon/routes/admin-backups.js index 106dc821112..20b85252c0b 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-backups.js +++ b/app/assets/javascripts/admin/addon/routes/admin-backups.js @@ -1,7 +1,8 @@ +import { inject as service } from "@ember/service"; import Backup from "admin/models/backup"; import BackupStatus from "admin/models/backup-status"; import DiscourseRoute from "discourse/routes/discourse"; -import EmberObject from "@ember/object"; +import EmberObject, { action } from "@ember/object"; import I18n from "I18n"; import PreloadStore from "discourse/lib/preload-store"; import User from "discourse/models/user"; @@ -9,21 +10,20 @@ import { ajax } from "discourse/lib/ajax"; import { extractError } from "discourse/lib/ajax-error"; import getURL from "discourse-common/lib/get-url"; import showModal from "discourse/lib/show-modal"; -import { inject as service } from "@ember/service"; import { bind } from "discourse-common/utils/decorators"; const LOG_CHANNEL = "/admin/backups/logs"; -export default DiscourseRoute.extend({ - dialog: service(), +export default class AdminBackupsRoute extends DiscourseRoute { + @service dialog; activate() { this.messageBus.subscribe(LOG_CHANNEL, this.onMessage); - }, + } deactivate() { this.messageBus.unsubscribe(LOG_CHANNEL, this.onMessage); - }, + } model() { return PreloadStore.getAndRemove("operations_status", () => @@ -35,7 +35,7 @@ export default DiscourseRoute.extend({ allowRestore: status.allow_restore, }) ); - }, + } @bind onMessage(log) { @@ -62,104 +62,111 @@ export default DiscourseRoute.extend({ .get("logs") .pushObject(EmberObject.create(log)); } - }, + } - actions: { - showStartBackupModal() { - showModal("admin-start-backup", { admin: true }); - }, + @action + showStartBackupModal() { + showModal("admin-start-backup", { admin: true }); + } - startBackup(withUploads) { - this.transitionTo("admin.backups.logs"); - Backup.start(withUploads).then((result) => { - if (!result.success) { - this.dialog.alert(result.message); - } - }); - }, + @action + startBackup(withUploads) { + this.transitionTo("admin.backups.logs"); + Backup.start(withUploads).then((result) => { + if (!result.success) { + this.dialog.alert(result.message); + } + }); + } - destroyBackup(backup) { - return this.dialog.yesNoConfirm({ - message: I18n.t("admin.backups.operations.destroy.confirm"), - didConfirm: () => { - backup - .destroy() - .then(() => - this.controllerFor("adminBackupsIndex") - .get("model") - .removeObject(backup) - ); - }, - }); - }, - - startRestore(backup) { - this.dialog.yesNoConfirm({ - message: I18n.t("admin.backups.operations.restore.confirm"), - didConfirm: () => { - this.transitionTo("admin.backups.logs"); - backup.restore(); - }, - }); - }, - - cancelOperation() { - this.dialog.yesNoConfirm({ - message: I18n.t("admin.backups.operations.cancel.confirm"), - didConfirm: () => { - Backup.cancel().then(() => { - this.controllerFor("adminBackups").set( - "model.isOperationRunning", - false - ); - }); - }, - }); - }, - - rollback() { - return this.dialog.yesNoConfirm({ - message: I18n.t("admin.backups.operations.rollback.confirm"), - didConfirm: () => { - Backup.rollback().then((result) => { - if (!result.success) { - this.dialog.alert(result.message); - } else { - // redirect to homepage (session might be lost) - window.location = getURL("/"); - } - }); - }, - }); - }, - - uploadSuccess(filename) { - this.dialog.alert(I18n.t("admin.backups.upload.success", { filename })); - }, - - uploadError(filename, message) { - this.dialog.alert( - I18n.t("admin.backups.upload.error", { filename, message }) - ); - }, - - remoteUploadSuccess() { - Backup.find() - .then((backups) => backups.map((backup) => Backup.create(backup))) - .then((backups) => { - this.controllerFor("adminBackupsIndex").set( - "model", - backups.map((backup) => Backup.create(backup)) + @action + destroyBackup(backup) { + return this.dialog.yesNoConfirm({ + message: I18n.t("admin.backups.operations.destroy.confirm"), + didConfirm: () => { + backup + .destroy() + .then(() => + this.controllerFor("adminBackupsIndex") + .get("model") + .removeObject(backup) ); - }) - .catch((error) => { - this.dialog.alert( - I18n.t("admin.backups.backup_storage_error", { - error_message: extractError(error), - }) + }, + }); + } + + @action + startRestore(backup) { + this.dialog.yesNoConfirm({ + message: I18n.t("admin.backups.operations.restore.confirm"), + didConfirm: () => { + this.transitionTo("admin.backups.logs"); + backup.restore(); + }, + }); + } + + @action + cancelOperation() { + this.dialog.yesNoConfirm({ + message: I18n.t("admin.backups.operations.cancel.confirm"), + didConfirm: () => { + Backup.cancel().then(() => { + this.controllerFor("adminBackups").set( + "model.isOperationRunning", + false ); - return []; }); - }, - }, -}); + }, + }); + } + + @action + rollback() { + return this.dialog.yesNoConfirm({ + message: I18n.t("admin.backups.operations.rollback.confirm"), + didConfirm: () => { + Backup.rollback().then((result) => { + if (!result.success) { + this.dialog.alert(result.message); + } else { + // redirect to homepage (session might be lost) + window.location = getURL("/"); + } + }); + }, + }); + } + + @action + uploadSuccess(filename) { + this.dialog.alert(I18n.t("admin.backups.upload.success", { filename })); + } + + @action + uploadError(filename, message) { + this.dialog.alert( + I18n.t("admin.backups.upload.error", { filename, message }) + ); + } + + @action + remoteUploadSuccess() { + Backup.find() + .then((backups) => backups.map((backup) => Backup.create(backup))) + .then((backups) => { + this.controllerFor("adminBackupsIndex").set( + "model", + backups.map((backup) => Backup.create(backup)) + ); + }) + .catch((error) => { + this.dialog.alert( + I18n.t("admin.backups.backup_storage_error", { + error_message: extractError(error), + }) + ); + return []; + }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js b/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js index 35353d31f73..8dc3005cd80 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js @@ -1,17 +1,18 @@ import Route from "@ember/routing/route"; -export default Route.extend({ + +export default class AdminCustomizeColorsShowRoute extends Route { model(params) { const all = this.modelFor("adminCustomize.colors"); const model = all.findBy("id", parseInt(params.scheme_id, 10)); return model ? model : this.replaceWith("adminCustomize.colors.index"); - }, + } serialize(model) { return { scheme_id: model.get("id") }; - }, + } setupController(controller, model) { controller.set("model", model); controller.set("allColors", this.modelFor("adminCustomize.colors")); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-colors.js b/app/assets/javascripts/admin/addon/routes/admin-customize-colors.js index cf2dc3d18d4..5d6dbf9c833 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-colors.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-colors.js @@ -1,12 +1,12 @@ import ColorScheme from "admin/models/color-scheme"; import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminCustomizeColorsRoute extends Route { model() { return ColorScheme.findAll(); - }, + } setupController(controller, model) { controller.set("model", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-edit.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-edit.js index 847b21a75c9..7ca5c589bb8 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-edit.js @@ -1,15 +1,17 @@ +import { action } from "@ember/object"; +import { inject as service } from "@ember/service"; import I18n from "I18n"; import Route from "@ember/routing/route"; -import { inject as service } from "@ember/service"; -export default Route.extend({ - dialog: service(), +export default class AdminCustomizeEmailStyleEditRoute extends Route { + @service dialog; + model(params) { return { model: this.modelFor("adminCustomizeEmailStyle"), fieldName: params.field_name, }; - }, + } setupController(controller, model) { controller.setProperties({ @@ -17,26 +19,25 @@ export default Route.extend({ model: model.model, }); this._shouldAlertUnsavedChanges = true; - }, + } - actions: { - willTransition(transition) { - if ( - this.get("controller.model.changed") && - this._shouldAlertUnsavedChanges && - transition.intent.name !== this.routeName - ) { - transition.abort(); - this.dialog.confirm({ - message: I18n.t("admin.customize.theme.unsaved_changes_alert"), - confirmButtonLabel: "admin.customize.theme.discard", - cancelButtonLabel: "admin.customize.theme.stay", - didConfirm: () => { - this._shouldAlertUnsavedChanges = false; - transition.retry(); - }, - }); - } - }, - }, -}); + @action + willTransition(transition) { + if ( + this.get("controller.model.changed") && + this._shouldAlertUnsavedChanges && + transition.intent.name !== this.routeName + ) { + transition.abort(); + this.dialog.confirm({ + message: I18n.t("admin.customize.theme.unsaved_changes_alert"), + confirmButtonLabel: "admin.customize.theme.discard", + cancelButtonLabel: "admin.customize.theme.stay", + didConfirm: () => { + this._shouldAlertUnsavedChanges = false; + transition.retry(); + }, + }); + } + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js index baeca3d8c69..36863b65ec3 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminCustomizeEmailStyleIndexRoute extends Route { beforeModel() { this.replaceWith("adminCustomizeEmailStyle.edit", "html"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style.js index 209b1b75519..3e07735d06f 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style.js @@ -1,7 +1,7 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminCustomizeEmailStyleRoute extends Route { model() { return this.store.find("email-style"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates-edit.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates-edit.js index ae1e228d767..523b536f776 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates-edit.js @@ -1,18 +1,18 @@ import Route from "@ember/routing/route"; import { scrollTop } from "discourse/mixins/scroll-top"; -export default Route.extend({ +export default class AdminCustomizeEmailTemplatesEditRoute extends Route { model(params) { const all = this.modelFor("adminCustomizeEmailTemplates"); return all.findBy("id", params.id); - }, + } setupController(controller, emailTemplate) { controller.setProperties({ emailTemplate, saved: false }); scrollTop(); - }, + } deactivate() { this.controller.set("emailTemplate", null); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates.js index 217de52502c..a5202d4476a 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-templates.js @@ -1,14 +1,14 @@ import Route from "@ember/routing/route"; import { action } from "@ember/object"; -export default Route.extend({ +export default class AdminCustomizeEmailTemplatesRoute extends Route { model() { return this.store.findAll("email-template"); - }, + } setupController(controller, model) { controller.set("emailTemplates", model); - }, + } @action didTransition() { @@ -22,5 +22,5 @@ export default Route.extend({ this.controller.get("sortedTemplates.firstObject") ); } - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-form-templates-index.js b/app/assets/javascripts/admin/addon/routes/admin-customize-form-templates-index.js index 062e5f91e06..364388c29da 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-form-templates-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-form-templates-index.js @@ -1,6 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; import { action } from "@ember/object"; import FormTemplate from "admin/models/form-template"; + export default class AdminCustomizeFormTemplatesIndex extends DiscourseRoute { model() { return FormTemplate.findAll(); diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-index.js b/app/assets/javascripts/admin/addon/routes/admin-customize-index.js index 615926c1c3a..f3a3e8023af 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-index.js @@ -1,10 +1,11 @@ import Route from "@ember/routing/route"; -export default Route.extend({ + +export default class AdminCustomizeIndexRoute extends Route { beforeModel() { if (this.currentUser.admin) { this.transitionTo("adminCustomizeThemes"); } else { this.transitionTo("adminWatchedWords"); } - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-robots-txt.js b/app/assets/javascripts/admin/addon/routes/admin-customize-robots-txt.js index 99f9724bded..025c16bdaec 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-robots-txt.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-robots-txt.js @@ -1,8 +1,8 @@ import Route from "@ember/routing/route"; import { ajax } from "discourse/lib/ajax"; -export default Route.extend({ +export default class AdminCustomizeRobotsTxtRoute extends Route { model() { return ajax("/admin/customize/robots"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js index c72e9d07311..4dac37c7c54 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js @@ -1,9 +1,10 @@ +import { action } from "@ember/object"; +import { inject as service } from "@ember/service"; import I18n from "I18n"; import Route from "@ember/routing/route"; -import { inject as service } from "@ember/service"; -export default Route.extend({ - dialog: service(), +export default class AdminCustomizeThemesEditRoute extends Route { + @service dialog; model(params) { const all = this.modelFor("adminCustomizeThemes"); @@ -15,7 +16,7 @@ export default Route.extend({ field_name: params.field_name, } : this.replaceWith("adminCustomizeThemes.index"); - }, + } serialize(wrapper) { return { @@ -24,7 +25,7 @@ export default Route.extend({ field_name: wrapper.field_name || "scss", theme_id: wrapper.model.get("id"), }; - }, + } setupController(controller, wrapper) { const fields = wrapper.model @@ -48,27 +49,26 @@ export default Route.extend({ controller.set("fieldName", wrapper.field_name || "scss"); this.controllerFor("adminCustomizeThemes").set("editingTheme", true); this.set("shouldAlertUnsavedChanges", true); - }, + } - actions: { - willTransition(transition) { - if ( - this.get("controller.model.changed") && - this.shouldAlertUnsavedChanges && - transition.intent.name !== this.routeName - ) { - transition.abort(); + @action + willTransition(transition) { + if ( + this.get("controller.model.changed") && + this.shouldAlertUnsavedChanges && + transition.intent.name !== this.routeName + ) { + transition.abort(); - this.dialog.confirm({ - message: I18n.t("admin.customize.theme.unsaved_changes_alert"), - confirmButtonLabel: "admin.customize.theme.discard", - cancelButtonLabel: "admin.customize.theme.stay", - didConfirm: () => { - this.set("shouldAlertUnsavedChanges", false); - transition.retry(); - }, - }); - } - }, - }, -}); + this.dialog.confirm({ + message: I18n.t("admin.customize.theme.unsaved_changes_alert"), + confirmButtonLabel: "admin.customize.theme.discard", + cancelButtonLabel: "admin.customize.theme.stay", + didConfirm: () => { + this.set("shouldAlertUnsavedChanges", false); + transition.retry(); + }, + }); + } + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-index.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-index.js index 5e0af70da5b..ffbdb0d28de 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-index.js @@ -19,13 +19,13 @@ const externalResources = [ }, ]; -export default Route.extend({ +export default class AdminCustomizeThemesIndexRoute extends Route { setupController(controller) { - this._super(...arguments); + super.setupController(...arguments); this.controllerFor("adminCustomizeThemes").set("editingTheme", false); controller.setProperties({ externalResources, womanArtistEmojiURL: emojiUrlFor("woman_artist:t5"), }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js index 156dbf9dd0c..1481ca32cc2 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js @@ -1,24 +1,25 @@ +import { action } from "@ember/object"; +import { inject as service } from "@ember/service"; import { COMPONENTS, THEMES } from "admin/models/theme"; import I18n from "I18n"; import Route from "@ember/routing/route"; import { scrollTop } from "discourse/mixins/scroll-top"; -import { inject as service } from "@ember/service"; -export default Route.extend({ - dialog: service(), +export default class AdminCustomizeThemesShowRoute extends Route { + @service dialog; serialize(model) { return { theme_id: model.get("id") }; - }, + } model(params) { const all = this.modelFor("adminCustomizeThemes"); const model = all.findBy("id", parseInt(params.theme_id, 10)); return model ? model : this.replaceWith("adminCustomizeThemes.index"); - }, + } setupController(controller, model) { - this._super(...arguments); + super.setupController(...arguments); const parentController = this.controllerFor("adminCustomizeThemes"); @@ -37,11 +38,11 @@ export default Route.extend({ }); this.handleHighlight(model); - }, + } deactivate() { this.handleHighlight(); - }, + } handleHighlight(theme) { this.get("controller.allThemes") @@ -50,26 +51,27 @@ export default Route.extend({ if (theme) { theme.set("selected", true); } - }, + } - actions: { - didTransition() { - scrollTop(); - }, - willTransition(transition) { - const model = this.controller.model; - if (model.warnUnassignedComponent) { - transition.abort(); + @action + didTransition() { + scrollTop(); + } - this.dialog.yesNoConfirm({ - message: I18n.t("admin.customize.theme.unsaved_parent_themes"), - didConfirm: () => { - model.set("recentlyInstalled", false); - transition.retry(); - }, - didCancel: () => model.set("recentlyInstalled", false), - }); - } - }, - }, -}); + @action + willTransition(transition) { + const model = this.controller.model; + if (model.warnUnassignedComponent) { + transition.abort(); + + this.dialog.yesNoConfirm({ + message: I18n.t("admin.customize.theme.unsaved_parent_themes"), + didConfirm: () => { + model.set("recentlyInstalled", false); + transition.retry(); + }, + didCancel: () => model.set("recentlyInstalled", false), + }); + } + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes.js index 22878ded22e..99c8e52d0da 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes.js @@ -1,23 +1,24 @@ +import { action } from "@ember/object"; +import { inject as service } from "@ember/service"; import Route from "@ember/routing/route"; import showModal from "discourse/lib/show-modal"; import I18n from "I18n"; import { next } from "@ember/runloop"; -import { inject as service } from "@ember/service"; -export default Route.extend({ - dialog: service(), +export default class AdminCustomizeThemesRoute extends Route { + @service dialog; - queryParams: { + queryParams = { repoUrl: null, repoName: null, - }, + }; model() { return this.store.findAll("theme"); - }, + } setupController(controller, model) { - this._super(controller, model); + super.setupController(controller, model); controller.set("editingTheme", false); if (controller.repoUrl) { @@ -31,35 +32,33 @@ export default Route.extend({ }); }); } - }, + } - actions: { - installModal() { - const currentTheme = this.controllerFor( - "adminCustomizeThemes.show" - ).model; - if (currentTheme?.warnUnassignedComponent) { - this.dialog.yesNoConfirm({ - message: I18n.t("admin.customize.theme.unsaved_parent_themes"), - didConfirm: () => { - currentTheme.set("recentlyInstalled", false); - showModal("admin-install-theme", { admin: true }); - }, - }); - } else { - showModal("admin-install-theme", { admin: true }); - } - }, - - addTheme(theme) { - this.refresh(); - theme.setProperties({ recentlyInstalled: true }); - this.transitionTo("adminCustomizeThemes.show", theme.get("id"), { - queryParams: { - repoName: null, - repoUrl: null, + @action + installModal() { + const currentTheme = this.controllerFor("adminCustomizeThemes.show").model; + if (currentTheme?.warnUnassignedComponent) { + this.dialog.yesNoConfirm({ + message: I18n.t("admin.customize.theme.unsaved_parent_themes"), + didConfirm: () => { + currentTheme.set("recentlyInstalled", false); + showModal("admin-install-theme", { admin: true }); }, }); - }, - }, -}); + } else { + showModal("admin-install-theme", { admin: true }); + } + } + + @action + addTheme(theme) { + this.refresh(); + theme.setProperties({ recentlyInstalled: true }); + this.transitionTo("adminCustomizeThemes.show", theme.get("id"), { + queryParams: { + repoName: null, + repoUrl: null, + }, + }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-dashboard-general.js b/app/assets/javascripts/admin/addon/routes/admin-dashboard-general.js index b13cd8f4412..bd12fd02a59 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-dashboard-general.js +++ b/app/assets/javascripts/admin/addon/routes/admin-dashboard-general.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminDashboardGeneralRoute extends DiscourseRoute { activate() { this.controllerFor("admin-dashboard-general").fetchDashboard(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-dashboard-reports.js b/app/assets/javascripts/admin/addon/routes/admin-dashboard-reports.js index 79d03646644..dd0ba24a349 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-dashboard-reports.js +++ b/app/assets/javascripts/admin/addon/routes/admin-dashboard-reports.js @@ -1,12 +1,12 @@ import DiscourseRoute from "discourse/routes/discourse"; import { ajax } from "discourse/lib/ajax"; -export default DiscourseRoute.extend({ +export default class AdminDashboardReportsRoute extends DiscourseRoute { model() { return ajax("/admin/reports"); - }, + } setupController(controller, model) { controller.setProperties({ model: model.reports, filter: null }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-dashboard.js b/app/assets/javascripts/admin/addon/routes/admin-dashboard.js index d6c9442a76d..ca539ff87ad 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-dashboard.js +++ b/app/assets/javascripts/admin/addon/routes/admin-dashboard.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; import { scrollTop } from "discourse/mixins/scroll-top"; -export default DiscourseRoute.extend({ +export default class AdminDashboardRoute extends DiscourseRoute { activate() { this.controllerFor("admin-dashboard").fetchProblems(); this.controllerFor("admin-dashboard").fetchDashboard(); scrollTop(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-bounced.js b/app/assets/javascripts/admin/addon/routes/admin-email-bounced.js index d89010c9efa..74cb0975b9b 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-bounced.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-bounced.js @@ -1,13 +1,13 @@ +import { action } from "@ember/object"; import AdminEmailLogs from "admin/routes/admin-email-logs"; import showModal from "discourse/lib/show-modal"; -export default AdminEmailLogs.extend({ - status: "bounced", +export default class AdminEmailBouncedRoute extends AdminEmailLogs { + status = "bounced"; - actions: { - showIncomingEmail(id) { - showModal("admin-incoming-email", { admin: true }); - this.controllerFor("modals/admin-incoming-email").loadFromBounced(id); - }, - }, -}); + @action + showIncomingEmail(id) { + showModal("admin-incoming-email", { admin: true }); + this.controllerFor("modals/admin-incoming-email").loadFromBounced(id); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-incomings.js b/app/assets/javascripts/admin/addon/routes/admin-email-incomings.js index 6321c8ef01f..4f6273c11a4 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-incomings.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-incomings.js @@ -1,13 +1,13 @@ import DiscourseRoute from "discourse/routes/discourse"; import IncomingEmail from "admin/models/incoming-email"; -export default DiscourseRoute.extend({ +export default class AdminEmailIncomingsRoute extends DiscourseRoute { model() { return IncomingEmail.findAll({ status: this.status }); - }, + } setupController(controller, model) { controller.set("model", model); controller.set("filter.status", this.status); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-index.js b/app/assets/javascripts/admin/addon/routes/admin-email-index.js index 3a5eec63bba..b549094445d 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-index.js @@ -1,8 +1,8 @@ import DiscourseRoute from "discourse/routes/discourse"; import EmailSettings from "admin/models/email-settings"; -export default DiscourseRoute.extend({ +export default class AdminEmailIndexRoute extends DiscourseRoute { model() { return EmailSettings.find(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-logs.js b/app/assets/javascripts/admin/addon/routes/admin-email-logs.js index 24a0b94a6b6..7c18b6881d8 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-logs.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-logs.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminEmailLogsRoute extends DiscourseRoute { setupController(controller) { controller.setProperties({ loading: true, filter: { status: this.status }, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-preview-digest.js b/app/assets/javascripts/admin/addon/routes/admin-email-preview-digest.js index 730bcd0e7ea..104a0663945 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-preview-digest.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-preview-digest.js @@ -1,10 +1,10 @@ import EmailPreview, { oneWeekAgo } from "admin/models/email-preview"; import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminEmailPreviewDigestRoute extends DiscourseRoute { model() { return EmailPreview.findDigest(this.currentUser.get("username")); - }, + } afterModel(model) { const controller = this.controllerFor("adminEmailPreviewDigest"); @@ -14,5 +14,5 @@ export default DiscourseRoute.extend({ lastSeen: oneWeekAgo(), showHtml: true, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-received.js b/app/assets/javascripts/admin/addon/routes/admin-email-received.js index 663b946081c..06a1e6c4089 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-received.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-received.js @@ -1,2 +1,5 @@ import AdminEmailIncomings from "admin/routes/admin-email-incomings"; -export default AdminEmailIncomings.extend({ status: "received" }); + +export default class AdminEmailReceivedRoute extends AdminEmailIncomings { + status = "received"; +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-rejected.js b/app/assets/javascripts/admin/addon/routes/admin-email-rejected.js index ce45fa8962e..d09c81ef4fb 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-rejected.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-rejected.js @@ -1,13 +1,13 @@ +import { action } from "@ember/object"; import AdminEmailIncomings from "admin/routes/admin-email-incomings"; import showModal from "discourse/lib/show-modal"; -export default AdminEmailIncomings.extend({ - status: "rejected", +export default class AdminEmailRejectedRoute extends AdminEmailIncomings { + status = "rejected"; - actions: { - showIncomingEmail(id) { - showModal("admin-incoming-email", { admin: true }); - this.controllerFor("modals/admin-incoming-email").load(id); - }, - }, -}); + @action + showIncomingEmail(id) { + showModal("admin-incoming-email", { admin: true }); + this.controllerFor("modals/admin-incoming-email").load(id); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-sent.js b/app/assets/javascripts/admin/addon/routes/admin-email-sent.js index 8abfdb00875..566faf6b2ce 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-sent.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-sent.js @@ -1,2 +1,5 @@ import AdminEmailLogs from "admin/routes/admin-email-logs"; -export default AdminEmailLogs.extend({ status: "sent" }); + +export default class AdminEmailSentRoute extends AdminEmailLogs { + status = "sent"; +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-email-skipped.js b/app/assets/javascripts/admin/addon/routes/admin-email-skipped.js index 81c620e1692..b5eba7de969 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-email-skipped.js +++ b/app/assets/javascripts/admin/addon/routes/admin-email-skipped.js @@ -1,2 +1,5 @@ import AdminEmailLogs from "admin/routes/admin-email-logs"; -export default AdminEmailLogs.extend({ status: "skipped" }); + +export default class AdminEmailSkippedRoute extends AdminEmailLogs { + status = "skipped"; +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-embedding.js b/app/assets/javascripts/admin/addon/routes/admin-embedding.js index 6fb8704832e..a834cd7de45 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-embedding.js +++ b/app/assets/javascripts/admin/addon/routes/admin-embedding.js @@ -1,10 +1,11 @@ import Route from "@ember/routing/route"; -export default Route.extend({ + +export default class AdminEmbeddingRoute extends Route { model() { return this.store.find("embedding"); - }, + } setupController(controller, model) { controller.set("embedding", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-emojis.js b/app/assets/javascripts/admin/addon/routes/admin-emojis.js index 6d5b1ee648a..793a2ef31c8 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-emojis.js +++ b/app/assets/javascripts/admin/addon/routes/admin-emojis.js @@ -2,12 +2,12 @@ import DiscourseRoute from "discourse/routes/discourse"; import EmberObject from "@ember/object"; import { ajax } from "discourse/lib/ajax"; -export default DiscourseRoute.extend({ +export default class AdminEmojisRoute extends DiscourseRoute { model() { return ajax("/admin/customize/emojis.json").then(function (emojis) { return emojis.map(function (emoji) { return EmberObject.create(emoji); }); }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-flags-posts-active.js b/app/assets/javascripts/admin/addon/routes/admin-flags-posts-active.js index f637489bd3c..20a08ab11d5 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-flags-posts-active.js +++ b/app/assets/javascripts/admin/addon/routes/admin-flags-posts-active.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminFlagsPostsActiveRoute extends DiscourseRoute { model() { return this.store.findAll("flagged-post", { filter: "active" }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-flags-posts-old.js b/app/assets/javascripts/admin/addon/routes/admin-flags-posts-old.js index 81a14cfa8c8..043d90a3c98 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-flags-posts-old.js +++ b/app/assets/javascripts/admin/addon/routes/admin-flags-posts-old.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminFlagsPostsOldRoute extends DiscourseRoute { model() { return this.store.findAll("flagged-post", { filter: "old" }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-flags-topics-index.js b/app/assets/javascripts/admin/addon/routes/admin-flags-topics-index.js index 2f609050494..7e92ca02ef1 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-flags-topics-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-flags-topics-index.js @@ -1,11 +1,11 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminFlagsTopicsIndexRoute extends DiscourseRoute { model() { return this.store.findAll("flagged-topic"); - }, + } setupController(controller, model) { controller.set("flaggedTopics", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-logs-index.js b/app/assets/javascripts/admin/addon/routes/admin-logs-index.js index 1fff3f40686..11ae748adfe 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-logs-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-logs-index.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminLogsIndexRoute extends DiscourseRoute { redirect() { this.transitionTo("adminLogs.staffActionLogs"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-emails.js b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-emails.js index 30b51ece159..fe2642de744 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-emails.js +++ b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-emails.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminLogsScreenedEmailsRoute extends DiscourseRoute { setupController() { return this.controllerFor("adminLogsScreenedEmails").show(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-ip-addresses.js b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-ip-addresses.js index 6c0eb97c72c..ab4cc63d88e 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-ip-addresses.js +++ b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-ip-addresses.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminLogsScreenedIpAddressesRoute extends DiscourseRoute { setupController() { return this.controllerFor("adminLogsScreenedIpAddresses").show(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-urls.js b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-urls.js index a32e9034eb6..73a8bf7d0c5 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-logs-screened-urls.js +++ b/app/assets/javascripts/admin/addon/routes/admin-logs-screened-urls.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminLogsScreenedUrlsRoute extends DiscourseRoute { setupController() { return this.controllerFor("adminLogsScreenedUrls").show(); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-logs-staff-action-logs.js b/app/assets/javascripts/admin/addon/routes/admin-logs-staff-action-logs.js index 96ab615379a..279e1177fde 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-logs-staff-action-logs.js +++ b/app/assets/javascripts/admin/addon/routes/admin-logs-staff-action-logs.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; -import EmberObject from "@ember/object"; +import EmberObject, { action } from "@ember/object"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminLogsStaffActionLogsRoute extends DiscourseRoute { + queryParams = { filters: { refreshModel: true }, - }, + }; beforeModel(transition) { const params = transition.to.queryParams; @@ -12,15 +12,15 @@ export default DiscourseRoute.extend({ if (controller.filters === null || params.force_refresh) { controller.resetFilters(); } - }, + } deserializeQueryParam(value, urlKey, defaultValueType) { if (urlKey === "filters") { return EmberObject.create(JSON.parse(decodeURIComponent(value))); } - return this._super(value, urlKey, defaultValueType); - }, + return super.deserializeQueryParam(value, urlKey, defaultValueType); + } serializeQueryParam(value, urlKey, defaultValueType) { if (urlKey === "filters") { @@ -31,18 +31,17 @@ export default DiscourseRoute.extend({ } } - return this._super(value, urlKey, defaultValueType); - }, + return super.serializeQueryParam(value, urlKey, defaultValueType); + } - actions: { - onFiltersChange(filters) { - if (filters && Object.keys(filters) === 0) { - this.transitionTo("adminLogs.staffActionLogs"); - } else { - this.transitionTo("adminLogs.staffActionLogs", { - queryParams: { filters }, - }); - } - }, - }, -}); + @action + onFiltersChange(filters) { + if (filters && Object.keys(filters) === 0) { + this.transitionTo("adminLogs.staffActionLogs"); + } else { + this.transitionTo("adminLogs.staffActionLogs", { + queryParams: { filters }, + }); + } + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-permalinks.js b/app/assets/javascripts/admin/addon/routes/admin-permalinks.js index 8ff655465a9..8d3e59802a7 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-permalinks.js +++ b/app/assets/javascripts/admin/addon/routes/admin-permalinks.js @@ -1,12 +1,12 @@ import DiscourseRoute from "discourse/routes/discourse"; import Permalink from "admin/models/permalink"; -export default DiscourseRoute.extend({ +export default class AdminPermalinksRoute extends DiscourseRoute { model() { return Permalink.findAll(); - }, + } setupController(controller, model) { controller.set("model", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-plugins.js b/app/assets/javascripts/admin/addon/routes/admin-plugins.js index d028590f436..2882b6aba50 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-plugins.js +++ b/app/assets/javascripts/admin/addon/routes/admin-plugins.js @@ -1,22 +1,23 @@ +import { action } from "@ember/object"; import Route from "@ember/routing/route"; -export default Route.extend({ + +export default class AdminPluginsRoute extends Route { model() { return this.store.findAll("plugin"); - }, + } - actions: { - showSettings(plugin) { - const controller = this.controllerFor("adminSiteSettings"); - this.transitionTo("adminSiteSettingsCategory", "plugins").then(() => { - if (plugin) { - // filterContent() is normally on a debounce from typing. - // Because we don't want the default of "All Results", we tell it - // to skip the next debounce. - controller.set("filter", `plugin:${plugin.id}`); - controller.set("_skipBounce", true); - controller.filterContentNow("plugins"); - } - }); - }, - }, -}); + @action + showSettings(plugin) { + const controller = this.controllerFor("adminSiteSettings"); + this.transitionTo("adminSiteSettingsCategory", "plugins").then(() => { + if (plugin) { + // filterContent() is normally on a debounce from typing. + // Because we don't want the default of "All Results", we tell it + // to skip the next debounce. + controller.set("filter", `plugin:${plugin.id}`); + controller.set("_skipBounce", true); + controller.filterContentNow("plugins"); + } + }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-reports-index.js b/app/assets/javascripts/admin/addon/routes/admin-reports-index.js index 89cda3f7ace..5561067e4d8 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-reports-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-reports-index.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminReportsIndexRoute extends DiscourseRoute { beforeModel() { this.transitionTo("admin.dashboardReports"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-reports-show.js b/app/assets/javascripts/admin/addon/routes/admin-reports-show.js index 8aec4baf31c..dae623a5569 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-reports-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-reports-show.js @@ -1,13 +1,14 @@ +import { action } from "@ember/object"; import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminReportsShowRoute extends DiscourseRoute { + queryParams = { start_date: { refreshModel: true }, end_date: { refreshModel: true }, filters: { refreshModel: true }, chart_grouping: { refreshModel: true }, mode: { refreshModel: true }, - }, + }; model(params) { params.customFilters = params.filters; @@ -30,15 +31,15 @@ export default DiscourseRoute.extend({ delete params.chart_grouping; return params; - }, + } deserializeQueryParam(value, urlKey, defaultValueType) { if (urlKey === "filters") { return JSON.parse(decodeURIComponent(value)); } - return this._super(value, urlKey, defaultValueType); - }, + return super.deserializeQueryParam(value, urlKey, defaultValueType); + } serializeQueryParam(value, urlKey, defaultValueType) { if (urlKey === "filters") { @@ -49,25 +50,24 @@ export default DiscourseRoute.extend({ } } - return this._super(value, urlKey, defaultValueType); - }, + return super.serializeQueryParam(value, urlKey, defaultValueType); + } - actions: { - onParamsChange(params) { - const queryParams = { - type: params.type, - mode: params.mode, - start_date: params.startDate - ? params.startDate.toISOString(true).split("T")[0] - : null, - chart_grouping: params.chartGrouping, - filters: params.filters, - end_date: params.endDate - ? params.endDate.toISOString(true).split("T")[0] - : null, - }; + @action + onParamsChange(params) { + const queryParams = { + type: params.type, + mode: params.mode, + start_date: params.startDate + ? params.startDate.toISOString(true).split("T")[0] + : null, + chart_grouping: params.chartGrouping, + filters: params.filters, + end_date: params.endDate + ? params.endDate.toISOString(true).split("T")[0] + : null, + }; - this.transitionTo("adminReports.show", { queryParams }); - }, - }, -}); + this.transitionTo("adminReports.show", { queryParams }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-search-logs-index.js b/app/assets/javascripts/admin/addon/routes/admin-search-logs-index.js index c04f3b22b81..8c93fdc30dd 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-search-logs-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-search-logs-index.js @@ -2,11 +2,11 @@ import DiscourseRoute from "discourse/routes/discourse"; import EmberObject from "@ember/object"; import { ajax } from "discourse/lib/ajax"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminSearchLogsIndexRoute extends DiscourseRoute { + queryParams = { period: { refreshModel: true }, searchType: { refreshModel: true }, - }, + }; model(params) { this._params = params; @@ -15,7 +15,7 @@ export default DiscourseRoute.extend({ }).then((search_logs) => { return search_logs.map((sl) => EmberObject.create(sl)); }); - }, + } setupController(controller, model) { const params = this._params; @@ -24,5 +24,5 @@ export default DiscourseRoute.extend({ period: params.period, searchType: params.searchType, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-search-logs-term.js b/app/assets/javascripts/admin/addon/routes/admin-search-logs-term.js index 9847f44d19a..c0c658e6b5f 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-search-logs-term.js +++ b/app/assets/javascripts/admin/addon/routes/admin-search-logs-term.js @@ -4,12 +4,12 @@ import { ajax } from "discourse/lib/ajax"; import { fillMissingDates } from "discourse/lib/utilities"; import { translateResults } from "discourse/lib/search"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminSearchLogsTermRoute extends DiscourseRoute { + queryParams = { term: { refreshModel: true }, period: { refreshModel: true }, searchType: { refreshModel: true }, - }, + }; model(params) { this._params = params; @@ -40,7 +40,7 @@ export default DiscourseRoute.extend({ model.setProperties(json.term); return model; }); - }, + } setupController(controller, model) { const params = this._params; @@ -50,5 +50,5 @@ export default DiscourseRoute.extend({ period: params.period, searchType: params.searchType, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-settings-category.js b/app/assets/javascripts/admin/addon/routes/admin-site-settings-category.js index aab0b337db7..0d4f770db80 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-settings-category.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-settings-category.js @@ -2,7 +2,7 @@ import DiscourseRoute from "discourse/routes/discourse"; import EmberObject from "@ember/object"; import I18n from "I18n"; -export default DiscourseRoute.extend({ +export default class AdminSiteSettingsCategoryRoute extends DiscourseRoute { model(params) { // The model depends on user input, so let the controller do the work: this.controllerFor("adminSiteSettingsCategory").set( @@ -20,5 +20,5 @@ export default DiscourseRoute.extend({ "filteredContent" ), }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js b/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js index 75580cb404d..5f266784bd4 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js @@ -4,12 +4,12 @@ **/ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminSiteSettingsIndexRoute extends DiscourseRoute { beforeModel() { this.replaceWith( "adminSiteSettingsCategory", this.controllerFor("adminSiteSettings").get("visibleSiteSettings")[0] .nameKey ); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-settings.js b/app/assets/javascripts/admin/addon/routes/admin-site-settings.js index b97bc621bc1..a6fe9a12955 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-settings.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-settings.js @@ -1,14 +1,15 @@ +import { action } from "@ember/object"; import DiscourseRoute from "discourse/routes/discourse"; import SiteSetting from "admin/models/site-setting"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminSiteSettingsRoute extends DiscourseRoute { + queryParams = { filter: { replace: true }, - }, + }; model() { return SiteSetting.findAll(); - }, + } afterModel(siteSettings) { const controller = this.controllerFor("adminSiteSettings"); @@ -16,13 +17,12 @@ export default DiscourseRoute.extend({ if (!controller.get("visibleSiteSettings")) { controller.set("visibleSiteSettings", siteSettings); } - }, + } - actions: { - refreshAll() { - SiteSetting.findAll().then((settings) => { - this.controllerFor("adminSiteSettings").set("model", settings); - }); - }, - }, -}); + @action + refreshAll() { + SiteSetting.findAll().then((settings) => { + this.controllerFor("adminSiteSettings").set("model", settings); + }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-text-edit.js b/app/assets/javascripts/admin/addon/routes/admin-site-text-edit.js index 9a9677b687e..4fae723f898 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-text-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-text-edit.js @@ -1,10 +1,10 @@ import Route from "@ember/routing/route"; import { ajax } from "discourse/lib/ajax"; -export default Route.extend({ - queryParams: { +export default class AdminSiteTextEditRoute extends Route { + queryParams = { locale: { replace: true }, - }, + }; model(params) { return ajax( @@ -12,7 +12,7 @@ export default Route.extend({ ).then((result) => { return this.store.createRecord("site-text", result.site_text); }); - }, + } setupController(controller, siteText) { const locales = JSON.parse(this.siteSettings.available_locales); @@ -26,5 +26,5 @@ export default Route.extend({ saved: false, localeFullName, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-text-index.js b/app/assets/javascripts/admin/addon/routes/admin-site-text-index.js index 255315a8469..ecf7baafd55 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-text-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-text-index.js @@ -1,28 +1,27 @@ import Route from "@ember/routing/route"; -import { getProperties } from "@ember/object"; +import { action, getProperties } from "@ember/object"; import showModal from "discourse/lib/show-modal"; -export default Route.extend({ - queryParams: { +export default class AdminSiteTextIndexRoute extends Route { + queryParams = { q: { replace: true }, overridden: { replace: true }, locale: { replace: true }, - }, + }; model(params) { return this.store.find( "site-text", getProperties(params, "q", "overridden", "locale") ); - }, + } setupController(controller, model) { controller.set("siteTexts", model); - }, + } - actions: { - showReseedModal() { - showModal("admin-reseed", { admin: true }); - }, - }, -}); + @action + showReseedModal() { + showModal("admin-reseed", { admin: true }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-user-badges.js b/app/assets/javascripts/admin/addon/routes/admin-user-badges.js index 0c1621926ff..7d609fa5852 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-user-badges.js +++ b/app/assets/javascripts/admin/addon/routes/admin-user-badges.js @@ -2,11 +2,11 @@ import Badge from "discourse/models/badge"; import DiscourseRoute from "discourse/routes/discourse"; import UserBadge from "discourse/models/user-badge"; -export default DiscourseRoute.extend({ +export default class AdminUserBadgesRoute extends DiscourseRoute { model() { const username = this.modelFor("adminUser").get("username"); return UserBadge.findByUsername(username); - }, + } setupController(controller, model) { // Find all badges. @@ -23,5 +23,5 @@ export default DiscourseRoute.extend({ }); // Set the model. controller.set("model", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-user-fields.js b/app/assets/javascripts/admin/addon/routes/admin-user-fields.js index 79c908af647..bc3d4666c83 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-user-fields.js +++ b/app/assets/javascripts/admin/addon/routes/admin-user-fields.js @@ -1,12 +1,12 @@ import DiscourseRoute from "discourse/routes/discourse"; import UserField from "admin/models/user-field"; -export default DiscourseRoute.extend({ +export default class AdminUserFieldsRoute extends DiscourseRoute { model() { return this.store.findAll("user-field"); - }, + } setupController(controller, model) { controller.setProperties({ model, fieldTypes: UserField.fieldTypes() }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-user-index.js b/app/assets/javascripts/admin/addon/routes/admin-user-index.js index a6b329ac16c..7244eb35323 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-user-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-user-index.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; import Group from "discourse/models/group"; -export default DiscourseRoute.extend({ +export default class AdminUserIndexRoute extends DiscourseRoute { model() { return this.modelFor("adminUser"); - }, + } afterModel(model) { if (this.currentUser.admin) { @@ -13,7 +13,7 @@ export default DiscourseRoute.extend({ return model; }); } - }, + } setupController(controller, model) { controller.setProperties({ @@ -24,5 +24,5 @@ export default DiscourseRoute.extend({ ssoLastPayload: null, model, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-user-tl3-requirements.js b/app/assets/javascripts/admin/addon/routes/admin-user-tl3-requirements.js index 07919ecef88..29f141d305a 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-user-tl3-requirements.js +++ b/app/assets/javascripts/admin/addon/routes/admin-user-tl3-requirements.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminUserTl3RequirementsRoute extends DiscourseRoute { model() { return this.modelFor("adminUser"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-user.js b/app/assets/javascripts/admin/addon/routes/admin-user.js index b0dbd34741b..2fad4956a84 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-user.js +++ b/app/assets/javascripts/admin/addon/routes/admin-user.js @@ -2,22 +2,22 @@ import AdminUser from "admin/models/admin-user"; import DiscourseRoute from "discourse/routes/discourse"; import { get } from "@ember/object"; -export default DiscourseRoute.extend({ +export default class AdminUserRoute extends DiscourseRoute { serialize(model) { return { user_id: model.get("id"), username: model.get("username").toLowerCase(), }; - }, + } model(params) { return AdminUser.find(get(params, "user_id")); - }, + } afterModel(adminUser) { return adminUser.loadDetails().then(function () { adminUser.setOriginalTrustLevel(); return adminUser; }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-users-index.js b/app/assets/javascripts/admin/addon/routes/admin-users-index.js index 02d9cce4440..3c02566f804 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-users-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-users-index.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminUsersIndexRoute extends DiscourseRoute { redirect() { this.transitionTo("adminUsersList"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-users-list-index.js b/app/assets/javascripts/admin/addon/routes/admin-users-list-index.js index 29ae18db797..f1b044f4c25 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-users-list-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-users-list-index.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminUsersListIndexRoute extends DiscourseRoute { beforeModel() { this.transitionTo("adminUsersList.show", "active"); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-users-list-show.js b/app/assets/javascripts/admin/addon/routes/admin-users-list-show.js index 80eb675049d..f64a4f67c6f 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-users-list-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-users-list-show.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminUsersListShowRoute extends DiscourseRoute { + queryParams = { order: { refreshModel: true }, asc: { refreshModel: true }, - }, + }; // TODO: this has been introduced to fix a bug in admin-users-list-show // loading AdminUser model multiple times without refactoring the controller @@ -27,5 +27,5 @@ export default DiscourseRoute.extend({ controller.resetFilters(); } } - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-users-list.js b/app/assets/javascripts/admin/addon/routes/admin-users-list.js index 4630c8efc83..fa864fdaaaa 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-users-list.js +++ b/app/assets/javascripts/admin/addon/routes/admin-users-list.js @@ -1,22 +1,24 @@ +import { action } from "@ember/object"; import AdminUser from "admin/models/admin-user"; import DiscourseRoute from "discourse/routes/discourse"; import { exportEntity } from "discourse/lib/export-csv"; import { outputExportResult } from "discourse/lib/export-result"; -export default DiscourseRoute.extend({ - actions: { - exportUsers() { - exportEntity("user_list", { - trust_level: this.controllerFor("admin-users-list-show").get("query"), - }).then(outputExportResult); - }, +export default class AdminUsersListRoute extends DiscourseRoute { + @action + exportUsers() { + exportEntity("user_list", { + trust_level: this.controllerFor("admin-users-list-show").get("query"), + }).then(outputExportResult); + } - sendInvites() { - this.transitionTo("userInvited", this.currentUser); - }, + @action + sendInvites() { + this.transitionTo("userInvited", this.currentUser); + } - deleteUser(user) { - AdminUser.create(user).destroy({ deletePosts: true }); - }, - }, -}); + @action + deleteUser(user) { + AdminUser.create(user).destroy({ deletePosts: true }); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-watched-words-action.js b/app/assets/javascripts/admin/addon/routes/admin-watched-words-action.js index 5ba55219c7b..721e193b117 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-watched-words-action.js +++ b/app/assets/javascripts/admin/addon/routes/admin-watched-words-action.js @@ -2,7 +2,7 @@ import DiscourseRoute from "discourse/routes/discourse"; import EmberObject from "@ember/object"; import I18n from "I18n"; -export default DiscourseRoute.extend({ +export default class AdminWatchedWordsActionRoute extends DiscourseRoute { model(params) { const controller = this.controllerFor("adminWatchedWordsAction"); controller.set("actionNameKey", params.action_id); @@ -11,5 +11,5 @@ export default DiscourseRoute.extend({ name: I18n.t("admin.watched_words.actions." + params.action_id), words: controller.filteredContent, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js b/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js index 4015e117c11..4f9f0dc7026 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js @@ -1,10 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminWatchedWordsIndexRoute extends DiscourseRoute { beforeModel() { this.replaceWith( "adminWatchedWords.action", this.modelFor("adminWatchedWords")[0].nameKey ); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-watched-words.js b/app/assets/javascripts/admin/addon/routes/admin-watched-words.js index aa793646cbd..3d9756b5cfa 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-watched-words.js +++ b/app/assets/javascripts/admin/addon/routes/admin-watched-words.js @@ -1,17 +1,17 @@ import DiscourseRoute from "discourse/routes/discourse"; import WatchedWord from "admin/models/watched-word"; -export default DiscourseRoute.extend({ - queryParams: { +export default class AdminWatchedWordsRoute extends DiscourseRoute { + queryParams = { filter: { replace: true }, - }, + }; model() { return WatchedWord.findAll(); - }, + } afterModel(model) { const controller = this.controllerFor("adminWatchedWords"); controller.set("allWatchedWords", model); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-web-hooks-edit.js b/app/assets/javascripts/admin/addon/routes/admin-web-hooks-edit.js index 6bd96b117b3..58eef48edbb 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-web-hooks-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-web-hooks-edit.js @@ -1,9 +1,9 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminWebHooksEditRoute extends DiscourseRoute { serialize(model) { return { web_hook_id: model.id || "new" }; - }, + } model(params) { if (params.web_hook_id === "new") { @@ -11,10 +11,10 @@ export default DiscourseRoute.extend({ } return this.store.find("web-hook", params.web_hook_id); - }, + } setupController(controller, model) { - this._super(...arguments); + super.setupController(...arguments); if (model.get("isNew")) { model.set( @@ -24,5 +24,5 @@ export default DiscourseRoute.extend({ } controller.set("saved", false); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-web-hooks-show.js b/app/assets/javascripts/admin/addon/routes/admin-web-hooks-show.js index 369bbd00597..10ff93c51a0 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-web-hooks-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-web-hooks-show.js @@ -1,7 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -export default DiscourseRoute.extend({ +export default class AdminWebHooksShowRoute extends DiscourseRoute { model(params) { return this.store.find("web-hook", params.web_hook_id); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin-web-hooks.js b/app/assets/javascripts/admin/addon/routes/admin-web-hooks.js index 3619142a4c2..eefa7f347db 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-web-hooks.js +++ b/app/assets/javascripts/admin/addon/routes/admin-web-hooks.js @@ -1,9 +1,9 @@ import Route from "@ember/routing/route"; -export default Route.extend({ +export default class AdminWebHooksRoute extends Route { model() { return this.store.findAll("web-hook"); - }, + } setupController(controller, model) { controller.setProperties({ @@ -13,5 +13,5 @@ export default Route.extend({ contentTypes: model.extras.content_types, deliveryStatuses: model.extras.delivery_statuses, }); - }, -}); + } +} diff --git a/app/assets/javascripts/admin/addon/routes/admin.js b/app/assets/javascripts/admin/addon/routes/admin.js index e0949ba414c..201e0284084 100644 --- a/app/assets/javascripts/admin/addon/routes/admin.js +++ b/app/assets/javascripts/admin/addon/routes/admin.js @@ -1,19 +1,19 @@ import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; -export default DiscourseRoute.extend({ +export default class AdminRoute extends DiscourseRoute { titleToken() { return I18n.t("admin_title"); - }, + } activate() { this.controllerFor("application").setProperties({ showTop: false, showFooter: false, }); - }, + } deactivate() { this.controllerFor("application").set("showTop", true); - }, -}); + } +}