From be7675bd80d7a7c860a2b4ddf15eeee34dc0f4a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Saquetim?= Date: Thu, 12 Dec 2024 18:05:49 -0300 Subject: [PATCH 1/4] DEV: Replace `api.modifyClass(model...)` with `addTrackedPostProperty` This commit replace patching the model class with a call to the new api `addTrackedPostProperty` to add tracked properties to the model --- .../extend-for-translate-button.js | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/assets/javascripts/discourse/initializers/extend-for-translate-button.js b/assets/javascripts/discourse/initializers/extend-for-translate-button.js index b8e993ad..920d5258 100644 --- a/assets/javascripts/discourse/initializers/extend-for-translate-button.js +++ b/assets/javascripts/discourse/initializers/extend-for-translate-button.js @@ -1,9 +1,8 @@ -import { tracked } from "@glimmer/tracking"; import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; import { withPluginApi } from "discourse/lib/plugin-api"; import { withSilencedDeprecations } from "discourse-common/lib/deprecated"; -import I18n from "I18n"; +import { i18n } from "discourse-i18n"; import ToggleTranslationButton from "../components/post-menu/toggle-translation-button"; import TranslatedPost from "../components/translated-post"; @@ -27,19 +26,13 @@ function customizePostMenu(api, container) { ); if (transformerRegistered) { - // the plugin outlet is not updated when the post instance is modified unless we extend it to add the tracking to - // the new properties - api.modifyClass( - "model:post", - (Superclass) => - class extends Superclass { - @tracked detectedLang; - @tracked isTranslating; - @tracked isTranslated; - @tracked translatedText; - @tracked translatedTitle; - } - ); + // the plugin outlet is not updated when the post instance is modified unless we register the new properties as + // tracked + api.addTrackedPostProperty("detectedLang"); + api.addTrackedPostProperty("isTranslating"); + api.addTrackedPostProperty("isTranslated"); + api.addTrackedPostProperty("translatedText"); + api.addTrackedPostProperty("translatedTitle"); api.renderBeforeWrapperOutlet("post-menu", TranslatedPost); } @@ -86,7 +79,7 @@ function customizeWidgetPostMenu(api) { ...titleElements, dec.h( "div.post-attribution", - I18n.t("translator.translated_from", { language, translator }) + i18n("translator.translated_from", { language, translator }) ), dec.cooked(dec.attrs.translated_text), ]); From 2132003bfa5a92112acb774d90a129d147d6b3f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Saquetim?= Date: Thu, 12 Dec 2024 18:16:15 -0300 Subject: [PATCH 2/4] Update compatibility info --- .discourse-compatibility | 1 + .../discourse/initializers/extend-for-translate-button.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.discourse-compatibility b/.discourse-compatibility index 77238b6a..34d9fd95 100644 --- a/.discourse-compatibility +++ b/.discourse-compatibility @@ -1,3 +1,4 @@ +< 3.4.0.beta3-dev: aa294470824ede8ac32b358390a8bb407f50fee8 < 3.4.0.beta1-dev: 5346b4bafba2c2fb817f030a473b7bbca97b909c < 3.3.0.beta1-dev: 6750e10a6d9dfd3fc2c9a0cac5a83aca1a8ee401 3.1.999: 20aed65b909fb41e22181067dc990b52ab0b7a96 diff --git a/assets/javascripts/discourse/initializers/extend-for-translate-button.js b/assets/javascripts/discourse/initializers/extend-for-translate-button.js index 920d5258..355e8428 100644 --- a/assets/javascripts/discourse/initializers/extend-for-translate-button.js +++ b/assets/javascripts/discourse/initializers/extend-for-translate-button.js @@ -144,6 +144,6 @@ function customizeWidgetPostMenu(api) { export default { name: "extend-for-translate-button", initialize() { - withPluginApi("1.34.0", (api) => initializeTranslation(api)); + withPluginApi("1.39.0", (api) => initializeTranslation(api)); }, }; From 21a33baf82b282a0a3c155242d624e6bdc9e8f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Saquetim?= Date: Tue, 24 Dec 2024 00:22:33 -0300 Subject: [PATCH 3/4] Use `addTrackedPostProperties` instead of `addTrackedPostProperty` --- .../initializers/extend-for-translate-button.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/discourse/initializers/extend-for-translate-button.js b/assets/javascripts/discourse/initializers/extend-for-translate-button.js index 355e8428..cb820efb 100644 --- a/assets/javascripts/discourse/initializers/extend-for-translate-button.js +++ b/assets/javascripts/discourse/initializers/extend-for-translate-button.js @@ -28,11 +28,13 @@ function customizePostMenu(api, container) { if (transformerRegistered) { // the plugin outlet is not updated when the post instance is modified unless we register the new properties as // tracked - api.addTrackedPostProperty("detectedLang"); - api.addTrackedPostProperty("isTranslating"); - api.addTrackedPostProperty("isTranslated"); - api.addTrackedPostProperty("translatedText"); - api.addTrackedPostProperty("translatedTitle"); + api.addTrackedPostProperties( + "detectedLang", + "isTranslating", + "isTranslated", + "translatedText", + "translatedTitle" + ); api.renderBeforeWrapperOutlet("post-menu", TranslatedPost); } @@ -144,6 +146,6 @@ function customizeWidgetPostMenu(api) { export default { name: "extend-for-translate-button", initialize() { - withPluginApi("1.39.0", (api) => initializeTranslation(api)); + withPluginApi("1.39.2", (api) => initializeTranslation(api)); }, }; From 7a633cf989cf7301f9d330a594eccf9c868f252e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Saquetim?= Date: Mon, 6 Jan 2025 15:14:34 -0300 Subject: [PATCH 4/4] Update .discourse-compatibility --- .discourse-compatibility | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.discourse-compatibility b/.discourse-compatibility index 34d9fd95..abf62cc7 100644 --- a/.discourse-compatibility +++ b/.discourse-compatibility @@ -1,4 +1,4 @@ -< 3.4.0.beta3-dev: aa294470824ede8ac32b358390a8bb407f50fee8 +< 3.4.0.beta3-dev: b4cf3a065884816fa3f770248c2bf908ba65d8ac < 3.4.0.beta1-dev: 5346b4bafba2c2fb817f030a473b7bbca97b909c < 3.3.0.beta1-dev: 6750e10a6d9dfd3fc2c9a0cac5a83aca1a8ee401 3.1.999: 20aed65b909fb41e22181067dc990b52ab0b7a96