DEV: add deprecation notice for decorateTopicTitle API (#24429)

* DEV: add deprecation notice for decorateTopicTitle API
This commit is contained in:
Kelv 2023-11-17 18:36:03 +08:00 committed by GitHub
parent 09b0548b5f
commit a5ed0ea5d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -1654,8 +1654,17 @@ class PluginApi {
* });
* ```
*
* @deprecated because modifying an Ember-rendered DOM tree can lead to very unexpected errors. Use plugin outlet connectors instead
**/
decorateTopicTitle(callback) {
deprecated(
"decorateTopicTitle is deprecated because modifying an Ember-rendered DOM tree can lead to very unexpected errors. Use plugin outlet connectors instead",
{
id: "discourse.decorate-topic-title",
since: "3.2",
dropFrom: "3.3",
}
);
addTopicTitleDecorator(callback);
}

View File

@ -19,6 +19,7 @@ import {
visible,
} from "discourse/tests/helpers/qunit-helpers";
import selectKit from "discourse/tests/helpers/select-kit-helper";
import { withSilencedDeprecations } from "discourse-common/lib/deprecated";
import { cloneJSON } from "discourse-common/lib/object";
import I18n from "discourse-i18n";
@ -463,8 +464,10 @@ acceptance("Topic with title decorated", function (needs) {
needs.user();
needs.hooks.beforeEach(() => {
withPluginApi("0.8.40", (api) => {
api.decorateTopicTitle((topic, node, topicTitleType) => {
node.innerText = `${node.innerText}-${topic.id}-${topicTitleType}`;
withSilencedDeprecations("discourse.decorate-topic-title", () => {
api.decorateTopicTitle((topic, node, topicTitleType) => {
node.innerText = `${node.innerText}-${topic.id}-${topicTitleType}`;
});
});
});
});