activeadmin 1.4.3 → 3.0.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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +609 -26
  3. data/CONTRIBUTING.md +54 -76
  4. data/README.md +46 -13
  5. data/app/assets/javascripts/active_admin/base.js +521 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  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/_status_tags.scss +0 -5
  16. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  17. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  18. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  19. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  21. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  22. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  24. data/app/javascript/active_admin/base.js +28 -0
  25. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  26. data/app/javascript/active_admin/ext/jquery.js +9 -0
  27. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  28. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  29. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  30. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  31. data/app/javascript/active_admin/initializers/filters.js +10 -0
  32. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  33. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  34. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  35. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  36. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  37. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  38. data/app/javascript/active_admin/lib/filters.js +39 -0
  39. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  40. data/app/javascript/active_admin/lib/per-page.js +38 -0
  41. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  42. data/app/javascript/active_admin/lib/utils.js +40 -0
  43. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  44. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  45. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  46. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  47. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  48. data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
  49. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  50. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  51. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  52. data/app/views/active_admin/page/index.html.arb +1 -0
  53. data/app/views/active_admin/resource/edit.html.arb +1 -0
  54. data/app/views/active_admin/resource/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/new.html.arb +1 -0
  56. data/app/views/active_admin/resource/show.html.arb +1 -0
  57. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  58. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  59. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  61. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  62. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  63. data/app/views/layouts/active_admin.html.arb +1 -0
  64. data/app/views/layouts/active_admin_logged_out.html.erb +19 -8
  65. data/config/locales/ar.yml +9 -15
  66. data/config/locales/az.yml +131 -0
  67. data/config/locales/bg.yml +1 -8
  68. data/config/locales/bs.yml +1 -7
  69. data/config/locales/ca.yml +1 -8
  70. data/config/locales/cs.yml +1 -7
  71. data/config/locales/da.yml +1 -7
  72. data/config/locales/de-CH.yml +1 -7
  73. data/config/locales/de.yml +19 -8
  74. data/config/locales/el.yml +1 -7
  75. data/config/locales/en-CA.yml +4 -10
  76. data/config/locales/en-GB.yml +4 -10
  77. data/config/locales/en.yml +4 -11
  78. data/config/locales/eo.yml +1 -8
  79. data/config/locales/es-MX.yml +3 -8
  80. data/config/locales/es.yml +6 -13
  81. data/config/locales/fa.yml +1 -7
  82. data/config/locales/fi.yml +1 -7
  83. data/config/locales/fr.yml +9 -16
  84. data/config/locales/he.yml +1 -10
  85. data/config/locales/hr.yml +1 -7
  86. data/config/locales/hu.yml +3 -6
  87. data/config/locales/id.yml +1 -7
  88. data/config/locales/it.yml +19 -8
  89. data/config/locales/ja.yml +3 -10
  90. data/config/locales/ko.yml +2 -8
  91. data/config/locales/lt.yml +3 -10
  92. data/config/locales/lv.yml +3 -9
  93. data/config/locales/mk.yml +126 -0
  94. data/config/locales/nb.yml +1 -8
  95. data/config/locales/nl.yml +2 -9
  96. data/config/locales/pl.yml +1 -8
  97. data/config/locales/pt-BR.yml +1 -8
  98. data/config/locales/pt-PT.yml +1 -7
  99. data/config/locales/ro.yml +4 -9
  100. data/config/locales/ru.yml +1 -6
  101. data/config/locales/sk.yml +58 -6
  102. data/config/locales/sv-SE.yml +59 -39
  103. data/config/locales/tr.yml +1 -11
  104. data/config/locales/uk.yml +3 -6
  105. data/config/locales/vi.yml +40 -19
  106. data/config/locales/zh-CN.yml +35 -23
  107. data/config/locales/zh-TW.yml +1 -7
  108. data/lib/active_admin/abstract_view_factory.rb +1 -0
  109. data/lib/active_admin/application.rb +26 -33
  110. data/lib/active_admin/application_settings.rb +7 -3
  111. data/lib/active_admin/asset_registration.rb +4 -11
  112. data/lib/active_admin/authorization_adapter.rb +6 -3
  113. data/lib/active_admin/base_controller/authorization.rb +17 -16
  114. data/lib/active_admin/base_controller/menu.rb +1 -0
  115. data/lib/active_admin/base_controller.rb +12 -11
  116. data/lib/active_admin/batch_actions/controller.rb +5 -4
  117. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  118. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  119. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  120. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  121. data/lib/active_admin/batch_actions.rb +1 -0
  122. data/lib/active_admin/callbacks.rb +2 -1
  123. data/lib/active_admin/cancan_adapter.rb +2 -1
  124. data/lib/active_admin/collection_decorator.rb +32 -0
  125. data/lib/active_admin/component.rb +1 -0
  126. data/lib/active_admin/controller_action.rb +3 -1
  127. data/lib/active_admin/csv_builder.rb +15 -23
  128. data/lib/active_admin/dependency.rb +12 -87
  129. data/lib/active_admin/deprecation.rb +1 -0
  130. data/lib/active_admin/devise.rb +16 -5
  131. data/lib/active_admin/dsl.rb +3 -9
  132. data/lib/active_admin/dynamic_setting.rb +1 -0
  133. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  134. data/lib/active_admin/engine.rb +13 -9
  135. data/lib/active_admin/error.rb +5 -4
  136. data/lib/active_admin/filters/active.rb +2 -1
  137. data/lib/active_admin/filters/active_filter.rb +11 -10
  138. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  139. data/lib/active_admin/filters/dsl.rb +1 -0
  140. data/lib/active_admin/filters/forms.rb +9 -8
  141. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  142. data/lib/active_admin/filters/resource_extension.rb +33 -8
  143. data/lib/active_admin/filters.rb +8 -7
  144. data/lib/active_admin/form_builder.rb +27 -22
  145. data/lib/active_admin/generators/boilerplate.rb +13 -4
  146. data/lib/active_admin/helpers/collection.rb +2 -0
  147. data/lib/active_admin/helpers/i18n.rb +1 -0
  148. data/lib/active_admin/helpers/optional_display.rb +3 -2
  149. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  150. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  151. data/lib/active_admin/inputs/datepicker_input.rb +3 -2
  152. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -8
  153. data/lib/active_admin/inputs/filters/base.rb +2 -1
  154. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  155. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  156. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  157. data/lib/active_admin/inputs/filters/date_range_input.rb +18 -14
  158. data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
  159. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  160. data/lib/active_admin/inputs/filters/string_input.rb +2 -1
  161. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  162. data/lib/active_admin/inputs.rb +1 -0
  163. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  164. data/lib/active_admin/localizers.rb +2 -1
  165. data/lib/active_admin/menu.rb +7 -3
  166. data/lib/active_admin/menu_collection.rb +1 -0
  167. data/lib/active_admin/menu_item.rb +8 -7
  168. data/lib/active_admin/namespace.rb +15 -14
  169. data/lib/active_admin/namespace_settings.rb +28 -8
  170. data/lib/active_admin/order_clause.rb +3 -2
  171. data/lib/active_admin/orm/active_record/comments/comment.rb +13 -4
  172. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  173. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  174. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  175. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
  176. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  177. data/lib/active_admin/orm/active_record/comments.rb +30 -29
  178. data/lib/active_admin/orm/active_record.rb +2 -1
  179. data/lib/active_admin/orm/mongoid.rb +1 -0
  180. data/lib/active_admin/page.rb +2 -1
  181. data/lib/active_admin/page_controller.rb +1 -0
  182. data/lib/active_admin/page_dsl.rb +2 -1
  183. data/lib/active_admin/page_presenter.rb +3 -1
  184. data/lib/active_admin/pundit_adapter.rb +71 -16
  185. data/lib/active_admin/resource/action_items.rb +6 -5
  186. data/lib/active_admin/resource/attributes.rb +9 -5
  187. data/lib/active_admin/resource/belongs_to.rb +9 -3
  188. data/lib/active_admin/resource/controllers.rb +2 -1
  189. data/lib/active_admin/resource/includes.rb +1 -0
  190. data/lib/active_admin/resource/menu.rb +6 -5
  191. data/lib/active_admin/resource/model.rb +16 -0
  192. data/lib/active_admin/resource/naming.rb +6 -5
  193. data/lib/active_admin/resource/ordering.rb +1 -0
  194. data/lib/active_admin/resource/page_presenters.rb +1 -0
  195. data/lib/active_admin/resource/pagination.rb +1 -0
  196. data/lib/active_admin/resource/routes.rb +26 -14
  197. data/lib/active_admin/resource/scope_to.rb +8 -7
  198. data/lib/active_admin/resource/scopes.rb +4 -3
  199. data/lib/active_admin/resource/sidebars.rb +3 -2
  200. data/lib/active_admin/resource.rb +37 -22
  201. data/lib/active_admin/resource_collection.rb +3 -2
  202. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  203. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  204. data/lib/active_admin/resource_controller/decorators.rb +8 -29
  205. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  206. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  207. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  208. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  209. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  210. data/lib/active_admin/resource_controller.rb +14 -10
  211. data/lib/active_admin/resource_dsl.rb +16 -28
  212. data/lib/active_admin/router.rb +4 -2
  213. data/lib/active_admin/scope.rb +16 -11
  214. data/lib/active_admin/settings_node.rb +2 -1
  215. data/lib/active_admin/sidebar_section.rb +4 -1
  216. data/lib/active_admin/version.rb +2 -1
  217. data/lib/active_admin/view_factory.rb +18 -17
  218. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  219. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  220. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  221. data/lib/active_admin/view_helpers/display_helper.rb +32 -8
  222. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  223. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  224. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  225. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  226. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  227. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  228. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  229. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  230. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  231. data/lib/active_admin/view_helpers.rb +2 -1
  232. data/lib/active_admin/views/action_items.rb +1 -0
  233. data/lib/active_admin/views/components/active_admin_form.rb +14 -11
  234. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  235. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  236. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  237. data/lib/active_admin/views/components/columns.rb +1 -0
  238. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  239. data/lib/active_admin/views/components/index_list.rb +4 -3
  240. data/lib/active_admin/views/components/menu.rb +2 -1
  241. data/lib/active_admin/views/components/menu_item.rb +5 -4
  242. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  243. data/lib/active_admin/views/components/panel.rb +2 -1
  244. data/lib/active_admin/views/components/scopes.rb +8 -5
  245. data/lib/active_admin/views/components/sidebar.rb +1 -0
  246. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  247. data/lib/active_admin/views/components/site_title.rb +2 -1
  248. data/lib/active_admin/views/components/status_tag.rb +14 -26
  249. data/lib/active_admin/views/components/table_for.rb +21 -19
  250. data/lib/active_admin/views/components/tabs.rb +14 -4
  251. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  252. data/lib/active_admin/views/footer.rb +4 -2
  253. data/lib/active_admin/views/header.rb +3 -2
  254. data/lib/active_admin/views/index_as_block.rb +1 -0
  255. data/lib/active_admin/views/index_as_blog.rb +2 -1
  256. data/lib/active_admin/views/index_as_grid.rb +2 -1
  257. data/lib/active_admin/views/index_as_table.rb +27 -22
  258. data/lib/active_admin/views/pages/base.rb +25 -14
  259. data/lib/active_admin/views/pages/form.rb +1 -0
  260. data/lib/active_admin/views/pages/index.rb +16 -13
  261. data/lib/active_admin/views/pages/layout.rb +1 -0
  262. data/lib/active_admin/views/pages/page.rb +1 -0
  263. data/lib/active_admin/views/pages/show.rb +2 -7
  264. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  265. data/lib/active_admin/views/title_bar.rb +2 -1
  266. data/lib/active_admin/views.rb +2 -1
  267. data/lib/active_admin.rb +67 -63
  268. data/lib/activeadmin.rb +2 -1
  269. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  270. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  271. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  272. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  273. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  274. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +62 -3
  275. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  276. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  277. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  278. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  279. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  280. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  281. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  282. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  283. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  284. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  285. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  286. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  287. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  288. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  290. metadata +115 -173
  291. data/.circleci/config.yml +0 -572
  292. data/.github/ISSUE_TEMPLATE.md +0 -20
  293. data/.gitignore +0 -16
  294. data/.mdlrc +0 -1
  295. data/.rspec +0 -1
  296. data/.rspec_parallel +0 -2
  297. data/.rubocop.yml +0 -99
  298. data/.simplecov +0 -9
  299. data/.yardopts +0 -7
  300. data/Gemfile +0 -30
  301. data/Gemfile.common +0 -26
  302. data/Gemfile.lock +0 -433
  303. data/Rakefile +0 -24
  304. data/activeadmin.gemspec +0 -32
  305. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  306. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  307. data/app/assets/images/active_admin/orderable.png +0 -0
  308. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  309. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  310. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  311. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  312. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  313. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  314. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  315. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  316. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  317. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  318. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  319. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  320. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  321. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  322. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  323. data/bin/install_chromedriver.sh +0 -17
  324. data/config/i18n-tasks.yml +0 -26
  325. data/config/mdl_style.rb +0 -11
  326. data/cucumber.yml +0 -7
  327. data/docs/.gitignore +0 -1
  328. data/docs/0-installation.md +0 -118
  329. data/docs/1-general-configuration.md +0 -204
  330. data/docs/10-custom-pages.md +0 -150
  331. data/docs/11-decorators.md +0 -59
  332. data/docs/12-arbre-components.md +0 -201
  333. data/docs/13-authorization-adapter.md +0 -285
  334. data/docs/14-gotchas.md +0 -138
  335. data/docs/2-resource-customization.md +0 -466
  336. data/docs/3-index-pages/custom-index.md +0 -35
  337. data/docs/3-index-pages/index-as-block.md +0 -19
  338. data/docs/3-index-pages/index-as-blog.md +0 -69
  339. data/docs/3-index-pages/index-as-grid.md +0 -27
  340. data/docs/3-index-pages/index-as-table.md +0 -227
  341. data/docs/3-index-pages.md +0 -328
  342. data/docs/4-csv-format.md +0 -74
  343. data/docs/5-forms.md +0 -232
  344. data/docs/6-show-pages.md +0 -81
  345. data/docs/7-sidebars.md +0 -75
  346. data/docs/8-custom-actions.md +0 -177
  347. data/docs/9-batch-actions.md +0 -237
  348. data/docs/CNAME +0 -1
  349. data/docs/Gemfile +0 -4
  350. data/docs/Gemfile.lock +0 -249
  351. data/docs/README.md +0 -24
  352. data/docs/_config.yml +0 -2
  353. data/docs/_includes/footer.html +0 -8
  354. data/docs/_includes/google-analytics.html +0 -16
  355. data/docs/_includes/head.html +0 -7
  356. data/docs/_includes/toc.html +0 -98
  357. data/docs/_includes/top-menu.html +0 -17
  358. data/docs/_layouts/default.html +0 -21
  359. data/docs/documentation.md +0 -60
  360. data/docs/images/activeadmin.png +0 -0
  361. data/docs/images/code-header.png +0 -0
  362. data/docs/images/divider.png +0 -0
  363. data/docs/images/features.png +0 -0
  364. data/docs/images/tidelift.svg +0 -14
  365. data/docs/index.html +0 -125
  366. data/docs/stylesheets/main.css +0 -1176
  367. data/gemfiles/rails_42.gemfile +0 -10
  368. data/gemfiles/rails_42.gemfile.lock +0 -339
  369. data/gemfiles/rails_50.gemfile +0 -10
  370. data/gemfiles/rails_50.gemfile.lock +0 -353
  371. data/gemfiles/rails_51.gemfile +0 -10
  372. data/gemfiles/rails_51.gemfile.lock +0 -353
  373. data/lib/active_admin/event.rb +0 -24
  374. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  375. data/lib/active_admin/reloader.rb +0 -25
  376. data/lib/bug_report_templates/active_admin_master.rb +0 -111
  377. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  378. data/lib/ransack_ext.rb +0 -20
  379. data/tasks/application_generator.rb +0 -50
  380. data/tasks/docs.rake +0 -64
  381. data/tasks/gemfiles.rake +0 -8
  382. data/tasks/lint.rake +0 -110
  383. data/tasks/local.rake +0 -27
  384. data/tasks/release.rake +0 -6
  385. data/tasks/test.rake +0 -42
@@ -1,4 +1,20 @@
1
1
  "zh-CN":
2
+ activerecord:
3
+ models:
4
+ comment:
5
+ one: "评论"
6
+ other: "评论"
7
+ active_admin/comment:
8
+ one: "评论"
9
+ other: "评论"
10
+ attributes:
11
+ active_admin/comment:
12
+ author_type: "作者类型"
13
+ body: "内容"
14
+ created_at: "创建"
15
+ namespace: "Namespace"
16
+ resource_type: "Resource 类型"
17
+ updated_at: "更新"
2
18
  active_admin:
3
19
  dashboard: "控制面板"
4
20
  dashboard_welcome:
@@ -8,8 +24,8 @@
8
24
  edit: "编辑"
9
25
  delete: "删除"
10
26
  delete_confirmation: "确定删除?"
11
- create_another: "新建另一个%{model}"
12
- new_model: "新建%{model}"
27
+ create_another: "新增另一个%{model}"
28
+ new_model: "新增%{model}"
13
29
  edit_model: "编辑%{model}"
14
30
  delete_model: "删除%{model}"
15
31
  details: "%{model}详情"
@@ -17,36 +33,32 @@
17
33
  empty: "未定义"
18
34
  previous: "上一个"
19
35
  next: "下一个"
20
- download: "下载:"
21
- has_many_new: "新建一个%{model}"
36
+ download: "下载:"
37
+ has_many_new: "新增一个%{model}"
22
38
  has_many_delete: "删除"
23
39
  has_many_remove: "清除"
40
+ move: "移动"
24
41
  filters:
25
42
  buttons:
26
43
  filter: "过滤"
27
44
  clear: "清除条件"
28
45
  predicates:
29
- contains: "包含"
30
- equals: "等于"
31
- starts_with: "开头"
32
- ends_with: "完与"
33
- greater_than: "大于"
34
- less_than: "小于"
35
- gteq_datetime: "大于等于"
36
- lteq_datetime: "小于等于"
37
46
  from: "起"
38
47
  to: "止"
48
+ scopes:
49
+ all: "所有"
39
50
  search_status:
40
51
  headline: "搜索条件:"
41
- current_scope: "搜索范围:"
52
+ current_scope: "范围:"
42
53
  current_filters: "过滤条件:"
43
54
  no_current_filters: "无"
44
55
  status_tag:
45
56
  "yes": "是"
46
57
  "no": "否"
47
- main_content: "请执行 %{model}#main_content 来显示内容."
58
+ "unset": ""
59
+ main_content: "请执行 %{model}#main_content 来显示内容。"
48
60
  logout: "退出"
49
- powered_by: "Powered by %{active_admin} %{version}"
61
+ powered_by: "构建程序为 %{active_admin} %{version}"
50
62
  sidebars:
51
63
  filters: "所有条件"
52
64
  search_status: "搜索条件"
@@ -62,14 +74,14 @@
62
74
  other: "条目"
63
75
  any: "任何"
64
76
  blank_slate:
65
- content: "暂时还没有%{resource_name}."
66
- link: "新建一个"
77
+ content: "暂时还没有%{resource_name}"
78
+ link: "新增一个"
67
79
  dropdown_actions:
68
- button_label: "行动"
80
+ button_label: "操作"
69
81
  batch_actions:
70
82
  button_label: "批处理"
71
- default_confirmation: "你确定你要这样做?"
72
- delete_confirmation: "你确定要删除这些%{plural_model}?"
83
+ default_confirmation: "你确定要这样做?"
84
+ delete_confirmation: "你确定要删除这些%{plural_model}"
73
85
  succesfully_destroyed:
74
86
  one: "成功删除 1 %{model}"
75
87
  other: "成功删除 %{count} %{plural_model}"
@@ -91,7 +103,7 @@
91
103
  author_missing: "匿名"
92
104
  title_content: "(%{count})条评论"
93
105
  errors:
94
- empty_text: "评论保存失败,内空不能为空."
106
+ empty_text: "评论保存失败,内空不能为空。"
95
107
  devise:
96
108
  username:
97
109
  title: "用户名"
@@ -120,8 +132,8 @@
120
132
  title: "重新发送送解锁命令"
121
133
  submit: "重新发送送解锁命令"
122
134
  resend_confirmation_instructions:
123
- title: " 重新发送确认指示"
124
- submit: " 重新发送确认指示"
135
+ title: " 重新发送确认说明"
136
+ submit: " 重新发送确认说明"
125
137
  links:
126
138
  sign_up: "注册"
127
139
  sign_in: "登录"
@@ -24,13 +24,6 @@
24
24
  buttons:
25
25
  filter: "篩選"
26
26
  clear: "清除篩選條件"
27
- predicates:
28
- contains: "包含"
29
- equals: "等於"
30
- starts_with: "開頭為"
31
- ends_with: "結尾為"
32
- greater_than: "大於"
33
- less_than: "小於"
34
27
  search_status:
35
28
  headline: "搜尋條件:"
36
29
  current_scope: "子集:"
@@ -39,6 +32,7 @@
39
32
  status_tag:
40
33
  "yes": "是"
41
34
  "no": "否"
35
+ "unset": "否"
42
36
  main_content: "請實作 %{model}#main_content 以顯示內容。"
43
37
  logout: "登出"
44
38
  powered_by: "Powered by %{active_admin} %{version}"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class AbstractViewFactory < SettingsNode
3
4
 
@@ -1,7 +1,7 @@
1
- require 'active_admin/router'
2
- require 'active_admin/reloader'
3
- require 'active_admin/application_settings'
4
- require 'active_admin/namespace_settings'
1
+ # frozen_string_literal: true
2
+ require "active_admin/router"
3
+ require "active_admin/application_settings"
4
+ require "active_admin/namespace_settings"
5
5
 
6
6
  module ActiveAdmin
7
7
  class Application
@@ -43,17 +43,11 @@ module ActiveAdmin
43
43
  @namespaces = Namespace::Store.new
44
44
  end
45
45
 
46
- # == Deprecated Settings
47
-
48
- def allow_comments=(*)
49
- raise "`config.allow_comments` is no longer provided in ActiveAdmin 1.x. Use `config.comments` instead."
50
- end
51
-
52
46
  include AssetRegistration
53
47
 
54
48
  # Event that gets triggered on load of Active Admin
55
- BeforeLoadEvent = 'active_admin.application.before_load'.freeze
56
- AfterLoadEvent = 'active_admin.application.after_load'.freeze
49
+ BeforeLoadEvent = "active_admin.application.before_load".freeze
50
+ AfterLoadEvent = "active_admin.application.after_load".freeze
57
51
 
58
52
  # Runs before the app's AA initializer
59
53
  def setup!
@@ -68,7 +62,7 @@ module ActiveAdmin
68
62
 
69
63
  # Registers a brand new configuration for the given resource.
70
64
  def register(resource, options = {}, &block)
71
- ns = options.fetch(:namespace){ default_namespace }
65
+ ns = options.fetch(:namespace) { default_namespace }
72
66
  namespace(ns).register resource, options, &block
73
67
  end
74
68
 
@@ -80,9 +74,9 @@ module ActiveAdmin
80
74
  def namespace(name)
81
75
  name ||= :root
82
76
 
83
- namespace = namespaces[name] ||= begin
77
+ namespace = namespaces[name.to_sym] ||= begin
84
78
  namespace = Namespace.new(self, name)
85
- ActiveSupport::Notifications.publish ActiveAdmin::Namespace::RegisterEvent, namespace
79
+ ActiveSupport::Notifications.instrument ActiveAdmin::Namespace::RegisterEvent, { active_admin_namespace: namespace }
86
80
  namespace
87
81
  end
88
82
 
@@ -98,7 +92,7 @@ module ActiveAdmin
98
92
  # @&block The registration block.
99
93
  #
100
94
  def register_page(name, options = {}, &block)
101
- ns = options.fetch(:namespace){ default_namespace }
95
+ ns = options.fetch(:namespace) { default_namespace }
102
96
  namespace(ns).register_page name, options, &block
103
97
  end
104
98
 
@@ -118,21 +112,21 @@ module ActiveAdmin
118
112
  # To reload everything simply call `ActiveAdmin.unload!`
119
113
  def load!
120
114
  unless loaded?
121
- ActiveSupport::Notifications.publish BeforeLoadEvent, self # before_load hook
122
- files.each{ |file| load file } # load files
123
- namespace(default_namespace) # init AA resources
124
- ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
115
+ ActiveSupport::Notifications.instrument BeforeLoadEvent, { active_admin_application: self } # before_load hook
116
+ files.each { |file| load file } # load files
117
+ namespace(default_namespace) # init AA resources
118
+ ActiveSupport::Notifications.instrument AfterLoadEvent, { active_admin_application: self } # after_load hook
125
119
  @@loaded = true
126
120
  end
127
121
  end
128
122
 
129
123
  def load(file)
130
- DatabaseHitDuringLoad.capture{ super }
124
+ DatabaseHitDuringLoad.capture { super }
131
125
  end
132
126
 
133
127
  # Returns ALL the files to be loaded
134
128
  def files
135
- load_paths.flatten.compact.uniq.flat_map{ |path| Dir["#{path}/**/*.rb"] }
129
+ load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"].sort }
136
130
  end
137
131
 
138
132
  # Creates all the necessary routes for the ActiveAdmin configurations
@@ -151,13 +145,13 @@ module ActiveAdmin
151
145
 
152
146
  # Adds before, around and after filters to all controllers.
153
147
  # Example usage:
154
- # ActiveAdmin.before_filter :authenticate_admin!
148
+ # ActiveAdmin.before_action :authenticate_admin!
155
149
  #
156
150
  AbstractController::Callbacks::ClassMethods.public_instance_methods.
157
- select { |m| m.match(/(filter|action)/) }.each do |name|
151
+ select { |m| m.match(/_action\z/) }.each do |name|
158
152
  define_method name do |*args, &block|
159
- controllers_for_filters.each do |controller|
160
- controller.public_send name, *args, &block
153
+ ActiveSupport.on_load(:active_admin_controller) do
154
+ public_send name, *args, &block
161
155
  end
162
156
  end
163
157
  end
@@ -171,9 +165,8 @@ module ActiveAdmin
171
165
  private
172
166
 
173
167
  def register_default_assets
174
- stylesheets['active_admin.css'] = { media: 'screen' }
175
- stylesheets['active_admin/print.css'] = { media: 'print' }
176
- javascripts.add 'active_admin.js'
168
+ register_stylesheet "active_admin.css", media: "all"
169
+ register_javascript "active_admin.js"
177
170
  end
178
171
 
179
172
  # Since app/admin is alphabetically before app/models, we have to remove it
@@ -183,7 +176,7 @@ module ActiveAdmin
183
176
  # files from being loaded twice in production.
184
177
  def remove_active_admin_load_paths_from_rails_autoload_and_eager_load
185
178
  ActiveSupport::Dependencies.autoload_paths -= load_paths
186
- Rails.application.config.eager_load_paths -= load_paths
179
+ Rails.application.config.eager_load_paths -= load_paths
187
180
  end
188
181
 
189
182
  # Hook into the Rails code reloading mechanism so that things are reloaded
@@ -200,11 +193,11 @@ module ActiveAdmin
200
193
  # Rails is about to unload all the app files (e.g. models), so we
201
194
  # should first unload the classes generated by Active Admin, otherwise
202
195
  # they will contain references to the stale (unloaded) classes.
203
- Reloader.to_prepare(prepend: true, &unload_active_admin)
196
+ ActiveSupport::Reloader.to_prepare(prepend: true, &unload_active_admin)
204
197
  else
205
198
  # If the user has configured the app to always reload app files after
206
199
  # each request, so we should unload the generated classes too.
207
- Reloader.to_complete(&unload_active_admin)
200
+ ActiveSupport::Reloader.to_complete(&unload_active_admin)
208
201
  end
209
202
 
210
203
  admin_dirs = {}
@@ -219,7 +212,7 @@ module ActiveAdmin
219
212
 
220
213
  app.reloaders << routes_reloader
221
214
 
222
- Reloader.to_prepare do
215
+ ActiveSupport::Reloader.to_prepare do
223
216
  # Rails might have reloaded the routes for other reasons (e.g.
224
217
  # routes.rb has changed), in which case Active Admin would have been
225
218
  # loaded via the `ActiveAdmin.routes` call in `routes.rb`.
@@ -1,4 +1,5 @@
1
- require 'active_admin/settings_node'
1
+ # frozen_string_literal: true
2
+ require "active_admin/settings_node"
2
3
 
3
4
  module ActiveAdmin
4
5
  class ApplicationSettings < SettingsNode
@@ -15,7 +16,7 @@ module ActiveAdmin
15
16
  # Load paths for admin configurations. Add folders to this load path
16
17
  # to load up other resources for administration. External gems can
17
18
  # include their paths in this load path to provide active_admin UIs
18
- register :load_paths, [File.expand_path('app/admin', Rails.root)]
19
+ register :load_paths, [File.expand_path("app/admin", Rails.root)]
19
20
 
20
21
  # Set default localize format for Date/Time values
21
22
  register :localize_format, :long
@@ -34,6 +35,9 @@ module ActiveAdmin
34
35
  :to_s ]
35
36
 
36
37
  # To make debugging easier, by default don't stream in development
37
- register :disable_streaming_in, ['development']
38
+ register :disable_streaming_in, ["development"]
39
+
40
+ # Remove sensitive attributes from being displayed, made editable, or exported by default
41
+ register :filter_attributes, [:encrypted_password, :password, :password_confirmation]
38
42
  end
39
43
  end
@@ -1,11 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module AssetRegistration
3
4
 
4
5
  def register_stylesheet(path, options = {})
5
- Deprecation.warn <<-MSG.strip_heredoc
6
- The `register_stylesheet` config is deprecated and will be removed
7
- in v2. Import your "#{path}" stylesheet in the active_admin.scss.
8
- MSG
9
6
  stylesheets[path] = options
10
7
  end
11
8
 
@@ -17,16 +14,12 @@ module ActiveAdmin
17
14
  stylesheets.clear
18
15
  end
19
16
 
20
- def register_javascript(name)
21
- Deprecation.warn <<-MSG.strip_heredoc
22
- The `register_javascript` config is deprecated and will be removed
23
- in v2. Import your "#{name}" javascript in the active_admin.js.
24
- MSG
25
- javascripts.add name
17
+ def register_javascript(path, options = {})
18
+ javascripts[path] = options
26
19
  end
27
20
 
28
21
  def javascripts
29
- @javascripts ||= Set.new
22
+ @javascripts ||= {}
30
23
  end
31
24
 
32
25
  def clear_javascripts!
@@ -1,10 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  # Default Authorization permissions for Active Admin
4
5
  module Authorization
5
- READ = :read
6
- CREATE = :create
7
- UPDATE = :update
6
+ READ = :read
7
+ NEW = :new
8
+ CREATE = :create
9
+ EDIT = :edit
10
+ UPDATE = :update
8
11
  DESTROY = :destroy
9
12
  end
10
13
 
@@ -1,15 +1,16 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class BaseController < ::InheritedResources::Base
3
4
  module Authorization
4
5
  extend ActiveSupport::Concern
5
6
 
6
7
  ACTIONS_DICTIONARY = {
7
- index: ActiveAdmin::Authorization::READ,
8
- show: ActiveAdmin::Authorization::READ,
9
- new: ActiveAdmin::Authorization::CREATE,
10
- create: ActiveAdmin::Authorization::CREATE,
11
- edit: ActiveAdmin::Authorization::UPDATE,
12
- update: ActiveAdmin::Authorization::UPDATE,
8
+ index: ActiveAdmin::Authorization::READ,
9
+ show: ActiveAdmin::Authorization::READ,
10
+ new: ActiveAdmin::Authorization::NEW,
11
+ create: ActiveAdmin::Authorization::CREATE,
12
+ edit: ActiveAdmin::Authorization::EDIT,
13
+ update: ActiveAdmin::Authorization::UPDATE,
13
14
  destroy: ActiveAdmin::Authorization::DESTROY
14
15
  }
15
16
 
@@ -18,6 +19,7 @@ module ActiveAdmin
18
19
 
19
20
  helper_method :authorized?
20
21
  helper_method :authorize!
22
+ helper_method :active_admin_authorization
21
23
  end
22
24
 
23
25
  protected
@@ -51,9 +53,10 @@ module ActiveAdmin
51
53
  # an ActiveAdmin::AccessDenied.
52
54
  def authorize!(action, subject = nil)
53
55
  unless authorized? action, subject
54
- raise ActiveAdmin::AccessDenied.new(current_active_admin_user,
55
- action,
56
- subject)
56
+ raise ActiveAdmin::AccessDenied.new(
57
+ current_active_admin_user,
58
+ action,
59
+ subject)
57
60
  end
58
61
  end
59
62
 
@@ -79,7 +82,7 @@ module ActiveAdmin
79
82
  def active_admin_authorization_adapter
80
83
  adapter = active_admin_namespace.authorization_adapter
81
84
  if adapter.is_a? String
82
- ActiveSupport::Dependencies.constantize adapter
85
+ adapter.constantize
83
86
  else
84
87
  adapter
85
88
  end
@@ -111,16 +114,14 @@ module ActiveAdmin
111
114
  redirect_backwards_or_to_root
112
115
  end
113
116
 
114
- body = ActiveAdmin::Dependency.rails.render_key
115
-
116
- format.csv { render body => error, status: :unauthorized }
117
- format.json { render json: { error: error }, status: :unauthorized }
118
- format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
117
+ format.csv { render body: error, status: :unauthorized }
118
+ format.json { render json: { error: error }, status: :unauthorized }
119
+ format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
119
120
  end
120
121
  end
121
122
 
122
123
  def redirect_backwards_or_to_root
123
- ActiveAdmin::Dependency.rails.redirect_back self, active_admin_root
124
+ redirect_back fallback_location: active_admin_root
124
125
  end
125
126
 
126
127
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class BaseController < ::InheritedResources::Base
3
4
  module Menu
@@ -1,12 +1,12 @@
1
- require 'active_admin/base_controller/authorization'
2
- require 'active_admin/base_controller/menu'
1
+ # frozen_string_literal: true
2
+ require "active_admin/base_controller/authorization"
3
+ require "active_admin/base_controller/menu"
3
4
 
4
5
  module ActiveAdmin
5
6
  # BaseController for ActiveAdmin.
6
7
  # It implements ActiveAdmin controllers core features.
7
8
  class BaseController < ::InheritedResources::Base
8
9
  helper ::ActiveAdmin::ViewHelpers
9
- helper_method :env
10
10
 
11
11
  layout :determine_active_admin_layout
12
12
 
@@ -22,6 +22,11 @@ module ActiveAdmin
22
22
  attr_accessor :active_admin_config
23
23
  end
24
24
 
25
+ include Authorization
26
+ include Menu
27
+
28
+ private
29
+
25
30
  # By default Rails will render un-implemented actions when the view exists. Because Active
26
31
  # Admin allows you to not render any of the actions by using the #actions method, we need
27
32
  # to check if they are implemented.
@@ -29,11 +34,6 @@ module ActiveAdmin
29
34
  raise AbstractController::ActionNotFound unless action_methods.include?(params[:action])
30
35
  end
31
36
 
32
- include Authorization
33
- include Menu
34
-
35
- private
36
-
37
37
  # Calls the authentication method as defined in ActiveAdmin.authentication_method
38
38
  def authenticate_active_admin_user
39
39
  send(active_admin_namespace.authentication_method) if active_admin_namespace.authentication_method
@@ -69,13 +69,14 @@ module ActiveAdmin
69
69
  # 2. If we're rendering a custom action, we'll use the active_admin layout so
70
70
  # that users can render any template inside Active Admin.
71
71
  def determine_active_admin_layout
72
- ACTIVE_ADMIN_ACTIONS.include?(params[:action].to_sym) ? false : 'active_admin'
72
+ ACTIVE_ADMIN_ACTIONS.include?(params[:action].to_sym) ? false : "active_admin"
73
73
  end
74
74
 
75
75
  def active_admin_root
76
- controller, action = active_admin_namespace.root_to.split '#'
77
- {controller: controller, action: action}
76
+ controller, action = active_admin_namespace.root_to.split "#"
77
+ { controller: controller, action: action }
78
78
  end
79
79
 
80
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
80
81
  end
81
82
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module BatchActions
3
4
  module Controller
@@ -5,10 +6,10 @@ module ActiveAdmin
5
6
  # Controller action that is called when submitting the batch action form
6
7
  def batch_action
7
8
  if action_present?
8
- selection = params[:collection_selection] || []
9
- inputs = JSON.parse params[:batch_action_inputs] || '{}'
9
+ selection = params[:collection_selection] || []
10
+ inputs = JSON.parse params[:batch_action_inputs] || "{}"
10
11
  valid_keys = MethodOrProcHelper.render_in_context(self, current_batch_action.inputs).try(:keys)
11
- inputs = inputs.with_indifferent_access.slice *valid_keys
12
+ inputs = inputs.with_indifferent_access.slice *valid_keys
12
13
  instance_exec selection, inputs, &current_batch_action.block
13
14
  else
14
15
  raise "Couldn't find batch action \"#{params[:batch_action]}\""
@@ -22,7 +23,7 @@ module ActiveAdmin
22
23
  end
23
24
 
24
25
  def current_batch_action
25
- active_admin_config.batch_actions.detect{ |action| action.sym.to_s == params[:batch_action] }
26
+ active_admin_config.batch_actions.detect { |action| action.sym.to_s == params[:batch_action] }
26
27
  end
27
28
 
28
29
  COLLECTION_APPLIES = [
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  module BatchActions
@@ -57,21 +58,22 @@ module ActiveAdmin
57
58
  def add_default_batch_action
58
59
  destroy_options = {
59
60
  priority: 100,
60
- confirm: proc{ I18n.t('active_admin.batch_actions.delete_confirmation', plural_model: active_admin_config.plural_resource_label.downcase) },
61
- if: proc{ controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, active_admin_config.resource_class) }
61
+ confirm: proc { I18n.t("active_admin.batch_actions.delete_confirmation", plural_model: active_admin_config.plural_resource_label.downcase) },
62
+ if: proc { controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, active_admin_config.resource_class) }
62
63
  }
63
64
 
64
- add_batch_action :destroy, proc { I18n.t('active_admin.delete') }, destroy_options do |selected_ids|
65
+ add_batch_action :destroy, proc { I18n.t("active_admin.delete") }, destroy_options do |selected_ids|
65
66
  batch_action_collection.find(selected_ids).each do |record|
66
67
  authorize! ActiveAdmin::Auth::DESTROY, record
67
68
  destroy_resource(record)
68
69
  end
69
70
 
70
71
  redirect_to active_admin_config.route_collection_path(params),
71
- notice: I18n.t("active_admin.batch_actions.succesfully_destroyed",
72
- count: selected_ids.count,
73
- model: active_admin_config.resource_label.downcase,
74
- plural_model: active_admin_config.plural_resource_label(count: selected_ids.count).downcase)
72
+ notice: I18n.t(
73
+ "active_admin.batch_actions.succesfully_destroyed",
74
+ count: selected_ids.count,
75
+ model: active_admin_config.resource_label.downcase,
76
+ plural_model: active_admin_config.plural_resource_label(count: selected_ids.count).downcase)
75
77
  end
76
78
  end
77
79
 
@@ -84,7 +86,7 @@ module ActiveAdmin
84
86
 
85
87
  attr_reader :block, :title, :sym
86
88
 
87
- DEFAULT_CONFIRM_MESSAGE = proc{ I18n.t 'active_admin.batch_actions.default_confirmation' }
89
+ DEFAULT_CONFIRM_MESSAGE = proc { I18n.t "active_admin.batch_actions.default_confirmation" }
88
90
 
89
91
  # Create a Batch Action
90
92
  #
@@ -112,7 +114,11 @@ module ActiveAdmin
112
114
  # => You can pass a hash of options to `:form` that will be rendered as form input fields for the user to fill out.
113
115
  #
114
116
  def initialize(sym, title, options = {}, &block)
115
- @sym, @title, @options, @block, @confirm = sym, title, options, block, options[:confirm]
117
+ @sym = sym
118
+ @title = title
119
+ @options = options
120
+ @block = block
121
+ @confirm = options[:confirm]
116
122
  @block ||= proc {}
117
123
  end
118
124
 
@@ -133,7 +139,7 @@ module ActiveAdmin
133
139
  # Returns the display if block. If the block was not explicitly defined
134
140
  # a default block always returning true will be returned.
135
141
  def display_if_block
136
- @options[:if] || proc{ true }
142
+ @options[:if] || proc { true }
137
143
  end
138
144
 
139
145
  # Used for sorting
@@ -1,4 +1,5 @@
1
- require 'active_admin/component'
1
+ # frozen_string_literal: true
2
+ require "active_admin/component"
2
3
 
3
4
  module ActiveAdmin
4
5
  module BatchActions
@@ -16,7 +17,7 @@ module ActiveAdmin
16
17
  # batch_action => name of the specific action called
17
18
  # batch_action_inputs => a JSON string of any requested confirmation values
18
19
  text_node form_tag active_admin_config.route_batch_action_path(params, url_options), id: options[:id]
19
- input name: :batch_action, id: :batch_action, type: :hidden
20
+ input name: :batch_action, id: :batch_action, type: :hidden
20
21
  input name: :batch_action_inputs, id: :batch_action_inputs, type: :hidden
21
22
 
22
23
  super(options)
@@ -30,7 +31,7 @@ module ActiveAdmin
30
31
  private
31
32
 
32
33
  def closing_form_tag
33
- '</form>'.html_safe
34
+ "</form>".html_safe
34
35
  end
35
36
 
36
37
  end
@@ -1,4 +1,5 @@
1
- require 'active_admin/component'
1
+ # frozen_string_literal: true
2
+ require "active_admin/component"
2
3
 
3
4
  module ActiveAdmin
4
5
  module BatchActions
@@ -31,17 +32,17 @@ module ActiveAdmin
31
32
  confirmation_text = render_or_call_method_or_proc_on(self, batch_action.confirm)
32
33
 
33
34
  options = {
34
- :class => "batch_action",
35
- "data-action" => batch_action.sym,
36
- "data-confirm" => confirmation_text,
37
- "data-inputs" => render_in_context(self, batch_action.inputs).to_json
35
+ class: "batch_action",
36
+ "data-action": batch_action.sym,
37
+ "data-confirm": confirmation_text,
38
+ "data-inputs": render_in_context(self, batch_action.inputs).to_json
38
39
  }
39
40
 
40
41
  default_title = render_or_call_method_or_proc_on(self, batch_action.title)
41
42
  title = I18n.t("active_admin.batch_actions.labels.#{batch_action.sym}", default: default_title)
42
43
  label = I18n.t("active_admin.batch_actions.action_label", title: title)
43
44
 
44
- item label, "#", options
45
+ item label, "#", **options
45
46
  end
46
47
  end
47
48
  end