diff options
| author | Michael Save <savetheinternet@tinyboard.org> | 2012-03-31 21:32:09 +1100 |
|---|---|---|
| committer | Michael Save <savetheinternet@tinyboard.org> | 2012-03-31 21:32:09 +1100 |
| commit | af3ec3f8c720b90095f1f4cff2eb9931d0fcebf2 (patch) | |
| tree | e26aeee1f3012f11c5d04ecf6e0427fa9db18f60 /js/expand.js | |
| parent | fe8cafb6ea62bfb2f0fe357dad959033d94322b1 (diff) | |
expand.js: inline thread expanding
Diffstat (limited to 'js/expand.js')
| -rw-r--r-- | js/expand.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/js/expand.js b/js/expand.js new file mode 100644 index 00000000..05aece95 --- /dev/null +++ b/js/expand.js @@ -0,0 +1,51 @@ +/* + *expand.js + * https://github.com/savetheinternet/Tinyboard/blob/master/js/expand.js + * + * Released under the MIT license + * Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org> + * + * Usage: + * $config['additional_javascript'][] = 'js/jquery.min.js'; + * $config['additional_javascript'][] = 'js/expand.js'; + * + */ + +$(document).ready(function(){ + if($('div.banner').length != 0) + return; // not index + + $('div.post.op span.omitted').each(function() { + $(this) + .html($(this).text().replace(/Click reply to view\./, '<a href="javascript:void(0)">Click to expand</a>.')) + .find('a').click(function() { + var thread = $(this).parent().parent().parent(); + var id = thread.attr('id').replace(/^thread_/, ''); + $.ajax({ + url: thread.find('p.intro a.post_no:first').attr('href'), + context: document.body, + success: function(data) { + var last_expanded = false; + $(data).find('div.post.reply').each(function() { + if($('#' + $(this).attr('id')).length == 0) { + if(last_expanded) { + $(this).addClass('expanded').insertAfter(last_expanded).before('<br class="expanded">'); + } else { + $(this).addClass('expanded').insertAfter(thread.find('div.post:first')).after('<br class="expanded">'); + } + last_expanded = $(this); + + } + }); + $('<span class="omitted"><a href="javascript:void(0)">Hide expanded replies</a>.</span>') + .insertAfter(thread.find('span.omitted').css('display', 'none')) + .click(function() { + thread.find('.expanded').remove(); + $(this).prev().css('display', ''); + $(this).remove(); + }); + } + }); + }); + }); +}); |
