Merge ihavenoface's Relative Date Title implementation directly, rather than the prior coffee->js->coffee translation. #161

This commit is contained in:
ccd0 2014-12-20 14:43:54 -08:00
parent 2d38f40910
commit 6a8c28fdb7
2 changed files with 16 additions and 19 deletions

View File

@ -47,7 +47,7 @@ Config =
] ]
'Relative Date Title': [ 'Relative Date Title': [
true true
'Show relative post date as the tooltip.' 'Show Relative Post Date only when hovering over dates.'
] ]
'Comment Expansion': [ 'Comment Expansion': [
true true

33
src/Miscellaneous/RelativeDates.coffee Executable file → Normal file
View File

@ -1,29 +1,27 @@
RelativeDates = RelativeDates =
INTERVAL: $.MINUTE / 2 INTERVAL: $.MINUTE / 2
init: -> init: ->
switch g.VIEW unless Conf['Relative Date Title']
when 'index' switch g.VIEW
@flush() when 'index'
$.on d, 'visibilitychange', @flush @flush()
return unless Conf['Relative Post Dates'] $.on d, 'visibilitychange', @flush
when 'thread' return unless Conf['Relative Post Dates']
return unless Conf['Relative Post Dates'] when 'thread'
@flush() return unless Conf['Relative Post Dates']
$.on d, 'visibilitychange ThreadUpdate', @flush if g.VIEW is 'thread' @flush()
else $.on d, 'visibilitychange ThreadUpdate', @flush if g.VIEW is 'thread'
return else
return
Post.callbacks.push Post.callbacks.push
name: 'Relative Post Dates' name: 'Relative Post Dates'
cb: @node cb: @node
node: -> node: ->
dateEl = @nodes.date dateEl = @nodes.date
if Conf['Relative Date Title'] if Conf['Relative Date Title']
$.on dateEl, 'mouseover', => $.on dateEl, 'mouseover', => RelativeDates.hover @
RelativeDates.hover @
return return
return if @isClone return if @isClone
# Show original absolute time as tooltip so users can still know exact times # Show original absolute time as tooltip so users can still know exact times
@ -88,10 +86,9 @@ RelativeDates =
clearTimeout RelativeDates.timeout clearTimeout RelativeDates.timeout
RelativeDates.timeout = setTimeout RelativeDates.flush, RelativeDates.INTERVAL RelativeDates.timeout = setTimeout RelativeDates.flush, RelativeDates.INTERVAL
# Relative Date Title
hover: (post) -> hover: (post) ->
{date} = post.info date = post.info.date
now = new Date() now = new Date()
diff = now - date diff = now - date
post.nodes.date.title = RelativeDates.relative diff, now, date post.nodes.date.title = RelativeDates.relative diff, now, date