data_tables 0.1.23 → 0.1.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODFjZTAyOTgzODYzYzQ5NjYxNjI3ODZiOGQwZGMyNzE2YjdkYzE2OA==
4
+ OWY2OTVjMzE3YWVhYTEzM2NmYzIwYzBmNDQ1NTMxNGM4NDQyNjdlZQ==
5
5
  data.tar.gz: !binary |-
6
- ZTllNGZhODVmYzYzOTQ0ZmFkMDI5ODFmNTFhMTgzZmJlYjI5NjQzYg==
6
+ M2ZhZGEyYzJkNjNlOGUzMTNmNGYzMjJjNTIxMTg5OTRkOTVmNDc4YQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTBmODI3ZmZmYmZhY2I1Y2M4YTQ1ZjhiZGQxYTkxNGY2OTZiYWI4YTk5ZTMx
10
- YTA1ZjE5OTMxNmIzNWM0NDViNWRiNmFmNDRjZDJhNDBiNGIwYmY3ZmI3NWE1
11
- YjRlMGEzZGI5MGViYzY4MzAwMjhlZTg5MzNiYmUwMDM1NWZiMDI=
9
+ ZDhmMTgyNjQxOWM1MzA5NzE2OWVmOWJkMmRkOTFjOTA5MzIwZTE4ZTA3MTIx
10
+ NGM5ZTA2ZjYyZGQ4MzZiODQ1NjQ1MTIxZjI2YjA3ZDBhNDgwYmNmMTczMzI4
11
+ OTNjZTllNDFmNmE1ZTcyNjExYThjZmRkYTlhMGJhMjQxYWVkZjg=
12
12
  data.tar.gz: !binary |-
13
- MmVhYWE4NjYxMDliNjg1NDgxYjFmNzI1ODNlOTgwZmJjYzYwZDFmNjA0N2Zh
14
- YmVkNzA0ODUwMzAzMjg2NmI2Yzc2ZTc0ZThhNzBkZjMzODEwNzE3Yjc4MTRj
15
- ODliOGM4MzQwMGExYjBlYjY1NWM1OTU3NGNlYTNhNTg3ZGIyM2Y=
13
+ NjZlYjgzMGUwYTIwZTg4MmMyMjU5NjRlN2RlMDA5ZGMyOTdhMmY2NjI2Y2Rl
14
+ ZGE5ZmZjZTIxODVmZGEyYmUyZWE1NTdjYWUzZTc3ZDhiNjczNzYyYzBmNjM5
15
+ M2E4NGVjYWQ0N2UxMWUxMjViNzUwNTNkYTVmY2I5ZTI2ZWIzZmQ=
data/data_tables.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'data_tables'
5
- s.version = '0.1.23'
5
+ s.version = '0.1.24'
6
6
  s.date = Time.now.strftime("%Y-%m-%d")
7
7
  s.summary = "Rails friendly interface into DataTables"
8
8
  s.description = "DataTables for Rails"
@@ -25,11 +25,17 @@ module DataTablesHelper
25
25
 
26
26
  options[:fnServerData] ||= "function ( sSource, aoData, fnCallback ) {
27
27
  var init_sSearch = $('#init_sSearch');
28
+ var start_time = $('#start_time');
29
+ var end_time = $('#end_time');
28
30
  if(init_sSearch != undefined && init_sSearch.val() != '' && init_sSearch.size() != 0) {
29
31
  $('.dataTables_filter input').val(init_sSearch.val());
30
32
  aoData.push( { name:'sSearch', value: init_sSearch.val() });
31
33
  $('#init_sSearch').remove();
32
34
  }
35
+ if(start_time.val() != undefined && start_time.val() != '' && end_time.val() != undefined && end_time.val() != '') {
36
+ aoData.push( { name:'sStarttime', value:start_time.val() });
37
+ aoData.push( { name:'sEndtime', value:end_time.val() });
38
+ }
33
39
  $.ajax( {
34
40
  'dataType': 'json',
35
41
  'url': sSource,
@@ -83,13 +89,22 @@ module DataTablesHelper
83
89
  <script>
84
90
  $(document).ready(function() {
85
91
  var oTable = $('##{datatable[:action]}').dataTable({
86
- #{datatables_option_string(options)}
92
+ #{datatables_option_string(options)}
87
93
  });
88
94
  $('tfoot input').keyup( function () {
89
- /* Filter on the column (the index) of this element */
90
- oTable.fnFilter( this.value, $('tfoot input').index(this) );
91
- } );
92
-
95
+ /* Filter on the column (the index) of this element */
96
+ oTable.fnFilter( this.value, $('tfoot input').index(this) );
97
+ });
98
+ $('#custom_interval_select_log').click( function () {
99
+ custom_interval_select_handler_log($('#custom_start').val(),$('#custom_end').val());
100
+ oTable.fnDraw();
101
+ });
102
+ $('.interval').change( function () {
103
+ interval_click_handler_log();
104
+ oTable.fnDraw();
105
+ });
106
+ $('.dataTables_filter').after($('#tab_options_popup'));
107
+ $('.dataTables_filter').after($('#interval_choice'));
93
108
  });
94
109
 
95
110
  function change_scrollY() {
data/lib/data_tables.rb CHANGED
@@ -194,6 +194,8 @@ module DataTablesController
194
194
  objects = []
195
195
 
196
196
  condstr = nil
197
+ starttime_str = nil
198
+ endtime_str = nil
197
199
  unless params[:sSearch].blank?
198
200
  sort_column_id = params[:iSortCol_0].to_i
199
201
  sort_column = columns[sort_column_id]
@@ -201,7 +203,15 @@ module DataTablesController
201
203
  condstr = params[:sSearch].gsub(/_/, '\\\\_').gsub(/%/, '\\\\%')
202
204
  end
203
205
  end
204
-
206
+ unless params[:sStarttime].blank? || params[:sEndtime].blank?
207
+ sort_column_id = params[:iSortCol_0].to_i
208
+ sort_column = columns[sort_column_id]
209
+ if sort_column && sort_column.has_key?(:attribute)
210
+ starttime = params[:sStarttime]
211
+ endtime = params[:sEndtime]
212
+ end
213
+ end
214
+
205
215
  sort_column = params[:iSortCol_0].to_i
206
216
  current_page = (params[:iDisplayStart].to_i/params[:iDisplayLength].to_i rescue 0)+1
207
217
  per_page = params[:iDisplayLength] || 10
@@ -213,7 +223,7 @@ module DataTablesController
213
223
  query do
214
224
  boolean do
215
225
  if condstr
216
- must { match :_all, condstr, type: 'phrase_prefix' }
226
+ must { match :_all, condstr, type: 'phrase_prefix' }
217
227
  else
218
228
  must { all }
219
229
  end
@@ -222,6 +232,7 @@ module DataTablesController
222
232
  end
223
233
  end
224
234
  end
235
+ filter(:range, created_at: {gte: starttime,lte: endtime}) unless starttime.blank? || endtime.blank?
225
236
  filter(:term, domain: domain_name) unless domain_name.blank?
226
237
  es_block.call(self) if es_block.respond_to?(:call)
227
238
  end
@@ -261,17 +272,30 @@ module DataTablesController
261
272
 
262
273
  define_method action.to_sym do
263
274
  condition_local = ''
275
+ condition = ''
276
+
264
277
  unless params[:sSearch].blank?
265
278
  sort_column_id = params[:iSortCol_0].to_i
266
279
  sort_column = columns[sort_column_id]
267
280
  condstr = params[:sSearch].strip.gsub(/%/, '%%').gsub(/'/,"''")
268
281
 
269
282
  search_columns = options[:columns].map{|e| e.class == Symbol ? e : e[:attribute] }.compact
270
- condition_local = search_columns.map do |column_name|
283
+ condition = search_columns.map do |column_name|
271
284
  " ((text(#{column_name}) ILIKE '%#{condstr}%')) "
272
285
  end.compact.join(" OR ")
273
- condition_local = " ( #{condition_local} ) " unless condition_local.blank?
286
+ condition = "(#{condition})" unless condition.blank?
287
+ end
288
+ unless params[:sStarttime].blank? || params[:sEndtime].blank?
289
+ sort_column_id = params[:iSortCol_0].to_i
290
+ sort_column = columns[sort_column_id]
291
+ if sort_column && sort_column.has_key?(:attribute)
292
+ starttime = params[:sStarttime]
293
+ endtime = params[:sEndtime]
294
+ end
295
+ condition = condition + "AND" unless condition.blank?
296
+ condition = condition + "(last_seen BETWEEN '#{starttime}' AND '#{endtime}') "
274
297
  end
298
+ condition_local = "(#{condition})" unless condition.blank?
275
299
 
276
300
  # We just need one conditions string for search at a time. Every time we input
277
301
  # something else in the search bar we will pop the previous search condition
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_tables
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.23
4
+ version: 0.1.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Duane Compton
@@ -12,10 +12,9 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-11-19 00:00:00.000000000 Z
15
+ date: 2015-04-07 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- prerelease: false
19
18
  name: rspec
20
19
  requirement: !ruby/object:Gem::Requirement
21
20
  requirements:
@@ -23,6 +22,7 @@ dependencies:
23
22
  - !ruby/object:Gem::Version
24
23
  version: '2.10'
25
24
  type: :development
25
+ prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ~>
@@ -70,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  version: '0'
71
71
  requirements: []
72
72
  rubyforge_project:
73
- rubygems_version: 2.2.1
73
+ rubygems_version: 2.2.2
74
74
  signing_key:
75
75
  specification_version: 4
76
76
  summary: Rails friendly interface into DataTables