effective_datatables 4.25.3 → 4.26.1

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: 6795fc15046e40e435529576eb9f7f4c3473e51c12f0a62778854d567b8abee6
4
- data.tar.gz: a1db0bc8b76f4f47561458dc7df631ed065cb5f5734840db664b493cb2012cbe
3
+ metadata.gz: f6fd6b02564f438e0aa52250f202db9db27c5388e677b3e8758eecaa0a46ea82
4
+ data.tar.gz: b8fac9e5fbef111411e4b260e9d5ad4a2990cd7e5a8fbbda355b3baa1a2b4abc
5
5
  SHA512:
6
- metadata.gz: 16816ddfd74f48e8d6deb1ac9a2d05d665fc8c063e8865b7c7237df8cc5a1b70921472927a26d09f00e94fb65764ab3280373c857ffa7c9ebe8e6d33d9b18d54
7
- data.tar.gz: 4b65d03eddc9bc7bf6040b069995b211747cabcfdf0ca5bff05c9337172cfd59926a7f7bcbbb3b92fb3bb27bab85775e0838a78799ff265020eb84397fe0449c
6
+ metadata.gz: c7b229e901f10e15b6a1991b68ef50d69575082657257095e811492a1efc830f05732e0747ea86087b57ee80cf0204bc5745e72d3eff7c4fedb654159a170d61
7
+ data.tar.gz: fd3f4b8d1f6ad92d25b27bf220addec9754efa774bd941e23e6c1c6201533d6758f275403ff1b4f532eac5967c965fecf02e6d7f5313e9dbcfcbf0fd5d8e5292
@@ -170,6 +170,11 @@ table.dataTable > thead {
170
170
  }
171
171
  }
172
172
 
173
+ // Filters
174
+ .effective-datatables-filter {
175
+ p { margin-bottom: 0; }
176
+ }
177
+
173
178
  // Processing div
174
179
  div.dataTables_wrapper div.dataTables_processing {
175
180
  margin: -26px 25% 0px 25%;
@@ -23,6 +23,10 @@ module Effective
23
23
  @attributes[:format] = block; self
24
24
  end
25
25
 
26
+ def format_each(&block)
27
+ @attributes[:format_each] = block; self
28
+ end
29
+
26
30
  def search(&block)
27
31
  @attributes[:search_method] = block; self
28
32
  end
@@ -134,7 +134,7 @@ module Effective
134
134
  when :effective_obfuscation
135
135
  value.to_s
136
136
  when :effective_roles
137
- value.join(', ')
137
+ csv ? value.join(', ') : view.roles_badges(value)
138
138
  when :email
139
139
  csv ? value : view.mail_to(value)
140
140
  when :integer
@@ -224,6 +224,7 @@ module Effective
224
224
  resource_name: resource_name,
225
225
  resource_to_s: resource_to_s,
226
226
  effective_resource: associated_resource,
227
+ format_each: opts[:format_each],
227
228
  show_action: false,
228
229
  edit_action: false
229
230
  }
@@ -33,15 +33,15 @@
33
33
 
34
34
  = f.show_if :date_range, :year do
35
35
  = f.static_field :year, wrapper: { class: 'effective-datatables-filter' } do
36
- - date = f.object.start_date.beginning_of_year
36
+ - date = start_date.beginning_of_year
37
37
 
38
38
  = link_to '#', 'data-effective-datatables-filter-prev-year': date.advance(years: -1).strftime('%F') do
39
39
  = icon('arrow-left-circle')
40
40
  %span.prev-year= date.advance(years: -1).strftime('%Y')
41
41
 
42
- %span.start-date= f.object.start_date.strftime('%F')
42
+ %span.start-date= start_date.strftime('%F')
43
43
  to
44
- %span.end-date= f.object.end_date.strftime('%F')
44
+ %span.end-date= end_date.strftime('%F')
45
45
 
46
46
  = link_to '#', 'data-effective-datatables-filter-next-year': date.advance(years: 1).strftime('%F') do
47
47
  = icon('arrow-right-circle')
@@ -53,15 +53,15 @@
53
53
 
54
54
  = f.show_if :date_range, :month do
55
55
  = f.static_field :month, wrapper: { class: 'effective-datatables-filter' } do
56
- - date = f.object.start_date.beginning_of_month
56
+ - date = start_date.beginning_of_month
57
57
 
58
58
  = link_to '#', 'data-effective-datatables-filter-prev-month': date.advance(months: -1).strftime('%F') do
59
59
  = icon('arrow-left-circle')
60
60
  %span.prev-month= date.advance(months: -1).strftime('%b')
61
61
 
62
- %span.start-date= f.object.start_date.strftime('%F')
62
+ %span.start-date= start_date.strftime('%F')
63
63
  to
64
- %span.end-date= f.object.end_date.strftime('%F')
64
+ %span.end-date= end_date.strftime('%F')
65
65
 
66
66
  = link_to '#', 'data-effective-datatables-filter-next-month': date.advance(months: 1).strftime('%F') do
67
67
  = icon('arrow-right-circle')
@@ -1,5 +1,7 @@
1
1
  - Array(local_assigns[:resource_name] ? resource.public_send(resource_name) : resource).each do |resource|
2
- - resource_to_s = ((local_assigns[:resource_to_s] && resource) ? resource.public_send(resource_to_s) : resource.to_s)
2
+ - resource_to_s = (resource.public_send(resource_to_s) if local_assigns[:resource_to_s])
3
+ - resource_to_s ||= (instance_exec(resource, datatable, &format_each).html_safe if local_assigns[:format_each])
4
+ - resource_to_s ||= resource.to_s
3
5
 
4
6
  - if resource_to_s.present?
5
7
  .col-resource_item
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '4.25.3'.freeze
2
+ VERSION = '4.26.1'.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.25.3
4
+ version: 4.26.1
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: 2024-03-14 00:00:00.000000000 Z
11
+ date: 2024-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails