diff --git a/app/assets/javascripts/my_modules/results.js.erb b/app/assets/javascripts/my_modules/results.js.erb index 781e392f1..72457fb1c 100644 --- a/app/assets/javascripts/my_modules/results.js.erb +++ b/app/assets/javascripts/my_modules/results.js.erb @@ -146,8 +146,8 @@ var $nameInput = $form.find('#result_name'); var nameValid = textValidator(ev, $nameInput, 0, <%= Constants::NAME_MAX_LENGTH %>); - var $descrTextarea = $form.find("#result_result_text_attributes_text"); - var $tinyMCEInput = TinyMCE.init('#result_result_text_attributes_text');; + var $descrTextarea = $form.find("#result_text_attributes_textarea"); + var $tinyMCEInput = TinyMCE.getContent(); textValidator(ev, $descrTextarea, 1, <%= Constants::RICH_TEXT_MAX_LENGTH %>, false, $tinyMCEInput); break; case ResultTypeEnum.COMMENT: @@ -216,6 +216,7 @@ event.stopImmediatePropagation(); $(form).remove(); toggleResultEditButtons(true); + TinyMCE.destroyAll(); callback(); }); } diff --git a/app/assets/javascripts/results/result_texts.js b/app/assets/javascripts/results/result_texts.js index b80f71d10..de56b76e7 100644 --- a/app/assets/javascripts/results/result_texts.js +++ b/app/assets/javascripts/results/result_texts.js @@ -27,8 +27,7 @@ formAjaxResultText($form); Results.initCancelFormButton($form, initNewReslutText); Results.toggleResultEditButtons(false); - TinyMCE.refresh(); - TinyMCE.highlight(); + TinyMCE.init('#result_text_attributes_textarea'); $('#result_name').focus(); }, error: function() { @@ -55,11 +54,11 @@ $form.after($prevResult); $form.remove(); applyEditResultTextCallback(); + TinyMCE.destroyAll(); Results.toggleResultEditButtons(true); }); Results.toggleResultEditButtons(false); - TinyMCE.refresh(); - TinyMCE.init('#result_result_text_attributes_text'); + TinyMCE.init('#result_text_attributes_textarea'); $('#result_name').focus(); }); } diff --git a/app/assets/javascripts/sitewide/tiny_mce.js b/app/assets/javascripts/sitewide/tiny_mce.js index 025df38b0..a0abbdaf4 100644 --- a/app/assets/javascripts/sitewide/tiny_mce.js +++ b/app/assets/javascripts/sitewide/tiny_mce.js @@ -46,7 +46,7 @@ var TinyMCE = (function() { // Hide element containing HTML view of RTE field tinyMceContainer = $(selector).closest('form').find('.tinymce-view'); tinyMceInitSize = tinyMceContainer.height(); - $(selector).closest('form').find('.form-group') + $(selector).closest('.form-group') .before('
'); tinyMceContainer.addClass('hidden'); 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 d62b794ac..7fc8eae0d 100644 --- a/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js +++ b/app/assets/javascripts/sitewide/tiny_mce_file_upload_plugin.js @@ -300,7 +300,9 @@ images = $.map($('img', iframe), e => { return e.dataset.mceToken; }); - $('#' + editor.id).next()[0].value = JSON.stringify(images); + if ($('#' + editor.id).next()[0]) { + $('#' + editor.id).next()[0].value = JSON.stringify(images); + } return JSON.stringify(images); } @@ -334,4 +336,4 @@ 'customimageuploader', tinymce.plugins.CustomImageUploader ); -})(); +}()); diff --git a/app/views/result_texts/_edit.html.erb b/app/views/result_texts/_edit.html.erb index f84dab479..e11c24eb6 100644 --- a/app/views/result_texts/_edit.html.erb +++ b/app/views/result_texts/_edit.html.erb @@ -2,12 +2,12 @@ <%= bootstrap_form_for(@result, url: result_text_path(format: :json), remote: :true) do |f| %> <%= f.text_field :name, style: "margin-top: 10px;" %>
<%= f.fields_for :result_text do |ff| %> -
- <%= ff.tiny_mce_editor(:text, - value: @result.result_text.tinymce_render(:text), - data: { object_type: 'result_text', - object_id: @result.result_text.id }) %> -
+ <%= ff.tiny_mce_editor(:text, + id: :result_text_attributes_textarea, + value: @result.result_text.tinymce_render(:text), + data: { object_type: 'result_text', + object_id: @result.result_text.id, + highlightjs_path: asset_path('highlightjs-github-theme.css') }) %> <% end %>