Ticket #21603: 21603.3.diff
File 21603.3.diff, 7.6 KB (added by , 2 years ago) |
---|
-
src/js/_enqueues/lib/nav-menu.js
diff --git a/src/js/_enqueues/lib/nav-menu.js b/src/js/_enqueues/lib/nav-menu.js index d3b9663487..aa8a276683 100644
a b 44 44 this.jQueryExtensions(); 45 45 46 46 this.attachMenuEditListeners(); 47 48 this.attachBulkSelectButtonListeners(); 49 this.attachCancelBulkSelectButtonListeners(); 50 this.attachMenuCheckBoxListeners(); 47 51 48 52 this.attachQuickSearchListeners(); 49 53 this.attachThemeLocationsListeners(); … … 862 866 }); 863 867 }, 864 868 869 attachCancelBulkSelectButtonListeners : function() { 870 var that = this; 871 872 $('.cancel-bulk-select').on( 'click', function(e){ 873 e.preventDefault(); 874 that.disableBulkSelection(); 875 }); 876 877 }, 878 879 attachBulkSelectButtonListeners : function() { 880 var that = this; 881 882 $('.enable-bulk-select').on( 'click', function(e){ 883 e.preventDefault(); 884 that.enableBulkSelection(); 885 }); 886 887 }, 888 889 enableBulkSelection : function(){ 890 $('#menu-to-edit').addClass('bulk-selection'); 891 $('#nav-menu-bulk-actions').addClass('bulk-selection'); 892 893 $('.enable-bulk-select').prop('disabled',true); 894 $('.cancel-bulk-select').prop('disabled',false); 895 896 var checkbox = $('#menu-to-edit .menu-item-checkbox'); 897 $.each( checkbox, function(){ 898 $(this).prop('disabled',false); 899 }); 900 }, 901 902 disableBulkSelection : function(){ 903 $('#menu-to-edit').removeClass('bulk-selection'); 904 $('#nav-menu-bulk-actions').removeClass('bulk-selection'); 905 906 $('.enable-bulk-select').prop('disabled',false); 907 $('.cancel-bulk-select').prop('disabled',true); 908 909 var checkbox = $('#menu-to-edit .menu-item-checkbox'); 910 $.each( checkbox, function(){ 911 $(this).prop('disabled',true).prop('checked',false); 912 }); 913 $('.menu-items-delete').addClass('disabled'); 914 }, 915 916 917 attachMenuCheckBoxListeners : function() { 918 var that = this; 919 920 $( '#menu-to-edit' ).on( 'change','.menu-item-checkbox', function(){ 921 that.setRemoveSelectedButtonStatus(); 922 }); 923 924 $( document ).on('click', '.menu-items-delete', function(e){ 925 e.preventDefault(); 926 927 if( ! $(this).hasClass('disabled') ){ 928 $.each( $('.menu-item-checkbox:checked'), function( index, element) { 929 $( element ).parents( 'li' ).find( 'a.item-delete' ).trigger( 'click' ); 930 }); 931 932 $('.menu-items-delete').addClass('disabled'); 933 $('input.cancel-bulk-select').trigger('click'); 934 } 935 }); 936 }, 937 938 setBulkDeleteCheckboxStatus : function(){ 939 940 var that = this; 941 var checkbox = $('#menu-to-edit .menu-item-checkbox'); 942 943 $.each( checkbox, function(){ 944 945 if( $(this).prop('disabled') == true ){ 946 $(this).prop( 'disabled', false ); 947 }else{ 948 $(this).prop( 'disabled', true ); 949 } 950 951 if( $(this).is(':checked')) { 952 $(this).prop('checked',false); 953 } 954 }); 955 956 that.setRemoveSelectedButtonStatus(); 957 958 }, 959 960 setRemoveSelectedButtonStatus : function(){ 961 962 var button = $('.menu-items-delete'); 963 964 if( $('.menu-item-checkbox:checked').length > 0 ) { 965 $('.menu-items-delete').removeClass('disabled'); 966 }else{ 967 $('.menu-items-delete').addClass('disabled'); 968 } 969 }, 970 971 oveSelectedButtonStatus : function(){ 972 var button = $('.menu-items-delete'); 973 if( $('.menu-item-checkbox:checked').length > 0 ) { 974 button.prop('disabled', false); 975 }else{ 976 button.prop('disabled', true); 977 } 978 }, 979 865 980 attachMenuSaveSubmitListeners : function() { 866 981 /* 867 982 * When a navigation menu is saved, store a JSON representation of all form data -
src/wp-admin/css/common.css
diff --git a/src/wp-admin/css/common.css b/src/wp-admin/css/common.css index 0848c93615..d0d624a784 100644
a b hr { 878 878 #media-items a.delete, 879 879 #media-items a.delete-permanently, 880 880 #nav-menu-footer .menu-delete, 881 #nav-menu-bulk-actions input.menu-items-delete, 881 882 #delete-link a.delete { 882 883 color: #b32d2e; 883 884 } … … span.required, 895 896 #media-items a.delete:hover, 896 897 #media-items a.delete-permanently:hover, 897 898 #nav-menu-footer .menu-delete:hover, 899 #nav-menu-bulk-actions input.menu-items-delete:hover, 898 900 #delete-link a.delete:hover { 899 901 color: #b32d2e; 900 902 border: none; -
src/wp-admin/css/nav-menus.css
diff --git a/src/wp-admin/css/nav-menus.css b/src/wp-admin/css/nav-menus.css index 971cae4381..8b4fdcd933 100644
a b ul.add-menu-item-tabs li { 97 97 margin: 1em 0 10px; 98 98 } 99 99 100 #nav-menu-bulk-actions { 101 margin-top: 2em; 102 } 103 104 #nav-menu-bulk-actions input.button { 105 margin-right: 12px; 106 } 107 108 #nav-menu-bulk-actions input.cancel-bulk-select, 109 #nav-menu-bulk-actions input.menu-items-delete { 110 display: none; 111 } 112 113 #nav-menu-bulk-actions.bulk-selection input.cancel-bulk-select, 114 #nav-menu-bulk-actions.bulk-selection input.menu-items-delete { 115 display: inline-block; 116 } 117 118 #nav-menu-bulk-actions input.menu-items-delete { 119 -webkit-appearance: none; 120 -moz-appearance: none; 121 appearance: none; 122 font-size: inherit; 123 border: 0; 124 line-height: 2.1em; 125 background: none; 126 cursor: pointer; 127 text-decoration: underline; 128 } 129 130 #nav-menu-bulk-actions input.menu-items-delete.disabled { 131 cursor: default; 132 color: #a7aaad; 133 box-shadow: none; 134 } 135 136 #nav-menu-bulk-actions.bulk-selection input.enable-bulk-select { 137 display: none; 138 } 139 100 140 .menu-settings { 101 141 border-top: 1px solid #f0f0f1; 102 142 margin-top: 2em; … … ul.add-menu-item-tabs li { 481 521 margin-right: 13em; 482 522 } 483 523 524 .menu-item-handle input[type=checkbox] { 525 display: none; 526 } 527 528 .bulk-selection .menu-item-handle input[type=checkbox] { 529 display: inline-block; 530 } 531 484 532 .menu-item-handle .menu-item-title.no-title { 485 533 color: #646970; 486 534 } -
src/wp-admin/includes/class-walker-nav-menu-edit.php
diff --git a/src/wp-admin/includes/class-walker-nav-menu-edit.php b/src/wp-admin/includes/class-walker-nav-menu-edit.php index 39835e091c..56f606d82e 100644
a b class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { 118 118 <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode( ' ', $classes ); ?>"> 119 119 <div class="menu-item-bar"> 120 120 <div class="menu-item-handle"> 121 <span class="item-title">< span class="menu-item-title"><?php echo esc_html( $title ); ?></span> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span></span>121 <span class="item-title"><input type="checkbox" class="menu-item-checkbox" disabled="disabled"/><span class="menu-item-title"><?php echo esc_html( $title ); ?></span> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span></span> 122 122 <span class="item-controls"> 123 123 <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span> 124 124 <span class="item-order hide-if-js"> -
src/wp-admin/nav-menus.php
diff --git a/src/wp-admin/nav-menus.php b/src/wp-admin/nav-menus.php index f224964553..ccf8c6483a 100644
a b require_once ABSPATH . 'wp-admin/admin-header.php'; 1013 1013 $no_menus_style = 'style="display: none;"'; 1014 1014 } 1015 1015 ?> 1016 <div id="nav-menu-bulk-actions" class="bulk-actions"> 1017 <input type="button" class="button enable-bulk-select" value="<?php echo __( 'Bulk Select' ) ; ?>"> 1018 <input type="button" class="button cancel-bulk-select" value="<?php echo __( 'Cancel Selection' ) ; ?>"> 1019 <input type="button" class="deletion menu-items-delete disabled" value="<?php echo __( 'Remove Selected Items' ) ; ?>"> 1020 </div> 1016 1021 <div class="menu-settings" <?php echo $no_menus_style; ?>> 1017 1022 <h3><?php _e( 'Menu Settings' ); ?></h3> 1018 1023 <?php