86 lines
2.3 KiB
HTML
86 lines
2.3 KiB
HTML
<script type="text/discourse-plugin" version="0.4">
|
|
const { iconNode } = require("discourse-common/lib/icon-library");
|
|
|
|
|
|
// TOOLBAR
|
|
api.onToolbarCreate(toolbar => {
|
|
toolbar.addButton({
|
|
id: "underline_button",
|
|
group: "fontStyles",
|
|
icon: "underline",
|
|
perform: e => e.applySurround('[u]', '[/u]', 'underline_text')
|
|
});
|
|
});
|
|
api.onToolbarCreate(toolbar => {
|
|
toolbar.addButton({
|
|
id: "align_center_button",
|
|
group: "extras",
|
|
icon: "align-center",
|
|
perform: e => e.applySurround('<div align="center">', '</div>', 'align_center_text')
|
|
});
|
|
});
|
|
api.onToolbarCreate(toolbar => {
|
|
toolbar.addButton({
|
|
id: "align_right_button",
|
|
group: "extras",
|
|
icon: "align-right",
|
|
perform: e => e.applySurround('<div align="right">', '</div>', 'align_right_text')
|
|
});
|
|
});
|
|
api.onToolbarCreate(toolbar => {
|
|
toolbar.addButton({
|
|
id: "align_justify_button",
|
|
group: "extras",
|
|
icon: "align-justify",
|
|
perform: e => e.applySurround('<div align="justify">', '</div>', 'align_justify_text')
|
|
});
|
|
});
|
|
|
|
|
|
// EXTRAS
|
|
api.addToolbarPopupMenuOptionsCallback(() => {
|
|
return {
|
|
action: "strikethrough",
|
|
icon: "strikethrough",
|
|
label: "strikethrough_button"
|
|
};
|
|
});
|
|
api.modifyClass("controller:composer", {
|
|
actions: {
|
|
strikethrough() {
|
|
this.get("toolbarEvent").applySurround("<s>", "</s>", "strikethrough_prompt");
|
|
},
|
|
}
|
|
});
|
|
|
|
|
|
// TEXTS
|
|
let translations = I18n.translations[I18n.currentLocale()].js;
|
|
if (!translations) {
|
|
translations = {};
|
|
}
|
|
if (!translations.composer) {
|
|
translations.composer = {};
|
|
}
|
|
|
|
translations.composer.underline_button_title = settings.underline_button;
|
|
translations.composer.underline_text =
|
|
settings.underline_text;
|
|
|
|
translations.composer.align_center_button_title = settings.align_center_button;
|
|
translations.composer.align_center_text =
|
|
settings.align_center_text;
|
|
|
|
translations.composer.align_right_button_title = settings.align_right_button;
|
|
translations.composer.align_right_text =
|
|
settings.align_right_text;
|
|
|
|
translations.composer.align_justify_button_title = settings.align_justify_button;
|
|
translations.composer.align_justify_text =
|
|
settings.align_justify_text;
|
|
|
|
translations.strikethrough_button = settings.strikethrough_button;
|
|
translations.composer.strikethrough_prompt =
|
|
settings.strikethrough_prompt;
|
|
|
|
</script> |