[IMP] web_editor: user text copy/paste

Users copy/past text from various king of document into the editor.
These texts contain useless line breaks that should be removed before
pasting. Also, the editor currently add a paragraph element between
each line.

To correct this behaviour the onPaste callback of the summernote lib
is used. However for some reason, this is triggered after the text
is pasted (we should update and refactor the lib in a better way).
So this commit uses a hack: undo the past thanks to the undo command
then paste the formatted text we want.
This commit is contained in:
qsm-odoo
2016-07-04 17:23:59 +02:00
parent 62fb1bb924
commit 906875fc78
@@ -2302,6 +2302,15 @@ eventHandler.modules.popover.update = function ($popover, oStyle, isAirMode) {
}
};
options.onPaste = function (e) {
e.preventDefault(); // FIXME this does not work with our custom out-dated summernote.
document.execCommand("undo"); // FIXME ... so use this hack until we decide to do something about it.
var pastedText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
var formattedText = pastedText.replace(/([^.!?:;])\r?\n/g, "$1").trim(); // Remove linebreaks which are not at the end of a sentence
document.execCommand("insertText", false, formattedText);
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
var fn_attach = eventHandler.attach;