From 3593b5dc067d5b64b4394a12e7ac9da0cbdb7b1a Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Sat, 30 Jun 2012 08:02:42 +0200 Subject: [PATCH] saving tinymce content --- plone/app/toolbar/resources/src/plone.init.js | 2 +- plone/app/toolbar/resources/src/plone.overlay.js | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/plone/app/toolbar/resources/src/plone.init.js b/plone/app/toolbar/resources/src/plone.init.js index d08e4ed..1e35e6c 100644 --- a/plone/app/toolbar/resources/src/plone.init.js +++ b/plone/app/toolbar/resources/src/plone.init.js @@ -70,7 +70,7 @@ $.plone.init.register(function(context) { $(el).attr('id', id); var config = new TinyMCEConfig(id); - //delete InitializedTinyMCEInstances[id]; + delete InitializedTinyMCEInstances[id]; config.init(); }); diff --git a/plone/app/toolbar/resources/src/plone.overlay.js b/plone/app/toolbar/resources/src/plone.overlay.js index 9181136..f65c419 100644 --- a/plone/app/toolbar/resources/src/plone.overlay.js +++ b/plone/app/toolbar/resources/src/plone.overlay.js @@ -120,6 +120,16 @@ $.plone.overlay.Overlay.prototype = { }, form: 'form#form,form[name="edit_form"]', form_options: { + beforeSerialize: function(form, options) { + // save tinymce text to textarea + var textarea = $('.mce_editable', form), + textarea_id = textarea.attr('id'); + if (textarea.size() !== 0 && + tinyMCE.editors[textarea_id] !== undefined) { + tinyMCE.editors[textarea_id].save() + tinyMCE.editors[textarea_id].remove(); + } + }, success: function(response, state, xhr, form) { var old_el = self._el, response_body = $('
').html( @@ -132,6 +142,7 @@ $.plone.overlay.Overlay.prototype = { } old_el.remove(); self._init_el(); + self.show(); } else { if (self.options.save !== undefined) { self.options.save.apply(self, [ response_body, state, xhr, form ]); @@ -248,7 +259,7 @@ $.plone.overlay.Overlay.prototype = { }); }); - // initialize element + // initialize element's javascript widgets self._el.appendTo($('body')); self._el.ploneInit();