module AjaxDatatablesRails::Datatable::Column::DateFilter

Constants

RANGE_DELIMITER

Public Instance Methods

delimiter() click to toggle source

Add delimiter option to handle range search

# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 24
def delimiter
  @delimiter ||= @view_column.fetch(:delimiter, RANGE_DELIMITER)
end
empty_range_search?() click to toggle source
# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 40
def empty_range_search?
  (formatted_value == delimiter) || (range_start.blank? && range_end.blank?)
end
range_end() click to toggle source

A range value is in form '<range_start><delimiter><range_end>' This returns <range_end>

# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 36
def range_end
  @range_end ||= formatted_value.split(delimiter)[1]
end
range_start() click to toggle source

A range value is in form '<range_start><delimiter><range_end>' This returns <range_start>

# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 30
def range_start
  @range_start ||= formatted_value.split(delimiter)[0]
end

Private Instance Methods

parse_date(date) click to toggle source
# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 61
def parse_date(date)
  Time.zone ? Time.zone.parse(date) : Time.parse(date)
end
range_end_casted() click to toggle source
# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 57
def range_end_casted
  range_end.blank? ? Time.current : parse_date("#{range_end} 23:59:59")
end
range_start_casted() click to toggle source
# File lib/ajax-datatables-rails/datatable/column/date_filter.rb, line 53
def range_start_casted
  range_start.blank? ? parse_date('01/01/1970') : parse_date(range_start)
end