Sha256: b3b1eda064f8ee2d8d80951e814cfe5399a9a0e273376ff8a0a161047d93d552

Contents?: true

Size: 1.11 KB

Versions: 14

Compression:

Stored size: 1.11 KB

Contents

class ActiveAdmin.PerPage
  constructor: (@options, @element)->
    @$element = $(@element)
    @_init()
    @_bind()

  _init: ->
    @$params = @_queryParams()

  _bind: ->
    @$element.change =>
      @$params['per_page'] = @$element.val()
      delete @$params['page']
      if typeof Turbolinks != 'undefined'
        Turbolinks.visit(window.location.href.split('?')[0] + '?' + $.param(@$params))
      else
        location.search = $.param(@$params)

  _queryParams: ->
    query = window.location.search.substring(1)
    params = {}
    re = /([^&=]+)=([^&]*)/g
    while m = re.exec(query)
      params[@_decode(m[1])] = @_decode(m[2])
    params

  _decode: (value) ->
    #replace "+" before decodeURIComponent
    decodeURIComponent(value.replace(/\+/g, '%20'))

  option: (key, value) ->
    if $.isPlainObject(key)
      @options = $.extend(true, @options, key)
    else if key?
      @options[key]
    else
      @options[key] = value

$.widget.bridge 'perPage', ActiveAdmin.PerPage

onDOMReady = ->
  $('.pagination_per_page select').perPage()

$(document).
  ready(onDOMReady).
  on 'page:load turbolinks:load', onDOMReady

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
activeadmin-rb-1.6.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-rb-1.5.2 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-rb-1.5.1 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-rb-1.5.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-rb-1.4.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.4.3 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.4.2 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.4.1 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.4.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.3.1 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.3.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.2.1 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.2.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.1.0 app/assets/javascripts/active_admin/lib/per_page.js.coffee