Hiding threads will hide empty index pages too.
Rebuilding the paged index should navigate us to the last available page.
This commit is contained in:
parent
ab2ea29dd6
commit
8613e11bc2
@ -257,7 +257,6 @@ Index =
|
|||||||
Index.buildIndex() if e
|
Index.buildIndex() if e
|
||||||
threadsNum: ->
|
threadsNum: ->
|
||||||
return unless Conf['Index Mode'] is 'paged'
|
return unless Conf['Index Mode'] is 'paged'
|
||||||
Index.buildPagelist()
|
|
||||||
Index.buildIndex()
|
Index.buildIndex()
|
||||||
target: ->
|
target: ->
|
||||||
for threadID, thread of g.BOARD.threads when thread.catalogView
|
for threadID, thread of g.BOARD.threads when thread.catalogView
|
||||||
@ -335,7 +334,6 @@ Index =
|
|||||||
Index.currentPage = pageNum
|
Index.currentPage = pageNum
|
||||||
return if Conf['Index Mode'] isnt 'paged'
|
return if Conf['Index Mode'] isnt 'paged'
|
||||||
Index.buildIndex()
|
Index.buildIndex()
|
||||||
Index.setPage()
|
|
||||||
Index.scrollToIndex()
|
Index.scrollToIndex()
|
||||||
|
|
||||||
getThreadsNumPerPage: ->
|
getThreadsNumPerPage: ->
|
||||||
@ -344,11 +342,7 @@ Index =
|
|||||||
else
|
else
|
||||||
Index.threadsNumPerPage
|
Index.threadsNumPerPage
|
||||||
getPagesNum: ->
|
getPagesNum: ->
|
||||||
numThreads = if Index.isSearching
|
Math.ceil Index.sortedNodes.length / Index.getThreadsNumPerPage()
|
||||||
Index.sortedNodes.length / 2
|
|
||||||
else
|
|
||||||
Index.liveThreadIDs.length
|
|
||||||
Math.ceil numThreads / Index.getThreadsNumPerPage()
|
|
||||||
getMaxPageNum: ->
|
getMaxPageNum: ->
|
||||||
Math.max 0, Index.getPagesNum() - 1
|
Math.max 0, Index.getPagesNum() - 1
|
||||||
togglePagelist: ->
|
togglePagelist: ->
|
||||||
@ -476,12 +470,10 @@ Index =
|
|||||||
Index.parseThreadList pages
|
Index.parseThreadList pages
|
||||||
Index.buildThreads()
|
Index.buildThreads()
|
||||||
Index.sort()
|
Index.sort()
|
||||||
Index.buildPagelist()
|
|
||||||
if pageNum?
|
if pageNum?
|
||||||
Index.pageNav pageNum
|
Index.pageNav pageNum
|
||||||
return
|
return
|
||||||
Index.buildIndex()
|
Index.buildIndex()
|
||||||
Index.setPage()
|
|
||||||
parseThreadList: (pages) ->
|
parseThreadList: (pages) ->
|
||||||
Index.threadsNumPerPage = pages[0].threads.length
|
Index.threadsNumPerPage = pages[0].threads.length
|
||||||
Index.liveThreadData = pages.reduce ((arr, next) -> arr.concat next.threads), []
|
Index.liveThreadData = pages.reduce ((arr, next) -> arr.concat next.threads), []
|
||||||
@ -601,10 +593,16 @@ Index =
|
|||||||
switch Conf['Index Mode']
|
switch Conf['Index Mode']
|
||||||
when 'paged'
|
when 'paged'
|
||||||
pageNum = Index.getCurrentPage()
|
pageNum = Index.getCurrentPage()
|
||||||
|
if pageNum > Index.getMaxPageNum()
|
||||||
|
# Go to the last available page if we were past the limit.
|
||||||
|
Index.pageNav Index.getMaxPageNum()
|
||||||
|
return
|
||||||
threadsPerPage = Index.getThreadsNumPerPage()
|
threadsPerPage = Index.getThreadsNumPerPage()
|
||||||
nodes = Index.sortedNodes[threadsPerPage * pageNum ... threadsPerPage * (pageNum + 1)]
|
nodes = Index.sortedNodes[threadsPerPage * pageNum ... threadsPerPage * (pageNum + 1)]
|
||||||
Index.buildReplies nodes
|
Index.buildReplies nodes
|
||||||
Index.buildHRs nodes
|
Index.buildHRs nodes
|
||||||
|
Index.buildPagelist()
|
||||||
|
Index.setPage()
|
||||||
when 'catalog'
|
when 'catalog'
|
||||||
nodes = Index.buildCatalogViews()
|
nodes = Index.buildCatalogViews()
|
||||||
Index.sizeCatalogViews nodes
|
Index.sizeCatalogViews nodes
|
||||||
@ -640,14 +638,11 @@ Index =
|
|||||||
delete Index.searchInput.dataset.searching
|
delete Index.searchInput.dataset.searching
|
||||||
<% } %>
|
<% } %>
|
||||||
Index.sort()
|
Index.sort()
|
||||||
# Go to the last available page if we were past the limit.
|
if Conf['Index Mode'] is 'paged' and Index.currentPage isnt Math.min pageNum, Index.getMaxPageNum()
|
||||||
pageNum = Math.min pageNum, Index.getMaxPageNum() if Conf['Index Mode'] is 'paged'
|
# Go to the last available page if we were past the limit.
|
||||||
Index.buildPagelist()
|
|
||||||
if Index.currentPage is pageNum
|
|
||||||
Index.buildIndex()
|
|
||||||
Index.setPage()
|
|
||||||
else
|
|
||||||
Index.pageNav pageNum
|
Index.pageNav pageNum
|
||||||
|
else
|
||||||
|
Index.buildIndex()
|
||||||
querySearch: (query) ->
|
querySearch: (query) ->
|
||||||
return unless keywords = query.toLowerCase().match /\S+/g
|
return unless keywords = query.toLowerCase().match /\S+/g
|
||||||
Index.search keywords
|
Index.search keywords
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user