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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: accdc49e5adcbb84639c6f04e26a080544bd8f4b
4
- data.tar.gz: 763d0016579e806d0d77b54a62caedcbf049b6df
3
+ metadata.gz: 0a1f1f2a6e87aaf8bf7f99ba7cd7d44e4e6caac9
4
+ data.tar.gz: 6841c6589deca99298224940312ab6dfe0c4a91d
5
5
  SHA512:
6
- metadata.gz: 63c01f326d91d3eac11bf530291e193f44e96b418ad2162e54a636b0cba91b4911b751c3389221841470a79ba382f4662a799fc6c133769642fe915088c3e8e4
7
- data.tar.gz: 1690d18d9e6656b9ddf3dfdeb4351203355fc6c188434dcfde87a0cc7d0d7de5a1a7690f97ec1198f3fb89dc426b00a9a0b7cf49e8cb3f3c7cc0850a3fe7af3d
6
+ metadata.gz: 27b16423b467f54c659d117251a8808208f0ec0524a419f9d5896cfaa1b976cbe22e480731e1f86129d09adf507212ce58c407a9f1bdcde688e7adfb83bbdb26
7
+ data.tar.gz: c05df8edff215a2a211c19a0b008294c553c324f77e1427d97e2d3585e1a9d68f35d9993621812838aff423aed33b1fff7c3cabfa5cccef34ea45b5a73e847f6
@@ -154,3 +154,7 @@ div.dataTables_wrapper div.dataTables_info {
154
154
  }
155
155
  }
156
156
  }
157
+
158
+ // Collapsed responsive view
159
+ table.dataTable > tbody > tr.child span.dtr-title { min-width: 175px; }
160
+ table.dataTable > tbody > tr.child span.dtr-data { white-space: nowrap; }
@@ -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(datatable, url: '#', html: {id: "#{datatable.to_param}-form"}) { |f| form = f }
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, as: :string, placeholder: (opts[:label] || name),
45
- input_html: { name: nil, autocomplete: 'off', data: {'column-name' => opts[:name], 'column-index' => opts[:index]} }
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.select { |_, col| col[:array_column] == false })
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] == true })
146
+ @array_tool ||= ArrayDatatableTool.new(self, table_columns.select { |_, col| col[:array_column] })
150
147
  end
151
148
 
152
149
  def active_record_collection?
@@ -27,7 +27,6 @@ module Effective
27
27
  end
28
28
  raise "You cannot use both partial: ... and proc: ..." if options[:partial] && options[:proc]
29
29
 
30
- self.class.send(:attr_accessor, name)
31
30
  (@table_columns ||= HashWithIndifferentAccess.new())[name] = options
32
31
  end
33
32
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '2.2.3'.freeze
2
+ VERSION = '2.2.4'.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.3
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 00:00:00.000000000 Z
11
+ date: 2015-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails