This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/plugins/chat/assets/javascripts/discourse/pre-initializers/chat-plugin-api.js
Roman Rizzi 0a5f548635
DEV: Move discourse-chat to the core repo. (#18776)
As part of this move, we are also renaming `discourse-chat` to `chat`.
2022-11-02 10:41:30 -03:00

38 lines
1.0 KiB
JavaScript

import { withPluginApi } from "discourse/lib/plugin-api";
import {
addChatMessageDecorator,
resetChatMessageDecorators,
} from "discourse/plugins/chat/discourse/components/chat-message";
import { registerChatComposerButton } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons";
export default {
name: "chat-plugin-api",
after: "inject-discourse-objects",
initialize() {
withPluginApi("1.2.0", (api) => {
const apiPrototype = Object.getPrototypeOf(api);
if (!apiPrototype.hasOwnProperty("decorateChatMessage")) {
Object.defineProperty(apiPrototype, "decorateChatMessage", {
value(decorator) {
addChatMessageDecorator(decorator);
},
});
}
if (!apiPrototype.hasOwnProperty("registerChatComposerButton")) {
Object.defineProperty(apiPrototype, "registerChatComposerButton", {
value(button) {
registerChatComposerButton(button);
},
});
}
});
},
teardown() {
resetChatMessageDecorators();
},
};