From e4fbb3be21e23276208a2ee68536a201ce45f119 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 12 Aug 2022 03:43:38 +0100 Subject: [PATCH] DEV: Update composer-fullscreen-prompt to template-only component (#17871) 1. Replace `{{did-insert` with the builtin `{{on` modifier 2. Move the i18n call into the template With both of those changes, there is no logic left in the backing class, so we can switch to `templateOnly()` which is significantly faster. (granted, not a big deal for a component like this, but it makes for a good demonstration) --- .../components/composer-fullscreen-prompt.hbs | 4 +-- .../components/composer-fullscreen-prompt.js | 25 ++----------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/admin/addon/templates/components/composer-fullscreen-prompt.hbs b/app/assets/javascripts/admin/addon/templates/components/composer-fullscreen-prompt.hbs index c9fc1d04e6..e75db03048 100644 --- a/app/assets/javascripts/admin/addon/templates/components/composer-fullscreen-prompt.hbs +++ b/app/assets/javascripts/admin/addon/templates/components/composer-fullscreen-prompt.hbs @@ -1,3 +1,3 @@ -
- {{html-safe this.exitPrompt}} +
+ {{html-safe (i18n "composer.exit_fullscreen_prompt")}}
diff --git a/app/assets/javascripts/discourse/app/components/composer-fullscreen-prompt.js b/app/assets/javascripts/discourse/app/components/composer-fullscreen-prompt.js index 5504224eb4..742bb3c18e 100644 --- a/app/assets/javascripts/discourse/app/components/composer-fullscreen-prompt.js +++ b/app/assets/javascripts/discourse/app/components/composer-fullscreen-prompt.js @@ -1,24 +1,3 @@ -import { action } from "@ember/object"; -import GlimmerComponent from "@glimmer/component"; -import I18n from "I18n"; +import templateOnly from "@ember/component/template-only"; -export default class ComposerFullscreenPrompt extends GlimmerComponent { - @action - registerAnimationListener(element) { - this.#addAnimationEventListener(element); - } - - #addAnimationEventListener(element) { - element.addEventListener( - "animationend", - () => { - this.args.removeFullScreenExitPrompt(); - }, - { once: true } - ); - } - - get exitPrompt() { - return I18n.t("composer.exit_fullscreen_prompt"); - } -} +export default templateOnly();