activeadmin 2.2.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +111 -30
  3. data/CONTRIBUTING.md +50 -44
  4. data/README.md +9 -2
  5. data/app/assets/javascripts/active_admin/base.js +519 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +29 -29
  7. data/app/assets/stylesheets/active_admin/_header.scss +3 -5
  8. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  9. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +0 -0
  10. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  11. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  12. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +5 -0
  13. data/app/assets/stylesheets/active_admin/print.scss +2 -2
  14. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  15. data/app/javascript/active_admin/base.js +28 -0
  16. data/app/{assets/javascripts/active_admin/ext/jquery-ui.es6 → javascript/active_admin/ext/jquery-ui.js} +0 -0
  17. data/app/{assets/javascripts/active_admin/ext/jquery.es6 → javascript/active_admin/ext/jquery.js} +0 -0
  18. data/app/{assets/javascripts/active_admin/lib/batch_actions.es6 → javascript/active_admin/initializers/batch-actions.js} +9 -3
  19. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  20. data/app/{assets/javascripts/active_admin/initializers/datepicker.es6 → javascript/active_admin/initializers/datepicker.js} +0 -0
  21. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  22. data/app/javascript/active_admin/initializers/filters.js +10 -0
  23. data/app/{assets/javascripts/active_admin/lib/has_many.es6 → javascript/active_admin/initializers/has-many.js} +0 -0
  24. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  25. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  26. data/app/{assets/javascripts/active_admin/initializers/tabs.es6 → javascript/active_admin/initializers/tabs.js} +0 -0
  27. data/app/{assets/javascripts/active_admin/lib/checkbox-toggler.es6 → javascript/active_admin/lib/checkbox-toggler.js} +2 -2
  28. data/app/{assets/javascripts/active_admin/lib/dropdown-menu.es6 → javascript/active_admin/lib/dropdown-menu.js} +2 -9
  29. data/app/javascript/active_admin/lib/filters.js +39 -0
  30. data/app/{assets/javascripts/active_admin/lib/modal_dialog.es6 → javascript/active_admin/lib/modal-dialog.js} +3 -1
  31. data/app/javascript/active_admin/lib/per-page.js +38 -0
  32. data/app/{assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 → javascript/active_admin/lib/table-checkbox-toggler.js} +4 -2
  33. data/app/javascript/active_admin/lib/utils.js +40 -0
  34. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  35. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  36. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  37. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  38. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  39. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  40. data/config/locales/az.yml +138 -0
  41. data/config/locales/ca.yml +0 -1
  42. data/config/locales/de.yml +18 -0
  43. data/config/locales/es.yml +3 -3
  44. data/config/locales/fr.yml +4 -4
  45. data/config/locales/sk.yml +59 -0
  46. data/docs/1-general-configuration.md +20 -0
  47. data/docs/2-resource-customization.md +1 -1
  48. data/docs/3-index-pages.md +1 -1
  49. data/docs/3-index-pages/index-as-table.md +7 -0
  50. data/docs/9-batch-actions.md +2 -2
  51. data/docs/Gemfile +0 -1
  52. data/docs/Gemfile.lock +103 -105
  53. data/docs/_config.yml +2 -0
  54. data/docs/_includes/top-menu.html +2 -2
  55. data/docs/index.html +108 -7
  56. data/docs/stylesheets/main.css +29 -0
  57. data/lib/active_admin.rb +0 -1
  58. data/lib/active_admin/application.rb +1 -1
  59. data/lib/active_admin/csv_builder.rb +1 -2
  60. data/lib/active_admin/filters/active_filter.rb +1 -1
  61. data/lib/active_admin/filters/resource_extension.rb +24 -0
  62. data/lib/active_admin/generators/boilerplate.rb +12 -4
  63. data/lib/active_admin/inputs/filters/date_range_input.rb +15 -12
  64. data/lib/active_admin/namespace_settings.rb +13 -0
  65. data/lib/active_admin/order_clause.rb +1 -1
  66. data/lib/active_admin/resource.rb +14 -1
  67. data/lib/active_admin/resource/belongs_to.rb +3 -0
  68. data/lib/active_admin/resource/model.rb +15 -0
  69. data/lib/active_admin/resource/routes.rb +11 -3
  70. data/lib/active_admin/resource_controller.rb +2 -0
  71. data/lib/active_admin/resource_controller/decorators.rb +2 -2
  72. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  73. data/lib/active_admin/version.rb +1 -1
  74. data/lib/active_admin/views/components/paginated_collection.rb +3 -2
  75. data/lib/active_admin/views/components/table_for.rb +1 -0
  76. data/lib/active_admin/views/index_as_table.rb +7 -0
  77. data/lib/active_admin/views/pages/base.rb +5 -3
  78. data/lib/active_admin/views/pages/index.rb +1 -0
  79. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +14 -1
  80. data/lib/generators/active_admin/resource/templates/admin.rb.erb +4 -2
  81. metadata +35 -43
  82. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  83. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  84. data/app/assets/images/active_admin/orderable.png +0 -0
  85. data/app/assets/javascripts/active_admin/base.es6 +0 -23
  86. data/app/assets/javascripts/active_admin/initializers/filters.es6 +0 -45
  87. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +0 -41
  88. data/app/assets/javascripts/active_admin/lib/per_page.es6 +0 -47
