effective_datatables 4.17.4 → 4.19.0
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/README.md +21 -0
- data/app/assets/javascripts/dataTables/UPGRADE.md +17 -0
- data/app/assets/javascripts/dataTables/buttons/buttons.bootstrap4.js +73 -19
- data/app/assets/javascripts/dataTables/buttons/buttons.colVis.js +166 -120
- data/app/assets/javascripts/dataTables/buttons/buttons.html5.js +749 -667
- data/app/assets/javascripts/dataTables/buttons/buttons.print.js +96 -64
- data/app/assets/javascripts/dataTables/buttons/dataTables.buttons.js +1568 -909
- data/app/assets/javascripts/dataTables/dataTables.bootstrap4.js +172 -154
- data/app/assets/javascripts/dataTables/jquery.dataTables.js +3119 -2704
- data/app/assets/javascripts/dataTables/responsive/dataTables.responsive.js +707 -531
- data/app/assets/javascripts/dataTables/responsive/responsive.bootstrap4.js +61 -33
- data/app/assets/javascripts/dataTables/rowReorder/dataTables.rowReorder.js +961 -740
- data/app/assets/javascripts/dataTables/rowReorder/rowReorder.bootstrap4.js +50 -30
- data/app/assets/javascripts/effective_datatables/filters.js.coffee +88 -0
- data/app/assets/stylesheets/dataTables/buttons/buttons.bootstrap4.scss +178 -151
- data/app/assets/stylesheets/dataTables/dataTables.bootstrap4.scss +300 -81
- data/app/assets/stylesheets/dataTables/responsive/responsive.bootstrap4.scss +54 -71
- data/app/assets/stylesheets/dataTables/rowReorder/rowReorder.bootstrap4.scss +23 -4
- data/app/assets/stylesheets/effective_datatables/_overrides.bootstrap4.scss +81 -39
- data/app/views/effective/datatables/_filter_date_range.html.haml +37 -9
- data/app/views/effective/datatables/_filters.html.haml +1 -1
- data/lib/effective_datatables/version.rb +1 -1
- metadata +3 -2
@@ -1,35 +1,85 @@
|
|
1
1
|
// Override dataTables.bootstrap4.css defaults
|
2
2
|
table.dataTable { border-collapse: collapse !important; }
|
3
3
|
|
4
|
-
// Override default
|
5
|
-
table.dataTable
|
4
|
+
// Override default hover effect
|
5
|
+
table.dataTable.table-striped > tbody > tr.odd > *,
|
6
|
+
table.dataTable.table-striped > tbody > tr.odd.selected > *,
|
7
|
+
table.dataTable.table-hover > tbody > tr:hover > *,
|
8
|
+
table.dataTable.table-hover > tbody > tr.selected:hover > * {
|
9
|
+
box-shadow: unset;
|
10
|
+
}
|
11
|
+
|
12
|
+
// Override default sorting
|
13
|
+
table.dataTable thead > tr > th.sorting:before,
|
14
|
+
table.dataTable thead > tr > th.sorting_asc:before,
|
15
|
+
table.dataTable thead > tr > th.sorting_desc:before,
|
16
|
+
table.dataTable thead > tr > th.sorting_asc_disabled:before,
|
17
|
+
table.dataTable thead > tr > th.sorting_desc_disabled:before,
|
18
|
+
table.dataTable thead > tr > td.sorting:before,
|
19
|
+
table.dataTable thead > tr > td.sorting_asc:before,
|
20
|
+
table.dataTable thead > tr > td.sorting_desc:before,
|
21
|
+
table.dataTable thead > tr > td.sorting_asc_disabled:before,
|
22
|
+
table.dataTable thead > tr > td.sorting_desc_disabled:before {
|
23
|
+
content: '';
|
24
|
+
}
|
25
|
+
|
26
|
+
table.dataTable thead > tr > th.sorting:after,
|
27
|
+
table.dataTable thead > tr > th.sorting_asc:after,
|
28
|
+
table.dataTable thead > tr > th.sorting_desc:after,
|
29
|
+
table.dataTable thead > tr > th.sorting_asc_disabled:after,
|
30
|
+
table.dataTable thead > tr > th.sorting_desc_disabled:after,
|
31
|
+
table.dataTable thead > tr > td.sorting:after,
|
32
|
+
table.dataTable thead > tr > td.sorting_asc:after,
|
33
|
+
table.dataTable thead > tr > td.sorting_desc:after,
|
34
|
+
table.dataTable thead > tr > td.sorting_asc_disabled:after,
|
35
|
+
table.dataTable thead > tr > td.sorting_desc_disabled:after {
|
36
|
+
content: '';
|
37
|
+
}
|
38
|
+
|
39
|
+
table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled,
|
40
|
+
table.dataTable thead > tr > td.sorting,
|
6
41
|
table.dataTable thead > tr > td.sorting_asc,
|
7
42
|
table.dataTable thead > tr > td.sorting_desc,
|
8
|
-
table.dataTable thead > tr > td.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
table.dataTable thead .sorting_asc:before,
|
13
|
-
table.dataTable thead .sorting_desc:before,
|
14
|
-
table.dataTable thead .sorting_asc_disabled:before,
|
15
|
-
table.dataTable thead .sorting_desc_disabled:before,
|
16
|
-
table.dataTable thead .sorting:after,
|
17
|
-
table.dataTable thead .sorting_asc:after,
|
18
|
-
table.dataTable thead .sorting_desc:after,
|
19
|
-
table.dataTable thead .sorting_asc_disabled:after,
|
20
|
-
table.dataTable thead .sorting_desc_disabled:after { content: ''; }
|
43
|
+
table.dataTable thead > tr > td.sorting_asc_disabled,
|
44
|
+
table.dataTable thead > tr > td.sorting_desc_disabled {
|
45
|
+
padding: 0.5em 0.5em 0.5em 0.5em;
|
46
|
+
}
|
21
47
|
|
22
|
-
table.dataTable > thead {
|
48
|
+
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { padding-right: 0.5em; }
|
49
|
+
table.dataTable thead > tr > th.sorting_disabled { padding-bottom: 8px; }
|
50
|
+
|
51
|
+
table.dataTable > thead th {
|
52
|
+
background-repeat: no-repeat;
|
53
|
+
> span { padding-right: 1rem; }
|
54
|
+
}
|
55
|
+
|
56
|
+
table.dataTable > thead .sorting {
|
57
|
+
background-image: asset-data-url('dataTables/sort.svg');
|
58
|
+
background-position: right 0.25rem top 0.25rem;
|
59
|
+
}
|
60
|
+
|
61
|
+
table.dataTable > thead .sorting_asc {
|
62
|
+
background-image: asset-data-url('dataTables/sort-up.svg');
|
63
|
+
background-position: right 0.25rem top 0.25rem;
|
64
|
+
}
|
65
|
+
|
66
|
+
table.dataTable > thead .sorting_desc {
|
67
|
+
background-image: asset-data-url('dataTables/sort-down.svg');
|
68
|
+
background-position: right 0.25rem top 0.25rem;
|
69
|
+
}
|
70
|
+
|
71
|
+
// The New button
|
72
|
+
table.dataTable thead {
|
23
73
|
th.col-actions {
|
24
74
|
text-align: right;
|
25
|
-
|
26
75
|
span { display: block; height: 1.25em; }
|
27
76
|
}
|
28
77
|
}
|
29
78
|
|
79
|
+
// Turbolinks destroy fix
|
30
80
|
.dataTables_wrapper {
|
31
81
|
table.dataTable {
|
32
|
-
tr.effective-datatables-inline-row { visibility: collapse; }
|
82
|
+
tr.effective-datatables-inline-row { visibility: collapse; }
|
33
83
|
}
|
34
84
|
}
|
35
85
|
|
@@ -53,25 +103,17 @@ table.dataTable > thead {
|
|
53
103
|
}
|
54
104
|
}
|
55
105
|
|
56
|
-
table.dataTable >
|
57
|
-
|
58
|
-
|
59
|
-
> span { padding-right: 1rem; }
|
106
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
|
107
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
|
108
|
+
color: #0275d8;
|
60
109
|
}
|
61
|
-
|
62
|
-
table.dataTable >
|
63
|
-
|
64
|
-
background-position: right 0.25rem top 0.25rem;
|
110
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control.arrow-right::before,
|
111
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control.arrow-right::before {
|
112
|
+
color: #0275d8;
|
65
113
|
}
|
66
|
-
|
67
|
-
table.dataTable >
|
68
|
-
|
69
|
-
background-position: right 0.25rem top 0.25rem;
|
70
|
-
}
|
71
|
-
|
72
|
-
table.dataTable > thead .sorting_desc {
|
73
|
-
background-image: asset-data-url('dataTables/sort-down.svg');
|
74
|
-
background-position: right 0.25rem top 0.25rem;
|
114
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
|
115
|
+
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
|
116
|
+
color: #0275d8;
|
75
117
|
}
|
76
118
|
|
77
119
|
// Collapsed Responsive View
|
@@ -90,6 +132,10 @@ table.dataTable > tbody > tr.child {
|
|
90
132
|
}
|
91
133
|
}
|
92
134
|
|
135
|
+
table.dataTable.collapsed {
|
136
|
+
th.col-bulk_actions:first-child { div { margin-left: 18px; } }
|
137
|
+
}
|
138
|
+
|
93
139
|
// Buttons
|
94
140
|
.dataTables_buttons {
|
95
141
|
text-align: right;
|
@@ -124,10 +170,6 @@ table.dataTable > thead {
|
|
124
170
|
}
|
125
171
|
}
|
126
172
|
|
127
|
-
table.dataTable.collapsed {
|
128
|
-
th.col-bulk_actions:first-child { div { margin-left: 18px; } }
|
129
|
-
}
|
130
|
-
|
131
173
|
// Processing div
|
132
174
|
div.dataTables_wrapper div.dataTables_processing {
|
133
175
|
margin: -26px 25% 0px 25%;
|
@@ -31,17 +31,45 @@
|
|
31
31
|
= f.static_field :year do
|
32
32
|
#{now.beginning_of_year.strftime('%F')} to #{now.strftime('%F')} (today)
|
33
33
|
|
34
|
+
= f.show_if :date_range, :year do
|
35
|
+
= f.static_field :year, wrapper: { class: 'effective-datatables-filter' } do
|
36
|
+
- date = f.object.start_date.beginning_of_year
|
37
|
+
|
38
|
+
= link_to '#', 'data-effective-datatables-filter-prev-year': date.advance(years: -1).strftime('%F') do
|
39
|
+
= icon('arrow-left-circle')
|
40
|
+
%span.prev-year= date.advance(years: -1).strftime('%Y')
|
41
|
+
|
42
|
+
%span.start-date= f.object.start_date.strftime('%F')
|
43
|
+
to
|
44
|
+
%span.end-date= f.object.end_date.strftime('%F')
|
45
|
+
|
46
|
+
= link_to '#', 'data-effective-datatables-filter-next-year': date.advance(years: 1).strftime('%F') do
|
47
|
+
= icon('arrow-right-circle')
|
48
|
+
%span.next-year= date.advance(years: 1).strftime('%Y')
|
49
|
+
|
50
|
+
%div{style: 'display: none;'}
|
51
|
+
= f.date_field :start_date, name: name, autocomplete: 'off', feedback: false
|
52
|
+
= f.date_field :end_date, name: name, autocomplete: 'off', feedback: false
|
53
|
+
|
34
54
|
= f.show_if :date_range, :month do
|
35
|
-
= f.static_field :month do
|
36
|
-
|
37
|
-
#{start_date.beginning_of_month.strftime('%F')} to #{start_date.end_of_month.strftime('%F')}
|
38
|
-
= link_to((icon('arrow-right-circle') + ' ' + next_month.strftime('%b %Y')).html_safe, next_month_path.sub(path, request.path))
|
55
|
+
= f.static_field :month, wrapper: { class: 'effective-datatables-filter' } do
|
56
|
+
- date = f.object.start_date.beginning_of_month
|
39
57
|
|
40
|
-
=
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
=
|
58
|
+
= link_to '#', 'data-effective-datatables-filter-prev-month': date.advance(months: -1).strftime('%F') do
|
59
|
+
= icon('arrow-left-circle')
|
60
|
+
%span.prev-month= date.advance(months: -1).strftime('%b')
|
61
|
+
|
62
|
+
%span.start-date= f.object.start_date.strftime('%F')
|
63
|
+
to
|
64
|
+
%span.end-date= f.object.end_date.strftime('%F')
|
65
|
+
|
66
|
+
= link_to '#', 'data-effective-datatables-filter-next-month': date.advance(months: 1).strftime('%F') do
|
67
|
+
= icon('arrow-right-circle')
|
68
|
+
%span.next-month= date.advance(months: 1).strftime('%b')
|
69
|
+
|
70
|
+
%div{style: 'display: none;'}
|
71
|
+
= f.date_field :start_date, name: name, autocomplete: 'off', feedback: false
|
72
|
+
= f.date_field :end_date, name: name, autocomplete: 'off', feedback: false
|
45
73
|
|
46
74
|
= f.show_if :date_range, :custom do
|
47
75
|
.row
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.effective-datatables-filters{'aria-controls': datatable.to_param}
|
2
2
|
|
3
|
-
= effective_form_with(model: datatable.filters_form, scope: :filters, url: (datatable._form[:url] || '#'), method: datatable._form[:verb], id: nil) do |form|
|
3
|
+
= effective_form_with(model: datatable.filters_form, scope: :filters, url: (datatable._form[:url] || '#'), method: datatable._form[:verb], id: nil, authenticity_token: datatable._filters_form_required?) do |form|
|
4
4
|
.form-row.align-items-center
|
5
5
|
- if datatable._scopes.present?
|
6
6
|
= datatable_scope_tag(form, datatable)
|
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.
|
4
|
+
version: 4.19.0
|
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: 2023-
|
11
|
+
date: 2023-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -94,6 +94,7 @@ files:
|
|
94
94
|
- app/assets/images/dataTables/sort-down.svg
|
95
95
|
- app/assets/images/dataTables/sort-up.svg
|
96
96
|
- app/assets/images/dataTables/sort.svg
|
97
|
+
- app/assets/javascripts/dataTables/UPGRADE.md
|
97
98
|
- app/assets/javascripts/dataTables/buttons/buttons.bootstrap4.js
|
98
99
|
- app/assets/javascripts/dataTables/buttons/buttons.colVis.js
|
99
100
|
- app/assets/javascripts/dataTables/buttons/buttons.html5.js
|