wp/wp-admin/js/comment.js
changeset 7 cf61fcea0001
parent 5 5e2f62d02dcd
child 9 177826044cd9
equal deleted inserted replaced
6:490d5cc509ed 7:cf61fcea0001
     1 /* global postboxes:true, commentL10n:true */
     1 /* global postboxes, commentL10n */
       
     2 
       
     3 /**
       
     4  * @summary Binds to the document ready event.
       
     5  *
       
     6  * @since 2.5.0
       
     7  *
       
     8  * @param {jQuery} $ The jQuery object.
       
     9  */
     2 jQuery(document).ready( function($) {
    10 jQuery(document).ready( function($) {
     3 
    11 
     4 	postboxes.add_postbox_toggles('comment');
    12 	postboxes.add_postbox_toggles('comment');
     5 
    13 
     6 	var stamp = $('#timestamp').html();
    14 	var $timestampdiv = $('#timestampdiv'),
     7 	$('.edit-timestamp').click(function () {
    15 		$timestamp = $( '#timestamp' ),
     8 		if ($('#timestampdiv').is(':hidden')) {
    16 		stamp = $timestamp.html(),
     9 			$('#timestampdiv').slideDown('normal');
    17 		$timestampwrap = $timestampdiv.find( '.timestamp-wrap' ),
    10 			$('.edit-timestamp').hide();
    18 		$edittimestamp = $timestampdiv.siblings( 'a.edit-timestamp' );
       
    19 
       
    20 	/**
       
    21 	 * @summary Adds event that opens the time stamp form if the form is hidden.
       
    22 	 *
       
    23 	 * @listens $edittimestamp:click
       
    24 	 *
       
    25 	 * @param {Event} event The event object.
       
    26 	 * @returns {void}
       
    27 	 */
       
    28 	$edittimestamp.click( function( event ) {
       
    29 		if ( $timestampdiv.is( ':hidden' ) ) {
       
    30 			// Slide down the form and set focus on the first field.
       
    31 			$timestampdiv.slideDown( 'fast', function() {
       
    32 				$( 'input, select', $timestampwrap ).first().focus();
       
    33 			} );
       
    34 			$(this).hide();
    11 		}
    35 		}
    12 		return false;
    36 		event.preventDefault();
    13 	});
    37 	});
    14 
    38 
    15 	$('.cancel-timestamp').click(function() {
    39 	/**
    16 		$('#timestampdiv').slideUp('normal');
    40 	 * @summary Resets the time stamp values when the cancel button is clicked.
       
    41 	 *
       
    42 	 * @listens .cancel-timestamp:click
       
    43 	 *
       
    44 	 * @param {Event} event The event object.
       
    45 	 * @returns {void}
       
    46 	 */
       
    47 
       
    48 	$timestampdiv.find('.cancel-timestamp').click( function( event ) {
       
    49 		// Move focus back to the Edit link.
       
    50 		$edittimestamp.show().focus();
       
    51 		$timestampdiv.slideUp( 'fast' );
    17 		$('#mm').val($('#hidden_mm').val());
    52 		$('#mm').val($('#hidden_mm').val());
    18 		$('#jj').val($('#hidden_jj').val());
    53 		$('#jj').val($('#hidden_jj').val());
    19 		$('#aa').val($('#hidden_aa').val());
    54 		$('#aa').val($('#hidden_aa').val());
    20 		$('#hh').val($('#hidden_hh').val());
    55 		$('#hh').val($('#hidden_hh').val());
    21 		$('#mn').val($('#hidden_mn').val());
    56 		$('#mn').val($('#hidden_mn').val());
    22 		$('#timestamp').html(stamp);
    57 		$timestamp.html( stamp );
    23 		$('.edit-timestamp').show();
    58 		event.preventDefault();
    24 		return false;
       
    25 	});
    59 	});
    26 
    60 
    27 	$('.save-timestamp').click(function () { // crazyhorse - multiple ok cancels
    61 	/**
       
    62 	 * @summary Sets the time stamp values when the ok button is clicked.
       
    63 	 *
       
    64 	 * @listens .save-timestamp:click
       
    65 	 *
       
    66 	 * @param {Event} event The event object.
       
    67 	 * @returns {void}
       
    68 	 */
       
    69 	$timestampdiv.find('.save-timestamp').click( function( event ) { // crazyhorse - multiple ok cancels
    28 		var aa = $('#aa').val(), mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val(),
    70 		var aa = $('#aa').val(), mm = $('#mm').val(), jj = $('#jj').val(), hh = $('#hh').val(), mn = $('#mn').val(),
    29 			newD = new Date( aa, mm - 1, jj, hh, mn );
    71 			newD = new Date( aa, mm - 1, jj, hh, mn );
    30 
    72 
       
    73 		event.preventDefault();
       
    74 
    31 		if ( newD.getFullYear() != aa || (1 + newD.getMonth()) != mm || newD.getDate() != jj || newD.getMinutes() != mn ) {
    75 		if ( newD.getFullYear() != aa || (1 + newD.getMonth()) != mm || newD.getDate() != jj || newD.getMinutes() != mn ) {
    32 			$('.timestamp-wrap', '#timestampdiv').addClass('form-invalid');
    76 			$timestampwrap.addClass( 'form-invalid' );
    33 			return false;
    77 			return;
    34 		} else {
    78 		} else {
    35 			$('.timestamp-wrap', '#timestampdiv').removeClass('form-invalid');
    79 			$timestampwrap.removeClass( 'form-invalid' );
    36 		}
    80 		}
    37 
    81 
    38 		$('#timestampdiv').slideUp('normal');
    82 		$timestamp.html(
    39 		$('.edit-timestamp').show();
       
    40 		$('#timestamp').html(
       
    41 			commentL10n.submittedOn + ' <b>' +
    83 			commentL10n.submittedOn + ' <b>' +
    42 			$( '#mm option[value="' + mm + '"]' ).text() + ' ' +
    84 			commentL10n.dateFormat
    43 			jj + ', ' +
    85 				.replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
    44 			aa + ' @ ' +
    86 				.replace( '%2$s', parseInt( jj, 10 ) )
    45 			hh + ':' +
    87 				.replace( '%3$s', aa )
    46 			mn + '</b> '
    88 				.replace( '%4$s', ( '00' + hh ).slice( -2 ) )
       
    89 				.replace( '%5$s', ( '00' + mn ).slice( -2 ) ) +
       
    90 				'</b> '
    47 		);
    91 		);
    48 		return false;
    92 
       
    93 		// Move focus back to the Edit link.
       
    94 		$edittimestamp.show().focus();
       
    95 		$timestampdiv.slideUp( 'fast' );
    49 	});
    96 	});
    50 });
    97 });