activeadmin 3.2.2 → 3.2.5
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/CHANGELOG.md +42 -0
- data/README.md +2 -2
- data/app/assets/stylesheets/active_admin/_forms.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +7 -4
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +5 -2
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +9 -6
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +10 -7
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +2 -2
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +6 -3
- data/lib/active_admin/pundit_adapter.rb +1 -1
- data/lib/active_admin/resource/attributes.rb +8 -1
- data/lib/active_admin/resource_controller/decorators.rb +1 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/display_helper.rb +2 -2
- data/lib/active_admin/views/components/active_admin_form.rb +14 -2
- data/lib/active_admin/views/components/paginated_collection.rb +4 -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: 99b9db7d0e925b5764b5141008734fa147cbb742e0f3e62476a7dcc8fb1f0485
|
|
4
|
+
data.tar.gz: b0f5aa9c2dc4c1923e7cac2b893a0a2d871ddb67cdec7183dc7886b5adea97e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efa9d0ded1ac54f680ab3409019cf425a578d18bd89c73b4a39cc219cbbb50e25abeb294d771724394648432704e5bbcb10729ea5aa4e89150c00c3de876755d
|
|
7
|
+
data.tar.gz: c85cd6bfc4f4cbaa4345d960c8c797ab4066d58f131116b79100195edd6e269ac8f1867441442801c7a7eea4cefebe36506db373284d28b7ee48fa826d05bdcc
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 3.2.5 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.4..v3.2.5)
|
|
6
|
+
|
|
7
|
+
### Enhancements
|
|
8
|
+
|
|
9
|
+
* Backport Add favicon to template app to fix Rails 7.2 test suite run [#8468] by [@mgrunberg]
|
|
10
|
+
* Backport Use attribute_types instead of columns_hash to determine type [#8469] by [@mgrunberg]
|
|
11
|
+
* Backport Optimize count query for pagination_total: false option [#8470] by [@mgrunberg]
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* Restore inner span tag to form inputs legend [#8467] by [@denisahearn]
|
|
16
|
+
|
|
17
|
+
## 3.2.4 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.3..v3.2.4)
|
|
18
|
+
|
|
19
|
+
### Enhancements
|
|
20
|
+
|
|
21
|
+
* Test against Rails 7.2 [#8434] by [@mgrunberg]
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
* Backport Improve form f.inputs attributes rendering [#8446] by [@amiel]
|
|
26
|
+
|
|
27
|
+
## 3.2.3 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.2..v3.2.3)
|
|
28
|
+
|
|
29
|
+
### Enhancements
|
|
30
|
+
|
|
31
|
+
* Backport better implementation of counter-cache-column check [#8412] by [@plashchynski]
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* Remove deprecation warnings when building with dart sass >= 1.77.7 [#8405] by [@mgrunberg]
|
|
36
|
+
|
|
5
37
|
## 3.2.2 [☰](https://github.com/activeadmin/activeadmin/compare/v3.2.1..v3.2.2)
|
|
6
38
|
|
|
7
39
|
### Security Fixes
|
|
@@ -920,6 +952,14 @@ Please check [0-6-stable] for previous changes.
|
|
|
920
952
|
[#8311]: https://github.com/activeadmin/activeadmin/pull/8311
|
|
921
953
|
[#8329]: https://github.com/activeadmin/activeadmin/pull/8329
|
|
922
954
|
[#8349]: https://github.com/activeadmin/activeadmin/pull/8349
|
|
955
|
+
[#8405]: https://github.com/activeadmin/activeadmin/pull/8405
|
|
956
|
+
[#8412]: https://github.com/activeadmin/activeadmin/pull/8412
|
|
957
|
+
[#8434]: https://github.com/activeadmin/activeadmin/pull/8434
|
|
958
|
+
[#8446]: https://github.com/activeadmin/activeadmin/pull/8446
|
|
959
|
+
[#8467]: https://github.com/activeadmin/activeadmin/pull/8467
|
|
960
|
+
[#8468]: https://github.com/activeadmin/activeadmin/pull/8468
|
|
961
|
+
[#8469]: https://github.com/activeadmin/activeadmin/pull/8469
|
|
962
|
+
[#8470]: https://github.com/activeadmin/activeadmin/pull/8470
|
|
923
963
|
|
|
924
964
|
[@1000ship]: https://github.com/1000ship
|
|
925
965
|
[@5t111111]: https://github.com/5t111111
|
|
@@ -948,6 +988,7 @@ Please check [0-6-stable] for previous changes.
|
|
|
948
988
|
[@craigmcnamara]: https://github.com/craigmcnamara
|
|
949
989
|
[@DanielHeath]: https://github.com/DanielHeath
|
|
950
990
|
[@deivid-rodriguez]: https://github.com/deivid-rodriguez
|
|
991
|
+
[@denisahearn]: https://github.com/denisahearn
|
|
951
992
|
[@dennisvdvliet]: https://github.com/dennisvdvliet
|
|
952
993
|
[@dhyegofernando]: https://github.com/dhyegofernando
|
|
953
994
|
[@dkniffin]: https://github.com/dkniffin
|
|
@@ -1014,6 +1055,7 @@ Please check [0-6-stable] for previous changes.
|
|
|
1014
1055
|
[@orkhan]: https://github.com/orkhan
|
|
1015
1056
|
[@panasyuk]: https://github.com/panasyuk
|
|
1016
1057
|
[@PChambino]: https://github.com/PChambino
|
|
1058
|
+
[@plashchynski]: https://github.com/plashchynski
|
|
1017
1059
|
[@potatosalad]: https://github.com/potatosalad
|
|
1018
1060
|
[@pranas]: https://github.com/pranas
|
|
1019
1061
|
[@ray-curran]: https://github.com/ray-curran
|
data/README.md
CHANGED
|
@@ -85,8 +85,8 @@ Thanks to [Tidelift][tidelift] and all our Tidelift subscribers.
|
|
|
85
85
|
Thanks to [Open Collective][opencollective contributors] and all our Open Collective contributors.
|
|
86
86
|
|
|
87
87
|
[Arbre]: https://github.com/activeadmin/arbre
|
|
88
|
-
[Devise]: https://github.com/
|
|
89
|
-
[Formtastic]: https://github.com/
|
|
88
|
+
[Devise]: https://github.com/heartcombo/devise
|
|
89
|
+
[Formtastic]: https://github.com/formtastic/formtastic
|
|
90
90
|
[Inherited Resources]: https://github.com/activeadmin/inherited_resources
|
|
91
91
|
[Kaminari]: https://github.com/kaminari/kaminari
|
|
92
92
|
[Ransack]: https://github.com/activerecord-hackery/ransack
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
.dropdown_menu_button {
|
|
5
5
|
@include light-button;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
|
|
7
|
+
& {
|
|
8
|
+
position: relative;
|
|
9
|
+
padding-right: 22px !important;
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
}
|
|
9
12
|
|
|
10
13
|
&:before {
|
|
11
14
|
content: ' ';
|
|
@@ -139,11 +142,11 @@
|
|
|
139
142
|
}
|
|
140
143
|
|
|
141
144
|
&:last-child {
|
|
145
|
+
border: none;
|
|
142
146
|
a {
|
|
143
147
|
border-bottom-left-radius: 2px;
|
|
144
148
|
border-bottom-right-radius: 2px;
|
|
145
149
|
}
|
|
146
|
-
border: none;
|
|
147
150
|
}
|
|
148
151
|
}
|
|
149
152
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.table_tools {
|
|
2
|
-
@include clearfix;
|
|
3
2
|
margin-bottom: 16px;
|
|
3
|
+
@include clearfix;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.table_tools .dropdown_menu {
|
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
a.table_tools_button, .table_tools .dropdown_menu_button {
|
|
11
11
|
@include light-button;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
|
|
13
|
+
& {
|
|
14
|
+
@include gradient(#FFFFFF, #F0F0F0);
|
|
15
|
+
@include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
|
|
16
|
+
font-size: 0.9em;
|
|
17
|
+
padding: 4px 14px 4px;
|
|
18
|
+
margin: 0;
|
|
19
|
+
}
|
|
17
20
|
|
|
18
21
|
&:not(.disabled) {
|
|
19
22
|
&:hover {
|
|
@@ -28,13 +28,16 @@
|
|
|
28
28
|
|
|
29
29
|
a {
|
|
30
30
|
@include light-button;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
|
|
32
|
+
& {
|
|
33
|
+
@include gradient(#FFFFFF, #F0F0F0);
|
|
34
|
+
@include border-colors(#d9d9d9, #d0d0d0, #c5c5c5);
|
|
35
|
+
text-decoration: none;
|
|
36
|
+
border-radius: 0;
|
|
37
|
+
border-width: 1px .5px 1px .5px;
|
|
38
|
+
margin-right: 0;
|
|
39
|
+
padding: 4px 14px 4px;
|
|
40
|
+
}
|
|
38
41
|
|
|
39
42
|
&:not(.disabled) {
|
|
40
43
|
&:hover {
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
@mixin default-button {
|
|
20
|
-
@include basic-button;
|
|
21
20
|
@include gradient(lighten($primary-color, 15%), darken($primary-color, 12%));
|
|
22
21
|
@include text-shadow(#000);
|
|
23
22
|
box-shadow: 0 1px 1px rgba(0,0,0,0.10), 0 1px 0 0px rgba(255,255,255, 0.2) inset;
|
|
24
23
|
border: solid 1px #484e53;
|
|
25
24
|
@include border-colors(#616a71, #484e53, #363b3f);
|
|
26
25
|
color: #efefef;
|
|
26
|
+
@include basic-button;
|
|
27
27
|
|
|
28
28
|
&:not(.disabled) {
|
|
29
29
|
&:hover{
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@mixin light-button {
|
|
41
|
-
@include basic-button;
|
|
42
41
|
@include gradient(#FFFFFF, #E7E7E7);
|
|
43
42
|
box-shadow: 0 1px 1px rgba(0,0,0,0.10), 0 1px 0 0 rgba(255,255,255, 0.8) inset;
|
|
44
43
|
border: solid 1px #c7c7c7;
|
|
45
44
|
@include border-colors(#d3d3d3, #c7c7c7, #c2c2c2);
|
|
46
45
|
@include text-shadow;
|
|
47
46
|
color: $primary-color;
|
|
47
|
+
@include basic-button;
|
|
48
48
|
|
|
49
49
|
&:not(.disabled) {
|
|
50
50
|
&:hover {
|
|
@@ -28,13 +28,13 @@ body.logged_out {
|
|
|
28
28
|
@include no-shadow;
|
|
29
29
|
background: none;
|
|
30
30
|
padding: 0;
|
|
31
|
+
margin-bottom: 0;
|
|
31
32
|
li { padding: 10px 0; }
|
|
32
33
|
|
|
33
34
|
input[type=text], input[type=email], input[type=password] {
|
|
34
35
|
width: 70%;
|
|
35
36
|
}
|
|
36
37
|
&.buttons { margin-left: 20%; }
|
|
37
|
-
margin-bottom: 0;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
#title_bar {
|
|
2
2
|
@include section-header;
|
|
3
|
-
@include clearfix;
|
|
4
3
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.37);
|
|
5
4
|
display: table;
|
|
6
5
|
border-bottom-color: #EEE;
|
|
@@ -9,6 +8,7 @@
|
|
|
9
8
|
margin: 0;
|
|
10
9
|
padding: 10px $horizontal-page-margin;
|
|
11
10
|
z-index: 800;
|
|
11
|
+
@include clearfix;
|
|
12
12
|
|
|
13
13
|
#titlebar_left, #titlebar_right {
|
|
14
14
|
height: 50px;
|
|
@@ -32,8 +32,11 @@
|
|
|
32
32
|
span.action_item {
|
|
33
33
|
& > a, & > .dropdown_menu > a {
|
|
34
34
|
@include light-button;
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
|
|
36
|
+
& {
|
|
37
|
+
padding: 12px 17px 10px;
|
|
38
|
+
margin: 0px;
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
}
|
|
@@ -42,7 +42,7 @@ module ActiveAdmin
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def format_action(action, subject)
|
|
45
|
-
# https://github.com/varvet/pundit/blob/
|
|
45
|
+
# https://github.com/varvet/pundit/blob/main/lib/generators/pundit/install/templates/application_policy.rb
|
|
46
46
|
case action
|
|
47
47
|
when Auth::READ then subject.is_a?(Class) ? :index? : :show?
|
|
48
48
|
when Auth::DESTROY then subject.is_a?(Class) ? :destroy_all? : :destroy?
|
|
@@ -37,7 +37,14 @@ module ActiveAdmin
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def counter_cache_col?(c)
|
|
40
|
-
|
|
40
|
+
# This helper is called inside a loop. Let's memoize the result.
|
|
41
|
+
@counter_cache_columns ||= begin
|
|
42
|
+
resource_class.reflect_on_all_associations(:has_many)
|
|
43
|
+
.select(&:has_cached_counter?)
|
|
44
|
+
.map(&:counter_cache_column)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
@counter_cache_columns.include?(c.name)
|
|
41
48
|
end
|
|
42
49
|
|
|
43
50
|
def filtered_col?(c)
|
|
@@ -61,7 +61,7 @@ module ActiveAdmin
|
|
|
61
61
|
def self.wrap!(parent, name)
|
|
62
62
|
::Class.new parent do
|
|
63
63
|
delegate :reorder, :page, :current_page, :total_pages, :limit_value,
|
|
64
|
-
:total_count, :
|
|
64
|
+
:total_count, :offset, :to_key, :group_values,
|
|
65
65
|
:except, :find_each, :ransack, to: :object
|
|
66
66
|
|
|
67
67
|
define_singleton_method(:name) { name }
|
data/lib/active_admin/version.rb
CHANGED
|
@@ -108,8 +108,8 @@ module ActiveAdmin
|
|
|
108
108
|
when TrueClass, FalseClass
|
|
109
109
|
true
|
|
110
110
|
else
|
|
111
|
-
if resource.class.respond_to? :
|
|
112
|
-
|
|
111
|
+
if resource.class.respond_to? :attribute_types
|
|
112
|
+
resource.class.attribute_types[attr.to_s].is_a?(ActiveModel::Type::Boolean)
|
|
113
113
|
end
|
|
114
114
|
end
|
|
115
115
|
end
|
|
@@ -127,12 +127,24 @@ module ActiveAdmin
|
|
|
127
127
|
html_options[:class] ||= "inputs"
|
|
128
128
|
legend = args.shift if args.first.is_a?(::String)
|
|
129
129
|
legend = html_options.delete(:name) if html_options.key?(:name)
|
|
130
|
-
legend_tag = legend ?
|
|
131
|
-
fieldset_attrs = html_options
|
|
130
|
+
legend_tag = legend ? helpers.tag.legend(helpers.tag.span(legend), class: "fieldset-title") : ""
|
|
131
|
+
fieldset_attrs = tag_attributes html_options
|
|
132
132
|
@opening_tag = "<fieldset #{fieldset_attrs}>#{legend_tag}<ol>"
|
|
133
133
|
@closing_tag = "</ol></fieldset>"
|
|
134
134
|
super(*(args << html_options), &block)
|
|
135
135
|
end
|
|
136
|
+
|
|
137
|
+
private
|
|
138
|
+
|
|
139
|
+
def tag_attributes(html_options)
|
|
140
|
+
if Rails::VERSION::MAJOR <= 6
|
|
141
|
+
# Reimplement tag.attributes to backport support for Rails 6.1.
|
|
142
|
+
# TODO: this can be removed when support for Rails 6.x is dropped
|
|
143
|
+
helpers.tag.tag_options(html_options.to_h).to_s.strip.html_safe
|
|
144
|
+
else
|
|
145
|
+
helpers.tag.attributes html_options
|
|
146
|
+
end
|
|
147
|
+
end
|
|
136
148
|
end
|
|
137
149
|
|
|
138
150
|
class SemanticActionsProxy < FormtasticProxy
|
|
@@ -103,7 +103,10 @@ module ActiveAdmin
|
|
|
103
103
|
# you pass in the :total_pages option. We issue a query to determine
|
|
104
104
|
# if there is another page or not, but the limit/offset make this
|
|
105
105
|
# query fast.
|
|
106
|
-
|
|
106
|
+
offset_scope = collection.offset(collection.current_page * collection.limit_value)
|
|
107
|
+
# Support array collections. Kaminari::PaginatableArray does not respond to except
|
|
108
|
+
offset_scope = offset_scope.except(:select, :order) if offset_scope.respond_to?(:except)
|
|
109
|
+
offset = offset_scope.limit(1).count
|
|
107
110
|
options[:total_pages] = collection.current_page + offset
|
|
108
111
|
options[:right] = 0
|
|
109
112
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activeadmin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.2.
|
|
4
|
+
version: 3.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Charles Maresh
|
|
@@ -15,7 +15,7 @@ authors:
|
|
|
15
15
|
autorequire:
|
|
16
16
|
bindir: bin
|
|
17
17
|
cert_chain: []
|
|
18
|
-
date: 2024-05
|
|
18
|
+
date: 2024-09-05 00:00:00.000000000 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
21
|
name: arbre
|
|
@@ -533,7 +533,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
533
533
|
- !ruby/object:Gem::Version
|
|
534
534
|
version: '0'
|
|
535
535
|
requirements: []
|
|
536
|
-
rubygems_version: 3.5.
|
|
536
|
+
rubygems_version: 3.5.16
|
|
537
537
|
signing_key:
|
|
538
538
|
specification_version: 4
|
|
539
539
|
summary: Active Admin is a Ruby on Rails plugin for generating administration style
|