root / static / js / tinymce / plugins / paste / js / pasteword.js @ 6ecbf4ec
History | View | Annotate | Download (1.6 kB)
1 |
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); |