WordPress.org

Make WordPress Core

Ticket #28539: 28539.3.patch

File 28539.3.patch, 10.9 KB (added by iseulde, 6 years ago)
  • src/wp-admin/js/post.js

     
    10801080                                        body = editor.getBody();
    10811081                                        body.className = body.className.replace( /\bpost-format-[^ ]+/, '' );
    10821082                                        editor.dom.addClass( body, format == 'post-format-0' ? 'post-format-standard' : format );
     1083                                        editor.setUIColor();
    10831084                                }
    10841085                        }
    10851086                });
  • src/wp-includes/js/mce-view.js

     
    869869                }
    870870        } ) );
    871871
     872        wp.mce.views.register( 'more', {
     873                toView: function( content ) {
     874                        var re = /<!--(more|nextpage)(.*?)-->/gi,
     875                                match = re.exec( content );
     876
     877                        if ( ! match ) {
     878                                return;
     879                        }
     880
     881                        return {
     882                                index: match.index,
     883                                content: match[0],
     884                                options: {
     885                                        _type: match[1],
     886                                        text: tinymce.trim( match[2] )
     887                                }
     888                        };
     889                },
     890                View: {
     891                        initialize: function( options ) {
     892                                this.text = options.text;
     893                                this._type = options._type;
     894                        },
     895                        getHtml: function() {
     896                                var text;
     897
     898                                if ( this._type === 'nextpage' ) {
     899                                        text = 'Page Break';
     900                                } else if ( this.text ) {
     901                                        text = this.text;
     902                                } else {
     903                                        text = '(more&hellip;)';
     904                                }
     905
     906                                return '<p><span>' + text + '</span></p>';
     907                        }
     908                }
     909        } );
     910
    872911}(jQuery));
  • src/wp-includes/js/tinymce/plugins/wordpress/plugin.js

     
    77        var DOM = tinymce.DOM, wpAdvButton, modKey, style,
    88                last = 0;
    99
     10        editor.setUIColor = function( selector, property ) {
     11                var dom = this.dom,
     12                        fn = this.setUIColor,
     13                        style = '',
     14                        bodyColor;
     15
     16                fn.colors = fn.colors || [];
     17
     18                if ( selector ) {
     19                        fn.colors.push( {
     20                                selector: selector,
     21                                property: property || 'color'
     22                        } );
     23                } else {
     24                        bodyColor = dom.getStyle( this.getBody(), 'color', true );
     25                        tinymce.each( fn.colors, function( color ) {
     26                                style += color.selector + '{' + color.property + ':' + bodyColor + ';}';
     27                        } );
     28       
     29                        if ( fn.styleElement ) {
     30                                dom.setHTML( fn.styleElement, style );
     31                        } else {
     32                                fn.styleElement = dom.create( 'style', { type: 'text/css' }, style );
     33                                this.getDoc().head.appendChild( fn.styleElement );
     34                        }
     35                }
     36        };
     37
    1038        function toggleToolbars( state ) {
    1139                var iframe, initial, toolbars,
    1240                        pixels = 0;
     
    79107        window.wpActiveEditor = editor.id;
    80108    });
    81109
    82         // Replace Read More/Next Page tags with images
    83         editor.on( 'BeforeSetContent', function( e ) {
    84                 if ( e.content ) {
    85                         if ( e.content.indexOf( '<!--more' ) !== -1 ) {
    86                                 e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
    87                                         return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="' + moretext + '" ' +
    88                                                 'class="wp-more-tag mce-wp-more" title="Read More..." data-mce-resize="false" data-mce-placeholder="1" />';
    89                                 });
    90                         }
    91 
    92                         if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
    93                                 e.content = e.content.replace( /<!--nextpage-->/g,
    94                                         '<img src="' + tinymce.Env.transparentSrc + '" class="wp-more-tag mce-wp-nextpage" ' +
    95                                                 'title="Page break" data-mce-resize="false" data-mce-placeholder="1" />' );
    96                         }
    97                 }
    98         });
    99 
    100         // Replace images with tags
    101         editor.on( 'PostProcess', function( e ) {
    102                 if ( e.get ) {
    103                         e.content = e.content.replace(/<img[^>]+>/g, function( image ) {
    104                                 var match, moretext = '';
    105 
    106                                 if ( image.indexOf('wp-more-tag') !== -1 ) {
    107                                         if ( image.indexOf('mce-wp-more') !== -1 ) {
    108                                                 if ( match = image.match( /data-wp-more="([^"]+)"/ ) ) {
    109                                                         moretext = match[1];
    110                                                 }
    111 
    112                                                 image = '<!--more' + moretext + '-->';
    113                                         } else if ( image.indexOf('mce-wp-nextpage') !== -1 ) {
    114                                                 image = '<!--nextpage-->';
    115                                         }
    116                                 }
    117 
    118                                 return image;
    119                         });
    120                 }
    121         });
    122 
    123         // Display the tag name instead of img in element path
    124         editor.on( 'ResolveName', function( e ) {
    125                 var dom = editor.dom,
    126                         target = e.target;
    127 
    128                 if ( target.nodeName === 'IMG' && dom.hasClass( target, 'wp-more-tag' ) ) {
    129                         if ( dom.hasClass( target, 'mce-wp-more' ) ) {
    130                                 e.name = 'more';
    131                         } else if ( dom.hasClass( target, 'mce-wp-nextpage' ) ) {
    132                                 e.name = 'nextpage';
    133                         }
    134                 }
    135         });
     110        editor.setUIColor( '.wpview-type-more span:before, .wpview-type-more span:after', 'border-bottom-color' );
    136111
    137112        // Register commands
    138113        editor.addCommand( 'WP_More', function( tag ) {
    139                 var parent, html, title,
    140                         classname = 'wp-more-tag',
     114                var parent, html,
    141115                        dom = editor.dom,
    142116                        node = editor.selection.getNode();
    143117
    144118                tag = tag || 'more';
    145                 classname += ' mce-wp-' + tag;
    146                 title = tag === 'more' ? 'More...' : 'Next Page';
    147                 html = '<img src="' + tinymce.Env.transparentSrc + '" title="' + title + '" class="' + classname + '" ' +
    148                         'data-mce-resize="false" data-mce-placeholder="1" />';
     119                html = '<!--' + tag + '-->';
    149120
    150121                // Most common case
    151122                if ( node.nodeName === 'BODY' || ( node.nodeName === 'P' && node.parentNode.nodeName === 'BODY' ) ) {
     
    328299                                }
    329300                        });
    330301                }
     302
     303                setTimeout( editor.setUIColor(), 250 );
    331304        });
    332305
    333306        // Word count
  • src/wp-includes/js/tinymce/plugins/wpview/plugin.js

     
    88                TreeWalker = tinymce.dom.TreeWalker,
    99                toRemove = false;
    1010
     11        editor.setUIColor( '.wpview-wrap[data-mce-selected]:before', 'border-color' );
     12
    1113        function getParentView( node ) {
    1214                while ( node && node.nodeName !== 'BODY' ) {
    1315                        if ( isView( node ) ) {
  • src/wp-includes/js/tinymce/skins/wordpress/wp-content.css

     
    11/* Additional default styles for the editor */
    22
     3html {
     4        margin: 0 40px;
     5}
     6
    37html.ios {
    48        height: 100%;
    59}
     
    1418        font-size: 13px;
    1519        line-height: 19px;
    1620        color: #333;
    17         margin: 10px;
     21        margin: 9px auto;
     22        max-width: 100%;
     23        overflow: visible !important;
     24        padding-top: 1px 0; /* This ensure margins are contained in the body. */
     25       
    1826}
    1927
    2028/* DFW mode */
     
    104112        padding: 0;
    105113}
    106114
    107 .mce-content-body img.mce-wp-nextpage,
    108 .mce-content-body img.mce-wp-more {
    109         border: 0;
    110         -webkit-box-shadow: none;
    111         box-shadow: none;
    112         width: 96%;
    113         height: 16px;
    114         display: block;
    115         margin: 15px auto 0;
    116         outline: 0;
    117         cursor: default;
    118 }
    119 
    120 .mce-content-body img.mce-wp-nextpage[data-mce-selected],
    121 .mce-content-body img.mce-wp-more[data-mce-selected] {
    122         outline: 1px dotted #888;
    123 }
    124 
    125 .mce-content-body img.mce-wp-more {
    126         background: transparent url( images/more.png ) repeat-y scroll center center;
    127 }
    128 
    129 .mce-content-body img.mce-wp-nextpage {
    130     background: transparent url( images/pagebreak.png ) repeat-y scroll center center;
    131 }
    132 
    133115/* Gallery, audio, video placeholders */
    134116.mce-content-body img.wp-media {
    135117        border: 1px solid #aaa;
     
    188170 */
    189171
    190172.wpview-wrap {
    191         width: 99.99%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */
    192         position: relative;
     173        -webkit-box-sizing: border-box;
     174        -moz-box-sizing: border-box;
     175        box-sizing: border-box;
    193176        clear: both;
     177        margin-bottom: 16px;
     178        position: relative;
     179        width: 100%; /* All IE need hasLayout, incl. 11 (ugh, not again!!) */   
    194180}
    195181
    196182/* delegate the handling of the selection to the wpview tinymce plugin */
     
    225211/**
    226212 * Media previews
    227213 */
    228 .wpview-wrap {
    229     position: relative;
    230     margin-bottom: 16px;
    231         border: 1px solid transparent;
    232 }
    233 
    234 .wpview-wrap[data-mce-selected] {
    235         background-color: rgba(0,0,0,0.1);
    236         border-color: rgba(0,0,0,0.3);
    237 }
    238214
    239 .ie8 .wpview-wrap[data-mce-selected],
    240 .ie7 .wpview-wrap[data-mce-selected] {
    241         background-color: #e5e5e5;
    242         border-color: #777;
     215.wpview-wrap[data-mce-selected]:before {
     216        border: 2px dashed #333;
     217        content: '';
     218        margin: 0;
     219        opacity: 0.5;
     220        padding: 0;
     221        position: absolute;
     222        top: -7px;
     223        left: -7px;
     224        right: -7px;
     225        bottom: -7px;
     226        z-index: -1;
    243227}
    244228
    245229.wpview-overlay {
     
    256240
    257241.wpview-wrap .toolbar {
    258242        position: absolute;
    259         top: 0;
    260         left: 0;
     243        left: -38px;
     244        top: -5px;
    261245        display: none;
    262246        z-index: 100;
    263247}
     
    271255        margin: 0;
    272256}
    273257
    274 .wpview-wrap .toolbar div,
    275258#wp-image-toolbar i {
    276259        margin-top: 7px;
    277260        margin-left: 7px;
     
    286269        font-size: 30px;
    287270}
    288271
    289 .ie8 .wpview-wrap .toolbar div,
    290 .ie7 .wpview-wrap .toolbar div,
     272.wpview-wrap .toolbar div {
     273        cursor: pointer;
     274        display: block;
     275        font-size: 30px;
     276        opacity: 0.5;
     277        width: 30px;
     278        height: 30px;
     279        -webkit-transition: opacity 0.1s ease-in 0;
     280        -moz-transition: opacity 0.1s ease-in 0;
     281        transition: opacity 0.1s ease-in 0;
     282}
     283
     284.wpview-wrap .toolbar div:hover {
     285        opacity: 1;
     286}
     287
    291288.ie8 #wp-image-toolbar i,
    292289.ie7 #wp-image-toolbar i {
    293290        display: inline;
     
    328325        font-family: 'Open Sans', sans-serif;
    329326}
    330327
    331 .wpview-wrap .toolbar div:hover,
    332328#wp-image-toolbar i:hover {
    333329        box-shadow: 0 1px 3px rgba(0,0,0,0.8);
    334330        background-color: #000;
    335331        color: #2ea2cc;
    336332}
    337333
    338 /* Audio player is short; therefore let's put the toolbar above */
    339 .wpview-type-audio .toolbar {
    340         top: auto;
    341         bottom: -34px;
    342 }
    343 
    344 .wpview-type-audio .toolbar div {
    345         margin-top: 0;
    346 }
    347 
    348 .wpview-type-audio .toolbar div:first-child {
    349         margin-left: 0;
    350 }
    351 
    352334.wont-play {
    353335        padding: 4px 0;
    354336}
     
    470452        outline: 0;
    471453}
    472454
     455.wpview-type-more p,
     456.wpview-type-nextpage p {
     457        text-align: center;
     458        position: relative;
     459        opacity: 0.5;
     460        overflow: hidden;
     461}
     462
     463.wpview-type-more[data-mce-selected] p,
     464.wpview-type-nextpage[data-mce-selected] p {
     465        opacity: 1;
     466}
     467
     468.wpview-type-more span,
     469.wpview-type-nextpage span {
     470        position: relative;
     471}
     472
     473.wpview-type-more span:before,
     474.wpview-type-more span:after,
     475.wpview-type-nextpage span:before,
     476.wpview-type-nextpage span:after {
     477        content: '';
     478        position: absolute;
     479        border-bottom: 2px dashed #333;
     480        top: 50%;
     481        width: 1000px;
     482}
     483
     484.wpview-type-more span:before,
     485.wpview-type-nextpage span:before {
     486        right: 100%;
     487        margin-right: 5px;
     488}
     489
     490.wpview-type-more span:after,
     491.wpview-type-nextpage span:after {
     492        left: 100%;
     493        margin-left: 5px;
     494}
     495
    473496/* rtl */
    474497.rtl .gallery .gallery-item {
    475498        float: right;
     
    485508        margin-left: auto;
    486509        margin-right: 7px;
    487510}
    488 
    489 @media print,
    490         (-o-min-device-pixel-ratio: 5/4),
    491         (-webkit-min-device-pixel-ratio: 1.25),
    492         (min-resolution: 120dpi) {
    493 
    494         .mce-content-body img.mce-wp-more {
    495                 background-image: url( images/more-2x.png );
    496                 background-size: 1900px 20px;
    497         }
    498 
    499         .mce-content-body img.mce-wp-nextpage {
    500         background-image: url( images/pagebreak-2x.png );
    501                 background-size: 1900px 20px;
    502         }
    503 }