@@ -33,7 +33,7 @@ module ActiveAdmin
33
33
  end
34
34
 
35
35
  active_admin_namespace.meta_tags.each do |name, content|
36
- text_node(tag(:meta, name: name, content: content))
36
+ text_node(meta(name: name, content: content))
37
37
  end
38
38
 
39
39
  active_admin_application.javascripts.each do |path|
@@ -85,8 +85,10 @@ module ActiveAdmin
85
85
 
86
86
  def build_flash_messages
87
87
  div class: 'flashes' do
88
- flash_messages.each do |type, message|
89
- div message, class: "flash flash_#{type}"
88
+ flash_messages.each do |type, messages|
89
+ [*messages].each do |message|
90
+ div message, class: "flash flash_#{type}"
91
+ end
90
92
  end
91
93
  end
92
94
  end
@@ -124,6 +124,7 @@ module ActiveAdmin
124
124
 
125
125
  def render_index
126
126
  renderer_class = find_index_renderer_class(config[:as])
127
+
127
128
  paginator = config.fetch(:paginator, true)
128
129
  download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
129
130
  pagination_total = config.fetch(:pagination_total, true)
@@ -286,12 +286,25 @@ ActiveAdmin.setup do |config|
286
286
  # config.filters = true
287
287
  #
288
288
  # By default the filters include associations in a select, which means
289
- # that every record will be loaded for each association.
289
+ # that every record will be loaded for each association (up
290
+ # to the value of config.maximum_association_filter_arity).
290
291
  # You can enabled or disable the inclusion
291
292
  # of those filters by default here.
292
293
  #
293
294
  # config.include_default_association_filters = true
294
295
 
296
+ # config.maximum_association_filter_arity = 256 # default value of :unlimited will change to 256 in a future version
297
+ # config.filter_columns_for_large_association, [
298
+ # :display_name,
299
+ # :full_name,
300
+ # :name,
301
+ # :username,
302
+ # :login,
303
+ # :title,
304
+ # :email,
305
+ # ]
306
+ # config.filter_method_for_large_association, '_starts_with'
307
+
295
308
  # == Head
296
309
  #
297
310
  # You can add your own content to the site head like analytics. Make sure
@@ -3,12 +3,14 @@ ActiveAdmin.register <%= class_name %> do
3
3
  # See permitted parameters documentation:
4
4
  # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
5
5
  #
6
- # permit_params :list, :of, :attributes, :on, :model
6
+ # Uncomment all parameters which should be permitted for assignment
7
+ #
8
+ # permit_params <%= @boilerplate.permit_params %>
7
9
  #
8
10
  # or
9
11
  #
10
12
  # permit_params do
11
- # permitted = [:permitted, :attributes]
13
+ # permitted = [<%= @boilerplate.permit_params %>]
12
14
  # permitted << :other if params[:action] == 'create' && current_user.admin?
13
15
  # permitted
14
16
  # 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: 2.2.0
4
+ version: 2.6.0
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: 2019-07-15 00:00:00.000000000 Z
18
+ date: 2019-12-16 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: arbre
@@ -119,7 +119,7 @@ dependencies:
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: '5.0'
122
+ version: '5.2'
123
123
  - - "<"
124
124
  - !ruby/object:Gem::Version
125
125
  version: '6.1'
@@ -129,7 +129,7 @@ dependencies:
129
129
  requirements:
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: '5.0'
132
+ version: '5.2'
133
133
  - - "<"
134
134
  - !ruby/object:Gem::Version
135
135
  version: '6.1'
@@ -187,26 +187,6 @@ dependencies:
187
187
  - - "<"
188
188
  - !ruby/object:Gem::Version
189
189
  version: '4.1'
190
- - !ruby/object:Gem::Dependency
191
- name: sprockets-es6
192
- requirement: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - "~>"
195
- - !ruby/object:Gem::Version
196
- version: '0.9'
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- version: 0.9.2
200
- type: :runtime
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: '0.9'
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: 0.9.2
210
190
  description: The administration framework for Ruby on Rails.
211
191
  email:
212
192
  - deivid.rodriguez@riseup.net
@@ -223,27 +203,12 @@ files:
223
203
  - CONTRIBUTING.md
224
204
  - LICENSE
225
205
  - README.md
226
- - app/assets/images/active_admin/nested_menu_arrow.gif
227
- - app/assets/images/active_admin/nested_menu_arrow_dark.gif
228
- - app/assets/images/active_admin/orderable.png
229
- - app/assets/javascripts/active_admin/base.es6
230
- - app/assets/javascripts/active_admin/ext/jquery-ui.es6
231
- - app/assets/javascripts/active_admin/ext/jquery.es6
232
- - app/assets/javascripts/active_admin/initializers/datepicker.es6
233
- - app/assets/javascripts/active_admin/initializers/filters.es6
234
- - app/assets/javascripts/active_admin/initializers/tabs.es6
235
- - app/assets/javascripts/active_admin/lib/active_admin.es6
236
- - app/assets/javascripts/active_admin/lib/batch_actions.es6
237
- - app/assets/javascripts/active_admin/lib/checkbox-toggler.es6
238
- - app/assets/javascripts/active_admin/lib/dropdown-menu.es6
239
- - app/assets/javascripts/active_admin/lib/has_many.es6
240
- - app/assets/javascripts/active_admin/lib/modal_dialog.es6
241
- - app/assets/javascripts/active_admin/lib/per_page.es6
242
- - app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6
206
+ - app/assets/javascripts/active_admin/base.js
243
207
  - app/assets/stylesheets/active_admin/_base.scss
244
208
  - app/assets/stylesheets/active_admin/_forms.scss
245
209
  - app/assets/stylesheets/active_admin/_header.scss
246
210
  - app/assets/stylesheets/active_admin/_mixins.scss
211
+ - app/assets/stylesheets/active_admin/_normalize.scss
247
212
  - app/assets/stylesheets/active_admin/_typography.scss
248
213
  - app/assets/stylesheets/active_admin/components/_batch_actions.scss
249
214
  - app/assets/stylesheets/active_admin/components/_blank_slates.scss
@@ -280,6 +245,25 @@ files:
280
245
  - app/assets/stylesheets/active_admin/structure/_footer.scss
281
246
  - app/assets/stylesheets/active_admin/structure/_main_structure.scss
282
247
  - app/assets/stylesheets/active_admin/structure/_title_bar.scss
248
+ - app/javascript/active_admin/base.js
249
+ - app/javascript/active_admin/ext/jquery-ui.js
250
+ - app/javascript/active_admin/ext/jquery.js
251
+ - app/javascript/active_admin/initializers/batch-actions.js
252
+ - app/javascript/active_admin/initializers/checkbox-toggler.js
253
+ - app/javascript/active_admin/initializers/datepicker.js
254
+ - app/javascript/active_admin/initializers/dropdown-menu.js
255
+ - app/javascript/active_admin/initializers/filters.js
256
+ - app/javascript/active_admin/initializers/has-many.js
257
+ - app/javascript/active_admin/initializers/per-page.js
258
+ - app/javascript/active_admin/initializers/table-checkbox-toggler.js
259
+ - app/javascript/active_admin/initializers/tabs.js
260
+ - app/javascript/active_admin/lib/checkbox-toggler.js
261
+ - app/javascript/active_admin/lib/dropdown-menu.js
262
+ - app/javascript/active_admin/lib/filters.js
263
+ - app/javascript/active_admin/lib/modal-dialog.js
264
+ - app/javascript/active_admin/lib/per-page.js
265
+ - app/javascript/active_admin/lib/table-checkbox-toggler.js
266
+ - app/javascript/active_admin/lib/utils.js
283
267
  - app/views/active_admin/devise/confirmations/new.html.erb
284
268
  - app/views/active_admin/devise/mailer/reset_password_instructions.html.erb
285
269
  - app/views/active_admin/devise/mailer/unlock_instructions.html.erb
@@ -302,9 +286,16 @@ files:
302
286
  - app/views/kaminari/active_admin/_page.html.erb
303
287
  - app/views/kaminari/active_admin/_paginator.html.erb
304
288
  - app/views/kaminari/active_admin/_prev_page.html.erb
289
+ - app/views/kaminari/active_admin_countless/_first_page.html.erb
290
+ - app/views/kaminari/active_admin_countless/_gap.html.erb
291
+ - app/views/kaminari/active_admin_countless/_next_page.html.erb
292
+ - app/views/kaminari/active_admin_countless/_page.html.erb
293
+ - app/views/kaminari/active_admin_countless/_paginator.html.erb
294
+ - app/views/kaminari/active_admin_countless/_prev_page.html.erb
305
295
  - app/views/layouts/active_admin.html.arb
306
296
  - app/views/layouts/active_admin_logged_out.html.erb
307
297
  - config/locales/ar.yml
298
+ - config/locales/az.yml
308
299
  - config/locales/bg.yml
309
300
  - config/locales/bs.yml
310
301
  - config/locales/ca.yml
@@ -471,6 +462,7 @@ files:
471
462
  - lib/active_admin/resource/controllers.rb
472
463
  - lib/active_admin/resource/includes.rb
473
464
  - lib/active_admin/resource/menu.rb
465
+ - lib/active_admin/resource/model.rb
474
466
  - lib/active_admin/resource/naming.rb
475
467
  - lib/active_admin/resource/ordering.rb
476
468
  - lib/active_admin/resource/page_presenters.rb
@@ -484,6 +476,7 @@ files:
484
476
  - lib/active_admin/resource_controller/action_builder.rb
485
477
  - lib/active_admin/resource_controller/data_access.rb
486
478
  - lib/active_admin/resource_controller/decorators.rb
479
+ - lib/active_admin/resource_controller/polymorphic_routes.rb
487
480
  - lib/active_admin/resource_controller/resource_class_methods.rb
488
481
  - lib/active_admin/resource_controller/scoping.rb
489
482
  - lib/active_admin/resource_controller/sidebars.rb
@@ -587,7 +580,6 @@ files:
587
580
  - vendor/assets/javascripts/jquery-ui/widgets/resizable.js
588
581
  - vendor/assets/javascripts/jquery-ui/widgets/sortable.js
589
582
  - vendor/assets/javascripts/jquery-ui/widgets/tabs.js
590
- - vendor/assets/stylesheets/active_admin/_normalize.scss
591
583
  homepage: https://activeadmin.info
592
584
  licenses:
593
585
  - MIT
@@ -607,7 +599,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
607
599
  - !ruby/object:Gem::Version
608
600
  version: '0'
609
601
  requirements: []
610
- rubygems_version: 3.0.4
602
+ rubygems_version: 3.1.1
611
603
  signing_key:
612
604
  specification_version: 4
613
605
  summary: Active Admin is a Ruby on Rails plugin for generating administration style
@@ -1,23 +0,0 @@
1
- //= require jquery3
2
- //= require jquery-ui/widgets/datepicker
3
- //= require jquery-ui/widgets/dialog
4
- //= require jquery-ui/widgets/sortable
5
- //= require jquery-ui/widgets/tabs
6
- //= require jquery-ui/widget
7
- //= require jquery_ujs
8
- //= require_self
9
- //= require ./ext/jquery
10
- //= require ./ext/jquery-ui
11
- //= require ./lib/active_admin
12
- //= require ./lib/batch_actions
13
- //= require ./lib/dropdown-menu
14
- //= require ./lib/has_many
15
- //= require ./lib/modal_dialog
16
- //= require ./lib/per_page
17
- //= require ./lib/checkbox-toggler
18
- //= require ./lib/table-checkbox-toggler
19
- //= require ./initializers/datepicker
20
- //= require ./initializers/filters
21
- //= require ./initializers/tabs
22
-
23
- window.ActiveAdmin = {}
@@ -1,45 +0,0 @@
1
- (($, ActiveAdmin) => {
2
-
3
- class Filters {
4
-
5
- static _clearForm(event) {
6
- const regex = /^(q\[|q%5B|q%5b|page|utf8|commit)/;
7
- const params = ActiveAdmin
8
- .queryStringToParams()
9
- .filter(({name}) => !name.match(regex));
10
-
11
- event.preventDefault();
12
-
13
- if (ActiveAdmin.turbolinks) {
14
- ActiveAdmin.turbolinksVisit(params);
15
- } else {
16
- window.location.search = ActiveAdmin.toQueryString(params);
17
- }
18
- }
19
-
20
- static _disableEmptyInputFields(event) {
21
- const params = $(this)
22
- .find(':input')
23
- .filter((i, input) => input.value === '')
24
- .prop({ disabled: true })
25
- .end()
26
- .serializeArray();
27
-
28
- if (ActiveAdmin.turbolinks) {
29
- event.preventDefault();
30
- ActiveAdmin.turbolinksVisit(params);
31
- }
32
- }
33
-
34
- static _setSearchType() {
35
- $(this).siblings('input').prop({name: `q[${this.value}]`});
36
- }
37
-
38
- }
39
-
40
- $(document).
41
- on('click', '.clear_filters_btn', Filters._clearForm).
42
- on('submit', '.filter_form', Filters._disableEmptyInputFields).
43
- on('change', '.filter_form_field.select_and_search select', Filters._setSearchType);
44
-
45
- })(jQuery, window.activeadmin);
@@ -1,41 +0,0 @@
1
- ((window, $) => {
2
-
3
- class ActiveAdmin {
4
-
5
- static get turbolinks() {
6
- return (typeof Turbolinks !== 'undefined' && Turbolinks.supported);
7
- }
8
-
9
- static turbolinksVisit(params) {
10
- const path = [window.location.pathname, '?', this.toQueryString(params)].join('')
11
- Turbolinks.visit(path);
12
- }
13
-
14
- static queryString() {
15
- return (window.location.search || '').replace(/^\?/, '');
16
- }
17
-
18
- static queryStringToParams() {
19
- const decode = (value) => decodeURIComponent((value || '').replace(/\+/g, '%20'));
20
-
21
- return this.queryString()
22
- .split("&")
23
- .map(pair => pair.split("="))
24
- .map(([key, value]) => {
25
- return { name: decode(key), value: decode(value) }
26
- });
27
- }
28
-
29
- static toQueryString(params) {
30
- const encode = (value) => encodeURIComponent(value || '');
31
-
32
- return params
33
- .map(({name, value}) => [ encode(name), encode(value) ])
34
- .map(pair => pair.join('='))
35
- .join('&')
36
- }
37
- }
38
-
39
- window.activeadmin = ActiveAdmin
40
-
41
- })(window, jQuery);
@@ -1,47 +0,0 @@
1
- (($, ActiveAdmin) => {
2
-
3
- class PerPage {
4
- constructor(element) {
5
- this.element = element;
6
- }
7
-
8
- update() {
9
- const params = ActiveAdmin
10
- .queryStringToParams()
11
- .filter(({name}) => name != 'per_page' || name != 'page')
12
-
13
- params.push({ name: 'per_page', value: this.element.value });
14
-
15
- if (ActiveAdmin.turbolinks) {
16
- ActiveAdmin.turbolinksVisit(params);
17
- } else {
18
- window.location.search = ActiveAdmin.toQueryString(params);
19
- }
20
- }
21
-
22
- static _jQueryInterface(config) {
23
- return this.each(function () {
24
- const $this = $(this)
25
- let data = $this.data('perPage')
26
-
27
- if (!data) {
28
- data = new PerPage(this)
29
- $this.data('perPage', data)
30
- }
31
-
32
- if (config === 'update') {
33
- data[config]()
34
- }
35
- })
36
- }
37
- };
38
-
39
- $(document).
40
- on('change', '.pagination_per_page > select', function(event) {
41
- PerPage._jQueryInterface.call($(this), 'update')
42
- });
43
-
44
- $.fn['perPage'] = PerPage._jQueryInterface
45
- $.fn['perPage'].Constructor = PerPage
46
-
47
- })(jQuery, window.activeadmin);