Files
DiscoTOC/javascripts/discourse/initializers/disco-toc-composer.js
T

40 lines
1.1 KiB
JavaScript
Raw Normal View History

2022-01-18 09:18:21 -05:00
import { withPluginApi } from "discourse/lib/plugin-api";
2023-11-19 22:43:47 +01:00
import I18n from "I18n";
2022-01-18 09:18:21 -05:00
export default {
name: "disco-toc-composer",
initialize() {
withPluginApi("1.0.0", (api) => {
2022-01-18 09:18:21 -05:00
const currentUser = api.getCurrentUser();
if (!currentUser) {
return;
}
const minimumTL = settings.minimum_trust_level_to_create_TOC;
if (currentUser.trust_level >= minimumTL || currentUser.staff) {
2022-01-18 09:18:21 -05:00
if (!I18n.translations[I18n.currentLocale()].js.composer) {
I18n.translations[I18n.currentLocale()].js.composer = {};
}
I18n.translations[I18n.currentLocale()].js.composer.contains_dtoc = " ";
api.addComposerToolbarPopupMenuOption({
action: (toolbarEvent) => {
toolbarEvent.applySurround(
`<div data-theme-toc="true">`,
`</div>`,
"contains_dtoc"
);
},
icon: "align-left",
label: themePrefix("insert_table_of_contents"),
condition: (composer) => {
return composer.model.topicFirstPost;
2022-01-18 09:18:21 -05:00
},
});
2022-01-18 09:18:21 -05:00
}
});
},
};