scinote-web/app/assets/javascripts/tinymce/plugins/custom_image_toolbar/plugin.js
2019-10-22 08:28:35 +02:00

36 lines
1.2 KiB
JavaScript

/* global tinymce MarvinJsEditor */
tinymce.PluginManager.add('custom_image_toolbar', function(editor) {
editor.addButton('image_download', {
icon: 'download',
onclick: function() {
var editorIframe = $('#' + editor.id).prev().find('.mce-edit-area iframe');
var image = editorIframe.contents().find('img[data-mce-selected="1"]');
window.open('/tiny_mce_assets/' + image.data('mceToken') + '/download', '_blank');
}
});
editor.addButton('marvinjs_edit', {
icon: 'pencil',
onclick: function() {
var editorIframe = $('#' + editor.id).prev().find('.mce-edit-area iframe');
var image = editorIframe.contents().find('img[data-mce-selected="1"]');
MarvinJsEditor.open({
mode: 'edit-tinymce',
marvinUrl: '/tiny_mce_assets/' + image[0].dataset.mceToken + '/marvinjs',
editor: editor,
image: image
});
}
});
function isImage(elem) {
return editor.dom.is(elem, 'img') && elem.dataset.mceToken;
}
function isMarvinJs(elem) {
return elem.dataset.sourceType === 'marvinjs';
}
editor.addContextToolbar(isImage, 'image_download');
editor.addContextToolbar(isMarvinJs, 'image_download marvinjs_edit');
});