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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +6 -2
- data/lib/trk_datatables/active_record.rb +5 -2
- data/lib/trk_datatables/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df8bfddf3658f2462c4aedc466514453d6b28745b80fa54a76e92321004090b2
|
4
|
+
data.tar.gz: 43af45648ffbbb57db38547ee2487cb11be6abb660be9eb7a8a405c485e1f293
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e3173a1237202c8949f77594922d98f4dbf98e869f74660f708d0c81b3c3869c9a1e48e351ffba5c694826c27df60e5394c5513338e6be356d0efda58eee857
|
7
|
+
data.tar.gz: 10da1a1ebcd9a4d725ee16b6876df0eae18ea4feaa36f3c8a2128637bdf48ed2042ba9ffcb410626ad2beba60c20a07d5e6d76ddccef109c490259d4098ee596
|
data/Gemfile.lock
CHANGED
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
|
593
|
-
|
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)]
|
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
|
+
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-
|
11
|
+
date: 2020-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|