effective_datatables 2.2.3 → 2.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/effective_datatables/_overrides.scss.erb +4 -0
- data/app/helpers/effective_datatables_helper.rb +14 -13
- data/app/models/effective/datatable.rb +2 -5
- data/app/models/effective/effective_datatable/dsl.rb +0 -1
- data/lib/effective_datatables/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a1f1f2a6e87aaf8bf7f99ba7cd7d44e4e6caac9
|
4
|
+
data.tar.gz: 6841c6589deca99298224940312ab6dfe0c4a91d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27b16423b467f54c659d117251a8808208f0ec0524a419f9d5896cfaa1b976cbe22e480731e1f86129d09adf507212ce58c407a9f1bdcde688e7adfb83bbdb26
|
7
|
+
data.tar.gz: c05df8edff215a2a211c19a0b008294c553c324f77e1427d97e2d3585e1a9d68f35d9993621812838aff423aed33b1fff7c3cabfa5cccef34ea45b5a73e847f6
|
@@ -19,7 +19,7 @@ module EffectiveDatatablesHelper
|
|
19
19
|
# https://datatables.net/reference/option/columns
|
20
20
|
def datatable_columns(datatable)
|
21
21
|
form = nil
|
22
|
-
simple_form_for(
|
22
|
+
simple_form_for(:datatable_filter, url: '#', html: {id: "#{datatable.to_param}-form"}) { |f| form = f }
|
23
23
|
|
24
24
|
datatable.table_columns.map do |name, options|
|
25
25
|
{
|
@@ -30,44 +30,45 @@ module EffectiveDatatablesHelper
|
|
30
30
|
responsivePriority: (options[:responsivePriority] || 10000), # 10,000 is datatables default
|
31
31
|
sortable: (options[:sortable] && !datatable.simple?),
|
32
32
|
visible: (options[:visible].respond_to?(:call) ? datatable.instance_exec(&options[:visible]) : options[:visible]),
|
33
|
-
filterHtml: (datatable_header_filter(form, name, options) unless datatable.simple?),
|
33
|
+
filterHtml: (datatable_header_filter(form, name, datatable.search_terms[name], options) unless datatable.simple?),
|
34
34
|
filterSelectedValue: options[:filter][:selected]
|
35
35
|
}
|
36
36
|
end.to_json()
|
37
37
|
end
|
38
38
|
|
39
|
-
def datatable_header_filter(form, name, opts)
|
39
|
+
def datatable_header_filter(form, name, value, opts)
|
40
40
|
return render(partial: opts[:header_partial], locals: {form: form, name: (opts[:label] || name), column: opts}) if opts[:header_partial].present?
|
41
41
|
|
42
42
|
case opts[:filter][:type]
|
43
43
|
when :string, :text, :number
|
44
|
-
form.input name, label: false, required: false,
|
45
|
-
|
46
|
-
|
44
|
+
form.input name, label: false, required: false, value: value,
|
45
|
+
as: :string,
|
46
|
+
placeholder: (opts[:label] || name),
|
47
|
+
input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} }
|
47
48
|
when :date
|
48
|
-
form.input name, label: false, required: false,
|
49
|
+
form.input name, label: false, required: false, value: value,
|
49
50
|
as: (defined?(EffectiveFormInputs) ? :effective_date_picker : :string),
|
50
51
|
placeholder: (opts[:label] || name),
|
51
52
|
input_group: false,
|
52
53
|
input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
53
54
|
input_js: { useStrict: true, keepInvalid: true }
|
54
55
|
when :datetime
|
55
|
-
form.input name, label: false, required: false,
|
56
|
+
form.input name, label: false, required: false, value: value,
|
56
57
|
as: (defined?(EffectiveFormInputs) ? :effective_date_time_picker : :string),
|
57
58
|
placeholder: (opts[:label] || name),
|
58
59
|
input_group: false,
|
59
|
-
input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
60
|
+
input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
60
61
|
input_js: { useStrict: true, keepInvalid: true } # Keep invalid format like "2015-11" so we can still filter by year, month or day
|
61
62
|
when :select, :boolean
|
62
|
-
form.input name, label: false, required: false,
|
63
|
+
form.input name, label: false, required: false, value: value,
|
63
64
|
as: (defined?(EffectiveFormInputs) ? :effective_select : :select),
|
64
65
|
collection: opts[:filter][:values],
|
65
66
|
multiple: opts[:filter][:multiple] == true,
|
66
67
|
include_blank: (opts[:label] || name.titleize),
|
67
|
-
input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
68
|
+
input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
68
69
|
input_js: { placeholder: (opts[:label] || name.titleize) }
|
69
70
|
when :grouped_select
|
70
|
-
form.input name, label: false, required: false,
|
71
|
+
form.input name, label: false, required: false, value: value,
|
71
72
|
as: (defined?(EffectiveFormInputs) ? :effective_select : :grouped_select),
|
72
73
|
collection: opts[:filter][:values],
|
73
74
|
multiple: opts[:filter][:multiple] == true,
|
@@ -76,7 +77,7 @@ module EffectiveDatatablesHelper
|
|
76
77
|
polymorphic: opts[:filter][:polymorphic] == true,
|
77
78
|
group_label_method: opts[:filter][:group_label_method] || :first,
|
78
79
|
group_method: opts[:filter][:group_method] || :last,
|
79
|
-
input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
80
|
+
input_html: { name: nil, value: value, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} },
|
80
81
|
input_js: { placeholder: (opts[:label] || name.titleize) }
|
81
82
|
end
|
82
83
|
end
|
@@ -30,9 +30,6 @@ module Effective
|
|
30
30
|
if @default_order.present? && !table_columns.key?((@default_order.keys.first rescue nil))
|
31
31
|
raise "default_order :#{(@default_order.keys.first rescue 'nil')} must exist as a table_column or array_column"
|
32
32
|
end
|
33
|
-
|
34
|
-
# Any pre-selected search terms should be assigned now
|
35
|
-
search_terms.each { |column, term| self.send("#{column}=", term) }
|
36
33
|
end
|
37
34
|
|
38
35
|
def table_columns
|
@@ -142,11 +139,11 @@ module Effective
|
|
142
139
|
end
|
143
140
|
|
144
141
|
def table_tool
|
145
|
-
@table_tool ||= ActiveRecordDatatableTool.new(self, table_columns.
|
142
|
+
@table_tool ||= ActiveRecordDatatableTool.new(self, table_columns.reject { |_, col| col[:array_column] })
|
146
143
|
end
|
147
144
|
|
148
145
|
def array_tool
|
149
|
-
@array_tool ||= ArrayDatatableTool.new(self, table_columns.select { |_, col| col[:array_column]
|
146
|
+
@array_tool ||= ArrayDatatableTool.new(self, table_columns.select { |_, col| col[:array_column] })
|
150
147
|
end
|
151
148
|
|
152
149
|
def active_record_collection?
|
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.
|
4
|
+
version: 2.2.4
|
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: 2015-12-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|