effective_datatables 4.14.2 → 4.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5491d6a05966b96b5e693b56f12063faae6bc73023af3b80a912e9c86cf1f5f
4
- data.tar.gz: 409e0101d6ee6f450bd76530814bb3e2a096c58acfd863eee22843c154023e2e
3
+ metadata.gz: e8e433f359f9879d96a6a5fc387d7a17bc00b7aa351c6d7e26ffc8b2bcccca10
4
+ data.tar.gz: df96403a27342d13874832a107195ba75561410d08cf1893fccb75dceff79e80
5
5
  SHA512:
6
- metadata.gz: fa622fce78f2aaeb690221f9efa52e70c9f1376b3971234c1a9d342b8a84e5f3c6d83cf1144b1a1c7159627d59f5beb761e13f9ec15623a4d149f46092ecc0dd
7
- data.tar.gz: 00a5f55efd132ea4aef1b989fd8d5d346228ddc0696c692580f1177e47ce2cce9f5dba9e46a25992ee35ab2001165ccc7ba57c0b93baba6a758237f78e1e2e68
6
+ metadata.gz: 623e9378a8787d73d6204ea0356382a1230d991634d2ae1c58fb8babfbae0fee872985e0ae052d12934fe1d673a3e142616fc58d0e03085ef3a08adce692f942
7
+ data.tar.gz: 674f3b2d483621875d760834629d2c3964f0a6a006ec6b932466e0ee23580c1767a156ee5556ac6b5c0b40b525935dc906dca7e987e2c4bea2e6aa200f08a7bd
@@ -59,10 +59,25 @@ module EffectiveDatatablesPrivateHelper
59
59
  when :reorder
60
60
  content_tag(:span, t('effective_datatables.reorder'), style: 'display: none;')
61
61
  else
62
- content_tag(:span, opts[:label].presence)
62
+ label = opts[:label].presence || datatable_human_attribute_name(datatable, name, opts)
63
+ content_tag(:span, label)
63
64
  end
64
65
  end
65
66
 
67
+ def datatable_human_attribute_name(datatable, name, opts)
68
+ return (name.to_s.split('.').last || '').titleize unless datatable.active_record_collection?
69
+
70
+ case opts[:as]
71
+ when :belongs_to
72
+ opts[:resource].human_name
73
+ when :has_many
74
+ opts[:resource].human_plural_name
75
+ else
76
+ datatable.collection_class.human_attribute_name(name)
77
+ end
78
+
79
+ end
80
+
66
81
  def datatable_search_tag(datatable, name, opts)
67
82
  return datatable_new_resource_button(datatable, name, opts) if name == :_actions
68
83
 
@@ -15,7 +15,17 @@ module Effective
15
15
  end
16
16
 
17
17
  def csv_header
18
- columns.map { |_, opts| opts[:label] || '' }
18
+ columns.map do |name, opts|
19
+ opts[:label].presence || csv_human_attribute_name(name)
20
+ end
21
+ end
22
+
23
+ def csv_human_attribute_name(name)
24
+ if active_record_collection?
25
+ collection_class.human_attribute_name(name)
26
+ else
27
+ (name.to_s.split('.').last || '')
28
+ end
19
29
  end
20
30
 
21
31
  def csv_file
@@ -51,7 +51,7 @@ module Effective
51
51
  csv: csv,
52
52
  format: (format if block_given?),
53
53
  index: nil,
54
- label: (label.nil? ? name.to_s.split('.').last.titleize : label),
54
+ label: label,
55
55
  name: name,
56
56
  partial: partial,
57
57
  partial_as: partial_as,
@@ -80,7 +80,7 @@ module Effective
80
80
  csv: csv,
81
81
  format: nil,
82
82
  index: nil,
83
- label: (label.nil? ? name.to_s.split('.').last.titleize : label),
83
+ label: label,
84
84
  name: name,
85
85
  partial: partial,
86
86
  partial_as: partial_as,
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '4.14.2'.freeze
2
+ VERSION = '4.15.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.14.2
4
+ version: 4.15.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: 2023-01-09 00:00:00.000000000 Z
11
+ date: 2023-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails