/* * expand.js * https://github.com/savetheinternet/Tinyboard/blob/master/js/expand.js * * Released under the MIT license * Copyright (c) 2012-2013 Michael Save * Copyright (c) 2013 Czterooki * Copyright (c) 2013-2014 Marcin Ɓabanowski * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; * $config['additional_javascript'][] = 'js/expand.js'; * */ $(document).ready(function() { if ($('span.omitted').length === 0) { // Nothing to expand. return; } let doExpand = function() { $(this) .html($(this).text().replace(_("Click reply to view."), ''+_("Click to expand")+'.')) .find('a').click(window.expandFun = function() { let thread = $(this).parents('[id^="thread_"]'); $.ajax({ url: thread.find('p.intro a.post_no:first').attr('href'), context: document.body, success: function(data) { let lastExpanded = false; $(data).find('div.post.reply').each(function() { thread.find('div.hidden').remove(); let postInDoc = thread.find('#' + $(this).attr('id')); if (postInDoc.length === 0) { if (lastExpanded) { $(this).addClass('expanded').insertAfter(lastExpanded).before('
'); } else { $(this).addClass('expanded').insertAfter(thread.find('div.post:first')).after('
'); } lastExpanded = $(this); $(document).trigger('new_post', this); } else { lastExpanded = postInDoc; } }); thread.find("span.omitted").css('display', 'none'); $('' + _('Hide expanded replies') + '.') .insertAfter(thread.find('.op div.body, .op span.omitted').last()) .click(function() { thread.find('.expanded').remove(); let parent = $(this).parent(); parent.find(".omitted:not(.hide-expanded)").css('display', ''); parent.find(".hide-expanded").remove(); }); } }); }); } $('div.post.op span.omitted').each(doExpand); $(document).on("new_post", function(e, post) { if (!$(post).hasClass("reply")) { $(post).find('div.post.op span.omitted').each(doExpand); } }); });