trk_datatables 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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