effective_datatables 4.13.5 → 4.14.0

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: 1a652ec20b06f01718d88cbc9c6d78e6905c44239c577009b6df777d02432975
4
- data.tar.gz: 6f148f5dd453d595ae3bca1592b179974802c2b3c6b83d0051bd6043ce39533e
3
+ metadata.gz: fc47f42fc35402807796c781d25c4a2c04209c298524ff5097eccd4132e0831d
4
+ data.tar.gz: 5237226dfc47dd03a9132f06a44bd664ce55c24016ea037c948ba781d05f4843
5
5
  SHA512:
6
- metadata.gz: e9c0d5927da2c915118f5b0347591b38a8e355f1d2860548523da04a3cfd6b3dac10d66181f353552bc4bcfa63ba218d2254c55a38e3ad8c89c7869dcdfaadd2
7
- data.tar.gz: 32b2a35689ca9591d7729b2ec72164c6b699d81dfbca19fd54948f866a952f364c9d5713db0617ad19deb285f1151be78b8bb8a961158d2833f3eaa8a2de76a8
6
+ metadata.gz: fca83c18fac2f69f8934f2835ff1e26f7c90ee71cac121ce61652a6a17dfe064e57c3f22e8e2335a0b6ca866b0e531886d396babb72dccbb3ba24166859a13b3
7
+ data.tar.gz: 3bddcb7006524041110b313c5f5ce577c757c790abafac7e9324dbda6126c2a4a3472ee0ce28e63b81112562430adf7ecd93be994ac108f8e9730ec53fc3d496
@@ -75,10 +75,10 @@ module Effective
75
75
  end
76
76
 
77
77
  def search_column(collection, value, column, sql_column)
78
- Rails.logger.info "COLUMN TOOL: search_column #{column.to_s} #{value} #{sql_column}" if EffectiveDatatables.debug
78
+ Rails.logger.info "COLUMN TOOL: search_column #{column.to_s} value=#{value} operation=#{column[:search][:operation]} column=#{sql_column}" if EffectiveDatatables.debug
79
79
 
80
80
  Effective::Resource.new(collection)
81
- .search(column[:name], value, as: column[:as], fuzzy: column[:search][:fuzzy], sql_column: sql_column)
81
+ .search(column[:name], value, as: column[:as], operation: column[:search][:operation], column: sql_column)
82
82
  end
83
83
 
84
84
  def paginate(collection)
@@ -158,7 +158,6 @@ module Effective
158
158
 
159
159
  def load_resource_search!
160
160
  columns.each do |name, opts|
161
-
162
161
  case opts[:search]
163
162
  when false
164
163
  opts[:search] = { as: :null }; next
@@ -176,13 +175,12 @@ module Effective
176
175
 
177
176
  # Parameterize collection
178
177
  if search[:collection].kind_of?(ActiveRecord::Relation)
179
- search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.to_param] }
178
+ search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
180
179
  elsif search[:collection].kind_of?(Array) && search[:collection].first.kind_of?(ActiveRecord::Base)
181
- search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.to_param] }
180
+ search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
182
181
  end
183
182
 
184
183
  search[:as] ||= :select if search.key?(:collection)
185
- search[:fuzzy] ||= true unless search.key?(:fuzzy)
186
184
  search[:value] ||= search.delete(:selected) if search.key?(:selected)
187
185
 
188
186
  # Merge with defaults
@@ -195,6 +193,12 @@ module Effective
195
193
  search.reverse_merge!(search_resource.search_form_field(name, opts[:as]))
196
194
  end
197
195
 
196
+ # Assign default search operation
197
+ search[:operation] ||= search.delete(:op)
198
+ search[:operation] ||= :eq if search[:as] == :select
199
+ search[:operation] ||= :matches if search[:fuzzy]
200
+ search[:operation] ||= search_resource.sql_operation(name, as: opts[:as])
201
+
198
202
  # Assign default include_null
199
203
  if search[:as] == :select && !search.key?(:include_null)
200
204
  search[:include_null] = true
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '4.13.5'.freeze
2
+ VERSION = '4.14.0'.freeze
3
3
  end
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.13.5
4
+ version: 4.14.0
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: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2023-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails