Make WordPress Core

Ticket #45264: 45264.3.diff

File 45264.3.diff, 4.3 KB (added by azaozz, 5 years ago)
  • src/wp-includes/css/editor.css

     
    361361        margin: 0;
    362362}
    363363
     364/* Classic block hide/show toolbars */
     365.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child) {
     366        display: none;
     367}
     368
     369.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar {
     370        display: block;
     371}
     372
    364373div.mce-statusbar {
    365374        border-top: 1px solid #e5e5e5;
    366375}
  • src/wp-includes/js/tinymce/plugins/wordpress/plugin.js

     
    2020
    2121        function toggleToolbars( state ) {
    2222                var iframe, initial, toolbars,
    23                         pixels = 0;
     23                        pixels = 0,
     24                        classicBlockToolbar = tinymce.$( '.block-library-classic__toolbar' );
    2425
    25                 initial = ( state === 'hide' );
     26                if ( state === 'hide' ) {
     27                        initial = true;
     28                } else if ( classicBlockToolbar.length && ! classicBlockToolbar.hasClass( 'has-advanced-toolbar' ) ) {
     29                        // Show the second, third, etc. toolbar rows in the Classic block instance.
     30                        classicBlockToolbar.addClass( 'has-advanced-toolbar' );
     31                        state = 'show';
     32                }
    2633
    2734                if ( editor.theme.panel ) {
    2835                        toolbars = editor.theme.panel.find('.toolbar:not(.menubar)');
    2936                }
    3037
    31                 if ( ! toolbars || toolbars.length < 2 || ( state === 'hide' && ! toolbars[1].visible() ) ) {
    32                         return;
     38                if ( toolbars && toolbars.length > 1 ) {
     39                        if ( ! state && toolbars[1].visible() ) {
     40                                state = 'hide';
     41                        }
     42
     43                        each( toolbars, function( toolbar, i ) {
     44                                if ( i > 0 ) {
     45                                        if ( state === 'hide' ) {
     46                                                toolbar.hide();
     47                                                pixels += 30;
     48                                        } else {
     49                                                toolbar.show();
     50                                                pixels -= 30;
     51                                        }
     52                                }
     53                        });
    3354                }
    3455
    35                 if ( ! state && toolbars[1].visible() ) {
    36                         state = 'hide';
     56                // Resize editor iframe, not needed for iOS and inline instances.
     57                if ( pixels && ! tinymce.Env.iOS && editor.iframeElement ) {
     58                        DOM.setStyle( editor.iframeElement, 'height', editor.iframeElement.clientHeight + pixels );
    3759                }
    3860
    39                 each( toolbars, function( toolbar, i ) {
    40                         if ( i > 0 ) {
    41                                 if ( state === 'hide' ) {
    42                                         toolbar.hide();
    43                                         pixels += 30;
    44                                 } else {
    45                                         toolbar.show();
    46                                         pixels -= 30;
    47                                 }
    48                         }
    49                 });
    50 
    51                 if ( pixels && ! initial ) {
    52                         // Resize iframe, not needed in iOS
    53                         if ( ! tinymce.Env.iOS ) {
    54                                 iframe = editor.getContentAreaContainer().firstChild;
    55                                 DOM.setStyle( iframe, 'height', iframe.clientHeight + pixels );
    56                         }
    57 
     61                if ( ! initial ) {
    5862                        if ( state === 'hide' ) {
    59                                 setUserSetting('hidetb', '0');
     63                                setUserSetting( 'hidetb', '0' );
    6064                                wpAdvButton && wpAdvButton.active( false );
    6165                        } else {
    62                                 setUserSetting('hidetb', '1');
     66                                setUserSetting( 'hidetb', '1' );
    6367                                wpAdvButton && wpAdvButton.active( true );
    6468                        }
    6569                }
     
    7377                cmd: 'WP_Adv',
    7478                onPostRender: function() {
    7579                        wpAdvButton = this;
    76                         wpAdvButton.active( getUserSetting( 'hidetb' ) === '1' ? true : false );
     80                        wpAdvButton.active( getUserSetting( 'hidetb' ) === '1' );
    7781                }
    7882        });
    7983
     
    8185        editor.on( 'PostRender', function() {
    8286                if ( editor.getParam( 'wordpress_adv_hidden', true ) && getUserSetting( 'hidetb', '0' ) === '0' ) {
    8387                        toggleToolbars( 'hide' );
     88                } else {
     89                        tinymce.$( '.block-library-classic__toolbar' ).addClass( 'has-advanced-toolbar' );
    8490                }
    8591        });
    8692
     
    426432                stateSelector: 'code'
    427433        });
    428434
    429         // Menubar
    430435        // Insert->Add Media
    431436        if ( wp && wp.media && wp.media.editor ) {
     437                editor.addButton( 'wp_add_media', {
     438                        tooltip: 'Add Media',
     439                        icon: 'dashicon dashicons-admin-media',
     440                        cmd: 'WP_Medialib',
     441                } );
     442
    432443                editor.addMenuItem( 'add_media', {
    433444                        text: 'Add Media',
    434445                        icon: 'wp-media-library',
  • src/wp-includes/script-loader.php

     
    504504                'wp_more',
    505505                'spellchecker',
    506506                'wp_add_media',
    507                 'kitchensink',
     507                'wp_adv',
    508508        );
    509509
    510510        /* This filter is documented in wp-includes/class-wp-editor.php */