trk_datatables 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94acc0f23e22979cbdfbbd78356012328d0da999b00706bee6b8feb28e98c7bb
4
- data.tar.gz: 458f2c1fdb9400faf491b494d5866b17397643464431bf8e6a4e115211cbbaca
3
+ metadata.gz: df8bfddf3658f2462c4aedc466514453d6b28745b80fa54a76e92321004090b2
4
+ data.tar.gz: 43af45648ffbbb57db38547ee2487cb11be6abb660be9eb7a8a405c485e1f293
5
5
  SHA512:
6
- metadata.gz: b48507c0815c0ab7946eb4fd770cdd317d5fceca8845c1f007556b627cfc5f77d5816497ed2825d1dce4974aa530def7bd455441e2f785131a6cd11fb1281614
7
- data.tar.gz: 609e99cc22a0a195f3903af22f214d9ce8d6e5ffbf221862844389d3af3f0e90c30e82f66ad830d808bf97023f146655d2df55d76638033a2e4c3b733b0ab6e0
6
+ metadata.gz: 8e3173a1237202c8949f77594922d98f4dbf98e869f74660f708d0c81b3c3869c9a1e48e351ffba5c694826c27df60e5394c5513338e6be356d0efda58eee857
7
+ data.tar.gz: 10da1a1ebcd9a4d725ee16b6876df0eae18ea4feaa36f3c8a2128637bdf48ed2042ba9ffcb410626ad2beba60c20a07d5e6d76ddccef109c490259d4098ee596
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trk_datatables (0.2.4)
4
+ trk_datatables (0.2.5)
5
5
  activesupport
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -589,8 +589,12 @@ This will fill proper column search values so you do not need to do it manually
589
589
  (`post_path(:columns=>{"3"=>{:search=>{:value=>"my@email.com"}},
590
590
  "2"=>{:search=>{:value=>"1|2"}}}, :user_id=>1)`)
591
591
 
592
- For form fields you can use similar helper `PostsDatatable.form_field_name
593
- 'users.email'`
592
+ For form fields you can use similar helper that will return name which points to
593
+ specific column, for example:
594
+ ```
595
+ PostsDatatable.form_field_name('users.email'`) # => 'columns[3][search][value]'
596
+ ```
597
+ Usefull when you want to provide a form for a user to search on specific column
594
598
  ```
595
599
  <%= form_tag url: posts_path, method: :get do |f| %>
596
600
  <%= f.text_field PostsDatatable.form_field_name('users.email'), 'my@email.com' %>
@@ -1,9 +1,12 @@
1
1
  module TrkDatatables
2
2
  class ActiveRecord < Base
3
+ # there is a stack level too deep exception for more than 190 strings
4
+ MAX_NUMBER_OF_STRINGS = 190
5
+
3
6
  # Global search. All columns are typecasted to string. Search string is
4
7
  # splited by space and "and"-ed.
5
8
  def filter_by_search_all(filtered)
6
- conditions = @dt_params.search_all.split(' ').map do |search_string|
9
+ conditions = @dt_params.search_all.split(' ').first(MAX_NUMBER_OF_STRINGS).map do |search_string|
7
10
  @column_key_options.searchable_and_global_search.map do |column_key_option|
8
11
  _filter_column_as_string column_key_option, search_string
9
12
  end.reduce(:or) # any searchable column is 'or'-ed
@@ -45,7 +48,7 @@ module TrkDatatables
45
48
  end
46
49
 
47
50
  def _filter_column_as_string(column_key_option, search_value)
48
- search_value.split(' ').map do |search_string|
51
+ search_value.split(' ').first(MAX_NUMBER_OF_STRINGS).map do |search_string|
49
52
  casted_column = ::Arel::Nodes::NamedFunction.new(
50
53
  'CAST',
51
54
  [_arel_column(column_key_option).as(@column_key_options.string_cast)]
@@ -1,3 +1,3 @@
1
1
  module TrkDatatables
2
- VERSION = '0.2.4'.freeze
2
+ VERSION = '0.2.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trk_datatables
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dusan Orlovic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-15 00:00:00.000000000 Z
11
+ date: 2020-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport