effective_datatables 4.3.3 → 4.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/app/assets/javascripts/effective_datatables/inline_crud.js.coffee +13 -7
- data/app/assets/javascripts/effective_datatables/overrides.js.coffee +0 -9
- data/app/helpers/effective_datatables_private_helper.rb +20 -3
- data/app/views/effective/datatables/_filters.html.haml +1 -3
- 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: 4dabd6230608916ad4260f443412c2b81bb4ec80
|
4
|
+
data.tar.gz: 26a82f35207f348157706794fcb818a1b58e77db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17fd09f4caa9cfd14798fe9744a627e355f4f90504cb40a02943b35155fe25d15a4e7708bfab3d4a167b1acd3a9260ba2d8fa95117566cb085b21679099258de
|
7
|
+
data.tar.gz: b31833cadf5f81ba9e5e7cb69260891fb2498647b872243afd9cec216070ff8c9d40be2da3137b78b06ff60b21f766d2ea081cbc2f6c2dd77e3a10b68868dbaf
|
data/README.md
CHANGED
@@ -545,6 +545,10 @@ actions_col do |post|
|
|
545
545
|
end
|
546
546
|
```
|
547
547
|
|
548
|
+
Any `data-remote` actions will be hijacked and performed as inline ajax by datatables.
|
549
|
+
|
550
|
+
If you'd like to opt-out of this behavior, use `actions_col(inline: false)` or add `data-inline: false` to your action link.
|
551
|
+
|
548
552
|
### length
|
549
553
|
|
550
554
|
Sets the default number of rows per page. Valid lengths are `5`, `10`, `25`, `50`, `100`, `250`, `500`, `:all`
|
@@ -2,10 +2,12 @@
|
|
2
2
|
# This works with EffectiveForm.remote_form which is part of the effective_bootstrap gem.
|
3
3
|
|
4
4
|
# About to do a resource action, or fetch a partial. Show loading.
|
5
|
-
$(document).on 'ajax:beforeSend', '.dataTables_wrapper', (e, xhr, settings) ->
|
5
|
+
$(document).on 'ajax:beforeSend', '.dataTables_wrapper .col-actions', (e, xhr, settings) ->
|
6
6
|
$action = $(e.target)
|
7
7
|
$table = $(e.target).closest('table')
|
8
8
|
|
9
|
+
return true if ('' + $action.data('inline')) == 'false'
|
10
|
+
|
9
11
|
$params = $.param({_datatable_id: $table.attr('id'), _datatable_cookie: $table.data('cookie') })
|
10
12
|
settings.url += (if settings.url.indexOf('?') == -1 then '?' else '&') + $params
|
11
13
|
|
@@ -19,8 +21,10 @@ $(document).on 'ajax:beforeSend', '.dataTables_wrapper', (e, xhr, settings) ->
|
|
19
21
|
true
|
20
22
|
|
21
23
|
# We have either completed the resource action, or fetched the inline form to load.
|
22
|
-
$(document).on 'ajax:success', '.dataTables_wrapper', (
|
23
|
-
$action = $(
|
24
|
+
$(document).on 'ajax:success', '.dataTables_wrapper .col-actions', (event) ->
|
25
|
+
$action = $(event.target)
|
26
|
+
|
27
|
+
return true if ('' + $action.data('inline')) == 'false'
|
24
28
|
|
25
29
|
if ($action.data('method') || 'get') == 'get'
|
26
30
|
if $action.closest('tr').parent().prop('tagName') == 'THEAD' then afterNew($action) else afterEdit($action)
|
@@ -32,8 +36,10 @@ $(document).on 'ajax:success', '.dataTables_wrapper', (e) ->
|
|
32
36
|
true
|
33
37
|
|
34
38
|
# The inline form has been submitted successfully
|
35
|
-
$(document).on '.dataTables_wrapper effective-form:success', (event, flash) ->
|
36
|
-
$
|
39
|
+
$(document).on '.dataTables_wrapper .col-inline-form effective-form:success', (event, flash) ->
|
40
|
+
$action = $(event.target)
|
41
|
+
|
42
|
+
$tr = $action.closest('tr')
|
37
43
|
$table = $tr.closest('table')
|
38
44
|
|
39
45
|
if $tr.hasClass('effective-datatables-new-resource')
|
@@ -48,8 +54,8 @@ $(document).on '.dataTables_wrapper effective-form:success', (event, flash) ->
|
|
48
54
|
$tr.fadeOut('slow')
|
49
55
|
|
50
56
|
# There was an error completing something
|
51
|
-
$(document).on 'ajax:error', '.dataTables_wrapper', (
|
52
|
-
$action = $(
|
57
|
+
$(document).on 'ajax:error', '.dataTables_wrapper .col-inline-form', (event) ->
|
58
|
+
$action = $(event.target)
|
53
59
|
$table = $action.closest('table')
|
54
60
|
$table.DataTable().flash('Error: unable to ' + ($action.attr('title') || 'complete action')).draw()
|
55
61
|
|
@@ -28,13 +28,4 @@ flash = (message) ->
|
|
28
28
|
|
29
29
|
return @
|
30
30
|
|
31
|
-
turboDestroy = ->
|
32
|
-
@iterator('table', (settings) ->
|
33
|
-
$(window).off('.DT-' + settings.sInstance)
|
34
|
-
|
35
|
-
index = $.inArray(settings, $.fn.DataTable.settings)
|
36
|
-
$.fn.DataTable.settings.splice(index, 1) if index > -1
|
37
|
-
)
|
38
|
-
|
39
31
|
$.fn.DataTable.Api.register('flash()', flash);
|
40
|
-
$.fn.DataTable.Api.register('turboDestroy()', turboDestroy);
|
@@ -67,6 +67,7 @@ module EffectiveDatatablesPrivateHelper
|
|
67
67
|
)
|
68
68
|
when :select, :boolean
|
69
69
|
options[:input_js] = (options[:input_js] || {}).reverse_merge(placeholder: '')
|
70
|
+
|
70
71
|
form.select name, collection, options
|
71
72
|
when :bulk_actions
|
72
73
|
options[:data]['role'] = 'bulk-actions'
|
@@ -95,12 +96,12 @@ module EffectiveDatatablesPrivateHelper
|
|
95
96
|
value = datatable.state[:filter][name]
|
96
97
|
|
97
98
|
options = opts.except(:parse).merge(
|
98
|
-
|
99
|
+
autocomplete: 'off',
|
99
100
|
feedback: false,
|
100
101
|
label: false,
|
102
|
+
placeholder: placeholder,
|
101
103
|
value: value,
|
102
|
-
wrapper: { class: 'form-group col-auto'}
|
103
|
-
autocomplete: 'off'
|
104
|
+
wrapper: { class: 'form-group col-auto'}
|
104
105
|
)
|
105
106
|
|
106
107
|
options[:name] = '' unless datatable._filters_form_required?
|
@@ -120,6 +121,22 @@ module EffectiveDatatablesPrivateHelper
|
|
120
121
|
end
|
121
122
|
end
|
122
123
|
|
124
|
+
def datatable_scope_tag(form, datatable, opts = {})
|
125
|
+
collection = datatable._scopes.map { |name, opts| [opts[:label], name] }
|
126
|
+
|
127
|
+
options = {
|
128
|
+
autocomplete: 'off',
|
129
|
+
buttons: true,
|
130
|
+
checked: datatable.state[:scope],
|
131
|
+
feedback: false,
|
132
|
+
label: false,
|
133
|
+
required: false,
|
134
|
+
wrapper: { class: 'form-group col-auto'}
|
135
|
+
}.merge(opts)
|
136
|
+
|
137
|
+
form.radios :scope, collection, options
|
138
|
+
end
|
139
|
+
|
123
140
|
def render_datatable_charts(datatable)
|
124
141
|
raise 'expected datatable to be present' unless datatable
|
125
142
|
|
@@ -2,9 +2,7 @@
|
|
2
2
|
= effective_form_with(scope: :filters, url: (datatable._form[:url] || '#'), method: datatable._form[:verb]) do |form|
|
3
3
|
.form-row.align-items-center
|
4
4
|
- if datatable._scopes.present?
|
5
|
-
= form
|
6
|
-
label: false, required: false, checked: datatable.state[:scope], buttons: true,
|
7
|
-
wrapper: { class: 'form-group col-auto' }
|
5
|
+
= datatable_scope_tag(form, datatable)
|
8
6
|
|
9
7
|
- datatable._filters.each do |name, opts|
|
10
8
|
= datatable_filter_tag(form, datatable, name, opts)
|
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.3.
|
4
|
+
version: 4.3.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: 2018-
|
11
|
+
date: 2018-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|