Indicate the elapsed time since the last index refresh at the top of the index.
This commit is contained in:
parent
bd2fe915eb
commit
564e799d31
@ -1,10 +1,11 @@
|
|||||||
- Searching in the index will now show matched OPs by:
|
- Searching in the index is now possible and will show matched OPs by:
|
||||||
- comment
|
- comment
|
||||||
- subject
|
- subject
|
||||||
- filename
|
- filename
|
||||||
- name
|
- name
|
||||||
- tripcode
|
- tripcode
|
||||||
- e-mail
|
- e-mail
|
||||||
|
- The elapsed time since the last index refresh is now indicated at the top of the index.
|
||||||
|
|
||||||
### 3.12.1 - *2013-11-04*
|
### 3.12.1 - *2013-11-04*
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +1,3 @@
|
|||||||
|
[<time id="index-last-refresh" title="Last index refresh" data-init="1">...</time>]
|
||||||
[<a href="./catalog">Catalog</a>]
|
[<a href="./catalog">Catalog</a>]
|
||||||
<input type="search" id="index-search" placeholder="Search">
|
<input type="search" id="index-search" placeholder="Search">
|
||||||
|
|||||||
@ -192,6 +192,13 @@ Index =
|
|||||||
notice.el.lastElementChild.textContent = 'Index refreshed!'
|
notice.el.lastElementChild.textContent = 'Index refreshed!'
|
||||||
setTimeout notice.close, $.SECOND
|
setTimeout notice.close, $.SECOND
|
||||||
|
|
||||||
|
timeEl = $ '#index-last-refresh', Index.navLinks
|
||||||
|
timeEl.dataset.utc = e.timeStamp
|
||||||
|
if timeEl.dataset.init
|
||||||
|
RelativeDates.setUpdate el: timeEl
|
||||||
|
delete timeEl.dataset.init
|
||||||
|
else
|
||||||
|
RelativeDates.flush()
|
||||||
Index.scrollToIndex()
|
Index.scrollToIndex()
|
||||||
parse: (pages) ->
|
parse: (pages) ->
|
||||||
Index.parseThreadList pages
|
Index.parseThreadList pages
|
||||||
|
|||||||
@ -1,13 +1,17 @@
|
|||||||
RelativeDates =
|
RelativeDates =
|
||||||
INTERVAL: $.MINUTE / 2
|
INTERVAL: $.MINUTE / 2
|
||||||
init: ->
|
init: ->
|
||||||
return if g.VIEW is 'catalog' or !Conf['Relative Post Dates']
|
switch g.VIEW
|
||||||
|
when 'index'
|
||||||
# Flush when page becomes visible again or when the thread updates.
|
@flush()
|
||||||
$.on d, 'visibilitychange ThreadUpdate', @flush
|
$.on d, 'visibilitychange', @flush
|
||||||
|
return unless Conf['Relative Post Dates']
|
||||||
# Start the timeout.
|
when 'thread'
|
||||||
@flush()
|
return unless Conf['Relative Post Dates']
|
||||||
|
@flush()
|
||||||
|
$.on d, 'visibilitychange ThreadUpdate', @flush if g.VIEW is 'thread'
|
||||||
|
else
|
||||||
|
return
|
||||||
|
|
||||||
Post.callbacks.push
|
Post.callbacks.push
|
||||||
name: 'Relative Post Dates'
|
name: 'Relative Post Dates'
|
||||||
@ -21,7 +25,7 @@ RelativeDates =
|
|||||||
dateEl = @nodes.date
|
dateEl = @nodes.date
|
||||||
dateEl.title = dateEl.textContent
|
dateEl.title = dateEl.textContent
|
||||||
|
|
||||||
RelativeDates.setUpdate @
|
RelativeDates.setUpdate post: @
|
||||||
|
|
||||||
# diff is milliseconds from now.
|
# diff is milliseconds from now.
|
||||||
relative: (diff, now, date) ->
|
relative: (diff, now, date) ->
|
||||||
@ -81,7 +85,7 @@ RelativeDates =
|
|||||||
# Create function `update()`, closed over post, that, when called
|
# Create function `update()`, closed over post, that, when called
|
||||||
# from `flush()`, updates the elements, and re-calls `setOwnTimeout()` to
|
# from `flush()`, updates the elements, and re-calls `setOwnTimeout()` to
|
||||||
# re-add `update()` to the stale list later.
|
# re-add `update()` to the stale list later.
|
||||||
setUpdate: (post) ->
|
setUpdate: ({post, el}) ->
|
||||||
setOwnTimeout = (diff) ->
|
setOwnTimeout = (diff) ->
|
||||||
delay = if diff < $.MINUTE
|
delay = if diff < $.MINUTE
|
||||||
$.SECOND - (diff + $.SECOND / 2) % $.SECOND
|
$.SECOND - (diff + $.SECOND / 2) % $.SECOND
|
||||||
@ -94,11 +98,17 @@ RelativeDates =
|
|||||||
setTimeout markStale, delay
|
setTimeout markStale, delay
|
||||||
|
|
||||||
update = (now) ->
|
update = (now) ->
|
||||||
{date} = post.info
|
date = if post
|
||||||
|
post.info.date
|
||||||
|
else
|
||||||
|
new Date +el.dataset.utc
|
||||||
diff = now - date
|
diff = now - date
|
||||||
relative = RelativeDates.relative diff, now, date
|
relative = RelativeDates.relative diff, now, date
|
||||||
for singlePost in [post].concat post.clones
|
if post
|
||||||
singlePost.nodes.date.firstChild.textContent = relative
|
for singlePost in [post].concat post.clones
|
||||||
|
singlePost.nodes.date.firstChild.textContent = relative
|
||||||
|
else
|
||||||
|
el.firstChild.textContent = RelativeDates.relative diff, now, date
|
||||||
setOwnTimeout diff
|
setOwnTimeout diff
|
||||||
|
|
||||||
markStale = -> RelativeDates.stale.push update
|
markStale = -> RelativeDates.stale.push update
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user