]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/tinymce/plugins/paste/js/pasteword.js
Wordpress 2.8
[autoinstalls/wordpress.git] / wp-includes / js / tinymce / plugins / paste / js / pasteword.js
index ea9c29c2b08a676a65e0876904c05fa32a25934d..fb3e54da2ac130ff6696b434d1d01e79d7973696 100644 (file)
@@ -1,56 +1,51 @@
 tinyMCEPopup.requireLangPack();
 
-function saveContent() {
-       var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
-
-       if (html == ''){
+var PasteWordDialog = {
+       init : function() {
+               var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
+
+               // 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;
+
+               // 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" />';
+               });
+
+               // Write content into iframe
+               doc.open();
+               doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>');
+               doc.close();
+
+               doc.designMode = 'on';
+               this.resize();
+
+               window.setTimeout(function() {
+                       ifr.contentWindow.focus();
+               }, 10);
+       },
+
+       insert : function() {
+               var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
+
+               tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, h);
                tinyMCEPopup.close();
-               return false;
-       }
-
-       tinyMCEPopup.execCommand('mcePasteWord', false, html);
-       tinyMCEPopup.close();
-}
-
-function onLoadInit() {
-       tinyMCEPopup.resizeToInnerSize();
-
-       // Fix for endless reloading in FF
-       window.setTimeout(createIFrame, 10);
-}
-
-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;
+       resize : function() {
+               var vp = tinyMCEPopup.dom.getViewPort(window), el;
 
-function initIframe(doc) {
-       var dir = tinyMCEPopup.editor.settings.directionality;
-
-       doc.body.dir = dir;
-
-       // Remove Gecko spellchecking
-       if (tinymce.isGecko)
-               doc.body.spellcheck = tinyMCEPopup.getParam("gecko_spellcheck");
-
-       resizeInputs();
-}
-
-function resizeInputs() {
-       if (!tinymce.isIE) {
-               wHeight = self.innerHeight - 80;
-               wWidth = self.innerWidth - 18;
-       } else {
-               wHeight = document.body.clientHeight - 80;
-               wWidth = document.body.clientWidth - 18;
-       }
+               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);