53 lines
1.3 KiB
CoffeeScript
Executable File
53 lines
1.3 KiB
CoffeeScript
Executable File
FappeTyme =
|
|
init: ->
|
|
return unless (Conf['Fappe Tyme'] or Conf['Werk Tyme']) and g.VIEW in ['index', 'thread']
|
|
|
|
@nodes = {}
|
|
@enabled =
|
|
fappe: false
|
|
werk: Conf['werk']
|
|
|
|
for type in ["Fappe", "Werk"] when Conf["#{type} Tyme"]
|
|
lc = type.toLowerCase()
|
|
el = UI.checkbox lc, "#{type} Tyme", false
|
|
el.title = "#{type} Tyme"
|
|
|
|
@nodes[lc] = el.firstElementChild
|
|
@set lc, true if Conf[lc]
|
|
$.on @nodes[lc], 'change', @toggle.bind(@, lc)
|
|
|
|
Header.menu.addEntry
|
|
el: el
|
|
order: 97
|
|
|
|
if Conf['Werk Tyme']
|
|
$.sync 'werk', @set.bind(@, 'werk')
|
|
|
|
Post.callbacks.push
|
|
name: 'Fappe Tyme'
|
|
cb: @node
|
|
|
|
CatalogThread.callbacks.push
|
|
name: 'Werk Tyme'
|
|
cb: @catalogNode
|
|
|
|
node: ->
|
|
return if @file
|
|
$.addClass @nodes.root, "noFile"
|
|
|
|
catalogNode: ->
|
|
{file} = @thread.OP
|
|
return if !file
|
|
filename = $.el 'div',
|
|
textContent: file.name
|
|
className: 'werkTyme-filename'
|
|
$.add @nodes.thumb.parentNode, filename
|
|
|
|
set: (type, enabled) ->
|
|
@enabled[type] = @nodes[type].checked = enabled
|
|
$["#{if enabled then 'add' else 'rm'}Class"] doc, "#{type}Tyme"
|
|
|
|
toggle: (type) ->
|
|
@set type, !@enabled[type]
|
|
$.cb.checked.call @nodes[type] if type is 'werk'
|