Sha256: 68c6c1ba9ab397d47c0ff63d167d74e541daaed65e1fcc9dc74a7aa39a6795fa

Contents?: true

Size: 1.33 KB

Versions: 9

Compression:

Stored size: 1.33 KB

Contents

# frozen_string_literal: true

# Helper methods for rendering JQuery Datatables
module DatatableHelper
  def default_datatable_columns(object)
    datatable_columns(object, ['actions'] + object.column_names)
  end

  def datatable_columns(object, cols)
    obj_name = object.to_s.underscore.pluralize
    cols.map do |col|
      if col == 'actions'
        { title: '', data: "#{obj_name.tr('/', '_')}__actions",
          class: 'actions center', bSortable: false }
      else
        { title: col.split('_').collect(&:capitalize).join(' ').to_s,
          data: "#{obj_name}__#{col}", visible: true }
      end
    end
  end

  def render_datatable(object, table_url, columns: nil, table_name: nil, aoData: [], initial_size: 25, table_views: { table: true, grid: false }, table_filters: {}, table_actions: nil, sort: [[0, 'asc']])
    if table_name.nil?
      table_name = object.to_s.pluralize.underscore.tr('/', '_')
    end
    columns = default_datatable_columns(object) if columns.nil?
    render(
      partial: 'partials/table', locals: {
        table_name: table_name, aoData: aoData, columns: columns, sort: sort,
        table_filters: table_filters, table_views: table_views,
        initial_size: initial_size, table_actions: table_actions,
        table_url: table_url
      }.merge(request.query_parameters), formats: [:html]
    )
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
zuora_connect_ui-0.2.5 app/helpers/datatable_helper.rb
zuora_connect_ui-0.2.4 app/helpers/datatable_helper.rb
zuora_connect_ui-0.2.3 app/helpers/datatable_helper.rb
zuora_connect_ui-0.2.2 app/helpers/datatable_helper.rb
zuora_connect_ui-0.1.6 app/helpers/datatable_helper.rb
zuora_connect_ui-0.1.5 app/helpers/datatable_helper.rb
zuora_connect_ui-0.1.4 app/helpers/datatable_helper.rb
zuora_connect_ui-0.1.3 app/helpers/datatable_helper.rb
zuora_connect_ui-0.1.2 app/helpers/datatable_helper.rb