Sha256: 1e5a77f064e2b730f08bb51bd59376417e9034b8f14f534390abdb9003ec6234

Contents?: true

Size: 1.31 KB

Versions: 16

Compression:

Stored size: 1.31 KB

Contents

Dashboard.PaginationView = Ember.View.extend
  tagName:       'div'
  classNames:    ['pagination-right']
  templateName: 'pagination'

  current: (->
    @get('controller.model.meta.page')
  ).property('controller.model.meta.page')

  totalPages: (->
    @get('controller.model.meta.total_pages')
  ).property('controller.model.meta.total_pages')

  isFirst: (->
    @get('current') == 1
  ).property('current')

  isLast: (->
    @get('current') == @get('totalPages')
  ).property('current', 'totalPages')

  pages: (->
    totalPages = @get('totalPages')
    current = @get('current')

    items = if totalPages < 9
      [1..totalPages]
    else
      switch current
        when 1, 2, 3, 4, 5
          [1, 2, 3, 4, 5, 6, '…', totalPages - 1, totalPages]
        when totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages
          [1, 2, '…', totalPages - 5, totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages]
        else
          [1, 2, '…', current - 1, current, current + 1, '…', totalPages - 1, totalPages]

    result = for i in items
      if i is '…'
        {
          value: '…'
          disabled: true
        }
      else
        {
          page:    i
          value:   i
          active:  i is current
        }

    result
  ).property('totalPages', 'current')

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
dune-dashboard-1.1.5 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.1.4 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.1.3 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.1.2 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.1.1 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.1.0 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.9 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.8 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.7 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.6 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.5 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.4 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.3 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.2 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.1 app/assets/javascripts/views/pagination.coffee
dune-dashboard-1.0.0 app/assets/javascripts/views/pagination.coffee