diff --git a/app/assets/javascripts/sitewide/marvinjs_editor.js b/app/assets/javascripts/sitewide/marvinjs_editor.js index 220c9ed40..617ccf394 100644 --- a/app/assets/javascripts/sitewide/marvinjs_editor.js +++ b/app/assets/javascripts/sitewide/marvinjs_editor.js @@ -186,6 +186,7 @@ var MarvinJsEditorApi = (function() { type: 'PUT', success: function(json) { if (config.objectType === 'TinyMceAsset') { + TinyMCE.makeItDirty(config.editor); config.image[0].src = json.url; config.image[0].dataset.mceSrc = json.url; } else { diff --git a/app/assets/javascripts/sitewide/tiny_mce.js b/app/assets/javascripts/sitewide/tiny_mce.js index ced584012..9953d0a35 100644 --- a/app/assets/javascripts/sitewide/tiny_mce.js +++ b/app/assets/javascripts/sitewide/tiny_mce.js @@ -31,6 +31,12 @@ var TinyMCE = (function() { + ''); } + function makeItDirty(editor) { + var editorForm = $(editor.getContainer()).closest('form'); + editorForm.find('.tinymce-status-badge').addClass('hidden'); + $(editor.getContainer()).find('.tinymce-save-button').removeClass('hidden'); + } + // returns a public API for TinyMCE editor return Object.freeze({ init: function(selector, onSaveCallback) { @@ -246,10 +252,7 @@ var TinyMCE = (function() { }); editor.on('Dirty', function() { - var editorForm = $(editor.getContainer()).closest('form'); - editorForm.find('.tinymce-status-badge').addClass('hidden'); - $(editor.getContainer()) - .find('.tinymce-save-button').removeClass('hidden'); + makeItDirty(editor); }); editor.on('remove', function() { @@ -286,6 +289,9 @@ var TinyMCE = (function() { $('#' + editor.id).next()[0].value = JSON.stringify(images); return JSON.stringify(images); }, + makeItDirty: function(editor) { + makeItDirty(editor); + }, highlight: initHighlightjs }); }()); diff --git a/app/assets/javascripts/tinymce/plugins/custom_image_toolbar/plugin.js b/app/assets/javascripts/tinymce/plugins/custom_image_toolbar/plugin.js index 724750e2a..4991b47ab 100644 --- a/app/assets/javascripts/tinymce/plugins/custom_image_toolbar/plugin.js +++ b/app/assets/javascripts/tinymce/plugins/custom_image_toolbar/plugin.js @@ -17,6 +17,7 @@ tinymce.PluginManager.add('custom_image_toolbar', function(editor) { MarvinJsEditor.open({ mode: 'edit-tinymce', marvinUrl: '/tiny_mce_assets/' + image[0].dataset.mceToken + '/marvinjs', + editor: editor, image: image }); }