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,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
@@ -7,7 +8,7 @@ module ActiveAdmin
7
8
  class ResourceSelectionToggleCell < ActiveAdmin::Component
8
9
  builder_method :resource_selection_toggle_cell
9
10
 
10
- def build(label_text = '')
11
+ def build(label_text = "")
11
12
  label do
12
13
  input type: "checkbox", id: "collection_selection_toggle_all", name: "collection_selection_toggle_all", class: "toggle_all"
13
14
  text_node label_text if label_text.present?
@@ -30,7 +31,7 @@ module ActiveAdmin
30
31
 
31
32
  def build
32
33
  super(id: "collection_selection_toggle_panel")
33
- resource_selection_toggle_cell(I18n.t('active_admin.batch_actions.selection_toggle_explanation', default: "(Toggle Selection)"))
34
+ resource_selection_toggle_cell(I18n.t("active_admin.batch_actions.selection_toggle_explanation", default: "(Toggle Selection)"))
34
35
  end
35
36
  end
36
37
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin.before_load do |app|
2
3
  require "active_admin/batch_actions/resource_extension"
3
4
  require "active_admin/batch_actions/controller"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Callbacks
3
4
  extend ActiveSupport::Concern
@@ -75,7 +76,7 @@ module ActiveAdmin
75
76
 
76
77
  # def run_create_callbacks
77
78
  define_method "run_#{name}_callbacks" do |*args, &block|
78
- self.class.send("before_#{name}_callbacks").each{ |cbk| run_callback(cbk, *args) }
79
+ self.class.send("before_#{name}_callbacks").each { |cbk| run_callback(cbk, *args) }
79
80
  value = block.try :call
80
81
  self.class.send("after_#{name}_callbacks").each { |cbk| run_callback(cbk, *args) }
81
82
  return value
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  unless ActiveAdmin::Dependency.cancan? || ActiveAdmin::Dependency.cancancan?
2
3
  ActiveAdmin::Dependency.cancan!
3
4
  end
4
5
 
5
- require 'cancan'
6
+ require "cancan"
6
7
 
7
8
  # Add a setting to the application to configure the ability
8
9
  ActiveAdmin::Application.inheritable_setting :cancan_ability_class, "Ability"
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ # This class decorates a collection of objects delegating
4
+ # mehods to behave like an Array. It's used to decouple ActiveAdmin
5
+ # from Draper and thus being able to use PORO decorators as well.
6
+ #
7
+ # It's implementation is heavily based on the Draper::CollectionDecorator
8
+ # https://github.com/drapergem/draper/blob/aaa06bd2f1e219838b241a5534e7ca513edd1fe2/lib/draper/collection_decorator.rb
9
+ class CollectionDecorator
10
+ # @return the collection being decorated.
11
+ attr_reader :object
12
+
13
+ # @return [Class] the decorator class used to decorate each item, as set by {#initialize}.
14
+ attr_reader :decorator_class
15
+
16
+ array_methods = Array.instance_methods - Object.instance_methods
17
+ delegate :==, :as_json, *array_methods, to: :decorated_collection
18
+
19
+ def initialize(object, with:)
20
+ @object = object
21
+ @decorator_class = with
22
+ end
23
+
24
+ class << self
25
+ alias_method :decorate, :new
26
+ end
27
+
28
+ def decorated_collection
29
+ @decorated_collection ||= object.map { |item| decorator_class.new(item) }
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class Component < Arbre::Component
3
4
 
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class ControllerAction
3
4
  attr_reader :name
4
5
  def initialize(name, options = {})
5
- @name, @options = name, options
6
+ @name = name
7
+ @options = options
6
8
  end
7
9
 
8
10
  def http_verb
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  # CSVBuilder stores CSV configuration
3
4
  #
@@ -32,7 +33,9 @@ module ActiveAdmin
32
33
 
33
34
  def initialize(options = {}, &block)
34
35
  @resource = options.delete(:resource)
35
- @columns, @options, @block = [], options, block
36
+ @columns = []
37
+ @options = ActiveAdmin.application.csv_options.merge options
38
+ @block = block
36
39
  end
37
40
 
38
41
  def column(name, options = {}, &block)
@@ -40,26 +43,19 @@ module ActiveAdmin
40
43
  end
41
44
 
42
45
  def build(controller, csv)
43
- @collection = controller.send :find_collection, except: :pagination
44
- columns = exec_columns controller.view_context
45
- options = ActiveAdmin.application.csv_options.merge self.options
46
- bom = options.delete :byte_order_mark
46
+ columns = exec_columns controller.view_context
47
+ bom = options[:byte_order_mark]
47
48
  column_names = options.delete(:column_names) { true }
