activeadmin 2.4.0 → 2.13.1

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.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +364 -31
  3. data/CONTRIBUTING.md +42 -62
  4. data/README.md +4 -4
  5. data/app/assets/javascripts/active_admin/base.js +524 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +0 -10
  8. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  9. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  10. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  11. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  14. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  15. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  16. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  17. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  18. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  19. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  20. data/app/javascript/active_admin/base.js +28 -0
  21. data/app/{assets/javascripts/active_admin/ext/jquery-ui.es6 → javascript/active_admin/ext/jquery-ui.js} +0 -0
  22. data/app/{assets/javascripts/active_admin/ext/jquery.es6 → javascript/active_admin/ext/jquery.js} +0 -0
  23. data/app/{assets/javascripts/active_admin/lib/batch_actions.es6 → javascript/active_admin/initializers/batch-actions.js} +4 -2
  24. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  25. data/app/{assets/javascripts/active_admin/initializers/datepicker.es6 → javascript/active_admin/initializers/datepicker.js} +0 -0
  26. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  27. data/app/javascript/active_admin/initializers/filters.js +10 -0
  28. data/app/{assets/javascripts/active_admin/lib/has_many.es6 → javascript/active_admin/initializers/has-many.js} +4 -1
  29. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  30. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  31. data/app/{assets/javascripts/active_admin/initializers/tabs.es6 → javascript/active_admin/initializers/tabs.js} +0 -0
  32. data/app/{assets/javascripts/active_admin/lib/checkbox-toggler.es6 → javascript/active_admin/lib/checkbox-toggler.js} +5 -5
  33. data/app/{assets/javascripts/active_admin/lib/dropdown-menu.es6 → javascript/active_admin/lib/dropdown-menu.js} +3 -10
  34. data/app/javascript/active_admin/lib/filters.js +39 -0
  35. data/app/{assets/javascripts/active_admin/lib/modal_dialog.es6 → javascript/active_admin/lib/modal-dialog.js} +10 -8
  36. data/app/javascript/active_admin/lib/per-page.js +38 -0
  37. data/app/{assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 → javascript/active_admin/lib/table-checkbox-toggler.js} +5 -3
  38. data/app/javascript/active_admin/lib/utils.js +40 -0
  39. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  40. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  41. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  42. data/app/views/active_admin/page/index.html.arb +1 -0
  43. data/app/views/active_admin/resource/edit.html.arb +1 -0
  44. data/app/views/active_admin/resource/index.html.arb +1 -0
  45. data/app/views/active_admin/resource/new.html.arb +1 -0
  46. data/app/views/active_admin/resource/show.html.arb +1 -0
  47. data/app/views/layouts/active_admin.html.arb +1 -0
  48. data/app/views/layouts/active_admin_logged_out.html.erb +15 -5
  49. data/config/locales/ar.yml +6 -6
  50. data/config/locales/az.yml +138 -0
  51. data/config/locales/en-CA.yml +3 -3
  52. data/config/locales/en-GB.yml +3 -3
  53. data/config/locales/en.yml +3 -3
  54. data/config/locales/es-MX.yml +2 -1
  55. data/config/locales/es.yml +5 -5
  56. data/config/locales/fr.yml +4 -4
  57. data/config/locales/it.yml +18 -0
  58. data/config/locales/ja.yml +3 -3
  59. data/config/locales/ko.yml +1 -1
  60. data/config/locales/lv.yml +2 -2
  61. data/config/locales/nl.yml +1 -1
  62. data/config/locales/ro.yml +3 -2
  63. data/config/locales/vi.yml +6 -5
  64. data/docs/0-installation.md +27 -3
  65. data/docs/1-general-configuration.md +20 -0
  66. data/docs/11-decorators.md +16 -5
  67. data/docs/2-resource-customization.md +10 -1
  68. data/docs/3-index-pages.md +1 -1
  69. data/docs/5-forms.md +9 -3
  70. data/docs/6-show-pages.md +12 -0
  71. data/docs/8-custom-actions.md +1 -1
  72. data/docs/9-batch-actions.md +2 -2
  73. data/docs/Gemfile +3 -2
  74. data/docs/Gemfile.lock +192 -157
  75. data/docs/_includes/top-menu.html +1 -1
  76. data/docs/documentation.md +1 -1
  77. data/docs/index.html +6 -6
  78. data/lib/active_admin/abstract_view_factory.rb +1 -0
  79. data/lib/active_admin/application.rb +20 -20
  80. data/lib/active_admin/application_settings.rb +4 -3
  81. data/lib/active_admin/asset_registration.rb +1 -0
  82. data/lib/active_admin/authorization_adapter.rb +4 -3
  83. data/lib/active_admin/base_controller/authorization.rb +15 -13
  84. data/lib/active_admin/base_controller/menu.rb +1 -0
  85. data/lib/active_admin/base_controller.rb +6 -5
  86. data/lib/active_admin/batch_actions/controller.rb +4 -3
  87. data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
  88. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  89. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  90. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  91. data/lib/active_admin/batch_actions.rb +1 -0
  92. data/lib/active_admin/callbacks.rb +1 -0
  93. data/lib/active_admin/cancan_adapter.rb +2 -1
  94. data/lib/active_admin/collection_decorator.rb +32 -0
  95. data/lib/active_admin/component.rb +1 -0
  96. data/lib/active_admin/controller_action.rb +1 -0
  97. data/lib/active_admin/csv_builder.rb +12 -21
  98. data/lib/active_admin/dependency.rb +13 -12
  99. data/lib/active_admin/deprecation.rb +1 -0
  100. data/lib/active_admin/devise.rb +16 -5
  101. data/lib/active_admin/dsl.rb +2 -1
  102. data/lib/active_admin/dynamic_setting.rb +1 -0
  103. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  104. data/lib/active_admin/engine.rb +13 -9
  105. data/lib/active_admin/error.rb +1 -2
  106. data/lib/active_admin/filters/active.rb +2 -1
  107. data/lib/active_admin/filters/active_filter.rb +7 -7
  108. data/lib/active_admin/filters/active_sidebar.rb +4 -30
  109. data/lib/active_admin/filters/dsl.rb +1 -0
  110. data/lib/active_admin/filters/forms.rb +7 -6
  111. data/lib/active_admin/filters/formtastic_addons.rb +2 -6
  112. data/lib/active_admin/filters/resource_extension.rb +2 -1
  113. data/lib/active_admin/filters.rb +8 -7
  114. data/lib/active_admin/form_builder.rb +25 -20
  115. data/lib/active_admin/generators/boilerplate.rb +2 -1
  116. data/lib/active_admin/helpers/collection.rb +2 -0
  117. data/lib/active_admin/helpers/i18n.rb +1 -0
  118. data/lib/active_admin/helpers/optional_display.rb +3 -2
  119. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  120. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  121. data/lib/active_admin/inputs/datepicker_input.rb +2 -1
  122. data/lib/active_admin/inputs/filters/base/search_method_select.rb +5 -4
  123. data/lib/active_admin/inputs/filters/base.rb +2 -1
  124. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  125. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  126. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  127. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  128. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  129. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  130. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  131. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  132. data/lib/active_admin/inputs.rb +1 -0
  133. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  134. data/lib/active_admin/localizers.rb +2 -1
  135. data/lib/active_admin/menu.rb +7 -3
  136. data/lib/active_admin/menu_collection.rb +1 -0
  137. data/lib/active_admin/menu_item.rb +8 -7
  138. data/lib/active_admin/namespace.rb +15 -14
  139. data/lib/active_admin/namespace_settings.rb +9 -5
  140. data/lib/active_admin/order_clause.rb +2 -1
  141. data/lib/active_admin/orm/active_record/comments/comment.rb +4 -3
  142. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  143. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  144. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  145. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +20 -19
  146. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  147. data/lib/active_admin/orm/active_record/comments.rb +20 -19
  148. data/lib/active_admin/orm/active_record.rb +2 -1
  149. data/lib/active_admin/orm/mongoid.rb +1 -0
  150. data/lib/active_admin/page.rb +2 -1
  151. data/lib/active_admin/page_controller.rb +1 -0
  152. data/lib/active_admin/page_dsl.rb +1 -0
  153. data/lib/active_admin/page_presenter.rb +1 -0
  154. data/lib/active_admin/pundit_adapter.rb +59 -15
  155. data/lib/active_admin/resource/action_items.rb +6 -5
  156. data/lib/active_admin/resource/attributes.rb +2 -1
  157. data/lib/active_admin/resource/belongs_to.rb +3 -2
  158. data/lib/active_admin/resource/controllers.rb +2 -1
  159. data/lib/active_admin/resource/includes.rb +1 -0
  160. data/lib/active_admin/resource/menu.rb +5 -4
  161. data/lib/active_admin/resource/model.rb +1 -0
  162. data/lib/active_admin/resource/naming.rb +6 -5
  163. data/lib/active_admin/resource/ordering.rb +1 -0
  164. data/lib/active_admin/resource/page_presenters.rb +1 -0
  165. data/lib/active_admin/resource/pagination.rb +1 -0
  166. data/lib/active_admin/resource/routes.rb +6 -7
  167. data/lib/active_admin/resource/scope_to.rb +8 -7
  168. data/lib/active_admin/resource/scopes.rb +1 -0
  169. data/lib/active_admin/resource/sidebars.rb +2 -1
  170. data/lib/active_admin/resource.rb +21 -20
  171. data/lib/active_admin/resource_collection.rb +1 -0
  172. data/lib/active_admin/resource_controller/action_builder.rb +1 -0
  173. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  174. data/lib/active_admin/resource_controller/decorators.rb +7 -28
  175. data/lib/active_admin/resource_controller/polymorphic_routes.rb +4 -2
  176. data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
  177. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  178. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  179. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  180. data/lib/active_admin/resource_controller.rb +13 -11
  181. data/lib/active_admin/resource_dsl.rb +11 -25
  182. data/lib/active_admin/router.rb +1 -0
  183. data/lib/active_admin/scope.rb +7 -6
  184. data/lib/active_admin/settings_node.rb +1 -0
  185. data/lib/active_admin/sidebar_section.rb +1 -0
  186. data/lib/active_admin/version.rb +2 -1
  187. data/lib/active_admin/view_factory.rb +18 -17
  188. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  189. data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
  190. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
  191. data/lib/active_admin/view_helpers/display_helper.rb +15 -7
  192. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  193. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  194. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  195. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  196. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
  197. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  198. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  199. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  200. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  201. data/lib/active_admin/view_helpers.rb +2 -1
  202. data/lib/active_admin/views/action_items.rb +1 -0
  203. data/lib/active_admin/views/components/active_admin_form.rb +7 -6
  204. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  205. data/lib/active_admin/views/components/attributes_table.rb +6 -5
  206. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  207. data/lib/active_admin/views/components/columns.rb +1 -0
  208. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  209. data/lib/active_admin/views/components/index_list.rb +4 -3
  210. data/lib/active_admin/views/components/menu.rb +2 -1
  211. data/lib/active_admin/views/components/menu_item.rb +5 -4
  212. data/lib/active_admin/views/components/paginated_collection.rb +20 -18
  213. data/lib/active_admin/views/components/panel.rb +2 -1
  214. data/lib/active_admin/views/components/scopes.rb +8 -5
  215. data/lib/active_admin/views/components/sidebar.rb +1 -0
  216. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  217. data/lib/active_admin/views/components/site_title.rb +2 -1
  218. data/lib/active_admin/views/components/status_tag.rb +12 -11
  219. data/lib/active_admin/views/components/table_for.rb +19 -17
  220. data/lib/active_admin/views/components/tabs.rb +4 -3
  221. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  222. data/lib/active_admin/views/footer.rb +3 -1
  223. data/lib/active_admin/views/header.rb +3 -2
  224. data/lib/active_admin/views/index_as_block.rb +1 -0
  225. data/lib/active_admin/views/index_as_blog.rb +2 -1
  226. data/lib/active_admin/views/index_as_grid.rb +2 -1
  227. data/lib/active_admin/views/index_as_table.rb +17 -16
  228. data/lib/active_admin/views/pages/base.rb +19 -12
  229. data/lib/active_admin/views/pages/form.rb +1 -0
  230. data/lib/active_admin/views/pages/index.rb +16 -13
  231. data/lib/active_admin/views/pages/layout.rb +1 -0
  232. data/lib/active_admin/views/pages/page.rb +1 -0
  233. data/lib/active_admin/views/pages/show.rb +1 -0
  234. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  235. data/lib/active_admin/views/title_bar.rb +2 -1
  236. data/lib/active_admin/views.rb +2 -1
  237. data/lib/active_admin.rb +63 -64
  238. data/lib/activeadmin.rb +2 -1
  239. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  240. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  241. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  242. data/lib/generators/active_admin/install/install_generator.rb +15 -8
  243. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +9 -2
  244. data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
  245. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  246. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  247. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  248. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  249. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  250. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  251. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  252. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  253. data/lib/ransack_ext.rb +9 -8
  254. metadata +54 -91
  255. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  256. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  257. data/app/assets/images/active_admin/orderable.png +0 -0
  258. data/app/assets/javascripts/active_admin/base.es6 +0 -23
  259. data/app/assets/javascripts/active_admin/initializers/filters.es6 +0 -45
  260. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +0 -41
  261. data/app/assets/javascripts/active_admin/lib/per_page.es6 +0 -47
data/lib/active_admin.rb CHANGED
@@ -1,59 +1,58 @@
1
- require 'active_support/core_ext'
2
- require 'set'
3
-
4
- require 'ransack'
5
- require 'ransack_ext'
6
- require 'kaminari'
7
- require 'formtastic'
8
- require 'formtastic_i18n'
9
- require 'inherited_resources'
10
- require 'jquery-rails'
11
- require 'sassc-rails'
12
- require 'arbre'
13
- require 'sprockets/es6'
14
-
15
- require 'active_admin/helpers/i18n'
1
+ # frozen_string_literal: true
2
+ require "active_support/core_ext"
3
+ require "set"
4
+
5
+ require "ransack"
6
+ require "ransack_ext"
7
+ require "kaminari"
8
+ require "formtastic"
9
+ require "formtastic_i18n"
10
+ require "inherited_resources"
11
+ require "jquery-rails"
12
+ require "arbre"
13
+
14
+ require "active_admin/helpers/i18n"
16
15
 
17
16
  module ActiveAdmin
18
17
 
19
- autoload :VERSION, 'active_admin/version'
20
- autoload :Application, 'active_admin/application'
21
- autoload :AssetRegistration, 'active_admin/asset_registration'
22
- autoload :Authorization, 'active_admin/authorization_adapter'
23
- autoload :AuthorizationAdapter, 'active_admin/authorization_adapter'
24
- autoload :Callbacks, 'active_admin/callbacks'
25
- autoload :Component, 'active_admin/component'
26
- autoload :BaseController, 'active_admin/base_controller'
27
- autoload :CanCanAdapter, 'active_admin/cancan_adapter'
28
- autoload :ControllerAction, 'active_admin/controller_action'
29
- autoload :CSVBuilder, 'active_admin/csv_builder'
30
- autoload :Dependency, 'active_admin/dependency'
31
- autoload :Deprecation, 'active_admin/deprecation'
32
- autoload :Devise, 'active_admin/devise'
33
- autoload :DSL, 'active_admin/dsl'
34
- autoload :FormBuilder, 'active_admin/form_builder'
35
- autoload :Inputs, 'active_admin/inputs'
36
- autoload :Localizers, 'active_admin/localizers'
37
- autoload :Menu, 'active_admin/menu'
38
- autoload :MenuCollection, 'active_admin/menu_collection'
39
- autoload :MenuItem, 'active_admin/menu_item'
40
- autoload :Namespace, 'active_admin/namespace'
41
- autoload :OrderClause, 'active_admin/order_clause'
42
- autoload :Page, 'active_admin/page'
43
- autoload :PagePresenter, 'active_admin/page_presenter'
44
- autoload :PageController, 'active_admin/page_controller'
45
- autoload :PageDSL, 'active_admin/page_dsl'
46
- autoload :PunditAdapter, 'active_admin/pundit_adapter'
47
- autoload :Resource, 'active_admin/resource'
48
- autoload :ResourceController, 'active_admin/resource_controller'
49
- autoload :ResourceDSL, 'active_admin/resource_dsl'
50
- autoload :Scope, 'active_admin/scope'
51
- autoload :ScopeChain, 'active_admin/helpers/scope_chain'
52
- autoload :SidebarSection, 'active_admin/sidebar_section'
53
- autoload :TableBuilder, 'active_admin/table_builder'
54
- autoload :ViewFactory, 'active_admin/view_factory'
55
- autoload :ViewHelpers, 'active_admin/view_helpers'
56
- autoload :Views, 'active_admin/views'
18
+ autoload :VERSION, "active_admin/version"
19
+ autoload :Application, "active_admin/application"
20
+ autoload :AssetRegistration, "active_admin/asset_registration"
21
+ autoload :Authorization, "active_admin/authorization_adapter"
22
+ autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
23
+ autoload :Callbacks, "active_admin/callbacks"
24
+ autoload :Component, "active_admin/component"
25
+ autoload :BaseController, "active_admin/base_controller"
26
+ autoload :CanCanAdapter, "active_admin/cancan_adapter"
27
+ autoload :ControllerAction, "active_admin/controller_action"
28
+ autoload :CSVBuilder, "active_admin/csv_builder"
29
+ autoload :Dependency, "active_admin/dependency"
30
+ autoload :Deprecation, "active_admin/deprecation"
31
+ autoload :Devise, "active_admin/devise"
32
+ autoload :DSL, "active_admin/dsl"
33
+ autoload :FormBuilder, "active_admin/form_builder"
34
+ autoload :Inputs, "active_admin/inputs"
35
+ autoload :Localizers, "active_admin/localizers"
36
+ autoload :Menu, "active_admin/menu"
37
+ autoload :MenuCollection, "active_admin/menu_collection"
38
+ autoload :MenuItem, "active_admin/menu_item"
39
+ autoload :Namespace, "active_admin/namespace"
40
+ autoload :OrderClause, "active_admin/order_clause"
41
+ autoload :Page, "active_admin/page"
42
+ autoload :PagePresenter, "active_admin/page_presenter"
43
+ autoload :PageController, "active_admin/page_controller"
44
+ autoload :PageDSL, "active_admin/page_dsl"
45
+ autoload :PunditAdapter, "active_admin/pundit_adapter"
46
+ autoload :Resource, "active_admin/resource"
47
+ autoload :ResourceController, "active_admin/resource_controller"
48
+ autoload :ResourceDSL, "active_admin/resource_dsl"
49
+ autoload :Scope, "active_admin/scope"
50
+ autoload :ScopeChain, "active_admin/helpers/scope_chain"
51
+ autoload :SidebarSection, "active_admin/sidebar_section"
52
+ autoload :TableBuilder, "active_admin/table_builder"
53
+ autoload :ViewFactory, "active_admin/view_factory"
54
+ autoload :ViewHelpers, "active_admin/view_helpers"
55
+ autoload :Views, "active_admin/views"
57
56
 
58
57
  class << self
59
58
 
@@ -70,11 +69,11 @@ module ActiveAdmin
70
69
  application.prepare!
71
70
  end
72
71
 
73
- delegate :register, to: :application
72
+ delegate :register, to: :application
74
73
  delegate :register_page, to: :application
75
- delegate :unload!, to: :application
76
- delegate :load!, to: :application
77
- delegate :routes, to: :application
74
+ delegate :unload!, to: :application
75
+ delegate :load!, to: :application
76
+ delegate :routes, to: :application
78
77
 
79
78
  # A callback is triggered each time (before) Active Admin loads the configuration files.
80
79
  # In development mode, this will happen whenever the user changes files. In production
@@ -114,7 +113,7 @@ module ActiveAdmin
114
113
  private
115
114
 
116
115
  def wrap_block_for_active_support_notifications block
117
- proc { |event, *args| block.call *args }
116
+ proc { |_name, _start, _finish, _id, payload| block.call payload[:active_admin_application] }
118
117
  end
119
118
 
120
119
  end
@@ -122,13 +121,13 @@ module ActiveAdmin
122
121
  end
123
122
 
124
123
  # Require things that don't support autoload
125
- require 'active_admin/engine'
126
- require 'active_admin/error'
124
+ require "active_admin/engine"
125
+ require "active_admin/error"
127
126
 
128
127
  # Require internal plugins
129
- require 'active_admin/batch_actions'
130
- require 'active_admin/filters'
128
+ require "active_admin/batch_actions"
129
+ require "active_admin/filters"
131
130
 
132
131
  # Require ORM-specific plugins
133
- require 'active_admin/orm/active_record' if defined? ActiveRecord
134
- require 'active_admin/orm/mongoid' if defined? Mongoid
132
+ require "active_admin/orm/active_record" if defined? ActiveRecord
133
+ require "active_admin/orm/mongoid" if defined? Mongoid
data/lib/activeadmin.rb CHANGED
@@ -1 +1,2 @@
1
- require 'active_admin'
1
+ # frozen_string_literal: true
2
+ require "active_admin"
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class AssetsGenerator < Rails::Generators::Base
4
5
 
5
- source_root File.expand_path('templates', __dir__)
6
+ source_root File.expand_path("templates", __dir__)
6
7
 
7
8
  def install_assets
8
- template 'active_admin.js', 'app/assets/javascripts/active_admin.js'
9
+ template "active_admin.js", "app/assets/javascripts/active_admin.js"
9
10
  template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
10
11
  end
11
12
 
@@ -1,4 +1,4 @@
1
- // SASS variable overrides must be declared before loading up Active Admin's styles.
1
+ // Sass variable overrides must be declared before loading up Active Admin's styles.
2
2
  //
3
3
  // To view the variables that Active Admin provides, take a look at
4
4
  // `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
@@ -11,7 +11,7 @@
11
11
  @import "active_admin/mixins";
12
12
  @import "active_admin/base";
13
13
 
14
- // Overriding any non-variable SASS must be done after the fact.
14
+ // Overriding any non-variable Sass must be done after the fact.
15
15
  // For example, to change the default status-tag color:
16
16
  //
17
17
  // .status_tag { background: #6090DB; }
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/error"
2
3
  require "active_admin/dependency"
3
4
 
@@ -7,13 +8,13 @@ module ActiveAdmin
7
8
  desc "Creates an admin user and uses Devise for authentication"
8
9
  argument :name, type: :string, default: "AdminUser"
9
10
 
10
- class_option :registerable, type: :boolean, default: false,
11
- desc: "Should the generated resource be registerable?"
11
+ class_option :registerable, type: :boolean, default: false,
12
+ desc: "Should the generated resource be registerable?"
12
13
 
13
14
  RESERVED_NAMES = [:active_admin_user]
14
15
 
15
- class_option :default_user, type: :boolean, default: true,
16
- desc: "Should a default user be created inside the migration?"
16
+ class_option :default_user, type: :boolean, default: true,
17
+ desc: "Should a default user be created inside the migration?"
17
18
 
18
19
  def install_devise
19
20
  begin
@@ -22,7 +23,7 @@ module ActiveAdmin
22
23
  raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
23
24
  end
24
25
 
25
- require 'devise'
26
+ require "devise"
26
27
 
27
28
  initializer_file =
28
29
  File.join(destination_root, "config", "initializers", "devise.rb")
@@ -1,4 +1,5 @@
1
- require 'rails/generators/active_record'
1
+ # frozen_string_literal: true
2
+ require "rails/generators/active_record"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Generators
@@ -8,22 +9,24 @@ module ActiveAdmin
8
9
 
9
10
  hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
10
11
  class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
12
+ class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
11
13
 
12
- source_root File.expand_path('templates', __dir__)
14
+ source_root File.expand_path("templates", __dir__)
13
15
 
14
16
  def copy_initializer
15
- @underscored_user_name = name.underscore.gsub('/', '_')
17
+ @underscored_user_name = name.underscore.gsub("/", "_")
16
18
  @use_authentication_method = options[:users].present?
17
19
  @skip_comments = options[:skip_comments]
18
- template 'active_admin.rb.erb', 'config/initializers/active_admin.rb'
20
+ @use_webpacker = options[:use_webpacker]
21
+ template "active_admin.rb.erb", "config/initializers/active_admin.rb"
19
22
  end
20
23
 
21
24
  def setup_directory
22
25
  empty_directory "app/admin"
23
- template 'dashboard.rb', 'app/admin/dashboard.rb'
26
+ template "dashboard.rb", "app/admin/dashboard.rb"
24
27
  if options[:users].present?
25
28
  @user_class = name
26
- template 'admin_users.rb.erb', "app/admin/#{name.underscore.pluralize}.rb"
29
+ template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
27
30
  end
28
31
  end
29
32
 
@@ -36,12 +39,16 @@ module ActiveAdmin
36
39
  end
37
40
 
38
41
  def create_assets
39
- generate "active_admin:assets"
42
+ if options[:use_webpacker]
43
+ generate "active_admin:webpacker"
44
+ else
45
+ generate "active_admin:assets"
46
+ end
40
47
  end
41
48
 
42
49
  def create_migrations
43
50
  unless options[:skip_comments]
44
- migration_template 'migrations/create_active_admin_comments.rb.erb', 'db/migrate/create_active_admin_comments.rb'
51
+ migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
45
52
  end
46
53
  end
47
54
  end
@@ -294,7 +294,7 @@ ActiveAdmin.setup do |config|
294
294
  # config.include_default_association_filters = true
295
295
 
296
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, [
297
+ # config.filter_columns_for_large_association = [
298
298
  # :display_name,
299
299
  # :full_name,
300
300
  # :name,
@@ -303,7 +303,7 @@ ActiveAdmin.setup do |config|
303
303
  # :title,
304
304
  # :email,
305
305
  # ]
306
- # config.filter_method_for_large_association, '_starts_with'
306
+ # config.filter_method_for_large_association = '_starts_with'
307
307
 
308
308
  # == Head
309
309
  #
@@ -325,4 +325,11 @@ ActiveAdmin.setup do |config|
325
325
  # You can inherit it with own class and inject it for all resources
326
326
  #
327
327
  # config.order_clause = MyOrderClause
328
+
329
+ # == Webpacker
330
+ #
331
+ # By default, Active Admin uses Sprocket's asset pipeline.
332
+ # You can switch to using Webpacker here.
333
+ #
334
+ <% unless @use_webpacker %># <% end %>config.use_webpacker = true
328
335
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin.register_page "Dashboard" do
2
3
  menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
3
4
 
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class PageGenerator < Rails::Generators::NamedBase
4
- source_root File.expand_path('templates', __dir__)
5
+ source_root File.expand_path("templates", __dir__)
5
6
 
6
7
  def generate_config_file
7
8
  template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin.register_page "<%= class_name %>" do
2
3
  content do
3
4
  # your content
@@ -1,4 +1,5 @@
1
- require 'active_admin/generators/boilerplate'
1
+ # frozen_string_literal: true
2
+ require "active_admin/generators/boilerplate"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Generators
@@ -6,9 +7,9 @@ module ActiveAdmin
6
7
  desc "Registers resources with Active Admin"
7
8
 
8
9
  class_option :include_boilerplate, type: :boolean, default: false,
9
- desc: "Generate boilerplate code for your resource."
10
+ desc: "Generate boilerplate code for your resource."
10
11
 
11
- source_root File.expand_path('templates', __dir__)
12
+ source_root File.expand_path("templates", __dir__)
12
13
 
13
14
  def generate_config_file
14
15
  @boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
@@ -0,0 +1,7 @@
1
+ const webpack = require('webpack')
2
+
3
+ module.exports = new webpack.ProvidePlugin({
4
+ "$":"jquery",
5
+ "jQuery":"jquery",
6
+ "window.jQuery":"jquery"
7
+ });
@@ -0,0 +1,5 @@
1
+ // Load Active Admin's styles into Webpacker,
2
+ // see `active_admin.scss` for customization.
3
+ import "../stylesheets/active_admin";
4
+
5
+ import "@activeadmin/activeadmin";
@@ -0,0 +1,17 @@
1
+ // Sass variable overrides must be declared before loading up Active Admin's styles.
2
+ //
3
+ // To view the variables that Active Admin provides, take a look at
4
+ // `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
5
+ // Active Admin source.
6
+ //
7
+ // For example, to change the sidebar width:
8
+ // $sidebar-width: 242px;
9
+
10
+ // Active Admin's got SASS!
11
+ @import "~@activeadmin/activeadmin/src/scss/mixins";
12
+ @import "~@activeadmin/activeadmin/src/scss/base";
13
+
14
+ // Overriding any non-variable Sass must be done after the fact.
15
+ // For example, to change the default status-tag color:
16
+ //
17
+ // .status_tag { background: #6090DB; }
@@ -0,0 +1,2 @@
1
+ /* Active Admin Print Stylesheet */
2
+ @import "~@activeadmin/activeadmin/src/scss/print";
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Generators
4
+ class WebpackerGenerator < Rails::Generators::Base
5
+
6
+ source_root File.expand_path("templates", __dir__)
7
+
8
+ def install_assets
9
+ template "active_admin.js", "app/javascript/packs/active_admin.js"
10
+ template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
11
+ template "print.scss", "app/javascript/packs/active_admin/print.scss"
12
+
13
+ copy_file "#{__dir__}/plugins/jquery.js", Rails.root.join("config/webpack/plugins/jquery.js").to_s
14
+
15
+ insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
16
+ "const jquery = require('./plugins/jquery')\n",
17
+ after: /require\(('|")@rails\/webpacker\1\);?\n/
18
+
19
+ insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
20
+ "environment.plugins.prepend('jquery', jquery)\n",
21
+ before: "module.exports"
22
+
23
+ run "yarn add @activeadmin/activeadmin"
24
+ end
25
+ end
26
+ end
27
+ end
data/lib/ransack_ext.rb CHANGED
@@ -1,20 +1,21 @@
1
+ # frozen_string_literal: true
1
2
  # This sets up aliases for old Metasearch query methods so they behave
2
3
  # identically to the versions given in Ransack.
3
4
  #
4
5
  Ransack.configure do |config|
5
- { 'contains' => 'cont', 'starts_with' => 'start', 'ends_with' => 'end' }.each do |old, current|
6
+ { "contains" => "cont", "starts_with" => "start", "ends_with" => "end" }.each do |old, current|
6
7
  config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
7
8
  end
8
9
 
9
- { 'equals' => 'eq', 'greater_than' => 'gt', 'less_than' => 'lt' }.each do |old, current|
10
+ { "equals" => "eq", "greater_than" => "gt", "less_than" => "lt" }.each do |old, current|
10
11
  config.add_predicate old, arel_predicate: current
11
12
  end
12
13
 
13
- config.add_predicate 'gteq_datetime',
14
- arel_predicate: 'gteq',
15
- formatter: ->(v) { v.beginning_of_day }
14
+ config.add_predicate "gteq_datetime",
15
+ arel_predicate: "gteq",
16
+ formatter: ->(v) { v.beginning_of_day }
16
17
 
17
- config.add_predicate 'lteq_datetime',
18
- arel_predicate: 'lt',
19
- formatter: ->(v) { v + 1.day }
18
+ config.add_predicate "lteq_datetime",
19
+ arel_predicate: "lt",
20
+ formatter: ->(v) { v + 1.day }
20
21
  end