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

36 lines
803 B
Plaintext
Raw Normal View History

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).details());
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: 'insertDetails',
icon: 'caret-right',
label: 'details.title'
};
});
2016-07-01 01:55:44 +08:00
const ComposerController = api.container.lookupFactory("controller:composer");
2016-06-16 21:25:18 +08:00
ComposerController.reopen({
actions: {
insertDetails() {
this.get("toolbarEvent").applySurround(
2016-06-20 08:43:12 +08:00
`[details=${I18n.t("composer.details_title")}]`,
"[/details]",
"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() {
2016-07-01 09:25:37 +08:00
withPluginApi('0.5', initializeDetails);
2015-11-30 18:32:01 +08:00
}
};