48
- csv_options = options.except :encoding_options, :humanize_name
49
+ csv_options = options.except :encoding_options, :humanize_name, :byte_order_mark
49
50
 
50
51
  csv << bom if bom
51
52
 
52
53
  if column_names
53
- csv << CSV.generate_line(columns.map{ |c| encode c.name, options }, csv_options)
54
+ csv << CSV.generate_line(columns.map { |c| encode c.name, options }, **csv_options)
54
55
  end
55
56
 
56
- ActiveRecord::Base.uncached do
57
- (1..paginated_collection.total_pages).each do |page|
58
- paginated_collection(page).each do |resource|
59
- resource = controller.send :apply_decorator, resource
60
- csv << CSV.generate_line(build_row(resource, columns, options), csv_options)
61
- end
62
- end
57
+ controller.send(:in_paginated_batches) do |resource|
58
+ csv << CSV.generate_line(build_row(resource, columns, options), **csv_options)
63
59
  end
64
60
 
65
61
  csv
@@ -80,7 +76,11 @@ module ActiveAdmin
80
76
 
81
77
  def encode(content, options)
82
78
  if options[:encoding]
83
- content.to_s.encode options[:encoding], options[:encoding_options]
79
+ if options[:encoding_options]
80
+ content.to_s.encode options[:encoding], **options[:encoding_options]
81
+ else
82
+ content.to_s.encode options[:encoding]
83
+ end
84
84
  else
85
85
  content
86
86
  end
@@ -119,13 +119,5 @@ module ActiveAdmin
119
119
  def column_transitive_options
120
120
  @column_transitive_options ||= @options.slice(*COLUMN_TRANSITIVE_OPTIONS)
121
121
  end
122
-
123
- def paginated_collection(page_no = 1)
124
- @collection.public_send(Kaminari.config.page_method_name, page_no).per(batch_size)
125
- end
126
-
127
- def batch_size
128
- 1000
129
- end
130
122
  end
131
123
  end
@@ -1,27 +1,28 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Dependency
3
4
  module Requirements
4
- DEVISE = '>= 3.2', '< 5'
5
+ DEVISE = ">= 4.0", "< 5"
5
6
  end
6
7
 
7
8
  # Provides a clean interface to check for gem dependencies at runtime.
8
9
  #
9
- # ActiveAdmin::Dependency.draper
10
- # => #<ActiveAdmin::Dependency::Matcher for draper 1.2.1>
10
+ # ActiveAdmin::Dependency.rails
11
+ # => #<ActiveAdmin::Dependency::Matcher for rails 6.0.3.2>
11
12
  #
12
- # ActiveAdmin::Dependency.draper?
13
+ # ActiveAdmin::Dependency.rails?
13
14
  # => true
14
15
  #
15
- # ActiveAdmin::Dependency.draper? '>= 1.5.0'
16
+ # ActiveAdmin::Dependency.rails? '>= 6.1'
16
17
  # => false
17
18
  #
18
- # ActiveAdmin::Dependency.draper? '= 1.2.1'
19
+ # ActiveAdmin::Dependency.rails? '= 6.0.3.2'
19
20
  # => true
20
21
  #
21
- # ActiveAdmin::Dependency.draper? '~> 1.2.0'
22
+ # ActiveAdmin::Dependency.rails? '~> 6.0.3'
22
23
  # => true
23
24
  #
24
- # ActiveAdmin::Dependency.rails? '>= 4.2.7', '<= 5.0.2'
25
+ # ActiveAdmin::Dependency.rails? '>= 6.0.3', '<= 6.1.0'
25
26
  # => true
26
27
  #
27
28
  # ActiveAdmin::Dependency.rails! '5'
@@ -42,9 +43,9 @@ module ActiveAdmin
42
43
  # => false
43
44
  #
44
45
  def self.method_missing(name, *args)
45
- if name[-1] == '?'
46
+ if name[-1] == "?"
46
47
  Matcher.new(name[0..-2]).match? args
47
- elsif name[-1] == '!'
48
+ elsif name[-1] == "!"
48
49
  Matcher.new(name[0..-2]).match! args
49
50
  else
50
51
  Matcher.new name.to_s
@@ -55,10 +56,6 @@ module ActiveAdmin
55
56
  Matcher.new name.to_s
56
57
  end
57
58
 
58
- def self.rails5?
59
- rails >= '5.x'
60
- end
61
-
62
59
  class Matcher
63
60
  attr_reader :name
64
61
 
@@ -91,81 +88,9 @@ module ActiveAdmin
91
88
  end
92
89
 
93
90
  def inspect
94
- info = spec ? "#{spec.name} #{spec.version}" : '(missing)'
91
+ info = spec ? "#{spec.name} #{spec.version}" : "(missing)"
95
92
  "<ActiveAdmin::Dependency::Matcher for #{info}>"
96
93
  end
97
-
98
- def adapter
99
- @adapter ||= Adapter.const_get(@name.camelize).new self
100
- end
101
-
102
- def method_missing(method, *args, &block)
103
- if respond_to_missing?(method)
104
- adapter.send method, *args, &block
105
- else
106
- super
107
- end
108
- end
109
-
110
- def respond_to_missing?(method, include_private = false)
111
- adapter.respond_to?(method) || super
112
- rescue NameError
113
- # 🐾
114
- end
115
- end
116
-
117
- # Dependency adapters provide an easy way to wrap the conditional logic
118
- # necessary to support multiple versions of a gem.
119
- #
120
- # ActiveAdmin::Dependency.rails.adapter.parameterize 'a b'
121
- # => 'a_b'
122
- #
123
- # ActiveAdmin::Dependency.rails.parameterize 'a b'
124
- # => 'a_b'
125
- #
126
- # ActiveAdmin::Dependency.devise.adapter
127
- # -> NameError: uninitialized constant ActiveAdmin::Dependency::Adapter::Devise
128
- #
129
- module Adapter
130
- class Base
131
- def initialize(version)
132
- @version = version
133
- end
134
- end
135
-
136
- class Rails < Base
137
- def optional_belongs_to_flag
138
- if Dependency.rails5?
139
- { optional: true }
140
- else
141
- { required: false }
142
- end
143
- end
144
-
145
- def parameterize(string)
146
- if Dependency.rails5?
147
- string.parameterize separator: '_'
148
- else
149
- string.parameterize '_'
150
- end
151
- end
152
-
153
- def redirect_back(controller, fallback_location)
154
- controller.instance_exec do
155
- if Dependency.rails5?
156
- redirect_back fallback_location: fallback_location
157
- elsif controller.request.headers.key? 'HTTP_REFERER'
158
- redirect_to :back
159
- else
160
- redirect_to fallback_location
161
- end
162
- end
163
- end
164
-
165
- def render_key
166
- Dependency.rails5? ? :body : :text
167
- end
168
- end
169
94
  end
170
95
 
171
96
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Deprecation
3
4
  module_function
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin::Dependency.devise! ActiveAdmin::Dependency::Requirements::DEVISE
2
3
 
3
- require 'devise'
4
+ require "devise"
4
5
 
5
6
  module ActiveAdmin
6
7
  module Devise
@@ -9,7 +10,7 @@ module ActiveAdmin
9
10
  {
10
11
  path: ActiveAdmin.application.default_namespace || "/",
11
12
  controllers: ActiveAdmin::Devise.controllers,
12
- path_names: { sign_in: 'login', sign_out: "logout" },
13
+ path_names: { sign_in: "login", sign_out: "logout" },
13
14
  sign_out_via: [*::Devise.sign_out_via, ActiveAdmin.application.logout_link_method].uniq
14
15
  }
15
16
  end
@@ -27,14 +28,14 @@ module ActiveAdmin
27
28
  module Controller
28
29
  extend ::ActiveSupport::Concern
29
30
  included do
30
- layout 'active_admin_logged_out'
31
+ layout "active_admin_logged_out"
31
32
  helper ::ActiveAdmin::ViewHelpers
32
33
  end
33
34
 
34
35
  # Redirect to the default namespace on logout
35
36
  def root_path
36
37
  namespace = ActiveAdmin.application.default_namespace.presence
37
- root_path_method = [namespace, :root_path].compact.join('_')
38
+ root_path_method = [namespace, :root_path].compact.join("_")
38
39
 
39
40
  path = if Helpers::Routes.respond_to? root_path_method
40
41
  Helpers::Routes.send root_path_method
@@ -45,29 +46,39 @@ module ActiveAdmin
45
46
 
46
47
  # NOTE: `relative_url_root` is deprecated by Rails.
47
48
  # Remove prefix here if it is removed completely.
48
- prefix = Rails.configuration.action_controller[:relative_url_root] || ''
49
+ prefix = Rails.configuration.action_controller[:relative_url_root] || ""
49
50
  prefix + path
50
51
  end
51
52
  end
52
53
 
53
54
  class SessionsController < ::Devise::SessionsController
54
55
  include ::ActiveAdmin::Devise::Controller
56
+
57
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
55
58
  end
56
59
 
57
60
  class PasswordsController < ::Devise::PasswordsController
58
61
  include ::ActiveAdmin::Devise::Controller
62
+
63
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
59
64
  end
60
65
 
61
66
  class UnlocksController < ::Devise::UnlocksController
62
67
  include ::ActiveAdmin::Devise::Controller
68
+
69
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
63
70
  end
64
71
 
65
72
  class RegistrationsController < ::Devise::RegistrationsController
66
73
  include ::ActiveAdmin::Devise::Controller
74
+
75
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
67
76
  end
68
77
 
69
78
  class ConfirmationsController < ::Devise::ConfirmationsController
70
79
  include ::ActiveAdmin::Devise::Controller
80
+
81
+ ActiveSupport.run_load_hooks(:active_admin_controller, self)
71
82
  end
72
83
 
73
84
  def self.controllers_for_filters
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  # The Active Admin DSL. This class is where all the registration blocks
@@ -83,14 +84,7 @@ module ActiveAdmin
83
84
  # this action item on.
84
85
  # :except: A single or array of controller actions not to
85
86
  # display this action item on.
86
- def action_item(name = nil, options = {}, &block)
87
- if name.is_a?(Hash)
88
- options = name
89
- name = nil
90
- end
91
-
92
- Deprecation.warn "using `action_item` without a name is deprecated! Use `action_item(:edit)`." unless name
93
-
87
+ def action_item(name, options = {}, &block)
94
88
  config.add_action_item(name, options, &block)
95
89
  end
96
90
 
@@ -108,7 +102,7 @@ module ActiveAdmin
108
102
  def batch_action(title, options = {}, &block)
109
103
  # Create symbol & title information
110
104
  if title.is_a? String
111
- sym = title.titleize.tr(' ', '').underscore.to_sym
105
+ sym = title.titleize.tr(" ", "").underscore.to_sym
112
106
  else
113
107
  sym = title
114
108
  title = sym.to_s.titleize
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  class DynamicSetting
@@ -1,5 +1,6 @@
1
- require 'active_admin/dynamic_setting'
2
- require 'active_admin/settings_node'
1
+ # frozen_string_literal: true
2
+ require "active_admin/dynamic_setting"
3
+ require "active_admin/settings_node"
3
4
 
4
5
  module ActiveAdmin
5
6
 
@@ -1,21 +1,25 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class Engine < ::Rails::Engine
3
- initializer "active_admin.load_app_path" do |app|
4
+ # Set default values for app_path and load_paths before running initializers
5
+ initializer "active_admin.load_app_path", before: :load_config_initializers do |app|
4
6
  ActiveAdmin::Application.setting :app_path, app.root
5
- ActiveAdmin::Application.setting :load_paths, [File.expand_path('app/admin', app.root)]
7
+ ActiveAdmin::Application.setting :load_paths, [File.expand_path("app/admin", app.root)]
6
8
  end
7
9
 
8
10
  initializer "active_admin.precompile", group: :all do |app|
9
- ActiveAdmin.application.stylesheets.each do |path, _|
10
- app.config.assets.precompile << path
11
- end
12
- ActiveAdmin.application.javascripts.each do |path|
13
- app.config.assets.precompile << path
11
+ unless ActiveAdmin.application.use_webpacker
12
+ ActiveAdmin.application.stylesheets.each do |path, _|
13
+ app.config.assets.precompile << path
14
+ end
15
+ ActiveAdmin.application.javascripts.each do |path, _|
16
+ app.config.assets.precompile << path
17
+ end
14
18
  end
15
19
  end
16
20
 
17
- initializer 'active_admin.routes' do
18
- require 'active_admin/helpers/routes/url_helpers'
21
+ initializer "active_admin.routes" do
22
+ require "active_admin/helpers/routes/url_helpers"
19
23
  end
20
24
  end
21
25
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  # Exception class to raise when there is an authorized access
3
4
  # exception thrown. The exception has a few goodies that may
@@ -6,7 +7,9 @@ module ActiveAdmin
6
7
  attr_reader :user, :action, :subject
7
8
 
8
9
  def initialize(user, action, subject = nil)
9
- @user, @action, @subject = user, action, subject
10
+ @user = user
11
+ @action = action
12
+ @subject = subject
10
13
 
11
14
  super()
12
15
  end
@@ -22,7 +25,7 @@ module ActiveAdmin
22
25
  class ErrorLoading < Error
23
26
  # Locates the most recent file and line from the caught exception's backtrace.
24
27
  def find_cause(folder, backtrace)
