Make WordPress Core

Ticket #47048: 47048-3.diff

File 47048-3.diff, 4.3 KB (added by birgire, 5 years ago)
  • src/js/_enqueues/lib/nav-menu.js

    diff --git src/js/_enqueues/lib/nav-menu.js src/js/_enqueues/lib/nav-menu.js
    index cd62acc..14446ab 100644
     
    208208                                                // Add the items
    209209                                                api.addItemToMenu(menuItems, processMethod, function(){
    210210                                                        // Deselect the items and hide the ajax spinner
    211                                                         checkboxes.removeAttr('checked');
     211                                                        checkboxes.removeAttr( 'checked' );
     212                                                        t.find( '.button-controls .select-all' ).removeAttr( 'checked' );
    212213                                                        t.find( '.button-controls .spinner' ).removeClass( 'is-active' );
    213214                                                });
    214215                                        });
     
    10901091                                        }
    10911092
    10921093                                        e.preventDefault();
    1093                                 } else if ( target.hasClass('select-all') ) {
    1094                                         selectAreaMatch = /#(.*)$/.exec(e.target.href);
    1095                                         if ( selectAreaMatch && selectAreaMatch[1] ) {
    1096                                                 items = $('#' + selectAreaMatch[1] + ' .tabs-panel-active .menu-item-title input');
    1097                                                 if( items.length === items.filter(':checked').length )
    1098                                                         items.removeAttr('checked');
    1099                                                 else
    1100                                                         items.prop('checked', true);
    1101                                                 return false;
     1094                                } else if ( target.hasClass( 'select-all' ) ) {
     1095                                        selectAreaMatch = target.closest( '.button-controls' ).data( 'area' );
     1096                                        if ( selectAreaMatch ) {
     1097                                                items = $( '#' + selectAreaMatch + ' .tabs-panel-active .menu-item-title input' );
     1098
     1099                                                if ( items.length === items.filter( ':checked' ).length && ! target.is( ':checked' ) ) {
     1100                                                        items.removeAttr( 'checked' );
     1101                                                } else if ( target.is(':checked') ) {
     1102                                                        items.prop( 'checked', true );
     1103                                                }
     1104                                        }
     1105                                } else if ( target.hasClass( 'menu-item-checkbox' ) ) {
     1106                                        selectAreaMatch = target.closest( '.tabs-panel-active' ).parent().attr( 'id' );
     1107                                        if ( selectAreaMatch ) {
     1108                                                items     = $( '#' + selectAreaMatch + ' .tabs-panel-active .menu-item-title input' );
     1109                                                selectAll = $( '.button-controls[data-area="' + selectAreaMatch + '"] .select-all' );
     1110
     1111                                                if ( items.length === items.filter( ':checked' ).length && ! selectAll.is( ':checked' ) ) {
     1112                                                        selectAll.prop( 'checked', true );
     1113                                                } else if ( selectAll.is( ':checked' ) ) {
     1114                                                        selectAll.prop( 'checked', false );
     1115                                                }
    11021116                                        }
    11031117                                } else if ( target.hasClass('submit-add-to-menu') ) {
    11041118                                        api.registerChange();
  • src/wp-admin/includes/nav-menu.php

    diff --git src/wp-admin/includes/nav-menu.php src/wp-admin/includes/nav-menu.php
    index 0539e7f..b4a28d4 100644
    function wp_nav_menu_item_post_type_meta_box( $object, $box ) { 
    606606                        <?php endif; ?>
    607607                </div><!-- /.tabs-panel -->
    608608
    609                 <p class="button-controls wp-clearfix">
    610                         <span class="list-controls">
    611                                 <a href="
    612                                 <?php
    613                                         echo esc_url(
    614                                                 add_query_arg(
    615                                                         array(
    616                                                                 $post_type_name . '-tab' => 'all',
    617                                                                 'selectall'              => 1,
    618                                                         ),
    619                                                         remove_query_arg( $removed_args )
    620                                                 )
    621                                         );
    622                                 ?>
    623                                 #posttype-<?php echo $post_type_name; ?>" class="select-all aria-button-if-js"><?php _e( 'Select All' ); ?></a>
     609                <p class="button-controls wp-clearfix" data-area="posttype-<?php echo esc_attr( $post_type_name ); ?>">
     610                        <span class="list-controls hide-if-no-js">
     611                                <input type="checkbox" id="<?php echo esc_attr( $post_type_name . '-tab' ); ?>" class="select-all" />
     612                                <label for="<?php echo esc_attr( $post_type_name . '-tab' ); ?>"><?php _e( 'Select All' ); ?></label>
    624613                        </span>
    625614
    626615                        <span class="add-to-menu">
    function wp_nav_menu_item_taxonomy_meta_box( $object, $box ) { 
    843832                        </ul>
    844833                </div><!-- /.tabs-panel -->
    845834
    846                 <p class="button-controls wp-clearfix">
    847                         <span class="list-controls">
    848                                 <a href="
    849                                 <?php
    850                                         echo esc_url(
    851                                                 add_query_arg(
    852                                                         array(
    853                                                                 $taxonomy_name . '-tab' => 'all',
    854                                                                 'selectall'             => 1,
    855                                                         ),
    856                                                         remove_query_arg( $removed_args )
    857                                                 )
    858                                         );
    859                                 ?>
    860                                 #taxonomy-<?php echo $taxonomy_name; ?>" class="select-all aria-button-if-js"><?php _e( 'Select All' ); ?></a>
     835                <p class="button-controls wp-clearfix" data-area="taxonomy-<?php echo esc_attr( $taxonomy_name ); ?>">
     836                        <span class="list-controls hide-if-no-js">
     837                                <input type="checkbox" id="<?php echo esc_attr( $taxonomy_name . '-tab' ); ?>" class="select-all" />
     838                                <label for="<?php echo esc_attr( $taxonomy_name . '-tab' ); ?>"><?php _e( 'Select All' ); ?></label>
    861839                        </span>
    862840
    863841                        <span class="add-to-menu">