todomvc
Version:
> Helping you select an MV\* framework
41 lines (33 loc) • 1.2 kB
text/coffeescript
View = require './base/view'
utils = require 'lib/utils'
module.exports = class FooterView extends View
autoRender: true
el: '#footer'
events:
'click #clear-completed': 'clearCompleted'
listen:
'todos:filter mediator': 'updateFilterer'
'all collection': 'renderCounter'
template: require './templates/footer'
render: ->
super
updateFilterer: (filterer) ->
filterer = '' if filterer is 'all'
selector = "[href='#/#{filterer}']"
cls = 'selected'
.forEach (link) =>
link.classList.remove cls
link.classList.add cls if Backbone.utils.matchesSelector link, selector
renderCounter: ->
total = .length
active = .getActive().length
completed = .getCompleted().length
.textContent = active
countDescription = (if active is 1 then 'item' else 'items')
.textContent = countDescription
.textContent = "(#{completed})"
utils.toggle , completed > 0
utils.toggle , total > 0
clearCompleted: ->
'todos:clear'