effective_datatables 4.20.3 → 4.20.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efe60765e3b15e6c05007e9bba964cb70d52e411ff5fe8eb7899c7289317c24d
|
4
|
+
data.tar.gz: ec684a2e94cb1955f657fe86f412302ac5ff44795e3f6f06217f22240cd27e33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf3517b19749fa82ff16a57cee12b778b88693e2519830e438af3f18752e771ed519fadd586c72d6cd155084fc9fd358a5e3fa4939a7c9c4a023db8348957619
|
7
|
+
data.tar.gz: db6d03253ce56d049b95992f382c41c4ea7f9d44f5e1919243430ec40eb3b927f1365960641eb1ac30343ad557c1842cd9267d6ca738af12610a9c2bad90bbf6
|
@@ -158,6 +158,8 @@ module Effective
|
|
158
158
|
|
159
159
|
def load_resource_search!
|
160
160
|
columns.each do |name, opts|
|
161
|
+
# Normalize the given opts[:search] into a Hash
|
162
|
+
# Take special note of the opts[:search] as we need to collapse it when an ActiveRecord::Relation
|
161
163
|
case opts[:search]
|
162
164
|
when false
|
163
165
|
opts[:search] = { as: :null }; next
|
@@ -171,10 +173,13 @@ module Effective
|
|
171
173
|
raise "column #{name} unexpected search value"
|
172
174
|
end
|
173
175
|
|
176
|
+
# Now lets deal with the opts[:search] hash itself
|
174
177
|
search = opts[:search]
|
175
178
|
|
176
179
|
# Parameterize collection
|
177
|
-
if
|
180
|
+
if attributes[:searchable] == false
|
181
|
+
# Nothing to do
|
182
|
+
elsif search[:collection].kind_of?(ActiveRecord::Relation)
|
178
183
|
search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
|
179
184
|
elsif search[:collection].kind_of?(Array) && search[:collection].first.kind_of?(ActiveRecord::Base)
|
180
185
|
search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
|
@@ -189,11 +194,19 @@ module Effective
|
|
189
194
|
search_resource = [opts[:resource], effective_resource, fallback_effective_resource].compact
|
190
195
|
search_resource = search_resource.find { |res| res.klass.present? } || search_resource.first
|
191
196
|
|
192
|
-
|
193
|
-
|
194
|
-
elsif search[:as] == :select && search[:collection].kind_of?(Array)
|
197
|
+
# Assign search collections from effective_resources
|
198
|
+
if attributes[:searchable] == false
|
195
199
|
# Nothing to do
|
196
|
-
elsif search[:as]
|
200
|
+
elsif search[:as] == :string
|
201
|
+
# Nothing to do. We're just a string search.
|
202
|
+
elsif search[:as] == :select && search[:collection].kind_of?(Array)
|
203
|
+
# Nothing to do. We already loaded the custom parameterized collection above.
|
204
|
+
elsif array_collection? && opts[:resource].present?
|
205
|
+
# Assigns { as: :select, collection: [...] }
|
206
|
+
search.reverse_merge!(search_resource.search_form_field(name, collection.first[opts[:index]]))
|
207
|
+
else
|
208
|
+
# Load the defaults from effective_resources
|
209
|
+
# Assigns { as: :string } or { as: :select, collection: [...] }
|
197
210
|
search.reverse_merge!(search_resource.search_form_field(name, opts[:as]))
|
198
211
|
end
|
199
212
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_datatables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.20.
|
4
|
+
version: 4.20.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|