discourse/plugins/discourse-details/assets/javascripts/initializers/apply-details.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 lines
842 B
JavaScript
Raw Normal View History

import I18n from "I18n";
2018-06-16 00:42:20 +08:00
import { withPluginApi } from "discourse/lib/plugin-api";
2015-11-30 18:32:01 +08:00
2016-06-16 21:25:18 +08:00
function initializeDetails(api) {
api.decorateCooked(($elem) => $("details", $elem), {
id: "discourse-details",
});
2016-06-16 21:25:18 +08:00
api.addToolbarPopupMenuOptionsCallback(() => {
return {
2018-06-16 00:42:20 +08:00
action: "insertDetails",
icon: "caret-right",
label: "details.title",
2016-06-16 21:25:18 +08:00
};
});
2018-06-16 00:42:20 +08:00
api.modifyClass("controller:composer", {
pluginId: "discourse-details",
2016-06-16 21:25:18 +08:00
actions: {
insertDetails() {
this.toolbarEvent.applySurround(
"\n" + `[details="${I18n.t("composer.details_title")}"]` + "\n",
"\n[/details]\n",
"details_text",
{ multiline: false }
);
2016-06-16 21:25:18 +08:00
},
},
});
}
2015-11-30 18:32:01 +08:00
export default {
name: "apply-details",
initialize() {
2018-06-16 00:42:20 +08:00
withPluginApi("0.8.7", initializeDetails);
2015-11-30 18:32:01 +08:00
},
};