effective_datatables 4.16.0 → 4.16.2

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: fb919d816894dbb8f980d70f0bcbe66706476bca2ceaa59c5a149b4c7342f23a
4
- data.tar.gz: 0bf163d43e1ec174f76adedc190565f540a8191f33b5fa554093bf8a1be3398f
3
+ metadata.gz: '079ed09629f9c21a2d1e56da78d611258f57953200eba9724ee756c699db49ce'
4
+ data.tar.gz: 76fd2c6b7380bb02482312120c2b04ab68cd8a3e0e08c18815c838ac0f9ff58b
5
5
  SHA512:
6
- metadata.gz: 8e847cb1063625374e346dea0b30e4c8b6416d2a73c0e7dcd330b27d4b4e8d61af9f8409565abedbdcf5185ea0d96fef6638a82c1c4f7c9c139020e10f6f2d1a
7
- data.tar.gz: bb80cdb66df0055384d9c1021118590bd2c787c8fbf499fe7e5316b6c124a5d402c9f88196a2cb585a58f4dfac48f28df8f0ce052fdf31b829cff4c12461fbad
6
+ metadata.gz: 05ea2263405fbd49445e82e14240405794d14b86caf704115584f5de46ca1ba5fc8b685c2de66b612f3b540c80148ad6257cd3352a63e56bd02f6f303058af3b
7
+ data.tar.gz: cde3bf3b0bb9c8aa21b5b877da243c01069dcea07ca9e30d4b4e342839b66d7ecf5f1fe7087dbfbf5dc412d20a991b810171dea3c340934cf3da354b9f35e9d5
data/README.md CHANGED
@@ -802,7 +802,7 @@ filters do
802
802
  end
803
803
 
804
804
  collection do
805
- Things.where(updated_at: date_range)
805
+ Thing.where(updated_at: date_range)
806
806
  end
807
807
  ```
808
808
 
@@ -59,6 +59,16 @@ module Effective
59
59
  self.view = view if view
60
60
  end
61
61
 
62
+ # Checks en.datatables.admin/my_datatable
63
+ def self.datatable_name
64
+ value = I18n.t("datatables.#{name.underscore}").to_s
65
+ value.start_with?('translation missing:') ? name.titleize.split('/').last.chomp(' Datatable') : value
66
+ end
67
+
68
+ def datatable_name
69
+ self.class.datatable_name
70
+ end
71
+
62
72
  def rendered(params = {})
63
73
  raise('expected a hash of params') unless params.kind_of?(Hash)
64
74
 
@@ -24,7 +24,7 @@ module Effective
24
24
  if active_record_collection?
25
25
  collection_class.human_attribute_name(name)
26
26
  else
27
- (name.to_s.split('.').last || '')
27
+ (name.to_s.split('.').last.titleize|| '')
28
28
  end
29
29
  end
30
30
 
@@ -32,8 +32,17 @@ module Effective
32
32
  CSV.generate do |csv|
33
33
  csv << csv_header()
34
34
 
35
- collection.find_in_batches do |resources|
36
- resources = arrayize(resources, csv: true)
35
+ if active_record_collection?
36
+ collection.find_in_batches do |resources|
37
+ resources = arrayize(resources, csv: true)
38
+ format(resources, csv: true)
39
+ finalize(resources)
40
+
41
+ resources.each { |resource| csv << resource }
42
+ end
43
+ else
44
+ resources = collection
45
+
37
46
  format(resources, csv: true)
38
47
  finalize(resources)
39
48
 
@@ -10,20 +10,20 @@ module Effective
10
10
  return @_datatables_ajax_request unless @_datatables_ajax_request.nil?
11
11
  return unless view.respond_to?(:params)
12
12
 
13
- @_datatables_ajax_request = (view.params.key?(:draw) && view.params.key?(:columns))
13
+ @_datatables_ajax_request = view.params.present? && (view.params.key?(:draw) && view.params.key?(:columns))
14
14
  end
15
15
 
16
16
  def datatables_inline_request?
17
17
  return @_datatables_inline_request unless @_datatables_inline_request.nil?
18
18
  return unless view.respond_to?(:params)
19
19
 
20
- @_datatables_inline_request = (view.params[:_datatable_id].to_s.split('-')[0...-1] == to_param.split('-')[0...-1])
20
+ @_datatables_inline_request = view.params.present? && (view.params[:_datatable_id].to_s.split('-')[0...-1] == to_param.split('-')[0...-1])
21
21
  end
22
22
 
23
23
  def params
24
24
  return {} unless view.present?
25
25
  return view.rendered_params if view.respond_to?(:rendered_params)
26
- return {} unless view.respond_to?(:request)
26
+ return {} unless view.respond_to?(:request) && view.request.present?
27
27
 
28
28
  @params ||= {}.tap do |params|
29
29
  Rack::Utils.parse_query(URI(view.request.referer.presence || '/').query).each { |k, v| params[k.to_sym] = v }
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '4.16.0'.freeze
2
+ VERSION = '4.16.2'.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.16.0
4
+ version: 4.16.2
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-03-08 00:00:00.000000000 Z
11
+ date: 2023-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails