activeadmin 3.2.2 → 3.2.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|