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 +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
|