Menus: Remove error styling when the user addresses the error.

An error is triggered if a Menu Name isn't given when the user attempts to create a menu. When they go back and add a name, the error styling can be removed.

Props ashokrd2013, piyush9100, welcher, afercia.
Fixes #42321.



git-svn-id: https://develop.svn.wordpress.org/trunk@44680 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2019-01-21 22:09:48 +00:00
parent 3f7881b77a
commit f5b136b0a7
2 changed files with 21 additions and 4 deletions

View File

@ -835,6 +835,20 @@
} }
} }
}); });
$( '#menu-name' ).on( 'input', _.debounce( function () {
var menuName = $( document.getElementById( 'menu-name' ) ),
menuNameVal = menuName.val();
if ( ! menuNameVal || ! menuNameVal.replace( /\s+/, '' ) ) {
// Add warning for invalid menu name.
menuName.parent().addClass( 'form-invalid' );
} else {
// Remove warning for valid menu name.
menuName.parent().removeClass( 'form-invalid' );
}
}, 500 ) );
$('#add-custom-links input[type="text"]').keypress(function(e){ $('#add-custom-links input[type="text"]').keypress(function(e){
$('#customlinkdiv').removeClass('form-invalid'); $('#customlinkdiv').removeClass('form-invalid');
@ -1166,7 +1180,7 @@
menuName = $('#menu-name'), menuName = $('#menu-name'),
menuNameVal = menuName.val(); menuNameVal = menuName.val();
// Cancel and warn if invalid menu name // Cancel and warn if invalid menu name
if( !menuNameVal || menuNameVal == menuName.attr('title') || !menuNameVal.replace(/\s+/, '') ) { if ( ! menuNameVal || ! menuNameVal.replace( /\s+/, '' ) ) {
menuName.parent().addClass( 'form-invalid' ); menuName.parent().addClass( 'form-invalid' );
return false; return false;
} }

View File

@ -1779,8 +1779,11 @@ function wp_default_scripts( &$scripts ) {
) )
); );
// Navigation Menus /*
$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'wp-lists', 'postbox', 'json2' ) ); * Navigation Menus: Adding underscore as a dependency to utilize _.debounce
* see https://core.trac.wordpress.org/ticket/42321
*/
$scripts->add( 'nav-menu', "/wp-admin/js/nav-menu$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'wp-lists', 'postbox', 'json2', 'underscore' ) );
did_action( 'init' ) && $scripts->localize( did_action( 'init' ) && $scripts->localize(
'nav-menu', 'nav-menu',
'navMenuL10n', 'navMenuL10n',