timecard/timecard-rails

View on GitHub
app/assets/javascripts/views/issues/list_pagination.js.coffee

Summary

Maintainability
Test Coverage
class Timecard.Views.IssuesListPagination extends Backbone.View

  template: JST['issues/list_pagination']

  el: '.issue-list-pagination'

  events:
    'click .pagination__prev': 'prevPage'
    'click .pagination__next': 'nextPage'

  initialize: (@options) ->
    @listenTo(@collection, 'reset', @unblockPage)

  render: ->
    @$el.html(@template(issues: @collection))
    @

  prevPage: (e) ->
    e.preventDefault()
    @blockPage()
    @collection.getPreviousPage
      reset: true
      data:
        status: @collection.status

  nextPage: (e) ->
    e.preventDefault()
    @blockPage()
    @collection.getNextPage
      reset: true
      data:
        status: @collection.status

  blockPage: ->
    $('body').block(message: null)
    @$('.clearfix').append("<img src='/assets/loading_mini.gif' />")

  unblockPage: ->
    $('body').unblock()