NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name hide movies downloaded // @namespace torrentbutler.eu // @version 0.2 // @description Hide movies you have downloaded from torrentbutler // @match http://torrentbutler.eu/* // @copyright 2015+, Atomic // ==/UserScript== $(function(){ function Movie(that){ this.that = that; this.id = $(this.that).prop('href').split('/').pop(); this.seen = localStorage.getItem(this.id) ? true : false; this.button_check = $('<input>').prop('type', 'checkbox').attr('style', 'float:right;'); this.init(); } Movie.prototype = { add_event_click: function(){ var that = this; $(this.check_button).click(function(){ if($(this).prop('checked')) { localStorage.setItem(that.id, true); $(that.that).addClass('hide').hide(); } else { localStorage.removeItem(that.id); $(that.that).removeClass('hide').hide(); } }); }, add_check_button: function(checked){ this.check_button = this.button_check.clone().prop('id', this.id).prop('checked', this.seen).addClass('movie-seen-check'); $("strong.title span", $(this.that)).after(this.check_button); this.add_event_click(); }, hide_movie: function(){ if ($('#show-movie-seen').data('click-show-hidden')) { if (!this.seen) $(this.that).hide(); } else { if (this.seen) $(this.that).addClass('hide').hide(); } }, init: function(){ this.add_check_button(); this.hide_movie(); $(this.that).addClass("with-init"); } } function MovieInit(){ this.button_movies_seen(); this.init(); } MovieInit.prototype = { add_event_button: function(button){ $(button).click(function(e){ e.preventDefault(); var data_name = 'click-show-hidden'; $(this).data(data_name) ? $(this).data(data_name, false) : $(this).data(data_name, true); if ($(this).data(data_name)) { $('.movie').hide(); $('.movie.hide').show(); $('a', this).text('Hide movie seen'); } else { $('.movie.hide').hide(); $('.movie').not('.hide').show(); $('a', this).text('Show movie seen'); } }); }, button_movies_seen: function(){ var switcher_content = $('<div>').prop('class', 'switcher').prop('id', 'show-movie-seen').attr('data-click-show-hidden', false); var switcher_button = $('<a>').prop('href', '#').text('Show movie seen'); switcher_content.html(switcher_button.clone()); var button = switcher_content.clone() $('#priority_switcher').after(button); this.add_event_button(button); }, init: function(){ $(".movie").each(function() { new Movie($(this)); }); $(document).ajaxComplete(function(event, xhr, settings) { if (settings.url.search(/\/page\//) != -1) { $(".movie").not(".with-init").each(function(){ new Movie($(this)); }); } }); $(document).ajaxSend(function(event, xhr, settings) { if (settings.url.search(/\/page\//) != -1 && $('#show-movie-seen').data('click-show-hidden')) { $('#loading').hide(); } }); } } new MovieInit(); });