mirror of
git://develop.git.wordpress.org/
synced 2025-02-12 02:44:22 +01:00
Customize: Strip zero padding when setting month to prevent de-selection; add zero-padding for number
input fields when blurring.
Amends [42042]. See #42373. Fixes #42392. git-svn-id: https://develop.svn.wordpress.org/trunk@42104 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
a39d599adf
commit
7b33220fa3
@ -5577,6 +5577,13 @@
|
||||
control.notifications.remove( 'invalid_date' );
|
||||
}
|
||||
} ) );
|
||||
|
||||
// Add zero-padding when blurring field.
|
||||
input.on( 'blur', _.debounce( function() {
|
||||
if ( ! control.invalidDate ) {
|
||||
control.populateDateInputs();
|
||||
}
|
||||
} ) );
|
||||
} );
|
||||
|
||||
control.inputElements.month.bind( control.updateDaysForMonth );
|
||||
@ -5822,8 +5829,27 @@
|
||||
}
|
||||
|
||||
_.each( control.inputElements, function( element, component ) {
|
||||
if ( 'meridian' === component || parseInt( parsed[ component ], 10 ) !== parseInt( element(), 10 ) ) {
|
||||
var value = parsed[ component ]; // This will be zero-padded string.
|
||||
|
||||
// Set month and meridian regardless of focused state since they are dropdowns.
|
||||
if ( 'month' === component || 'meridian' === component ) {
|
||||
|
||||
// Options in dropdowns are not zero-padded.
|
||||
value = value.replace( /^0/, '' );
|
||||
|
||||
element.set( value );
|
||||
} else {
|
||||
|
||||
value = parseInt( value, 10 );
|
||||
if ( ! element.element.is( document.activeElement ) ) {
|
||||
|
||||
// Populate element with zero-padded value if not focused.
|
||||
element.set( parsed[ component ] );
|
||||
} else if ( value !== parseInt( element(), 10 ) ) {
|
||||
|
||||
// Forcibly update the value if its underlying value changed, regardless of zero-padding.
|
||||
element.set( String( value ) );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user