--- a/includes/clientside/tinymce/plugins/paste/js/pasteword.js Mon Dec 21 15:41:05 2009 -0500
+++ b/includes/clientside/tinymce/plugins/paste/js/pasteword.js Tue Dec 22 13:09:59 2009 -0500
@@ -1,56 +1,51 @@
tinyMCEPopup.requireLangPack();
-function saveContent() {
- var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+var PasteWordDialog = {
+ init : function() {
+ var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
- if (html == ''){
- tinyMCEPopup.close();
- return false;
- }
-
- tinyMCEPopup.execCommand('mcePasteWord', false, html);
- tinyMCEPopup.close();
-}
+ // Create iframe
+ el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>';
+ ifr = document.getElementById('iframe');
+ doc = ifr.contentWindow.document;
-function onLoadInit() {
- tinyMCEPopup.resizeToInnerSize();
+ // Force absolute CSS urls
+ css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")];
+ css = css.concat(tinymce.explode(ed.settings.content_css) || []);
+ tinymce.each(css, function(u) {
+ cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />';
+ });
- // Fix for endless reloading in FF
- window.setTimeout(createIFrame, 10);
-}
+ // Write content into iframe
+ doc.open();
+ doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>');
+ doc.close();
-function createIFrame() {
- document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
-}
-
-var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+ doc.designMode = 'on';
+ this.resize();
-function initIframe(doc) {
- var dir = tinyMCEPopup.editor.settings.directionality;
-
- doc.body.dir = dir;
+ window.setTimeout(function() {
+ ifr.contentWindow.focus();
+ }, 10);
+ },
- // Remove Gecko spellchecking
- if (tinymce.isGecko)
- doc.body.spellcheck = tinyMCEPopup.getParam("gecko_spellcheck");
+ insert : function() {
+ var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
- resizeInputs();
-}
+ tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true});
+ tinyMCEPopup.close();
+ },
-function resizeInputs() {
- if (!tinymce.isIE) {
- wHeight = self.innerHeight - 80;
- wWidth = self.innerWidth - 18;
- } else {
- wHeight = document.body.clientHeight - 80;
- wWidth = document.body.clientWidth - 18;
- }
+ resize : function() {
+ var vp = tinyMCEPopup.dom.getViewPort(window), el;
+
+ el = document.getElementById('iframe');
- var elm = document.getElementById('frmData');
- if (elm) {
- elm.style.height = Math.abs(wHeight) + 'px';
- elm.style.width = Math.abs(wWidth) + 'px';
+ if (el) {
+ el.style.width = (vp.w - 20) + 'px';
+ el.style.height = (vp.h - 90) + 'px';
+ }
}
-}
+};
-tinyMCEPopup.onInit.add(onLoadInit);
+tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);