<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[41092] trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js: TinyMCE: remove unused code from the `wpeditimage` plugin.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/41092">41092</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/41092","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>azaozz</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2017-07-19 13:40:31 +0000 (Wed, 19 Jul 2017)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>TinyMCE: remove unused code from the `wpeditimage` plugin.
Fixes <a href="https://core.trac.wordpress.org/ticket/41369">#41369</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpincludesjstinymcepluginswpeditimagepluginjs">trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpincludesjstinymcepluginswpeditimagepluginjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js 2017-07-19 11:13:19 UTC (rev 41091)
+++ trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js 2017-07-19 13:40:31 UTC (rev 41092)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -587,231 +587,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> dom.addClass( editor.getBody(), captionClass );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- // Add caption field to the default image dialog
- editor.on( 'wpLoadImageForm', function( event ) {
- if ( editor.getParam( 'wpeditimage_disable_captions' ) ) {
- return;
- }
-
- var captionField = {
- type: 'textbox',
- flex: 1,
- name: 'wpcaption',
- minHeight: 60,
- multiline: true,
- scroll: true,
- label: 'Image caption'
- };
-
- event.data.splice( event.data.length - 1, 0, captionField );
- });
-
- // Fix caption parent width for images added from URL
- editor.on( 'wpNewImageRefresh', function( event ) {
- var parent, captionWidth;
-
- if ( parent = dom.getParent( event.node, 'dl.wp-caption' ) ) {
- if ( ! parent.style.width ) {
- captionWidth = parseInt( event.node.clientWidth, 10 ) + 10;
- captionWidth = captionWidth ? captionWidth + 'px' : '50%';
- dom.setStyle( parent, 'width', captionWidth );
- }
- }
- });
-
- editor.on( 'wpImageFormSubmit', function( event ) {
- var data = event.imgData.data,
- imgNode = event.imgData.node,
- caption = event.imgData.wpcaption,
- captionId = '',
- captionAlign = '',
- captionWidth = '',
- imgId = null,
- wrap, parent, node, html;
-
- // Temp image id so we can find the node later
- data.id = '__wp-temp-img-id';
- // Cancel the original callback
- event.imgData.cancel = true;
-
- if ( ! data.style ) {
- data.style = null;
- }
-
- if ( ! data.src ) {
- // Delete the image and the caption
- if ( imgNode ) {
- if ( wrap = dom.getParent( imgNode, 'div.mceTemp' ) ) {
- dom.remove( wrap );
- } else if ( imgNode.parentNode.nodeName === 'A' ) {
- dom.remove( imgNode.parentNode );
- } else {
- dom.remove( imgNode );
- }
-
- editor.nodeChanged();
- }
- return;
- }
-
- if ( caption ) {
- caption = caption.replace( /\r\n|\r/g, '\n' ).replace( /<\/?[a-zA-Z0-9]+( [^<>]+)?>/g, function( a ) {
- // No line breaks inside HTML tags
- return a.replace( /[\r\n\t]+/, ' ' );
- });
-
- // Convert remaining line breaks to <br>
- caption = caption.replace( /(<br[^>]*>)\s*\n\s*/g, '$1' ).replace( /\s*\n\s*/g, '<br />' );
- caption = verifyHTML( caption );
- }
-
- if ( ! imgNode ) {
- // New image inserted
- html = dom.createHTML( 'img', data );
-
- if ( caption ) {
- node = editor.selection.getNode();
-
- if ( data.width ) {
- captionWidth = parseInt( data.width, 10 );
-
- if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
- captionWidth += 10;
- }
-
- captionWidth = ' style="width: ' + captionWidth + 'px"';
- }
-
- html = '<dl class="wp-caption alignnone"' + captionWidth + '>' +
- '<dt class="wp-caption-dt">'+ html +'</dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
-
- if ( node.nodeName === 'P' ) {
- parent = node;
- } else {
- parent = dom.getParent( node, 'p' );
- }
-
- if ( parent && parent.nodeName === 'P' ) {
- wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
- parent.parentNode.insertBefore( wrap, parent );
- editor.selection.select( wrap );
- editor.nodeChanged();
-
- if ( dom.isEmpty( parent ) ) {
- dom.remove( parent );
- }
- } else {
- editor.selection.setContent( '<div class="mceTemp">' + html + '</div>' );
- }
- } else {
- editor.selection.setContent( html );
- }
- } else {
- // Edit existing image
-
- // Store the original image id if any
- imgId = imgNode.id || null;
- // Update the image node
- dom.setAttribs( imgNode, data );
- wrap = dom.getParent( imgNode, 'dl.wp-caption' );
-
- if ( caption ) {
- if ( wrap ) {
- if ( parent = dom.select( 'dd.wp-caption-dd', wrap )[0] ) {
- parent.innerHTML = caption;
- }
- } else {
- if ( imgNode.className ) {
- captionId = imgNode.className.match( /wp-image-([0-9]+)/ );
- captionAlign = imgNode.className.match( /align(left|right|center|none)/ );
- }
-
- if ( captionAlign ) {
- captionAlign = captionAlign[0];
- imgNode.className = imgNode.className.replace( /align(left|right|center|none)/g, '' );
- } else {
- captionAlign = 'alignnone';
- }
-
- captionAlign = ' class="wp-caption ' + captionAlign + '"';
-
- if ( captionId ) {
- captionId = ' id="attachment_' + captionId[1] + '"';
- }
-
- captionWidth = data.width || imgNode.clientWidth;
-
- if ( captionWidth ) {
- captionWidth = parseInt( captionWidth, 10 );
-
- if ( ! editor.getParam( 'wpeditimage_html5_captions' ) ) {
- captionWidth += 10;
- }
-
- captionWidth = ' style="width: '+ captionWidth +'px"';
- }
-
- if ( imgNode.parentNode && imgNode.parentNode.nodeName === 'A' ) {
- node = imgNode.parentNode;
- } else {
- node = imgNode;
- }
-
- html = '<dl ' + captionId + captionAlign + captionWidth + '>' +
- '<dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
-
- wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
-
- if ( parent = dom.getParent( node, 'p' ) ) {
- parent.parentNode.insertBefore( wrap, parent );
- } else {
- node.parentNode.insertBefore( wrap, node );
- }
-
- editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node );
-
- if ( parent && dom.isEmpty( parent ) ) {
- dom.remove( parent );
- }
- }
- } else {
- if ( wrap ) {
- // Remove the caption wrapper and place the image in new paragraph
- if ( imgNode.parentNode.nodeName === 'A' ) {
- html = dom.getOuterHTML( imgNode.parentNode );
- } else {
- html = dom.getOuterHTML( imgNode );
- }
-
- parent = dom.create( 'p', {}, html );
- dom.insertAfter( parent, wrap.parentNode );
- editor.selection.select( parent );
- editor.nodeChanged();
- dom.remove( wrap.parentNode );
- }
- }
- }
-
- imgNode = dom.get('__wp-temp-img-id');
- dom.setAttrib( imgNode, 'id', imgId || null );
- event.imgData.node = imgNode;
- });
-
- editor.on( 'wpLoadImageData', function( event ) {
- var parent,
- data = event.imgData.data,
- imgNode = event.imgData.node;
-
- if ( parent = dom.getParent( imgNode, 'dl.wp-caption' ) ) {
- parent = dom.select( 'dd.wp-caption-dd', parent )[0];
-
- if ( parent ) {
- data.wpcaption = editor.serializer.serialize( parent )
- .replace( /<br[^>]*>/g, '$&\n' ).replace( /^<p>/, '' ).replace( /<\/p>$/, '' );
- }
- }
- });
-
</del><span class="cx" style="display: block; padding: 0 10px"> // Prevent IE11 from making dl.wp-caption resizable
</span><span class="cx" style="display: block; padding: 0 10px"> if ( tinymce.Env.ie && tinymce.Env.ie > 10 ) {
</span><span class="cx" style="display: block; padding: 0 10px"> // The 'mscontrolselect' event is supported only in IE11+
</span></span></pre>
</div>
</div>
</body>
</html>