summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/comment-likes/comment-like-count.js')
-rw-r--r--plugins/jetpack/modules/comment-likes/comment-like-count.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/comment-likes/comment-like-count.js b/plugins/jetpack/modules/comment-likes/comment-like-count.js
new file mode 100644
index 00000000..950b306b
--- /dev/null
+++ b/plugins/jetpack/modules/comment-likes/comment-like-count.js
@@ -0,0 +1,38 @@
+jQuery( document ).ready( function( $ ) {
+ var jsonAPIbase = 'https://public-api.wordpress.com/rest/v1',
+ APIqueue = [];
+
+ function getCommentLikeCounts() {
+ $( '.comment-like-count' ).each( function() {
+ var blogId = $( this ).attr( 'data-blog-id' ),
+ commentId = $( this ).attr( 'data-comment-id' );
+
+ APIqueue.push( '/sites/' + blogId + '/comments/' + commentId + '/likes' );
+ } );
+
+ return $.ajax( {
+ type: 'GET',
+ url: jsonAPIbase + '/batch',
+ dataType: 'jsonp',
+ data: 'urls[]=' + APIqueue.map( encodeURIComponent ).join( '&urls[]=' ),
+ success: function( response ) {
+ for ( var path in response ) {
+ if ( ! response[ path ].error_data ) {
+ var urlPieces = path.split( '/' ),
+ commentId = urlPieces[ 4 ],
+ likeCount = response[ path ].found;
+
+ if ( likeCount < 1 ) {
+ return;
+ }
+
+ $( '#comment-like-count-' + commentId ).find( '.like-count' ).hide().text( likeCount ).fadeIn();
+ }
+ }
+ },
+ error: function() {}
+ } );
+ }
+
+ getCommentLikeCounts();
+} );