Lets not push states for infinite scrolling. :)
This commit is contained in:
parent
6c1eef61c0
commit
d8154e8ae2
@ -2324,18 +2324,20 @@
|
||||
if (Index.req || Conf['Index Mode'] !== 'infinite' || (doc.scrollTop <= doc.scrollHeight - (300 + window.innerHeight)) || g.VIEW === 'thread') {
|
||||
return;
|
||||
}
|
||||
pageNum = Index.getCurrentPage() + 1;
|
||||
if (Index.pageNum == null) {
|
||||
Index.pageNum = Index.getCurrentPage();
|
||||
}
|
||||
pageNum = Index.pageNum++;
|
||||
if (pageNum >= Index.pagesNum) {
|
||||
return Index.endNotice();
|
||||
}
|
||||
nodesPerPage = Index.threadsNumPerPage * 2;
|
||||
history.pushState(null, '', "/" + g.BOARD + "/" + pageNum);
|
||||
nodes = Index.sortedNodes.slice(nodesPerPage * pageNum, nodesPerPage * (pageNum + 1));
|
||||
if (Conf['Show Replies']) {
|
||||
Index.buildReplies(nodes);
|
||||
}
|
||||
$.add(Index.root, nodes);
|
||||
return Index.setPage();
|
||||
return Index.setPage(pageNum);
|
||||
}),
|
||||
endNotice: (function() {
|
||||
var notify, reset;
|
||||
@ -2386,14 +2388,6 @@
|
||||
}
|
||||
e.preventDefault();
|
||||
return Index.userPageNav(+a.pathname.split('/')[2]);
|
||||
},
|
||||
link: function(e) {
|
||||
if (g.VIEW !== 'index' || /catalog/.test(this.href)) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
history.pushState(null, '', this.pathname);
|
||||
return Index.update();
|
||||
}
|
||||
},
|
||||
scrollToIndex: function() {
|
||||
@ -2456,9 +2450,9 @@
|
||||
}
|
||||
return Index.togglePagelist();
|
||||
},
|
||||
setPage: function() {
|
||||
var a, href, maxPageNum, next, pageNum, pagesRoot, prev, strong;
|
||||
pageNum = Index.getCurrentPage();
|
||||
setPage: function(pageNum) {
|
||||
var a, href, maxPageNum, next, pagesRoot, prev, strong;
|
||||
pageNum || (pageNum = Index.getCurrentPage());
|
||||
maxPageNum = Index.getMaxPageNum();
|
||||
pagesRoot = $('.pages', Index.pagelist);
|
||||
prev = pagesRoot.previousSibling.firstChild;
|
||||
@ -2495,6 +2489,7 @@
|
||||
if (!(d.readyState === 'loading' || Index.root.parentElement)) {
|
||||
$.replace($('.board'), Index.root);
|
||||
}
|
||||
delete Index.pageNum;
|
||||
if ((_ref = Index.req) != null) {
|
||||
_ref.abort();
|
||||
}
|
||||
@ -12105,6 +12100,7 @@
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
delete Index.pageNum;
|
||||
path = this.pathname;
|
||||
if (this.hash) {
|
||||
path += this.hash;
|
||||
|
||||
@ -2334,18 +2334,20 @@
|
||||
if (Index.req || Conf['Index Mode'] !== 'infinite' || (doc.scrollTop <= doc.scrollHeight - (300 + window.innerHeight)) || g.VIEW === 'thread') {
|
||||
return;
|
||||
}
|
||||
pageNum = Index.getCurrentPage() + 1;
|
||||
if (Index.pageNum == null) {
|
||||
Index.pageNum = Index.getCurrentPage();
|
||||
}
|
||||
pageNum = Index.pageNum++;
|
||||
if (pageNum >= Index.pagesNum) {
|
||||
return Index.endNotice();
|
||||
}
|
||||
nodesPerPage = Index.threadsNumPerPage * 2;
|
||||
history.pushState(null, '', "/" + g.BOARD + "/" + pageNum);
|
||||
nodes = Index.sortedNodes.slice(nodesPerPage * pageNum, nodesPerPage * (pageNum + 1));
|
||||
if (Conf['Show Replies']) {
|
||||
Index.buildReplies(nodes);
|
||||
}
|
||||
$.add(Index.root, nodes);
|
||||
return Index.setPage();
|
||||
return Index.setPage(pageNum);
|
||||
}),
|
||||
endNotice: (function() {
|
||||
var notify, reset;
|
||||
@ -2396,14 +2398,6 @@
|
||||
}
|
||||
e.preventDefault();
|
||||
return Index.userPageNav(+a.pathname.split('/')[2]);
|
||||
},
|
||||
link: function(e) {
|
||||
if (g.VIEW !== 'index' || /catalog/.test(this.href)) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
history.pushState(null, '', this.pathname);
|
||||
return Index.update();
|
||||
}
|
||||
},
|
||||
scrollToIndex: function() {
|
||||
@ -2466,9 +2460,9 @@
|
||||
}
|
||||
return Index.togglePagelist();
|
||||
},
|
||||
setPage: function() {
|
||||
var a, href, maxPageNum, next, pageNum, pagesRoot, prev, strong;
|
||||
pageNum = Index.getCurrentPage();
|
||||
setPage: function(pageNum) {
|
||||
var a, href, maxPageNum, next, pagesRoot, prev, strong;
|
||||
pageNum || (pageNum = Index.getCurrentPage());
|
||||
maxPageNum = Index.getMaxPageNum();
|
||||
pagesRoot = $('.pages', Index.pagelist);
|
||||
prev = pagesRoot.previousSibling.firstChild;
|
||||
@ -2505,6 +2499,7 @@
|
||||
if (!(d.readyState === 'loading' || Index.root.parentElement)) {
|
||||
$.replace($('.board'), Index.root);
|
||||
}
|
||||
delete Index.pageNum;
|
||||
if ((_ref = Index.req) != null) {
|
||||
_ref.abort();
|
||||
}
|
||||
@ -12094,6 +12089,7 @@
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
delete Index.pageNum;
|
||||
path = this.pathname;
|
||||
if (this.hash) {
|
||||
path += this.hash;
|
||||
|
||||
@ -112,14 +112,14 @@ Index =
|
||||
|
||||
scroll: $.debounce 100, ->
|
||||
return if Index.req or Conf['Index Mode'] isnt 'infinite' or (doc.scrollTop <= doc.scrollHeight - (300 + window.innerHeight)) or g.VIEW is 'thread'
|
||||
pageNum = Index.getCurrentPage() + 1
|
||||
Index.pageNum = Index.getCurrentPage() unless Index.pageNum? # Avoid having to pushState to keep track of the current page
|
||||
pageNum = Index.pageNum++
|
||||
return Index.endNotice() if pageNum >= Index.pagesNum
|
||||
nodesPerPage = Index.threadsNumPerPage * 2
|
||||
history.pushState null, '', "/#{g.BOARD}/#{pageNum}"
|
||||
nodes = Index.sortedNodes[nodesPerPage * pageNum ... nodesPerPage * (pageNum + 1)]
|
||||
Index.buildReplies nodes if Conf['Show Replies']
|
||||
$.add Index.root, nodes
|
||||
Index.setPage()
|
||||
Index.setPage pageNum
|
||||
|
||||
endNotice: do ->
|
||||
notify = false
|
||||
@ -153,11 +153,6 @@ Index =
|
||||
return if a.textContent is 'Catalog'
|
||||
e.preventDefault()
|
||||
Index.userPageNav +a.pathname.split('/')[2]
|
||||
link: (e) ->
|
||||
return if g.VIEW isnt 'index' or /catalog/.test @href
|
||||
e.preventDefault()
|
||||
history.pushState null, '', @pathname
|
||||
Index.update()
|
||||
|
||||
scrollToIndex: ->
|
||||
Header.scrollToIfNeeded Index.root
|
||||
@ -202,8 +197,8 @@ Index =
|
||||
$.rmAll pagesRoot
|
||||
$.add pagesRoot, nodes
|
||||
Index.togglePagelist()
|
||||
setPage: ->
|
||||
pageNum = Index.getCurrentPage()
|
||||
setPage: (pageNum) ->
|
||||
pageNum or= Index.getCurrentPage()
|
||||
maxPageNum = Index.getMaxPageNum()
|
||||
pagesRoot = $ '.pages', Index.pagelist
|
||||
# Previous/Next buttons
|
||||
@ -232,6 +227,7 @@ Index =
|
||||
return
|
||||
unless d.readyState is 'loading' or Index.root.parentElement
|
||||
$.replace $('.board'), Index.root
|
||||
delete Index.pageNum
|
||||
Index.req?.abort()
|
||||
Index.notice?.close()
|
||||
|
||||
|
||||
@ -184,6 +184,8 @@ Navigate =
|
||||
return if view is 'catalog' or 'f' in [boardID, g.BOARD.ID]
|
||||
e.preventDefault() if e
|
||||
|
||||
delete Index.pageNum
|
||||
|
||||
path = @pathname
|
||||
path += @hash if @hash
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user