diff --git a/app/assets/javascripts/results/result_texts.js b/app/assets/javascripts/results/result_texts.js index 4dca3affb..3df90f7a4 100644 --- a/app/assets/javascripts/results/result_texts.js +++ b/app/assets/javascripts/results/result_texts.js @@ -40,18 +40,18 @@ // Edit result text button behaviour function applyEditResultTextCallback() { - $('.edit-result-text').on('ajax:success', function(e, data) { + $('.edit-result-text').off().on('ajax:success', function(e, data) { var $result = $(this).closest('.result'); var $form = $(data.html); var $prevResult = $result; $result.after($form); - $result.remove(); + $prevResult.hide(); - formAjaxResultText($form); + formAjaxResultText($form, $prevResult); // Cancel button $form.find('.cancel-edit').click(function() { - $form.after($prevResult); + $prevResult.show(); $form.remove(); applyEditResultTextCallback(); TinyMCE.destroyAll(); @@ -64,9 +64,10 @@ } // Apply ajax callback to form - function formAjaxResultText($form) { + function formAjaxResultText($form, $prevResult) { $form.on('ajax:success', function(e, data) { var newResult; + if ($prevResult) $prevResult.remove(); $form.after(data.html); newResult = $form.next(); initFormSubmitLinks(newResult); diff --git a/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js b/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js index 0f92445f6..170578762 100644 --- a/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js +++ b/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js @@ -310,6 +310,10 @@ if (imageContainer === undefined) { createImageHiddenField(); } + + // Small fix for ResultText when you cancel after change MarvinJS + if (imageContainer === undefined) return []; + imageContainer.value = JSON.stringify(images); return JSON.stringify(images); }