Class: Table::ColumnsController

Inherits:
Volt::ModelController
  • Object
show all
Defined in:
app/table/controllers/columns_controller.rb

Instance Method Summary collapse

Instance Method Details

#apply_filters(item, event) ⇒ Object



42
43
44
45
46
47
48
49
# File 'app/table/controllers/columns_controller.rb', line 42

def apply_filters(item, event)
  page._column_filt = page._column_filt.reject { |h| item.to_s.include? h._col }
  unless options == nil || values == nil || options == '' || values == ''
    page._column_filt << {col: "#{item}", option: "#{options}", value: "#{values}" }
  end
  `$(#{event.target}).closest('.dropdown').removeClass('open')`
  nil
end

#filter_label(filter) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'app/table/controllers/columns_controller.rb', line 78

def filter_label(filter)
  if page._column_filt.any? { |x| x._col == filter.to_s }
    index = page._column_filt.index {|x| x._col == filter.to_s }
    if page._column_filt[index]._option.to_s == '$ne'
      "!= #{page._column_filt[index]._value}"
    elsif page._column_filt[index]._option == '$gt'
      "> #{page._column_filt[index]._value}"
    elsif page._column_filt[index]._option == '$lt'
      "< #{page._column_filt[index]._value}"
    elsif page._column_filt[index]._option == '$lte'
      "<= #{page._column_filt[index]._value}"
    elsif page._column_filt[index]._option == '$gte'
      ">= #{page._column_filt[index]._value}"
    elsif page._column_filt[index]._option == '$eq'
      "= #{page._column_filt[index]._value}"
    else
      ""
    end
  else
    ""
  end
end

#header_sort_klass(label) ⇒ Object

Display



64
65
66
67
68
# File 'app/table/controllers/columns_controller.rb', line 64

def header_sort_klass(label)
  if params._sort_field == label
    params._sort_direction.to_i == 1 ? 'headerSortDown' : 'headerSortUp'
  end
end

#indexObject

Actions



10
11
12
# File 'app/table/controllers/columns_controller.rb', line 10

def index
  page._column_filt = []
end

#reset(item, event) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'app/table/controllers/columns_controller.rb', line 51

def reset(item, event)
  options = ""
  values = ""
  if page._column_filt.any? { |x| x._col == item.to_s }
    page._column_filt = page._column_filt.reject { |h| item.to_s.include? h._col }
  end
  `$(#{event.target}).closest('.dropdown').removeClass('open')`
  nil
end

#sort(field) ⇒ Object

Events



25
26
27
28
29
30
# File 'app/table/controllers/columns_controller.rb', line 25

def sort(field)
  if field
    toggle_sort_direction(field)
    params._sort_field = field
  end
end

#sort_direction(reverse) ⇒ Object



70
71
72
73
74
75
76
# File 'app/table/controllers/columns_controller.rb', line 70

def sort_direction(reverse)
  if reverse
    params._sort_direction.to_i == 1 ? 'down' : 'up'
  else
    params._sort_direction.to_i == 1 ? 'up' : 'down'
  end
end

#toggle_sort_direction(field) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'app/table/controllers/columns_controller.rb', line 32

def toggle_sort_direction(field)
  if params._sort_field == field
    if params._sort_direction.to_i == 1
      params._sort_direction = -1
    else
      params._sort_direction = 1
    end
  end
end