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 }); |