1 |
3 |
ahitrov@rambler.ru |
tinyMCEPopup.requireLangPack(); |
2 |
|
|
|
3 |
|
|
var PasteWordDialog = { |
4 |
|
|
init : function() { |
5 |
|
|
var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; |
6 |
|
|
|
7 |
|
|
// Create iframe |
8 |
|
|
el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>'; |
9 |
|
|
ifr = document.getElementById('iframe'); |
10 |
|
|
doc = ifr.contentWindow.document; |
11 |
|
|
|
12 |
|
|
// Force absolute CSS urls |
13 |
|
|
css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; |
14 |
|
|
css = css.concat(tinymce.explode(ed.settings.content_css) || []); |
15 |
|
|
tinymce.each(css, function(u) { |
16 |
|
|
cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />'; |
17 |
|
|
}); |
18 |
|
|
|
19 |
|
|
// Write content into iframe |
20 |
|
|
doc.open(); |
21 |
|
|
doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>'); |
22 |
|
|
doc.close(); |
23 |
|
|
|
24 |
|
|
doc.designMode = 'on'; |
25 |
|
|
this.resize(); |
26 |
|
|
|
27 |
|
|
window.setTimeout(function() { |
28 |
|
|
ifr.contentWindow.focus(); |
29 |
|
|
}, 10); |
30 |
|
|
}, |
31 |
|
|
|
32 |
|
|
insert : function() { |
33 |
|
|
var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; |
34 |
|
|
|
35 |
|
|
tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); |
36 |
|
|
tinyMCEPopup.close(); |
37 |
|
|
}, |
38 |
|
|
|
39 |
|
|
resize : function() { |
40 |
|
|
var vp = tinyMCEPopup.dom.getViewPort(window), el; |
41 |
|
|
|
42 |
|
|
el = document.getElementById('iframe'); |
43 |
|
|
|
44 |
|
|
if (el) { |
45 |
|
|
el.style.width = (vp.w - 20) + 'px'; |
46 |
|
|
el.style.height = (vp.h - 90) + 'px'; |
47 |
|
|
} |
48 |
|
|
} |
49 |
|
|
}; |
50 |
|
|
|
51 |
|
|
tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); |