25
- backtrace.grep(/\/(#{folder}\/.*\.rb):(\d+)/){ [$1, $2] }.first
28
+ backtrace.grep(/\/(#{folder}\/.*\.rb):(\d+)/) { [$1, $2] }.first
26
29
  end
27
30
  end
28
31
 
@@ -43,8 +46,6 @@ module ActiveAdmin
43
46
  raise new exception
44
47
  end
45
48
 
46
- private
47
-
48
49
  def self.database_error_classes
49
50
  @classes ||= []
50
51
  end
@@ -1,4 +1,5 @@
1
- require 'active_admin/filters/active_filter'
1
+ # frozen_string_literal: true
2
+ require "active_admin/filters/active_filter"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Filters
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Filters
3
4
 
@@ -26,9 +27,10 @@ module ActiveAdmin
26
27
  end
27
28
 
28
29
  def label
29
- # TODO: to remind us to go back to the simpler str.downcase once we support ruby >= 2.4 only.
30
- translated_predicate = predicate_name.mb_chars.downcase.to_s
31
- if filter_label
30
+ translated_predicate = predicate_name.downcase
31
+ if filter_label && filter_label.is_a?(Proc)
32
+ "#{filter_label.call} #{translated_predicate}"
33
+ elsif filter_label
32
34
  "#{filter_label} #{translated_predicate}"
33
35
  elsif related_class
34
36
  "#{related_class_name} #{translated_predicate}"
@@ -38,8 +40,9 @@ module ActiveAdmin
38
40
  end
39
41
 
40
42
  def predicate_name
41
- I18n.t("active_admin.filters.predicates.#{condition.predicate.name}",
42
- default: ransack_predicate_name)
43
+ I18n.t(
44
+ "ransack.predicates.#{condition.predicate.name}",
45
+ default: ransack_predicate_name)
43
46
  end
44
47
 
45
48
  def html_options
@@ -65,7 +68,7 @@ module ActiveAdmin
65
68
  def filter_label
66
69
  return unless filter
67
70
 
68
- filter[:label]
71
+ filter[:label] || I18n.t(name, scope: ["formtastic", "labels"], default: nil)
69
72
  end
70
73
 
71
74
  #@return Ransack::Nodes::Attribute
@@ -82,7 +85,7 @@ module ActiveAdmin
82
85
  end
83
86
 
84
87
  def find_class?
85
- ['eq', 'in'].include? condition.predicate.arel_predicate
88
+ ["eq", "in"].include? condition.predicate.arel_predicate
86
89
  end
87
90
 
88
91
  # detect related class for Ransack::Nodes::Attribute
@@ -95,7 +98,7 @@ module ActiveAdmin
95
98
  end
96
99
 
97
100
  def filter
98
- resource.filters[name.to_sym]
101
+ resource.filters[name.to_sym] || resource.filters[condition.key.to_sym]
99
102
  end
100
103
 
101
104
  def related_primary_key
@@ -111,8 +114,6 @@ module ActiveAdmin
111
114
  @predicate_association
112
115
  end
113
116
 
114
- private
115
-
116
117
  def find_predicate_association
117
118
  condition_attribute.klass.reflect_on_all_associations.
118
119
  reject { |r| r.options[:polymorphic] }. #skip polymorphic
@@ -1,42 +1,20 @@
1
- require 'active_admin/filters/active'
1
+ # frozen_string_literal: true
2
+ require "active_admin/filters/active"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Filters
5
6
  class ActiveSidebar < ActiveAdmin::SidebarSection
6
7
 
7
8
  def initialize
8
- super I18n.t("active_admin.search_status.headline"), sidebar_options
9
+ super "search_status", sidebar_options
9
10
  end
10
11
 
11
12
  def block
12
- -> do
13
- active_filters = ActiveAdmin::Filters::Active.new(active_admin_config, assigns[:search])
14
- span do
15
- if current_scope
16
- h4 I18n.t("active_admin.search_status.current_scope"), style: 'display: inline'
17
- b scope_name(current_scope), class: 'current_scope_name', style: "display: inline"
18
- end
19
- div style: "margin-top: 10px" do
20
- h4 I18n.t("active_admin.search_status.current_filters"), style: 'margin-bottom: 10px'
21
- ul do
22
- if active_filters.filters.blank?
23
- li I18n.t("active_admin.search_status.no_current_filters")
24
- else
25
- active_filters.filters.each do |filter|
26
- li filter.html_options do
27
- span do
28
- text_node filter.label
29
- end
30
- b do
31
- text_node to_sentence(filter.values.map { |v| pretty_format(v) })
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
13
+ -> { active_filters_sidebar_content }
14
+ end
15
+
16
+ def title
17
+ I18n.t("active_admin.search_status.headline")
40
18
  end
41
19
 
42
20
  protected
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Filters
3
4
  module DSL