summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pager.js.coffee
blob: d639303aed3a6d56fa8aebf064f1cf314758746f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
@Pager =
  init: (@limit = 0, preload, @disable = false) ->
    @loading = $(".loading")
    if preload
      @offset = 0
      @getOld()
    else
      @offset = @limit
    @initLoadMore()

  getOld: ->
    @loading.show()
    $.ajax
      type: "GET"
      url: $(".content_list").data('href') || location.href
      data: "limit=" + @limit + "&offset=" + @offset
      complete: =>
        @loading.hide()
      success: (data) ->
        Pager.append(data.count, data.html)
      dataType: "json"

  append: (count, html) ->
    $(".content_list").append html
    if count > 0
      @offset += count
    else
      @disable = true

  initLoadMore: ->
    $(document).unbind('scroll')
    $(document).endlessScroll
      bottomPixels: 400
      fireDelay: 1000
      fireOnce: true
      ceaseFire: ->
        Pager.disable

      callback: (i) =>
        unless @loading.is(':visible')
          @loading.show()
          Pager.getOld()