Sha256: f959b65d8a3649179bad2702441f3b0f3dafb8ffaa4ed4e0d4df843744f4c3b2

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

getFilterParams = ->
  table_id = @table().node().id
  $form = $(".effective-datatables-filters[aria-controls='#{table_id}']").first()

  # Parse Filter & Scope Params
  params = {}

  if $form.length > 0
    params['scope'] = $form.find("input[name='filters[scope]']:checked").val()
    params['scope'] ||= $form.find("input[name='filters[scope]']:not([type='hidden'])").first().val()
    params['scope'] ||= 'effective_datatables_empty_scope'

    params['filter'] = {}

    $form.find("select,textarea,input:enabled:not([type=submit])").each ->
      $input = $(this)

      if ['utf8', 'authenticity_token', 'filters[scope]'].includes($input.attr('name'))
        # Skipped
      else if $input.attr('type') == 'radio'
        name = $input.attr('name')
        filter_name = name.replace('filters[', '').substring(0, name.length-9)

        params['filter'][filter_name] = $form.find("input[name='#{name}']:checked").val()

      else if $input.attr('id')
        filter_name = $input.attr('id').replace('filters_', '')
        params['filter'][filter_name] = $input.val()

  params

$.fn.DataTable.Api.register('getFilterParams()', getFilterParams)

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
effective_datatables-4.32.0 app/assets/javascripts/effective_datatables/params.js.coffee
effective_datatables-4.31.4 app/assets/javascripts/effective_datatables/params.js.coffee
effective_datatables-4.31.3 app/assets/javascripts/effective_datatables/params.js.coffee
effective_datatables-4.31.2 app/assets/javascripts/effective_datatables/params.js.coffee
effective_datatables-4.31.1 app/assets/javascripts/effective_datatables/params.js.coffee
effective_datatables-4.31.0 app/assets/javascripts/effective_datatables/params.js.coffee