plugin.min.js 1.2 KB

1
  1. tinymce.PluginManager.add("pagebreak",function(e){var a="mce-pagebreak",t=e.getParam("pagebreak_separator","<!-- pagebreak -->");var n=new RegExp(t.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi");var r='<img src="'+tinymce.Env.transparentSrc+'" class="'+a+'" data-mce-resize="false" />';e.addCommand("mcePageBreak",function(){if(e.settings.pagebreak_split_block){e.insertContent("<p>"+r+"</p>")}else{e.insertContent(r)}});e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"});e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"});e.on("ResolveName",function(t){if(t.target.nodeName=="IMG"&&e.dom.hasClass(t.target,a)){t.name="pagebreak"}});e.on("click",function(t){t=t.target;if(t.nodeName==="IMG"&&e.dom.hasClass(t,a)){e.selection.select(t)}});e.on("BeforeSetContent",function(e){e.content=e.content.replace(n,r)});e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(a){var n=a.length,r,i;while(n--){r=a[n];i=r.attr("class");if(i&&i.indexOf("mce-pagebreak")!==-1){var c=r.parent;if(e.schema.getBlockElements()[c.name]&&e.settings.pagebreak_split_block){c.type=3;c.value=t;c.raw=true;r.remove();continue}r.type=3;r.value=t;r.raw=true}}})})});