wp/wp-admin/js/comment.js
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
--- 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 + ' <b>' +
-			$( '#mm option[value="' + mm + '"]' ).text() + ' ' +
-			jj + ', ' +
-			aa + ' @ ' +
-			hh + ':' +
-			mn + '</b> '
+			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 ) ) +
+				'</b> '
 		);
-		return false;
+
+		// Move focus back to the Edit link.
+		$edittimestamp.show().focus();
+		$timestampdiv.slideUp( 'fast' );
 	});
 });