summaryrefslogtreecommitdiff
path: root/js/treeview.js
diff options
context:
space:
mode:
authorSimon McFarlane <simon@piston.pw>2015-05-26 23:31:47 -0700
committerSimon McFarlane <simon@piston.pw>2015-05-29 01:34:53 -0700
commit4b40f69a4e6d190f6d342875bd084c2a6c9d8b0f (patch)
treefcc5dc9efa24afcb0bda3740b59f0c4e81c42f62 /js/treeview.js
parent2ac451ecb7aaae1ed1402425b8df6a5cb9831f2b (diff)
parentd20149b57929c27da87a7d9603d85717da15c5bc (diff)
Merge remote-tracking branch 'upstream/master' into vichan-merge
Diffstat (limited to 'js/treeview.js')
-rw-r--r--js/treeview.js48
1 files changed, 39 insertions, 9 deletions
diff --git a/js/treeview.js b/js/treeview.js
index 78ad620b..1709debb 100644
--- a/js/treeview.js
+++ b/js/treeview.js
@@ -11,14 +11,28 @@
*
*/
-if (active_page == 'thread')
+if (active_page == 'thread' || active_page == 'ukko' || active_page == 'index')
$(function() {
- $('hr:first').before('<div id="treeview" style="text-align:right"><a class="unimportant" href="javascript:void(0)"></a></div>');
- $('div#treeview a')
- .text(_('Tree view'))
- .click(function(e) {
- e.preventDefault();
+ if (window.Options && Options.get_tab('general')) {
+ var selector = '#treeview-global>input';
+ Options.extend_tab("general", "<label id='treeview-global'><input type='checkbox' /> "+_('Use tree view by default')+"</label>");
+ $(selector).on('change', function() {
+ if (localStorage.treeview === 'true') {
+ localStorage.treeview = 'false';
+ } else {
+ localStorage.treeview = 'true';
+ }
+ });
+ if (localStorage.treeview === 'true') {
+ $(selector).attr('checked', 'checked');
+ }
+ }
+});
+if (active_page == 'thread')
+$(function() {
+ var treeview = function(enable) {
+ if (enable === true) {
$('.post.reply').each(function(){
var references = [];
$(this).find('.body a').each(function(){
@@ -26,7 +40,6 @@ $(function() {
references.push(parseInt($(this).html().replace('&gt;&gt;', '')));
}
});
-
var maxref = references.reduce(function(a,b) { return a > b ? a : b; }, 0);
var parent_post = $("#reply_"+maxref);
@@ -39,7 +52,24 @@ $(function() {
post.detach().css("margin-left", margin).insertAfter(parent_post.next());
br.detach().insertAfter(post);
-
});
- });
+ } else {
+ $('.post.reply').sort(function(a,b) {
+ return parseInt(a.id.replace('reply_', '')) - parseInt(b.id.replace('reply_', ''));
+ }).each(function () {
+ var post = $(this);
+ var br = post.next();
+ post.detach().css('margin-left', '').appendTo('.thread');
+ br.detach().insertAfter(post);
+ });
+ }
+ }
+
+ $('hr:first').before('<div class="unimportant" style="text-align:right"><label for="treeview"><input type="checkbox" id="treeview"> '+_('Tree view')+'</label></div>');
+ $('input#treeview').on('change', function(e) { treeview($(this).is(':checked')); });
+
+ if (localStorage.treeview === 'true') {
+ treeview(true);
+ $('input#treeview').attr('checked', true);
+ }
});