module TableSortable::ViewHelpers
Public Instance Methods
table_sortable_columns(record, html_options = {})
click to toggle source
# File lib/table_sortable/view_helpers.rb, line 51 def table_sortable_columns(record, html_options = {}) controller.columns.map.with_index do |col, index| value = col.value(record) content = col.content(record) td_options = {} td_options['data-text'] = value if value != content td_options.merge!(html_options) if col.column_partial render file: col.column_partial, locals: {content: content, value: value, source: record, column: col, index: index} else content_tag :td, td_options do content end end end.join.html_safe end
table_sortable_headers(html_options = {})
click to toggle source
# File lib/table_sortable/view_helpers.rb, line 25 def table_sortable_headers(html_options = {}) controller.columns.map.with_index do |col, index| th_options = {} th_options['data-placeholder'] = col.placeholder if col.placeholder # th_options['data-priority'] = col.sort_priority if col.sort_priority th_options['data-filter'] = 'false' if col.filter.disabled? th_options['data-sorter'] = 'false' if col.sorter.disabled? unless col.filter.collection.blank? th_options['data-filter-options'] = col.filter.collection.to_json end th_options['data-value'] = col.filter.default_value if col.filter.default_value th_options.merge!(html_options) if col.header_partial render file: col.header_partial, locals: {label: col.label, column: col, index: index} else content_tag :th, th_options do col.label end end end.join.html_safe end
table_sortable_pager(*args)
click to toggle source
# File lib/table_sortable/view_helpers.rb, line 4 def table_sortable_pager(*args) options = args.extract_options! pagination_class = options[:wrapper_class] || 'pagination' page_display_class = options[:page_display_class] || 'pagedisplay' item_wrapper_class = options[:item_wrapper_class] item_class = options[:item_class] first_item = options[:first] || '<<' prev_item = options[:prev] || '<' next_item = options[:next] || '>' last_item = options[:last] || '>>' content_tag :ul, class:pagination_class do content_tag(:li, link_to(first_item, '#', class: ([item_class] + ['first']).flatten.compact.join(' ')), class: item_wrapper_class)+ content_tag(:li, link_to(prev_item, '#', class: ([item_class] + ['prev'] ).flatten.compact.join(' ')), class: item_wrapper_class)+ content_tag(:li, content_tag(:span, nil, class: ([item_class] + [page_display_class]).flatten.compact.join(' ')), class: item_wrapper_class)+ content_tag(:li, link_to(next_item, '#', class: ([item_class] + ['next'] ).flatten.compact.join(' ')), class: item_wrapper_class)+ content_tag(:li, link_to(last_item, '#', class: ([item_class] + ['last'] ).flatten.compact.join(' ')), class: item_wrapper_class) end.html_safe end