summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authoranonfagola <anonfagola@users.noreply.github.com>2014-09-27 09:47:11 -0700
committerczaks <marcin@6irc.net>2014-10-05 17:46:10 +0200
commitfda530953bb50b10a132fbf56d10952e7d9d0267 (patch)
tree7d02a498a62916e181270aaf1f72ad12da0a737d /js
parentcb7b7d070cad4286c998579d4cd263b9979535ef (diff)
Create id_highlighter
Diffstat (limited to 'js')
-rw-r--r--js/id_highlighter40
1 files changed, 40 insertions, 0 deletions
diff --git a/js/id_highlighter b/js/id_highlighter
new file mode 100644
index 00000000..60052031
--- /dev/null
+++ b/js/id_highlighter
@@ -0,0 +1,40 @@
+Array.prototype.remove = function(v) { this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1); }
+
+var idshighlighted = [];
+
+function getPostsById(id){
+ return $(".poster_id").filter(function(i){
+ return $(this).text() == id;
+ });
+}
+
+function getMasterPosts(parents){
+ if(!parents.hasClass("post")) return;
+
+ var toRet = [];
+
+ $(parents).each(function(){
+ if($(this).hasClass("post"))
+ toRet.push($(this));
+ });
+
+ return toRet;
+}
+
+$(".poster_id").click(function(){
+ var id = $(this).text();
+
+ if($.inArray(id, idshighlighted) !== -1){
+ idshighlighted.remove(id);
+
+ $(getMasterPosts(getPostsById(id).parents())).each(function(i){
+ $(this).removeClass("highlighted");
+ });
+ }else{
+ idshighlighted.push(id);
+
+ $(getMasterPosts(getPostsById(id).parents())).each(function(i){
+ $(this).addClass("highlighted");
+ });
+ }
+});