Sha256: f157e3da2ae0f970022100283afe492daac1bac38bd234333ef5bcf31c0457d6

Contents?: true

Size: 982 Bytes

Versions: 10

Compression:

Stored size: 982 Bytes

Contents

swapDirection = (sortDirection) ->
  if sortDirection is 'asc' then 'desc' else 'asc'

getUrlParams = ->
  pl = /\+/g
  search = /([^&=]+)=?([^&]*)/g

  decode = (s) ->
    decodeURIComponent s.replace(pl, ' ')

  query = window.location.search.substring(1)
  urlParams = {}
  urlParams[decode(match[1])] = decode(match[2]) while match = search.exec(query)
  urlParams

paramsToString = (params) ->
  str = []
  for param of params
    str.push("#{param}=#{params[param]}")
  str.join('&')

initSorting = ->
  params = getUrlParams()

  params['direction'] ?= 'asc'

  $('.table-box [data-column]').click ->
    column = $(this).data('column')
    params['direction'] = if column is params['sort']
      swapDirection(params['direction'])
    else
      'asc'

    params['sort'] = column
    params['page'] ?= '1'

    query_string = paramsToString(params)

    Turbolinks.visit("#{window.location.pathname}?#{query_string}")

$ ->

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

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rademade_admin-0.2.2 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.2.1 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.2.0 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.6 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.5 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.4 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.3 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.2 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.1 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee
rademade_admin-0.1.0 app/assets/javascripts/rademade_admin/app/common/sort-list.coffee