diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-admin/js/comment.js --- a/wp/wp-admin/js/comment.js Tue Jun 09 11:14:17 2015 +0000 +++ b/wp/wp-admin/js/comment.js Mon Oct 14 17:39:30 2019 +0200 @@ -1,50 +1,97 @@ -/* global postboxes:true, commentL10n:true */ +/* global postboxes, commentL10n */ + +/** + * @summary Binds to the document ready event. + * + * @since 2.5.0 + * + * @param {jQuery} $ The jQuery object. + */ jQuery(document).ready( function($) { postboxes.add_postbox_toggles('comment'); - var stamp = $('#timestamp').html(); - $('.edit-timestamp').click(function () { - if ($('#timestampdiv').is(':hidden')) { - $('#timestampdiv').slideDown('normal'); - $('.edit-timestamp').hide(); + var $timestampdiv = $('#timestampdiv'), + $timestamp = $( '#timestamp' ), + stamp = $timestamp.html(), + $timestampwrap = $timestampdiv.find( '.timestamp-wrap' ), + $edittimestamp = $timestampdiv.siblings( 'a.edit-timestamp' ); + + /** + * @summary Adds event that opens the time stamp form if the form is hidden. + * + * @listens $edittimestamp:click + * + * @param {Event} event The event object. + * @returns {void} + */ + $edittimestamp.click( function( event ) { + if ( $timestampdiv.is( ':hidden' ) ) { + // Slide down the form and set focus on the first field. + $timestampdiv.slideDown( 'fast', function() { + $( 'input, select', $timestampwrap ).first().focus(); + } ); + $(this).hide(); } - return false; + event.preventDefault(); }); - $('.cancel-timestamp').click(function() { - $('#timestampdiv').slideUp('normal'); + /** + * @summary Resets the time stamp values when the cancel button is clicked. + * + * @listens .cancel-timestamp:click + * + * @param {Event} event The event object. + * @returns {void} + */ + + $timestampdiv.find('.cancel-timestamp').click( function( event ) { + // Move focus back to the Edit link. + $edittimestamp.show().focus(); + $timestampdiv.slideUp( 'fast' ); $('#mm').val($('#hidden_mm').val()); $('#jj').val($('#hidden_jj').val()); $('#aa').val($('#hidden_aa').val()); $('#hh').val($('#hidden_hh').val()); $('#mn').val($('#hidden_mn').val()); - $('#timestamp').html(stamp); - $('.edit-timestamp').show(); - return false; + $timestamp.html( stamp ); + event.preventDefault(); }); - $('.save-timestamp').click(function () { // crazyhorse - multiple ok cancels + /** + * @summary Sets the time stamp values when the ok button is clicked. + * + * @listens .save-timestamp:click + * + * @param {Event} event The event object. + * @returns {void} + */ + $timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels var aa = $('#aa').val(), mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val(), newD = new Date( aa, mm - 1, jj, hh, mn ); + event.preventDefault(); + if ( newD.getFullYear() != aa || (1 + newD.getMonth()) != mm || newD.getDate() != jj || newD.getMinutes() != mn ) { - $('.timestamp-wrap', '#timestampdiv').addClass('form-invalid'); - return false; + $timestampwrap.addClass( 'form-invalid' ); + return; } else { - $('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid'); + $timestampwrap.removeClass( 'form-invalid' ); } - $('#timestampdiv').slideUp('normal'); - $('.edit-timestamp').show(); - $('#timestamp').html( + $timestamp.html( commentL10n.submittedOn + ' ' + - $( '#mm option[value="' + mm + '"]' ).text() + ' ' + - jj + ', ' + - aa + ' @ ' + - hh + ':' + - mn + ' ' + commentL10n.dateFormat + .replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) ) + .replace( '%2$s', parseInt( jj, 10 ) ) + .replace( '%3$s', aa ) + .replace( '%4$s', ( '00' + hh ).slice( -2 ) ) + .replace( '%5$s', ( '00' + mn ).slice( -2 ) ) + + ' ' ); - return false; + + // Move focus back to the Edit link. + $edittimestamp.show().focus(); + $timestampdiv.slideUp( 'fast' ); }); });