WordPress.org

Make WordPress Core

Ticket #38952: 38952.1.diff

File 38952.1.diff, 4.6 KB (added by westonruter, 3 years ago)

https://github.com/xwp/wordpress-develop/pull/207

  • src/wp-admin/css/customize-nav-menus.css

    diff --git src/wp-admin/css/customize-nav-menus.css src/wp-admin/css/customize-nav-menus.css
    index a63df15..6fe558d 100644
     
    301301        text-decoration: none !important;
    302302}
    303303
    304 #accordion-panel-nav_menus .field-link-target,
    305 #accordion-panel-nav_menus .field-title-attribute,
    306 #accordion-panel-nav_menus .field-css-classes,
    307 #accordion-panel-nav_menus .field-xfn,
    308 #accordion-panel-nav_menus .field-description {
     304.control-section-nav_menu .field-link-target,
     305.control-section-nav_menu .field-title-attribute,
     306.control-section-nav_menu .field-css-classes,
     307.control-section-nav_menu .field-xfn,
     308.control-section-nav_menu .field-description {
    309309        display: none;
    310310}
    311311
    312 #accordion-panel-nav_menus.field-link-target-active .field-link-target,
    313 #accordion-panel-nav_menus.field-title-attribute-active .field-title-attribute,
    314 #accordion-panel-nav_menus.field-css-classes-active .field-css-classes,
    315 #accordion-panel-nav_menus.field-xfn-active .field-xfn,
    316 #accordion-panel-nav_menus.field-description-active .field-description {
     312.control-section-nav_menu.field-link-target-active .field-link-target,
     313.control-section-nav_menu.field-title-attribute-active .field-title-attribute,
     314.control-section-nav_menu.field-css-classes-active .field-css-classes,
     315.control-section-nav_menu.field-xfn-active .field-xfn,
     316.control-section-nav_menu.field-description-active .field-description {
    317317        display: block;
    318318}
    319319
  • src/wp-admin/js/customize-nav-menus.js

    diff --git src/wp-admin/js/customize-nav-menus.js src/wp-admin/js/customize-nav-menus.js
    index be3fba1..7d70163 100644
     
    790790                 */
    791791                ready: function() {
    792792                        var panel = this;
    793                         this.container.find( '.hide-column-tog' ).click( function() {
    794                                 var $t = $( this ), column = $t.val();
    795                                 if ( $t.prop( 'checked' ) ) {
    796                                         panel.checked( column );
    797                                 } else {
    798                                         panel.unchecked( column );
    799                                 }
    800 
     793                        panel.container.find( '.hide-column-tog' ).click( function() {
    801794                                panel.saveManageColumnsState();
    802795                        });
    803                         this.container.find( '.hide-column-tog' ).each( function() {
    804                         var $t = $( this ), column = $t.val();
    805                                 if ( $t.prop( 'checked' ) ) {
    806                                         panel.checked( column );
    807                                 } else {
    808                                         panel.unchecked( column );
    809                                 }
    810                         });
    811796                },
    812797
     798                /**
     799                 * Save hidden column states.
     800                 *
     801                 * @since 4.3.0
     802                 * @private
     803                 *
     804                 * @returns {void}
     805                 */
    813806                saveManageColumnsState: _.debounce( function() {
    814807                        var panel = this;
    815808                        if ( panel._updateHiddenColumnsRequest ) {
     
    826819                        } );
    827820                }, 2000 ),
    828821
    829                 checked: function( column ) {
    830                         this.container.addClass( 'field-' + column + '-active' );
    831                 },
     822                /**
     823                 * @deprecated Since 4.7.0 now that the nav_menu sections are responsible for toggling the classes on their own containers.
     824                 */
     825                checked: function() {},
    832826
    833                 unchecked: function( column ) {
    834                         this.container.removeClass( 'field-' + column + '-active' );
    835                 },
     827                /**
     828                 * @deprecated Since 4.7.0 now that the nav_menu sections are responsible for toggling the classes on their own containers.
     829                 */
     830                unchecked: function() {},
    836831
     832                /**
     833                 * Get hidden fields.
     834                 *
     835                 * @since 4.3.0
     836                 * @private
     837                 *
     838                 * @returns {Array} Fields (columns) that are hidden.
     839                 */
    837840                hidden: function() {
    838841                        return $( '.hide-column-tog' ).not( ':checked' ).map( function() {
    839842                                var id = this.id;
     
    871874                 * Ready.
    872875                 */
    873876                ready: function() {
    874                         var section = this;
     877                        var section = this, fieldActiveToggles, handleFieldActiveToggle;
    875878
    876879                        if ( 'undefined' === typeof section.params.menu_id ) {
    877880                                throw new Error( 'params.menu_id was not defined' );
     
    923926                                section.container.find( '.menu-item.move-left-disabled .menus-move-left' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
    924927                                section.container.find( '.menu-item.move-right-disabled .menus-move-right' ).attr({ 'tabindex': '-1', 'aria-hidden': 'true' });
    925928                        } );
     929
     930                        /**
     931                         * Update the active field class for the content container for a given checkbox toggle.
     932                         *
     933                         * @this {jQuery}
     934                         * @returns {void}
     935                         */
     936                        handleFieldActiveToggle = function() {
     937                                var className = 'field-' + $( this ).val() + '-active';
     938                                section.contentContainer.toggleClass( className, $( this ).prop( 'checked' ) );
     939                        };
     940                        fieldActiveToggles = api.panel( 'nav_menus' ).contentContainer.find( '.metabox-prefs:first' ).find( '.hide-column-tog' );
     941                        fieldActiveToggles.each( handleFieldActiveToggle );
     942                        fieldActiveToggles.on( 'click', handleFieldActiveToggle );
    926943                },
    927944
    928945                populateControls: function() {