WordPress/wp-admin/js/comment.js
atimmer f6a37e7d39 Docs: Remove @summary tags from JSDoc.
As decided in the JavaScript core chat. With a few reasons:

* It is visually cleaner when reading the source.
* This bring the JavaScript documentation closer to the PHP documentation.

The only disadvantage is that the JSDoc parser doesn't split out the summary and the description in the new format. We've decided to solve this when building the JavaScript documentation parser.

Props herregroen.
Fixes #42901.

Built from https://develop.svn.wordpress.org/trunk@42411


git-svn-id: http://core.svn.wordpress.org/trunk@42240 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-12-18 14:14:53 +00:00

98 lines
2.7 KiB
JavaScript

/* global postboxes, commentL10n */
/**
* 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 $timestampdiv = $('#timestampdiv'),
$timestamp = $( '#timestamp' ),
stamp = $timestamp.html(),
$timestampwrap = $timestampdiv.find( '.timestamp-wrap' ),
$edittimestamp = $timestampdiv.siblings( 'a.edit-timestamp' );
/**
* 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();
}
event.preventDefault();
});
/**
* 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 );
event.preventDefault();
});
/**
* 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 ) {
$timestampwrap.addClass( 'form-invalid' );
return;
} else {
$timestampwrap.removeClass( 'form-invalid' );
}
$timestamp.html(
commentL10n.submittedOn + ' <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> '
);
// Move focus back to the Edit link.
$edittimestamp.show().focus();
$timestampdiv.slideUp( 'fast' );
});
});