Sha256: f2f22013baba426fe6e2fcf993d732c7e021272699689fa8a1fd4e2a61e0bd3c

Contents?: true

Size: 736 Bytes

Versions: 8

Compression:

Stored size: 736 Bytes

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']
      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')) 

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

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

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin_addons-1.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin_addons-1.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin_addons-1.0.1 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin_addons-1.0.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-a5a53c3f2b8f/app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.0.0.pre4 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.0.0.pre3 app/assets/javascripts/active_admin/lib/per_page.js.coffee
activeadmin-1.0.0.pre2 app/assets/javascripts/active_admin/lib/per_page.js.coffee