WordPress/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js

1 line
12 KiB
JavaScript
Raw Normal View History

tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/width=['"]([0-9]*)['"] ?/),g&&(c=c.replace(g[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1]:"",f=f&&f[1]?f[1]:"alignnone",!g&&i&&(g=i.match(/width=['"]([0-9]*)['"]/)),g&&g[1]&&(g=g[1]),g&&h?(j=parseInt(g,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function c(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi,function(a,b,c,d){var e,f,g;return g=c.match(/width="([0-9]*)"/),g=g&&g[1]?g[1]:"",g&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",f=f.match(/align[a-z]+/)||"alignnone",d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+f+'" width="'+g+'"]'+c+" "+d+"[/caption]"):c}),0!==c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function d(b){var c,d,e,f,g,h=a.dom;return d={attachment_id:!1,url:!1,height:"",width:"",size:!1,caption:"",alt:"",align:"none",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:"",className:""},d.url=h.getAttrib(b,"src"),d.alt=h.getAttrib(b,"alt"),d.title=h.getAttrib(b,"title"),d.width=parseInt(h.getAttrib(b,"width"),10),d.height=parseInt(h.getAttrib(b,"height"),10),d.className=b.className,c=d.className.split(" "),tinymce.each(c,function(a){/^wp-image/.test(a)&&(d.attachment_id=parseInt(a.replace("wp-image-",""),10)),/^align/.test(a)&&(d.align=a.replace("align","")),/^size/.test(a)&&(d.size=a.replace("size-",""))}),e=h.getParents(b,".wp-caption"),e.length&&(e=e[0],c=e.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)&&(d.align=a.replace("align",""))}),f=h.select("dd.wp-caption-dd",e),f.length&&(f=f[0],d.caption=a.serializer.serialize(f).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(g=b.parentNode,d.linkUrl=h.getAttrib(g,"href"),d.linkTargetBlank="_blank"===h.getAttrib(g,"target")?!0:!1,d.linkRel=h.getAttrib(g,"rel"),d.linkClassName=g.className),d}function e(b,c){var d,e,g,h,j,k,l,m,n;c.caption?(h=f(c,"html"),e=parseInt(c.width,10),a.getParam("wpeditimage_html5_captions")||(e+=10),d="align"+c.align,n=c.attachment_id?'id="attachment_'+c.attachment_id+'" ':"",h="<dl "+n+'class="wp-caption '+d+'" style="width: '+e+'px"><dt class="wp-caption-dt">'+h+'</dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",g=a.dom.create("div",{"class":"mceTemp"},h)):g=f(c,"node"),k=b,j=a.dom.getParent(b,".mceTemp"),j?k=j:"A"===b.parentNode.nodeName&&(k=b.parentNode),l=a.dom.uniqueId("wp_"),a.dom.setAttrib(g,"data-wp-replace-id",l),a.dom.replace(g,k),g=a.dom.select('[data-wp-replace-id="'+l+'"]')[0],a.dom.setAttrib(g,"data-wp-replace-id",""),a.nodeChanged(),m="IMG"===g.nodeName?g:a.dom.select("img",g)[0],m&&(a.selection.select(m),i(m))}function f(b,c){var d,e,f=[];if(c=c?c:"node",b.caption||f.push("align"+b.align),b.attachment_id&&(f.push("wp-image-"+b.attachment_id),b.size&&f.push("size-"+b.size)),d={src:b.url,width:b.width,height:b.height,alt:b.alt,title:b.title||null},f.length&&(d["class"]=f.join(" ")),b.linkUrl){if(e={href:b.linkUrl},b.linkRel&&(e.rel=