effective_datatables 2.2.3 → 2.2.4
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 +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
|