From 676ec502acd8b6bddbb74cdfcd0d9fb217d0dccd Mon Sep 17 00:00:00 2001 From: tworrall Date: Mon, 11 Feb 2013 16:14:59 -0500 Subject: [PATCH] remove the Microsoft Office tags that get copied into the tinyMCE fields when users paste from a Office document. --- .../edit/forms/defaultDataPropertyForm.ftl | 5 +++ .../edit/forms/defaultFormScripts.ftl | 13 +++--- .../edit/forms/js/defaultDataPropertyUtils.js | 40 +++++++++++++++++++ 3 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 webapp/web/templates/freemarker/edit/forms/js/defaultDataPropertyUtils.js diff --git a/webapp/web/templates/freemarker/edit/forms/defaultDataPropertyForm.ftl b/webapp/web/templates/freemarker/edit/forms/defaultDataPropertyForm.ftl index 713dd9eee..a998410df 100644 --- a/webapp/web/templates/freemarker/edit/forms/defaultDataPropertyForm.ftl +++ b/webapp/web/templates/freemarker/edit/forms/defaultDataPropertyForm.ftl @@ -49,3 +49,8 @@ <#include "defaultFormScripts.ftl"> + diff --git a/webapp/web/templates/freemarker/edit/forms/defaultFormScripts.ftl b/webapp/web/templates/freemarker/edit/forms/defaultFormScripts.ftl index df8c180c1..9cbacf617 100644 --- a/webapp/web/templates/freemarker/edit/forms/defaultFormScripts.ftl +++ b/webapp/web/templates/freemarker/edit/forms/defaultFormScripts.ftl @@ -44,18 +44,18 @@ fix_nesting : true, cleanup_on_startup : true, gecko_spellcheck : true, - forced_root_block: false - //forced_root_block : 'p', + forced_root_block: false, + forced_root_block : 'p' // plugins: "paste", // theme_advanced_buttons1_add : "pastetext,pasteword,selectall", // paste_create_paragraphs: false, // paste_create_linebreaks: false, // paste_use_dialog : true, // paste_auto_cleanup_on_paste: true, - // paste_convert_headers_to_strong : true + // paste_convert_headers_to_strong : true, // save_callback : "customSave", // content_css : "example_advanced.css", - // extended_valid_elements : "a[href|target|name]", + // extended_valid_elements : "a[href|target|name]" // plugins : "table", // theme_advanced_buttons3_add_before : "tablecontrols,separator", // invalid_elements : "li", @@ -67,5 +67,6 @@ <#-- Script to enable browsing individuals within a class --> <#--'',--> ${scripts.add('', -'', - '')} \ No newline at end of file + '', + '', + '')} \ No newline at end of file diff --git a/webapp/web/templates/freemarker/edit/forms/js/defaultDataPropertyUtils.js b/webapp/web/templates/freemarker/edit/forms/js/defaultDataPropertyUtils.js new file mode 100644 index 000000000..ab72b4463 --- /dev/null +++ b/webapp/web/templates/freemarker/edit/forms/js/defaultDataPropertyUtils.js @@ -0,0 +1,40 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +var defaultDataPropertyUtils = { + + onLoad: function() { + + this.initObjectReferences(); + this.bindEventListeners(); + + }, + + initObjectReferences: function() { + + this.form = $('form.editForm'); + this.textArea = $('textarea.useTinyMce'); + + }, + + bindEventListeners: function() { + + this.form.submit(function() { + var theText = tinyMCE.get('literal').getContent(); + + if ( theText.indexOf("") > -1 ) { + var start = theText.indexOf("

") + 10); + var removeText = theText.slice(start,end); + var newText = theText.replace(removeText,""); + tinyMCE.get('literal').setContent(newText); + } + else if ( theText.indexOf("<!--") > -1 && theText.indexOf("-->") > -1 ) { + var start = theText.indexOf("

<!--"); + var end = (theText.indexOf("-->

") + 10); + var removeText = theText.slice(start,end); + var newText = theText.replace(removeText,""); + tinyMCE.get('literal').setContent(newText); + } + }); + }, +}