wp/wp-admin/js/edit-comments.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
var theList, theExtraList, toggleWithKeyboard = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
(function($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
var getCount, updateCount, updatePending, dashboardTotals;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
setCommentsList = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter, refillTheExtraList;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	totalInput = $('input[name="_total"]', '#comments-form');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
	perPageInput = $('input[name="_per_page"]', '#comments-form');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	pageInput = $('input[name="_page"]', '#comments-form');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	dimAfter = function( r, settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
		var c = $('#' + settings.element), editRow, replyID, replyButton;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		editRow = $('#replyrow');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		replyID = $('#comment_ID', editRow).val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		replyButton = $('#replybtn', editRow);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
		if ( c.is('.unapproved') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
			if ( settings.data.id == replyID )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
				replyButton.text(adminCommentsL10n.replyApprove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
			c.find('div.comment_status').html('0');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			if ( settings.data.id == replyID )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
				replyButton.text(adminCommentsL10n.reply);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			c.find('div.comment_status').html('1');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		var diff = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		updatePending( diff );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
	// Send current total, page, per_page and url
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	delBefore = function( settings, list ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
		var wpListsData = $(settings.target).attr('data-wp-lists'), id, el, n, h, a, author, action = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
		settings.data._total = totalInput.val() || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
		settings.data._per_page = perPageInput.val() || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
		settings.data._page = pageInput.val() || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
		settings.data._url = document.location.href;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
		settings.data.comment_status = $('input[name="comment_status"]', '#comments-form').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		if ( wpListsData.indexOf(':trash=1') != -1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
			action = 'trash';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
		else if ( wpListsData.indexOf(':spam=1') != -1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			action = 'spam';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
		if ( action ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
			id = wpListsData.replace(/.*?comment-([0-9]+).*/, '$1');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
			el = $('#comment-' + id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
			note = $('#' + action + '-undo-holder').html();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
			el.find('.check-column :checkbox').prop('checked', false); // Uncheck the row so as not to be affected by Bulk Edits.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			if ( el.siblings('#replyrow').length && commentReply.cid == id )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
				commentReply.close();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			if ( el.is('tr') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
				n = el.children(':visible').length;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
				author = $('.author strong', el).text();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
				h = $('<tr id="undo-' + id + '" class="undo un' + action + '" style="display:none;"><td colspan="' + n + '">' + note + '</td></tr>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
				author = $('.comment-author', el).text();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
				h = $('<div id="undo-' + id + '" style="display:none;" class="undo un' + action + '">' + note + '</div>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
			el.before(h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
			$('strong', '#undo-' + id).text(author);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
			a = $('.undo a', '#undo-' + id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			a.attr('href', 'comment.php?action=un' + action + 'comment&c=' + id + '&_wpnonce=' + settings.data._ajax_nonce);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			a.attr('data-wp-lists', 'delete:the-comment-list:comment-' + id + '::un' + action + '=1');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			a.attr('class', 'vim-z vim-destructive');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
			$('.avatar', el).clone().prependTo('#undo-' + id + ' .' + action + '-undo-inside');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			a.click(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
				list.wpList.del(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
				$('#undo-' + id).css( {backgroundColor:'#ceb'} ).fadeOut(350, function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
					$(this).remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
					$('#comment-' + id).css('backgroundColor', '').fadeIn(300, function(){ $(this).show() });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
		return settings;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
	// Updates the current total (stored in the _total input)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
	updateTotalCount = function( total, time, setConfidentTime ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
		if ( time < lastConfidentTime )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		if ( setConfidentTime )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
			lastConfidentTime = time;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		totalInput.val( total.toString() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
	dashboardTotals = function(n) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
		var dash = $('#dashboard_right_now'), total, appr, totalN, apprN;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		n = n || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
		if ( isNaN(n) || !dash.length )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		total = $('span.total-count', dash);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
		appr = $('span.approved-count', dash);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
		totalN = getCount(total);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
		totalN = totalN + n;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		apprN = totalN - getCount( $('span.pending-count', dash) ) - getCount( $('span.spam-count', dash) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		updateCount(total, totalN);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
		updateCount(appr, apprN);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
	getCount = function(el) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
		var n = parseInt( el.html().replace(/[^0-9]+/g, ''), 10 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
		if ( isNaN(n) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
			return 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
		return n;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
	updateCount = function(el, n) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
		var n1 = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		if ( isNaN(n) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
		n = n < 1 ? '0' : n.toString();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
		if ( n.length > 3 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
			while ( n.length > 3 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
				n1 = thousandsSeparator + n.substr(n.length - 3) + n1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
				n = n.substr(0, n.length - 3);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
			n = n + n1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
		el.html(n);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
	updatePending = function( diff ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
		$('span.pending-count').each(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
			var a = $(this), n = getCount(a) + diff;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
			if ( n < 1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
				n = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
			a.closest('.awaiting-mod')[ 0 == n ? 'addClass' : 'removeClass' ]('count-0');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
			updateCount( a, n );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
		dashboardTotals();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
	// In admin-ajax.php, we send back the unix time stamp instead of 1 on success
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
	delAfter = function( r, settings ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
		var total, N, spam, trash, pending,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
			untrash = $(settings.target).parent().is('span.untrash'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
			unspam = $(settings.target).parent().is('span.unspam'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
			unapproved = $('#' + settings.element).is('.unapproved');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
		function getUpdate(s) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
			if ( $(settings.target).parent().is('span.' + s) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
				return 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
			else if ( $('#' + settings.element).is('.' + s) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
				return -1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
			return 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
		if ( untrash )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
			trash = -1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
			trash = getUpdate('trash');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
		if ( unspam )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
			spam = -1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
			spam = getUpdate('spam');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
		if ( $(settings.target).parent().is('span.unapprove') || ( ( untrash || unspam ) && unapproved ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
			// a comment was 'deleted' from another list (e.g. approved, spam, trash) and moved to pending,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
			// or a trash/spam of a pending comment was undone
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
			pending = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
		} else if ( unapproved ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
			// a pending comment was trashed/spammed/approved
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
			pending = -1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
		if ( pending )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
			updatePending(pending);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
		$('span.spam-count').each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
			var a = $(this), n = getCount(a) + spam;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
			updateCount(a, n);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
		$('span.trash-count').each( function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
			var a = $(this), n = getCount(a) + trash;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
			updateCount(a, n);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
		if ( $('#dashboard_right_now').length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
			N = trash ? -1 * trash : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
			dashboardTotals(N);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
			total = totalInput.val() ? parseInt( totalInput.val(), 10 ) : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
			if ( $(settings.target).parent().is('span.undo') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
				total++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
				total--;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
			if ( total < 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
				total = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
			if ( ( 'object' == typeof r ) && lastConfidentTime < settings.parsed.responses[0].supplemental.time ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
				total_items_i18n = settings.parsed.responses[0].supplemental.total_items_i18n || '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
				if ( total_items_i18n ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
					$('.displaying-num').text( total_items_i18n );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
					$('.total-pages').text( settings.parsed.responses[0].supplemental.total_pages_i18n );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
					$('.tablenav-pages').find('.next-page, .last-page').toggleClass('disabled', settings.parsed.responses[0].supplemental.total_pages == $('.current-page').val());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
				updateTotalCount( total, settings.parsed.responses[0].supplemental.time, true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
				updateTotalCount( total, r, false );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
		if ( ! theExtraList || theExtraList.size() == 0 || theExtraList.children().size() == 0 || untrash || unspam ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
		theList.get(0).wpList.add( theExtraList.children(':eq(0)').remove().clone() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
		refillTheExtraList();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
	refillTheExtraList = function(ev) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
		var args = $.query.get(), total_pages = $('.total-pages').text(), per_page = $('input[name="_per_page"]', '#comments-form').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
		if (! args.paged)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
			args.paged = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
		if (args.paged > total_pages) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
		if (ev) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
			theExtraList.empty();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
			args.number = Math.min(8, per_page); // see WP_Comments_List_Table::prepare_items() @ class-wp-comments-list-table.php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
			args.number = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
			args.offset = Math.min(8, per_page) - 1; // fetch only the next item on the extra list
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
		args.no_placeholder = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
		args.paged ++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
		// $.query.get() needs some correction to be sent into an ajax request
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		if ( true === args.comment_type )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
			args.comment_type = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
		args = $.extend(args, {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
			'action': 'fetch-list',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
			'list_args': list_args,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
			'_ajax_fetch_list_nonce': $('#_ajax_fetch_list_nonce').val()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
		$.ajax({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
			url: ajaxurl,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
			global: false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
			dataType: 'json',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
			data: args,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
			success: function(response) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
				theExtraList.get(0).wpList.add( response.rows );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
	};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
	theExtraList = $('#the-extra-comment-list').wpList( { alt: '', delColor: 'none', addColor: 'none' } );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
	theList = $('#the-comment-list').wpList( { alt: '', delBefore: delBefore, dimAfter: dimAfter, delAfter: delAfter, addColor: 'none' } )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
		.bind('wpListDelEnd', function(e, s){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
			var wpListsData = $(s.target).attr('data-wp-lists'), id = s.element.replace(/[^0-9]+/g, '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
			if ( wpListsData.indexOf(':trash=1') != -1 || wpListsData.indexOf(':spam=1') != -1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
				$('#undo-' + id).fadeIn(300, function(){ $(this).show() });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
commentReply = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
	cid : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
	act : '',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
	init : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
		var row = $('#replyrow');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
		$('a.cancel', row).click(function() { return commentReply.revert(); });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
		$('a.save', row).click(function() { return commentReply.send(); });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
		$('input#author, input#author-email, input#author-url', row).keypress(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
			if ( e.which == 13 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
				commentReply.send();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
				e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
		// add events
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
		$('#the-comment-list .column-comment > p').dblclick(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
			commentReply.toggle($(this).parent());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
		$('#doaction, #doaction2, #post-query-submit').click(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
			if ( $('#the-comment-list #replyrow').length > 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
				commentReply.close();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
		this.comments_listing = $('#comments-form > input[name="comment_status"]').val() || '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
		/* $(listTable).bind('beforeChangePage', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
			commentReply.close();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
		}); */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
	addEvents : function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
		r.each(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
			$(this).find('.column-comment > p').dblclick(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
				commentReply.toggle($(this).parent());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
	toggle : function(el) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
		if ( $(el).css('display') != 'none' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
			$(el).find('a.vim-q').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
	revert : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
		if ( $('#the-comment-list #replyrow').length < 1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
		$('#replyrow').fadeOut('fast', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
			commentReply.close();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
	close : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
		var c, replyrow = $('#replyrow');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
		// replyrow is not showing?
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
		if ( replyrow.parent().is('#com-reply') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
			return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
		if ( this.cid && this.act == 'edit-comment' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
			c = $('#comment-' + this.cid);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
			c.fadeIn(300, function(){ c.show() }).css('backgroundColor', '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
		// reset the Quicktags buttons
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
		if ( typeof QTags != 'undefined' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
			QTags.closeAllTags('replycontent');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
		$('#add-new-comment').css('display', '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
		replyrow.hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
		$('#com-reply').append( replyrow );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
		$('#replycontent').css('height', '').val('');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
		$('#edithead input').val('');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
		$('.error', replyrow).html('').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
		$('.spinner', replyrow).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
		this.cid = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
	open : function(comment_id, post_id, action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
		var t = this, editRow, rowData, act, c = $('#comment-' + comment_id), h = c.height(), replyButton;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
		t.close();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
		t.cid = comment_id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
		editRow = $('#replyrow');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
		rowData = $('#inline-'+comment_id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
		action = action || 'replyto';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
		act = 'edit' == action ? 'edit' : 'replyto';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
		act = t.act = act + '-comment';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
		$('#action', editRow).val(act);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
		$('#comment_post_ID', editRow).val(post_id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
		$('#comment_ID', editRow).val(comment_id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
		if ( h > 120 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
			$('#replycontent', editRow).css('height', (35+h) + 'px');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
		if ( action == 'edit' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
			$('#author', editRow).val( $('div.author', rowData).text() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
			$('#author-email', editRow).val( $('div.author-email', rowData).text() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
			$('#author-url', editRow).val( $('div.author-url', rowData).text() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
			$('#status', editRow).val( $('div.comment_status', rowData).text() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
			$('#replycontent', editRow).val( $('textarea.comment', rowData).val() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
			$('#edithead, #savebtn', editRow).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
			$('#replyhead, #replybtn, #addhead, #addbtn', editRow).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
			c.after( editRow ).fadeOut('fast', function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
				$('#replyrow').fadeIn(300, function(){ $(this).show() });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
		} else if ( action == 'add' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
			$('#addhead, #addbtn', editRow).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
			$('#replyhead, #replybtn, #edithead, #editbtn', editRow).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
			$('#the-comment-list').prepend(editRow);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
			$('#replyrow').fadeIn(300);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
 		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
 			replyButton = $('#replybtn', editRow);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
			$('#edithead, #savebtn, #addhead, #addbtn', editRow).hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
			$('#replyhead, #replybtn', editRow).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
			c.after(editRow);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
			if ( c.hasClass('unapproved') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
				replyButton.text(adminCommentsL10n.replyApprove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
				replyButton.text(adminCommentsL10n.reply);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
			$('#replyrow').fadeIn(300, function(){ $(this).show() });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
		setTimeout(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
			var rtop, rbottom, scrollTop, vp, scrollBottom;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
			rtop = $('#replyrow').offset().top;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
			rbottom = rtop + $('#replyrow').height();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
			scrollTop = window.pageYOffset || document.documentElement.scrollTop;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
			vp = document.documentElement.clientHeight || self.innerHeight || 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
			scrollBottom = scrollTop + vp;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
			if ( scrollBottom - 20 < rbottom )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
				window.scroll(0, rbottom - vp + 35);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
			else if ( rtop - 20 < scrollTop )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
				window.scroll(0, rtop - 35);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
			$('#replycontent').focus().keyup(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
				if ( e.which == 27 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
					commentReply.revert(); // close on Escape
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
		}, 600);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
	send : function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
		var post = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
		$('#replysubmit .error').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
		$('#replysubmit .spinner').show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
		$('#replyrow input').not(':button').each(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
			var t = $(this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
			post[ t.attr('name') ] = t.val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
		post.content = $('#replycontent').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
		post.id = post.comment_post_ID;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
		post.comments_listing = this.comments_listing;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
		post.p = $('[name="p"]').val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
		if ( $('#comment-' + $('#comment_ID').val()).hasClass('unapproved') )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
			post.approve_parent = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
		$.ajax({
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
			type : 'POST',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
			url : ajaxurl,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
			data : post,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
			success : function(x) { commentReply.show(x); },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
			error : function(r) { commentReply.error(r); }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
	show : function(xml) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
		var t = this, r, c, id, bg, pid;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
		if ( typeof(xml) == 'string' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
			t.error({'responseText': xml});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
		r = wpAjax.parseAjaxResponse(xml);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
		if ( r.errors ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
			t.error({'responseText': wpAjax.broken});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
		t.revert();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
		r = r.responses[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
		id = '#comment-' + r.id;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
		if ( 'edit-comment' == t.act )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
			$(id).remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
		if ( r.supplemental.parent_approved ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
			pid = $('#comment-' + r.supplemental.parent_approved);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
			updatePending( -1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
			if ( this.comments_listing == 'moderated' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
				pid.animate( { 'backgroundColor':'#CCEEBB' }, 400, function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
					pid.fadeOut();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
				return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
		c = $.trim(r.data); // Trim leading whitespaces
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
		$(c).hide()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
		$('#replyrow').after(c);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
		id = $(id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
		t.addEvents(id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
		bg = id.hasClass('unapproved') ? '#FFFFE0' : id.closest('.widefat, .postbox').css('backgroundColor');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
		id.animate( { 'backgroundColor':'#CCEEBB' }, 300 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
			.animate( { 'backgroundColor': bg }, 300, function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
				if ( pid && pid.length ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
					pid.animate( { 'backgroundColor':'#CCEEBB' }, 300 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
						.animate( { 'backgroundColor': bg }, 300 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
						.removeClass('unapproved').addClass('approved')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
						.find('div.comment_status').html('1');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
	error : function(r) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
		var er = r.statusText;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
		$('#replysubmit .spinner').hide();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
		if ( r.responseText )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
			er = r.responseText.replace( /<.[^<>]*?>/g, '' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
		if ( er )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
			$('#replysubmit .error').html(er).show();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
	},
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
	addcomment: function(post_id) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
		var t = this;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
		$('#add-new-comment').fadeOut(200, function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
			t.open(0, post_id, 'add');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
			$('table.comments-box').css('display', '');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
			$('#no-comments').remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
		});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
$(document).ready(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
	var make_hotkeys_redirect, edit_comment, toggle_all, make_bulk;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
	setCommentsList();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
	commentReply.init();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
	$(document).delegate('span.delete a.delete', 'click', function(){return false;});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
	if ( typeof $.table_hotkeys != 'undefined' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
		make_hotkeys_redirect = function(which) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
			return function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
				var first_last, l;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
				first_last = 'next' == which? 'first' : 'last';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
				l = $('.tablenav-pages .'+which+'-page:not(.disabled)');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
				if (l.length)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
					window.location = l[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g, '')+'&hotkeys_highlight_'+first_last+'=1';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
		edit_comment = function(event, current_row) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
			window.location = $('span.edit a', current_row).attr('href');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
		toggle_all = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
			toggleWithKeyboard = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
			$('input:checkbox', '#cb').click().prop('checked', false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
			toggleWithKeyboard = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
		make_bulk = function(value) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
			return function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
				var scope = $('select[name="action"]');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
				$('option[value="' + value + '"]', scope).prop('selected', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
				$('#doaction').click();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
		};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
		$.table_hotkeys(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
			$('table.widefat'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
			['a', 'u', 's', 'd', 'r', 'q', 'z', ['e', edit_comment], ['shift+x', toggle_all],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
			['shift+a', make_bulk('approve')], ['shift+s', make_bulk('spam')],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
			['shift+d', make_bulk('delete')], ['shift+t', make_bulk('trash')],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
			['shift+z', make_bulk('untrash')], ['shift+u', make_bulk('unapprove')]],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
			{ highlight_first: adminCommentsL10n.hotkeys_highlight_first, highlight_last: adminCommentsL10n.hotkeys_highlight_last,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
			prev_page_link_cb: make_hotkeys_redirect('prev'), next_page_link_cb: make_hotkeys_redirect('next') }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
})(jQuery);