1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
!function(e,t){"use strict";function n(e,t){for(var n,i=[],a=0;a<e.length;++a){if(n=s[e[a]]||r(e[a]),!n)throw"module definition dependecy not found: "+e[a];i.push(n)}t.apply(null,i)}function i(e,i,a){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(a===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=a.apply(null,arguments)})}function a(e){return!!s[e]}function r(t){for(var n=e,i=t.split(/[.\/]/),a=0;a<i.length;++a){if(!n[i[a]])return;n=n[i[a]]}return n}function o(n){for(var i=0;i<n.length;i++){for(var a=e,r=n[i],o=r.split(/[.\/]/),l=0;l<o.length-1;++l)a[o[l]]===t&&(a[o[l]]={}),a=a[o[l]];a[o[o.length-1]]=s[r]}}var s={},l="tinymce/pasteplugin/Utils",c="tinymce/util/Tools",d="tinymce/html/DomParser",p="tinymce/html/Schema",u="tinymce/pasteplugin/Clipboard",f="tinymce/Env",g="tinymce/util/VK",m="tinymce/pasteplugin/WordFilter",v="tinymce/html/Serializer",h="tinymce/html/Node",y="tinymce/pasteplugin/Quirks",b="tinymce/pasteplugin/Plugin",w="tinymce/PluginManager";i(l,[c,d,p],function(e,t,n){function i(t,n){return e.each(n,function(e){t=e.constructor==RegExp?t.replace(e,""):t.replace(e[0],e[1])}),t}function a(i){function a(e){var t=e.name,n=e;if("br"===t)return void(s+="\n");if(l[t]&&(s+=" "),c[t])return void(s+=" ");if(3==e.type&&(s+=e.value),!e.shortEnded&&(e=e.firstChild))do a(e);while(e=e.next);d[t]&&n.next&&(s+="\n","p"==t&&(s+="\n"))}var r=new n,o=new t({},r),s="",l=r.getShortEndedElements(),c=e.makeMap("script noscript style textarea video audio iframe object"," "),d=r.getBlockElements();return a(o.parse(i)),s}return{filter:i,innerText:a}}),i(u,[f,g,l],function(e,t,n){return function(i){function a(e,t){var n,a=i.dom;if(i.settings.paste_data_images||(e=e.replace(/<img[^>]+src=\"data:image[^>]+>/g,"")),n=i.fire("BeforePastePreProcess",{content:e}),n=i.fire("PastePreProcess",n),e=n.content,!n.isDefaultPrevented()){if(i.hasEventListeners("PastePostProcess")&&!n.isDefaultPrevented()){var r=a.add(i.getBody(),"div",{style:"display:none"},e);n=i.fire("PastePostProcess",{node:r}),a.remove(r),e=n.node.innerHTML}if(!n.isDefaultPrevented()){var o=i.selection.getNode();if("PRE"==o.nodeName){if(!t)try{t=$(e).text()}catch(s){}t=t.replace(/</g,"<"),t=t.replace(/>/g,">"),i.insertRawContent(t)}else i.insertContent(e)}}}function r(e){var t=e;e=i.dom.encode(e).replace(/\r\n/g,"\n");var r=i.dom.getParent(i.selection.getStart(),i.dom.isBlock),o=i.settings.forced_root_block,s;o&&(s=i.dom.createHTML(o,i.settings.forced_root_block_attrs),s=s.substr(0,s.length-3)+">"),r&&/^(PRE|DIV)$/.test(r.nodeName)||!o?e=n.filter(e,[[/\n/g,"<br>"]]):(e=n.filter(e,[[/\n\n/g,"</p>"+s],[/^(.*<\/p>)(<p>)$/,s+"$1"],[/\n/g,"<br />"]]),-1!=e.indexOf("<p>")&&(e=s+e)),a(e,t)}function o(){var e=i.dom,t=i.getBody(),n=i.dom.getViewPort(i.getWin()),a=i.inline?t.scrollTop:n.y,r=i.inline?t.clientHeight:n.h;s(),f=e.add(i.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"1",style:"position: absolute; top: "+(a+20)+"px;width: 10px; height: "+(r-40)+"px; overflow: hidden; opacity: 0"},v),e.setStyle(f,"left","rtl"==e.getStyle(t,"direction",!0)?65535:-65535),e.bind(f,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),g=i.selection.getRng(),f.focus(),i.selection.select(f,!0)}function s(){f&&(i.dom.unbind(f),i.dom.remove(f),g&&i.selection.setRng(g)),h=!1,f=g=null}function l(){return f?f.innerHTML:v}function c(e){var t={},n=e.clipboardData||i.getDoc().dataTransfer;if(n&&n.types){t["text/plain"]=n.getData("Text");for(var a=0;a<n.types.length;a++){var r=n.types[a];t[r]=n.getData(r)}}return t}function d(e,t){function n(e,n){i.parentNode.removeChild(i),t({width:e,height:n})}var i=document.createElement("img");i.onload=function(){n(i.clientWidth,i.clientHeight)},i.onerror=function(){n()},i.src=e;var a=i.style;a.visibility="hidden",a.position="fixed",a.bottom=a.left=0,a.width=a.height="auto",document.body.appendChild(i)}function p(e){var t=(e.clipboardData||e.originalEvent.clipboardData).items;log(JSON.stringify(t));for(var n,i=0;i<t.length;i++)0===t[i].type.indexOf("image")&&(n=t[i].getAsFile());if(n){log(n);var a=new FileReader;a.onload=function(e){var t=new FormData;t.append("from","pasteImage"),t.append("file",n);var i=tinymce.EditorManager.activeEditor,a=i.dom,r={};r.id="__mcenew",r.src="http://leanote.com/images/loading-24.gif",i.insertContent(a.createHTML("img",r));var o=a.get("__mcenew");$.ajax({url:"/file/uploadImageJson",contentType:!1,processData:!1,data:t,type:"POST"}).done(function(e){return e&&"object"==typeof e&&e.Ok?(d(e.Id,function(t){t&&t.width&&(t.width>600&&(t.width=600),r.width=t.width,a.setAttrib(o,"width",r.width)),a.setAttrib(o,"src",e.Id)}),void a.setAttrib(o,"id",null)):void a.remove(o)})},a.readAsDataURL(n)}}var u=this,f,g,m=0,v="%MCEPASTEBIN%",h;i.on("keydown",function(n){if(!n.isDefaultPrevented()&&(t.metaKeyPressed(n)&&86==n.keyCode||n.shiftKey&&45==n.keyCode)){if(h=n.shiftKey&&86==n.keyCode,n.stopImmediatePropagation(),m=(new Date).getTime(),e.ie&&h)return n.preventDefault(),void i.fire("paste",{ieFake:!0});o()}}),i.on("paste",function(t){var d=c(t),p=(new Date).getTime()-m<100,g="text"==u.pasteFormat||h;p||t.preventDefault(),!e.ie||p&&!t.ieFake||(o(),i.dom.bind(f,"paste",function(e){e.stopPropagation()}),i.getDoc().execCommand("Paste",!1,null),d["text/html"]=l(),s()),setTimeout(function(){var e=l();return f&&f.firstChild&&"mcepastebin"===f.firstChild.id&&(g=!0),s(),e!=v&&p||(e=d["text/html"]||d["text/plain"]||v,e!=v)?void(g?r(d["text/plain"]||n.innerText(e)):a(e,d["text/plain"])):void(p||i.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."))},0)});try{p(y)}catch(y){}u.pasteHtml=a,u.pasteText=r}}),i(m,[c,d,p,v,h,l],function(e,t,n,i,a,r){function o(e){return/class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)}function s(s){var l=s.settings;s.on("BeforePastePreProcess",function(c){function d(e){function t(e,t,o,s){var l=e._listLevel||r;l!=r&&(r>l?n&&(n=n.parent.parent):(i=n,n=null)),n&&n.name==o?n.append(e):(i=i||n,n=new a(o,1),s>1&&n.attr("start",""+s),e.wrap(n)),e.name="li",t.value="";var c=t.next;c&&3==c.type&&(c.value=c.value.replace(/^\u00a0+/,"")),l>r&&i&&i.lastChild.append(n),r=l}for(var n,i,r=1,o=e.getAll("p"),s=0;s<o.length;s++)if(e=o[s],"p"==e.name&&e.firstChild){for(var l="",c=e.firstChild;c&&!(l=c.value);)c=c.firstChild;if(/^\s*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*$/.test(l)){t(e,c,"ul");continue}if(/^\s*\w+\.$/.test(l)){var d=/([0-9])\./.exec(l),p=1;d&&(p=parseInt(d[1],10)),t(e,c,"ol",p);continue}n=null}}function p(t,n){if("p"===t.name){var i=/mso-list:\w+ \w+([0-9]+)/.exec(n);i&&(t._listLevel=parseInt(i[1],10))}if(s.getParam("paste_retain_style_properties","none")){var a="";if(e.each(s.dom.parseStyle(n),function(e,t){switch(t){case"horiz-align":return void(t="text-align");case"vert-align":return void(t="vertical-align");case"font-color":case"mso-foreground":return void(t="color");case"mso-background":case"mso-highlight":t="background"}("all"==f||g&&g[t])&&(a+=t+":"+e+";")}),a)return a}return null}var u=c.content,f,g;if(f=l.paste_retain_style_properties,f&&(g=e.makeMap(f)),l.paste_enable_default_filters!==!1&&o(c.content)){c.wordContent=!0,u=r.filter(u,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var m=l.paste_word_valid_elements;m||(m="@[style],-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-table,-tr,-td[colspan|rowspan],-th,-thead,-tfoot,-tbody,-a[!href],sub,sup,strike,br");var v=new n({valid_elements:m}),h=new t({},v);h.addAttributeFilter("style",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("style",p(n,n.attr("style"))),"span"!=n.name||n.attributes.length||n.unwrap()});var y=h.parse(u);d(y),c.content=new i({},v).serialize(y)}})}return s.isWordContent=o,s}),i(y,[f,c,m,l],function(e,t,n,i){return function(a){function r(e){a.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function o(e){return e=i.filter(e,[/^[\s\S]*<!--StartFragment-->|<!--EndFragment-->[\s\S]*$/g,[/<span class="Apple-converted-space">\u00a0<\/span>/g,"\xa0"],/<br>$/])}function s(e){if(!n.isWordContent(e))return e;var r=[];t.each(a.schema.getBlockElements(),function(e,t){r.push(t)});var o=new RegExp("(?:<br> [\\s\\r\\n]+|<br>)*(<\\/?("+r.join("|")+")[^>]*>)(?:<br> [\\s\\r\\n]+|<br>)*","g");return e=i.filter(e,[[o,"$1"]]),e=i.filter(e,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function l(e){return(a.settings.paste_remove_styles||a.settings.paste_remove_styles_if_webkit!==!1)&&(e=e.replace(/ style=\"[^\"]+\"/g,"")),e}e.webkit&&(r(l),r(o)),e.ie&&r(s)}}),i(b,[w,u,m,y],function(e,t,n,i){var a;e.add("paste",function(e){function r(){"text"==s.pasteFormat?(this.active(!1),s.pasteFormat="html"):(s.pasteFormat="text",this.active(!0),a||(e.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),a=!0))}var o=this,s,l=e.settings;o.clipboard=s=new t(e),o.quirks=new i(e),o.wordFilter=new n(e),e.settings.paste_as_text&&(o.clipboard.pasteFormat="text"),l.paste_preprocess&&e.on("PastePreProcess",function(e){l.paste_preprocess.call(o,o,e)}),l.paste_postprocess&&e.on("PastePostProcess",function(e){l.paste_postprocess.call(o,o,e)}),e.addCommand("mceInsertClipboardContent",function(e,t){t.content&&o.clipboard.pasteHtml(t.content),t.text&&o.clipboard.pasteText(t.text)}),e.paste_block_drop&&e.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),e.settings.paste_data_images||e.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),e.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:r,active:"text"==o.clipboard.pasteFormat}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:s.pasteFormat,onclick:r})})}),o([l,u,m,y,b])}(this); |