effective_datatables 2.2.8 → 2.2.9

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
  SHA1:
3
- metadata.gz: 2af972536144f8c3940510fc6811d59f30393aec
4
- data.tar.gz: 3003738442753405ea9d6dcaa6c662214dd76acc
3
+ metadata.gz: 99a0e48de4d1453860a82b74815a0e47193b8de9
4
+ data.tar.gz: 892fab84eb5edc1523446d657847ac73db8f7eb2
5
5
  SHA512:
6
- metadata.gz: 1f91d80262d5e37a287a2cb9dad39f99ae4fd54a2f07d46cd051bf2c5ab9f626603ecc82e27fc1e6ae1a2e94db6f31374bc90b8c6f3fca752a7ca663b264d37e
7
- data.tar.gz: 1a5ebaa445aba77f54120bcf866c0bf8d780879df6ddebefd0e77a43a1c1974568330f51bf23294787ea7d66109c2a14867687bae75a65b79d4d9e1eafe1f66e
6
+ metadata.gz: 457be0de8ea476c17861eeab5c55779f2fbb8ee36f265b60b51b302093acfa05a8b448789507d2b57a01380c3ab625ab3a76f2a9bf123b34c30912e0e4c44788
7
+ data.tar.gz: ebcecde45ee471804a00bd459860ac88763a0c34f22f2748e1e144fc972256acf9f2d1232308920b6b8159b5f5438cedc847aef024f6842ec45a0398bc9b881d
@@ -47,21 +47,21 @@ module EffectiveDatatablesHelper
47
47
  input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} }
48
48
  when :date
49
49
  form.input name, label: false, required: false, value: value,
50
- as: (defined?(EffectiveFormInputs) ? :effective_date_picker : :string),
50
+ as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_date_picker) ? :effective_date_picker : :string),
51
51
  placeholder: (opts[:label] || name),
52
52
  input_group: false,
53
53
  input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
54
54
  input_js: { useStrict: true, keepInvalid: true }
55
55
  when :datetime
56
56
  form.input name, label: false, required: false, value: value,
57
- as: (defined?(EffectiveFormInputs) ? :effective_date_time_picker : :string),
57
+ as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_date_time_picker) ? :effective_date_time_picker : :string),
58
58
  placeholder: (opts[:label] || name),
59
59
  input_group: false,
60
60
  input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
61
61
  input_js: { useStrict: true, keepInvalid: true } # Keep invalid format like "2015-11" so we can still filter by year, month or day
62
62
  when :select, :boolean
63
63
  form.input name, label: false, required: false, value: value,
64
- as: (defined?(EffectiveFormInputs) ? :effective_select : :select),
64
+ as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_select) ? :effective_select : :select),
65
65
  collection: opts[:filter][:values],
66
66
  selected: opts[:filter][:selected],
67
67
  multiple: opts[:filter][:multiple] == true,
@@ -70,7 +70,7 @@ module EffectiveDatatablesHelper
70
70
  input_js: { placeholder: (opts[:label] || name.titleize) }
71
71
  when :grouped_select
72
72
  form.input name, label: false, required: false, value: value,
73
- as: (defined?(EffectiveFormInputs) ? :effective_select : :grouped_select),
73
+ as: (ActionView::Helpers::FormBuilder.instance_methods.include?(:effective_select) ? :effective_select : :grouped_select),
74
74
  collection: opts[:filter][:values],
75
75
  selected: opts[:filter][:selected],
76
76
  multiple: opts[:filter][:multiple] == true,
@@ -112,10 +112,17 @@ module Effective
112
112
 
113
113
  # After everything is initialized
114
114
  # Compute any col[:if] and assign an index
115
- table_columns.select do |_, col|
116
- col[:if] == nil || (col[:if].respond_to?(:call) ? (view || self).instance_exec(&col[:if]) : col[:if])
117
- end.each_with_index { |(_, col), index| col[:index] = index }
118
-
115
+ count = 0
116
+ table_columns.each do |name, col|
117
+ if display_column?(col)
118
+ col[:index] = count
119
+ count += 1
120
+ else
121
+ # deleting rather than using `table_columns.select` above in order to maintain
122
+ # this hash as a type of HashWithIndifferentAccess
123
+ table_columns.delete(name)
124
+ end
125
+ end
119
126
  end
120
127
 
121
128
  def initialize_table_column_filter(column, belongs_to, has_many)
@@ -193,7 +200,15 @@ module Effective
193
200
  end.merge(filter.symbolize_keys)
194
201
  end
195
202
 
203
+ private
196
204
 
205
+ def display_column?(col)
206
+ if col[:if].respond_to?(:call)
207
+ (view || self).instance_exec(&col[:if])
208
+ else
209
+ col.fetch(:if, true)
210
+ end
211
+ end
197
212
  end
198
213
  end
199
214
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '2.2.8'.freeze
2
+ VERSION = '2.2.9'.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: 2.2.8
4
+ version: 2.2.9
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: 2016-01-06 00:00:00.000000000 Z
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails