mirror of
https://bitbucket.org/skobkin/chrome_point_plus.git
synced 2024-11-23 10:46:02 +00:00
#78 fixed. Null recomendations comments fixed. WS close messages in console.
This commit is contained in:
parent
072ece28cd
commit
6ee91fbb25
|
@ -24,6 +24,9 @@ function PointPlus(ppVersion) {
|
||||||
|
|
||||||
// Getting username
|
// Getting username
|
||||||
var point_username = $('#name h1').text();
|
var point_username = $('#name h1').text();
|
||||||
|
// Getting post id
|
||||||
|
var postId = $('#top-post').attr('data-id');
|
||||||
|
console.debug('Current post id detected as #%s', postId);
|
||||||
|
|
||||||
// Проверяем, загрузились ли мы
|
// Проверяем, загрузились ли мы
|
||||||
var point_plus_debug = $('#point-plus-debug');
|
var point_plus_debug = $('#point-plus-debug');
|
||||||
|
@ -387,9 +390,6 @@ function PointPlus(ppVersion) {
|
||||||
ws = new WebSocket(((location.protocol == 'https:') ? 'wss' : 'ws') + '://point.im/ws');
|
ws = new WebSocket(((location.protocol == 'https:') ? 'wss' : 'ws') + '://point.im/ws');
|
||||||
console.log('WebSocket created: %O', ws);
|
console.log('WebSocket created: %O', ws);
|
||||||
|
|
||||||
// Detecting post id if presented
|
|
||||||
var postId = $('#top-post').attr('data-id');
|
|
||||||
console.debug('Current post id detected as #%s', postId);
|
|
||||||
// Detecting view mode
|
// Detecting view mode
|
||||||
treeSwitch = $('#tree-switch a.active').attr('href');
|
treeSwitch = $('#tree-switch a.active').attr('href');
|
||||||
console.debug('Comments view mode: %s', treeSwitch);
|
console.debug('Comments view mode: %s', treeSwitch);
|
||||||
|
@ -399,6 +399,12 @@ function PointPlus(ppVersion) {
|
||||||
console.error('WebSocket error: %O', err);
|
console.error('WebSocket error: %O', err);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Close handler
|
||||||
|
ws.onclose = function(evt) {
|
||||||
|
console.error('WebSocket closed: %O', evt);
|
||||||
|
};
|
||||||
|
|
||||||
|
// todo: refactor to background service
|
||||||
// Message handler
|
// Message handler
|
||||||
ws.onmessage = function(evt) {
|
ws.onmessage = function(evt) {
|
||||||
try {
|
try {
|
||||||
|
@ -427,17 +433,13 @@ function PointPlus(ppVersion) {
|
||||||
// Recommendation comment
|
// Recommendation comment
|
||||||
case 'ok':
|
case 'ok':
|
||||||
// Do not break here. Using next case for this message
|
// Do not break here. Using next case for this message
|
||||||
|
|
||||||
// Comments
|
// Comments
|
||||||
case 'comment':
|
case 'comment':
|
||||||
if (wsMessage.a === 'comment') {
|
console.groupCollapsed('WS \'%s\' #%s/%s', wsMessage.a, wsMessage.post_id, wsMessage.comment_id);
|
||||||
console.groupCollapsed('WS comment #%s/%s', wsMessage.post_id, wsMessage.comment_id);
|
|
||||||
} else if (wsMessage.a === 'ok') {
|
|
||||||
console.groupCollapsed('WS comment rec #%s/%s', wsMessage.post_id, wsMessage.comment_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check option
|
// Check option
|
||||||
if ( ! options.is('option_ws_comments')) {
|
if (!options.is('option_ws_comments')) {
|
||||||
console.log('Comments processing disabled');
|
console.log('Comments processing disabled');
|
||||||
console.groupEnd();
|
console.groupEnd();
|
||||||
break;
|
break;
|
||||||
|
@ -457,56 +459,58 @@ function PointPlus(ppVersion) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generating comment from websocket message
|
// If comment has text
|
||||||
create_comment_elements({
|
if (wsMessage.hasOwnProperty('html') && typeof wsMessage.html === 'string') {
|
||||||
id: (wsMessage.a === 'ok') ? wsMessage.rcid : wsMessage.comment_id,
|
// Generating comment from websocket message
|
||||||
toId: wsMessage.to_comment_id,
|
create_comment_elements({
|
||||||
postId: wsMessage.post_id,
|
id: (wsMessage.a === 'ok') ? wsMessage.rcid : wsMessage.comment_id,
|
||||||
author: wsMessage.author,
|
toId: wsMessage.to_comment_id,
|
||||||
html: wsMessage.html,
|
postId: wsMessage.post_id,
|
||||||
fadeOut: options.is('option_ws_comments_color_fadeout'),
|
author: wsMessage.author,
|
||||||
isRec: (wsMessage.a === 'ok') ? true : false,
|
html: wsMessage.html,
|
||||||
unread: (point_username && point_username !== wsMessage.author) ? true : false,
|
fadeOut: options.is('option_ws_comments_color_fadeout'),
|
||||||
}, function($comment) {
|
isRec: (wsMessage.a === 'ok') ? true : false,
|
||||||
// It's time to DOM
|
unread: (point_username && point_username !== wsMessage.author) ? true : false,
|
||||||
console.info('Inserting comment');
|
}, function($comment) {
|
||||||
|
// It's time to DOM
|
||||||
// Search for parent comment
|
console.info('Inserting comment');
|
||||||
$parentComment = (wsMessage.to_comment_id) ? ($('div.post[data-comment-id="' + wsMessage.to_comment_id + '"]')) : [];
|
|
||||||
console.log('Parent comment: %O', $parentComment || null);
|
// Search for parent comment
|
||||||
|
$parentComment = (wsMessage.to_comment_id) ? ($('div.post[data-comment-id="' + wsMessage.to_comment_id + '"]')) : [];
|
||||||
// If list mode or not addressed to other comment
|
console.log('Parent comment: %O', $parentComment || null);
|
||||||
if ($('#comments #tree-switch a').eq(0).hasClass('active') || (wsMessage.to_comment_id === null) || (!$parentComment.length)) {
|
|
||||||
// Adding to the end of the list
|
// If list mode or not addressed to other comment
|
||||||
$('.content-wrap #comments #post-reply').before($comment);
|
if ($('#comments #tree-switch a').eq(0).hasClass('active') || (wsMessage.to_comment_id === null) || (!$parentComment.length)) {
|
||||||
} else {
|
// Adding to the end of the list
|
||||||
// Check for children
|
$('.content-wrap #comments #post-reply').before($comment);
|
||||||
$parentCommentChildren = $parentComment.next('.comments');
|
|
||||||
// If child comment already exist
|
|
||||||
if ($parentCommentChildren.length > 0) {
|
|
||||||
console.log('Child comments found. Appending...');
|
|
||||||
$parentCommentChildren.append($comment);
|
|
||||||
} else {
|
} else {
|
||||||
console.log('No child comments found. Creating...');
|
// Check for children
|
||||||
$parentComment.after($('<div>').addClass('comments').append($comment));
|
$parentCommentChildren = $parentComment.next('.comments');
|
||||||
|
// If child comment already exist
|
||||||
|
if ($parentCommentChildren.length > 0) {
|
||||||
|
console.log('Child comments found. Appending...');
|
||||||
|
$parentCommentChildren.append($comment);
|
||||||
|
} else {
|
||||||
|
console.log('No child comments found. Creating...');
|
||||||
|
$parentComment.after($('<div>').addClass('comments').append($comment));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Desktop notifications
|
// Desktop notifications
|
||||||
if (options.is('option_ws_comments_notifications')) {
|
if (options.is('option_ws_comments_notifications')) {
|
||||||
console.log('Showing desktop notification');
|
console.log('Showing desktop notification');
|
||||||
messenger.sendMessage({
|
messenger.sendMessage({
|
||||||
type: 'showNotification',
|
type: 'showNotification',
|
||||||
notificationId: 'comment_' + wsMessage.post_id + '#' + wsMessage.comment_id,
|
notificationId: 'comment_' + wsMessage.post_id + '#' + wsMessage.comment_id,
|
||||||
avatarUrl: getProtocol() + '//point.im/avatar/' + wsMessage.author + '/80',
|
avatarUrl: getProtocol() + '//point.im/avatar/' + wsMessage.author + '/80',
|
||||||
title: '@' + wsMessage.author + ' #' + wsMessage.post_id + '/' + wsMessage.comment_id,
|
title: '@' + wsMessage.author + ' #' + wsMessage.post_id + '/' + wsMessage.comment_id,
|
||||||
text: wsMessage.text
|
text: wsMessage.text
|
||||||
}, function(response) {});
|
}, function(response) {});
|
||||||
}
|
}
|
||||||
|
|
||||||
console.groupEnd();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
console.groupEnd();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue