1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
Tag = {
"favorite": function(button) {
var message = getMessageInfo(button);
var favorited = $(button).parents(".dump").hasClass("favorite");
if (favorited) {
Tag.rm(message.id, "favorite");
$(button).parents(".dump").removeClass("favorite");
if (RawFavs[message.id]) {
delete RawFavs[message.id];
paletteImageCache = false;
}
} else {
Tag.add(message.id, "favorite");
$(button).parents(".dump").addClass("favorite");
if (RawFavs && MessageContentCache[message.id]) { // chat ui stuff
if ($("#palette-button").css("display") == "none")
paletteButtonShowAnim();
RawFavs[message.id] = MessageContentCache[message.id];
paletteImageCache = false;
}
}
},
"add": function(message_id, tag) {
Tag.ajax("/cmd/tag/add", {"message_id": message_id, "tag": tag});
},
"rm": function(message_id, tag) {
Tag.ajax("/cmd/tag/rm", {"message_id": message_id, "tag": tag});
},
"ajax": function(url, data) {
$.ajax({
"type": 'POST',
"timeout": 5000,
"url": url,
"data": data,
"cache": false
});
},
"animated_fav": function(button, scoreClass, bigTextSize, smallTextSize) {
if (!Nick) { return; }
Tag.favorite(button);
var $dump = $(button).parents(".dump");
var isAdding = $dump.hasClass('favorite');
// Frontpage-favs can be triggered by clicking score number,
// so manually sync heart-thumb visual state.
if ($(button).hasClass('hallscore')) {
$dump.find('.thumb').attr('src', isAdding ? Imgs.logThumb : Imgs.logThumbOff);
}
if ($dump.attr('nick') == Nick)
return;
var $score = $dump.find(scoreClass);
var inc = isAdding ? 1 : -1;
var oldScore = parseInt($score.text(), 10);
$score.text(oldScore + inc);
$score.stop().animate({ 'font-size': bigTextSize }, 250, function() {
$score.animate({ 'font-size': smallTextSize }, 250);
});
if (isAdding) {
var link = $('<a>')
.attr('href', Domain + '/' + Nick + '/popular')
.append($('<b>').text(Nick))
.append(" ");
$dump.find('.faver-list').append(link);
} else {
$dump.find('.faver-list b').filter(function() { return $(this).text() == Nick }).parent().remove();
}
}
}
|