administrate_ransack 0.1.6 → 0.1.8
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 +12 -0
- data/app/views/administrate_ransack/_filters.html.erb +24 -11
- data/lib/administrate_ransack/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a7c16d4d10426a6a7bb94830b2bbd367d62bbf831ef82f4765113543f36c42c
|
4
|
+
data.tar.gz: cea19beb75eea4520d151b94fe77ae59c7a52ba57d8deb76024b7f0ac3c8b23f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd68e8ecbd7de43319e8f8d5339f7e89a4f4d1b7538c2ac18fe8ce83ed03562685885b4a952a8342e60ba9298b879d384ef648e6d3cbda44cca08fcbd19eccd1
|
7
|
+
data.tar.gz: 79e543067086971a5149a919bfad069d9dae57aab5a3f670337f484249fac21a83c216311acd4f95cbedc725a0804d8283b08a9b40d0ed2799e8d5ba4c6525a2
|
data/README.md
CHANGED
@@ -38,6 +38,18 @@ end
|
|
38
38
|
sort_link(@ransack_results, attr_name) do
|
39
39
|
# ...
|
40
40
|
```
|
41
|
+
- Date/time filters use Rails `datetime_field` method which produces a `datetime-local` input field, at the moment this type of element is not broadly supported, a workaround is to include [flatpickr](https://github.com/flatpickr/flatpickr) datetime library.
|
42
|
+
+ This gem checks if `flatpickr` function is available in the global scope and applies it to the `datetime-local` filter inputs;
|
43
|
+
+ you can include the library using your application assets or via CDN, ex. adding to **app/views/layouts/admin/application.html.erb**:
|
44
|
+
```html
|
45
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr@4.5.7/dist/flatpickr.min.css">
|
46
|
+
<script src="https://cdn.jsdelivr.net/npm/flatpickr@4.5.7/dist/flatpickr.min.js"></script>
|
47
|
+
|
48
|
+
<script>
|
49
|
+
// optionally change the flatpikr options:
|
50
|
+
window.flatpickr_filters_options = { dateFormat: "Y-m-d" };
|
51
|
+
</script>
|
52
|
+
```
|
41
53
|
|
42
54
|
## Customizations
|
43
55
|
- Allow only some fields for the filters in the index view:
|
@@ -1,3 +1,15 @@
|
|
1
|
+
<% content_for :javascript do %>
|
2
|
+
<script>
|
3
|
+
document.addEventListener('DOMContentLoaded', (_event) => {
|
4
|
+
if(typeof window.flatpickr === 'function') {
|
5
|
+
var options = window.flatpickr_filters_options;
|
6
|
+
if(typeof options !== 'object') options = { enableTime: true };
|
7
|
+
window.flatpickr('.filter [type="datetime-local"]', options);
|
8
|
+
}
|
9
|
+
});
|
10
|
+
</script>
|
11
|
+
<% end %>
|
12
|
+
|
1
13
|
<% attribute_labels ||= {} %>
|
2
14
|
<%= search_form_for [:admin, @ransack_results], html: { 'data-administrate-ransack-filters': '1' } do |f| %>
|
3
15
|
<div class="filters">
|
@@ -12,32 +24,32 @@
|
|
12
24
|
<% if association %>
|
13
25
|
<% label = association.klass.method_defined?(:admin_label) ? :admin_label : :to_s %>
|
14
26
|
<% collection = association.klass.send(association.klass.respond_to?(:admin_scope) ? :admin_scope : :all) %>
|
15
|
-
<%= f.label
|
27
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
16
28
|
<%= f.collection_select "#{field}_id_eq", collection, :id, label, include_blank: true %>
|
17
29
|
<% end %>
|
18
30
|
<% when 'Administrate::Field::Boolean' %>
|
19
|
-
<%= f.label
|
31
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
20
32
|
<%= f.select "#{field}_eq", [[t('administrate_ransack.filters.no'), false], [t('administrate_ransack.filters.yes'), true]], include_blank: true %>
|
21
33
|
<% when 'Administrate::Field::Date' %>
|
22
|
-
<%= f.label
|
34
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
23
35
|
<%= f.date_field "#{field}_gteq" %>
|
24
36
|
<%= f.date_field "#{field}_lteq" %>
|
25
37
|
<% when 'Administrate::Field::DateTime' %>
|
26
|
-
<%= f.label
|
38
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
27
39
|
<%= f.datetime_field "#{field}_gteq" %>
|
28
40
|
<%= f.datetime_field "#{field}_lteq" %>
|
29
41
|
<% when 'Administrate::Field::Email', 'Administrate::Field::String', 'Administrate::Field::Text' %>
|
30
|
-
<%= f.label
|
42
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
31
43
|
<%= f.search_field "#{field}_cont" %>
|
32
44
|
<% when 'Administrate::Field::Number' %>
|
33
|
-
<%= f.label
|
45
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
34
46
|
<%= f.number_field "#{field}_eq" %>
|
35
47
|
<% when 'Administrate::Field::HasMany' %>
|
36
48
|
<% association = @ransack_results.klass.reflections[field.to_s] %>
|
37
49
|
<% if association %>
|
38
50
|
<% label = association.klass.method_defined?(:admin_label) ? :admin_label : :to_s %>
|
39
51
|
<% collection = association.klass.send(association.klass.respond_to?(:admin_scope) ? :admin_scope : :all) %>
|
40
|
-
<%= f.label
|
52
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
41
53
|
<%= f.collection_check_boxes "#{field}_id_in", collection, :id, label do |b| %>
|
42
54
|
<%= b.label do %>
|
43
55
|
<%= b.check_box %>
|
@@ -46,12 +58,13 @@
|
|
46
58
|
<% end %>
|
47
59
|
<% end %>
|
48
60
|
<% when 'Administrate::Field::Select' %>
|
49
|
-
<%= f.label
|
61
|
+
<%= f.label(attribute_labels.include?(field) ? attribute_labels[field] : field) %>
|
50
62
|
<%= f.select "#{field}_eq", type.options[:collection], include_blank: true %>
|
63
|
+
<% else %>
|
64
|
+
<!-- unsupported Field::HasOne -->
|
65
|
+
<!-- unsupported Field::Polymorphic -->
|
66
|
+
<!-- unsupported Field::Password -->
|
51
67
|
<% end %>
|
52
|
-
<%# unsupported Field::HasOne %>
|
53
|
-
<%# unsupported Field::Polymorphic %>
|
54
|
-
<%# unsupported Field::Password %>
|
55
68
|
</div>
|
56
69
|
<% end %>
|
57
70
|
</div>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: administrate_ransack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mattia Roccoberton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: administrate
|
@@ -227,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
227
|
- !ruby/object:Gem::Version
|
228
228
|
version: '0'
|
229
229
|
requirements: []
|
230
|
-
rubygems_version: 3.
|
230
|
+
rubygems_version: 3.0.3
|
231
231
|
signing_key:
|
232
232
|
specification_version: 4
|
233
233
|
summary: Administrate Ransack plugin
|