diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index ab1e7bc68..7d42e2cdf 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -3446,6 +3446,11 @@ Recursive.apply('hide', this, label, makeStub, true); Recursive.add('hide', this, label, makeStub, true); } + PostHiding.saveHiddenState(this, { + thisPost: true, + hideRecursively: hideRecursively, + makeStub: makeStub + }); if (!this.isReply) { this.thread.hide(); return; @@ -3487,6 +3492,11 @@ Recursive.apply('show', this, true); Recursive.rm('hide', this); } + PostHiding.saveHiddenState(this, { + thisPost: true, + hideRecursively: showRecursively, + makeStub: !!this.nodes.stub + }); if (!this.isReply) { this.thread.show(); return; @@ -7056,7 +7066,6 @@ } else { post.hide('Manually hidden'); } - PostHiding.saveHiddenState(post); if (post.isReply) { return; } @@ -7233,15 +7242,17 @@ } else { return; } - PostHiding.saveHiddenState(post, { - thisPost: thisPost, - hideRecursively: replies, - makeStub: makeStub - }); + if (!thisPost) { + PostHiding.saveHiddenState(post, { + thisPost: false, + hideRecursively: replies, + makeStub: makeStub + }); + } return $.event('CloseMenu'); }, show: function(post) { - var parent, replies, thisPost, val; + var parent, replies, thisPost; parent = this.parentNode; thisPost = $('input[name=thisPost]', parent).checked; replies = $('input[name=replies]', parent).checked; @@ -7253,12 +7264,13 @@ } else { return; } - val = { - thisPost: !thisPost, - hideRecursively: !replies, - makeStub: !!post.nodes.stub - }; - PostHiding.saveHiddenState(post, val); + if (!thisPost) { + PostHiding.saveHiddenState(post, { + thisPost: false, + hideRecursively: !replies, + makeStub: !!post.nodes.stub + }); + } return $.event('CloseMenu'); } } diff --git a/builds/crx/script.js b/builds/crx/script.js index ff1c08457..d3eaf6f08 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -3500,6 +3500,11 @@ Recursive.apply('hide', this, label, makeStub, true); Recursive.add('hide', this, label, makeStub, true); } + PostHiding.saveHiddenState(this, { + thisPost: true, + hideRecursively: hideRecursively, + makeStub: makeStub + }); if (!this.isReply) { this.thread.hide(); return; @@ -3541,6 +3546,11 @@ Recursive.apply('show', this, true); Recursive.rm('hide', this); } + PostHiding.saveHiddenState(this, { + thisPost: true, + hideRecursively: showRecursively, + makeStub: !!this.nodes.stub + }); if (!this.isReply) { this.thread.show(); return; @@ -7107,7 +7117,6 @@ } else { post.hide('Manually hidden'); } - PostHiding.saveHiddenState(post); if (post.isReply) { return; } @@ -7284,15 +7293,17 @@ } else { return; } - PostHiding.saveHiddenState(post, { - thisPost: thisPost, - hideRecursively: replies, - makeStub: makeStub - }); + if (!thisPost) { + PostHiding.saveHiddenState(post, { + thisPost: false, + hideRecursively: replies, + makeStub: makeStub + }); + } return $.event('CloseMenu'); }, show: function(post) { - var parent, replies, thisPost, val; + var parent, replies, thisPost; parent = this.parentNode; thisPost = $('input[name=thisPost]', parent).checked; replies = $('input[name=replies]', parent).checked; @@ -7304,12 +7315,13 @@ } else { return; } - val = { - thisPost: !thisPost, - hideRecursively: !replies, - makeStub: !!post.nodes.stub - }; - PostHiding.saveHiddenState(post, val); + if (!thisPost) { + PostHiding.saveHiddenState(post, { + thisPost: false, + hideRecursively: !replies, + makeStub: !!post.nodes.stub + }); + } return $.event('CloseMenu'); } } diff --git a/src/Filtering/PostHiding.coffee b/src/Filtering/PostHiding.coffee index cc69fe3fa..c6212030b 100644 --- a/src/Filtering/PostHiding.coffee +++ b/src/Filtering/PostHiding.coffee @@ -58,7 +58,6 @@ PostHiding = post.show() else post.hide 'Manually hidden' - PostHiding.saveHiddenState post return if post.isReply Index.updateHideLabel() @@ -173,7 +172,7 @@ PostHiding = Recursive.add 'hide', post, label, makeStub, true else return - PostHiding.saveHiddenState post, {thisPost, hideRecursively: replies, makeStub} + PostHiding.saveHiddenState post, {thisPost: false, hideRecursively: replies, makeStub} unless thisPost $.event 'CloseMenu' show: (post) -> parent = @parentNode @@ -186,6 +185,5 @@ PostHiding = Recursive.rm 'hide', post, true else return - val = {thisPost: !thisPost, hideRecursively: !replies, makeStub: !!post.nodes.stub} - PostHiding.saveHiddenState post, val + PostHiding.saveHiddenState post, {thisPost: false, hideRecursively: !replies, makeStub: !!post.nodes.stub} unless thisPost $.event 'CloseMenu' diff --git a/src/General/lib/post.class b/src/General/lib/post.class index 4be054b8a..ec402e8ec 100755 --- a/src/General/lib/post.class +++ b/src/General/lib/post.class @@ -179,6 +179,8 @@ class Post Recursive.apply 'hide', @, label, makeStub, true Recursive.add 'hide', @, label, makeStub, true + PostHiding.saveHiddenState @, {thisPost: true, hideRecursively: hideRecursively, makeStub: makeStub} + if !@isReply @thread.hide() return @@ -211,6 +213,8 @@ class Post Recursive.apply 'show', @, true Recursive.rm 'hide', @ + PostHiding.saveHiddenState @, {thisPost: true, hideRecursively: showRecursively, makeStub: !!@nodes.stub} + if !@isReply @thread.show() return