Class: Table::HeadersController

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

Instance Method Summary collapse

Instance Method Details

#apply_filtersObject



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

def apply_filters
  page._column_filt = []
  options.each_with_index do |opt, i|
    unless options[i] == nil || values[i] == nil
      page._column_filt << {col: "#{search_fields[i]['field']}", option: "#{options[i]}", value: "#{values[i]}" }
    end
  end
  `$('#sortModal').modal('hide');`
end

#clear_filtersObject



93
94
95
# File 'app/table/controllers/headers_controller.rb', line 93

def clear_filters
  page._column_filt = []
end

#indexObject

Actions



11
12
13
# File 'app/table/controllers/headers_controller.rb', line 11

def index
  self.search_term = params._query
end


15
16
17
18
# File 'app/table/controllers/headers_controller.rb', line 15

def modal
  self.options = []
  self.values = []
end

#searchObject



70
71
72
73
74
75
76
77
78
79
# File 'app/table/controllers/headers_controller.rb', line 70

def search
  unless @last_hit.nil? || search_term.length == 1
    if (Time.now - @last_hit) >= 0.5
      params._query = search_term
    else
      timeout unless @timeout
    end
  end
  @last_hit = Time.now
end

#search_fieldsObject



60
61
62
63
64
65
66
67
68
# File 'app/table/controllers/headers_controller.rb', line 60

def search_fields
  search_fields = []
  page._table._columns.each do |col|
    unless col._search_field == nil
      search_fields << {title: col._title, field: col._field_name, search: col._search_field}
    end
  end
  search_fields
end

#set_default_optionsObject

callbacks



23
24
25
# File 'app/table/controllers/headers_controller.rb', line 23

def set_default_options
  params._per_page ||= 10
end

#set_table_size(size) ⇒ Object



35
36
37
# File 'app/table/controllers/headers_controller.rb', line 35

def set_table_size(size)
  params._per_page = size
end

#sizeObject

Data Sources



31
32
33
# File 'app/table/controllers/headers_controller.rb', line 31

def size
  params._per_page.to_i
end

#timeoutObject



81
82
83
84
85
86
# File 'app/table/controllers/headers_controller.rb', line 81

def timeout
  unless @timeout
    @timeout = true
    `setTimeout(function(){#{timeout_search}}, 500)`
  end
end

#timeout_searchObject



88
89
90
91
# File 'app/table/controllers/headers_controller.rb', line 88

def timeout_search
  @timeout = false
  search
end

#toggle_popoverObject

Events



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

def toggle_popover
  if `$('#popover').css('display') == 'none'`
    `$('#popover').css('display', 'block')`
  else
    `$('#popover').css('display', 'none')`
  end
end