/* * toggle-locked-threads.js * * Released under the MIT license * Copyright (c) 2012 Michael Save * Copyright (c) 2013-2014 Marcin Ɓabanowski * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; * //$config['additional_javascript'][] = 'js/options.js'; * //$config['additional_javascript'][] = 'js/style-select.js'; * //$config['additional_javascript'][] = 'js/options/general.js'; * $config['additional_javascript'][] = 'js/toggle-locked-threads.js'; * */ if (active_page == 'ukko' || active_page == 'index' || (window.Options && Options.get_tab('general'))) $(document).ready(function(){ var hide_locked_threads = localStorage['hidelockedthreads'] ? true : false; $('').appendTo($('head')); var hideLockedThread = function($thread) { if (active_page == 'ukko' || active_page == 'index') $thread .hide() .addClass('hidden'); }; var restoreLockedThread = function($thread) { $thread .show() .removeClass('hidden'); }; var getThreadFromIcon = function($icon) { return $icon.parent().parent().parent() }; var selector, event; if (window.Options && Options.get_tab('general')) { selector = '#toggle-locked-threads>input'; event = 'change'; Options.extend_tab("general", ""); } else { selector = '#toggle-locked-threads a'; event = 'click'; $('hr:first').before(''); } $('div#toggle-locked-threads a') .text(hide_locked_threads ? _('Show locked threads') : _('Hide locked threads')); $(selector) .on(event, function() { hide_locked_threads = !hide_locked_threads; if (hide_locked_threads) { $('img.icon[title="Locked"], i.fa-lock.fa').each(function() { hideLockedThread(getThreadFromIcon($(this))); }); localStorage.hidelockedthreads = true; } else { $('img.icon[title="Locked"], i.fa-lock.fa').each(function() { restoreLockedThread(getThreadFromIcon($(this))); }); delete localStorage.hidelockedthreads; } $(this).text(hide_locked_threads ? _('Show locked threads') : _('Hide locked threads')) }); if (hide_locked_threads) { $('img.icon[title="Locked"], i.fa-lock.fa').each(function() { hideLockedThread(getThreadFromIcon($(this))); }); if (window.Options && Options.get_tab('general')) { $('#toggle-locked-threads>input').prop('checked', true); } } $(document).on('new_post', function(e, post) { if (hide_locked_threads) { $(post).find('img.icon[title="Locked"], i.fa-lock.fa').each(function() { hideLockedThread(getThreadFromIcon($(this))); }); } }); });