activeadmin 3.4.0 → 4.0.0.beta18

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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -102
  3. data/CONTRIBUTING.md +32 -117
  4. data/README.md +17 -30
  5. data/UPGRADING.md +241 -0
  6. data/app/assets/config/active_admin_manifest.js +2 -0
  7. data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +1 -1
  8. data/app/controllers/active_admin/base_controller/menu.rb +39 -0
  9. data/{lib → app/controllers}/active_admin/base_controller.rb +46 -18
  10. data/{lib → app/controllers}/active_admin/page_controller.rb +0 -4
  11. data/{lib → app/controllers}/active_admin/resource_controller/action_builder.rb +1 -1
  12. data/{lib → app/controllers}/active_admin/resource_controller/data_access.rb +11 -6
  13. data/{lib → app/controllers}/active_admin/resource_controller/scoping.rb +1 -1
  14. data/{lib → app/controllers}/active_admin/resource_controller/streaming.rb +4 -4
  15. data/app/controllers/active_admin/resource_controller.rb +102 -0
  16. data/app/helpers/active_admin/auto_link_helper.rb +66 -0
  17. data/app/helpers/active_admin/breadcrumb_helper.rb +41 -0
  18. data/app/helpers/active_admin/display_helper.rb +117 -0
  19. data/app/helpers/active_admin/form_helper.rb +95 -0
  20. data/app/helpers/active_admin/index_helper.rb +40 -0
  21. data/app/helpers/active_admin/layout_helper.rb +63 -0
  22. data/app/javascript/active_admin/features/batch_actions.js +95 -0
  23. data/app/javascript/active_admin/features/dark_mode_toggle.js +37 -0
  24. data/app/javascript/active_admin/features/filters.js +34 -0
  25. data/app/javascript/active_admin/features/has_many.js +28 -0
  26. data/app/javascript/active_admin/features/main_menu.js +12 -0
  27. data/app/javascript/active_admin/features/per_page.js +9 -0
  28. data/app/javascript/active_admin/utils/dom.js +17 -0
  29. data/app/javascript/active_admin.js +10 -0
  30. data/app/views/active_admin/_flash_messages.html.erb +22 -0
  31. data/app/views/active_admin/_html_head.html.erb +13 -0
  32. data/app/views/active_admin/_main_navigation.html.erb +28 -0
  33. data/app/views/active_admin/_page_header.html.erb +27 -0
  34. data/app/views/active_admin/_sidebar.html.erb +5 -0
  35. data/app/views/active_admin/_site_footer.html.erb +7 -0
  36. data/app/views/active_admin/_site_header.html.erb +30 -0
  37. data/app/views/active_admin/devise/confirmations/new.html.erb +5 -3
  38. data/app/views/active_admin/devise/passwords/edit.html.erb +5 -3
  39. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  40. data/app/views/active_admin/devise/registrations/new.html.erb +6 -4
  41. data/app/views/active_admin/devise/sessions/new.html.erb +6 -4
  42. data/app/views/active_admin/devise/shared/_links.erb +3 -1
  43. data/app/views/active_admin/devise/unlocks/new.html.erb +6 -4
  44. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_gap.html.erb +3 -1
  45. data/app/views/active_admin/kaminari/_next_page.html.erb +16 -0
  46. data/app/views/active_admin/kaminari/_page.html.erb +14 -0
  47. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_paginator.html.erb +1 -2
  48. data/app/views/active_admin/kaminari/_prev_page.html.erb +16 -0
  49. data/app/views/active_admin/page/index.html.arb +5 -2
  50. data/app/views/active_admin/resource/_active_filters.html.erb +32 -0
  51. data/app/views/active_admin/resource/_batch_actions_dropdown.html.erb +19 -0
  52. data/app/views/active_admin/resource/_form.html.arb +15 -0
  53. data/app/views/active_admin/resource/_form_default.html.arb +11 -0
  54. data/app/views/active_admin/resource/_index_as_table_default.html.arb +8 -0
  55. data/app/views/active_admin/resource/_index_blank_slate.html.erb +14 -0
  56. data/app/views/active_admin/resource/_index_empty_results.html.erb +5 -0
  57. data/app/views/active_admin/resource/_index_table_actions_default.html.erb +9 -0
  58. data/app/views/active_admin/resource/_show_default.html.arb +2 -0
  59. data/app/views/active_admin/resource/edit.html.arb +1 -2
  60. data/app/views/active_admin/resource/index.html.arb +94 -2
  61. data/app/views/active_admin/resource/new.html.arb +1 -2
  62. data/app/views/active_admin/resource/show.html.arb +12 -2
  63. data/app/views/active_admin/shared/_action_items.html.erb +3 -0
  64. data/app/views/active_admin/shared/_download_format_links.html.erb +7 -0
  65. data/app/views/active_admin/shared/_resource_comments.html.erb +51 -0
  66. data/app/views/active_admin/shared/_sidebar_section.html.arb +6 -0
  67. data/app/views/active_admin/shared/_sidebar_sections.html.erb +5 -0
  68. data/app/views/layouts/active_admin.html.erb +20 -0
  69. data/app/views/layouts/active_admin_logged_out.html.erb +8 -45
  70. data/config/importmap.rb +5 -0
  71. data/config/locales/ar.yml +136 -116
  72. data/config/locales/az.yml +103 -118
  73. data/config/locales/bg.yml +91 -99
  74. data/config/locales/bs.yml +95 -101
  75. data/config/locales/ca.yml +131 -86
  76. data/config/locales/cs.yml +82 -90
  77. data/config/locales/da.yml +102 -117
  78. data/config/locales/de.yml +130 -141
  79. data/config/locales/el.yml +94 -106
  80. data/config/locales/en-CA.yml +104 -119
  81. data/config/locales/en-GB.yml +104 -119
  82. data/config/locales/en.yml +134 -140
  83. data/config/locales/eo.yml +107 -123
  84. data/config/locales/es-MX.yml +70 -78
  85. data/config/locales/es.yml +129 -138
  86. data/config/locales/fa.yml +91 -99
  87. data/config/locales/fi.yml +84 -92
  88. data/config/locales/fr.yml +135 -120
  89. data/config/locales/he.yml +103 -118
  90. data/config/locales/hr.yml +95 -103
  91. data/config/locales/hu.yml +76 -81
  92. data/config/locales/id.yml +97 -112
  93. data/config/locales/it.yml +134 -140
  94. data/config/locales/ja.yml +109 -120
  95. data/config/locales/ko.yml +136 -101
  96. data/config/locales/lt.yml +106 -121
  97. data/config/locales/lv.yml +70 -75
  98. data/config/locales/mk.yml +100 -114
  99. data/config/locales/nb.yml +98 -109
  100. data/config/locales/nl.yml +113 -122
  101. data/config/locales/pl.yml +137 -146
  102. data/config/locales/pt-BR.yml +134 -121
  103. data/config/locales/pt-PT.yml +71 -76
  104. data/config/locales/ro.yml +74 -79
  105. data/config/locales/ru.yml +142 -122
  106. data/config/locales/sk.yml +131 -146
  107. data/config/locales/sv-SE.yml +126 -141
  108. data/config/locales/tr.yml +105 -120
  109. data/config/locales/uk.yml +140 -119
  110. data/config/locales/vi.yml +125 -140
  111. data/config/locales/zh-CN.yml +135 -141
  112. data/config/locales/zh-TW.yml +136 -116
  113. data/lib/active_admin/application.rb +6 -14
  114. data/lib/active_admin/application_settings.rb +1 -1
  115. data/lib/active_admin/async_count.rb +23 -0
  116. data/lib/active_admin/batch_actions/controller.rb +1 -4
  117. data/lib/active_admin/batch_actions/resource_extension.rb +8 -15
  118. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -7
  119. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  120. data/lib/active_admin/batch_actions.rb +4 -9
  121. data/lib/active_admin/callbacks.rb +6 -4
  122. data/lib/active_admin/collection_decorator.rb +1 -1
  123. data/lib/active_admin/component.rb +0 -1
  124. data/lib/active_admin/csv_builder.rb +2 -2
  125. data/lib/active_admin/devise.rb +3 -3
  126. data/lib/active_admin/dsl.rb +3 -3
  127. data/lib/active_admin/dynamic_settings_node.rb +6 -6
  128. data/lib/active_admin/engine.rb +23 -7
  129. data/lib/active_admin/filters/active.rb +8 -6
  130. data/lib/active_admin/filters/active_filter.rb +2 -10
  131. data/lib/active_admin/filters/forms.rb +1 -45
  132. data/lib/active_admin/filters/resource_extension.rb +18 -10
  133. data/lib/active_admin/filters.rb +5 -7
  134. data/lib/active_admin/form_builder.rb +14 -17
  135. data/lib/active_admin/helpers/optional_display.rb +1 -1
  136. data/lib/active_admin/inputs/filters/base/search_method_select.rb +10 -12
  137. data/lib/active_admin/inputs/filters/base.rb +1 -1
  138. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -6
  139. data/lib/active_admin/inputs/filters/date_range_input.rb +4 -2
  140. data/lib/active_admin/inputs.rb +0 -3
  141. data/lib/active_admin/localizers.rb +1 -1
  142. data/lib/active_admin/menu.rb +10 -7
  143. data/lib/active_admin/menu_collection.rb +1 -1
  144. data/lib/active_admin/menu_item.rb +24 -3
  145. data/lib/active_admin/namespace.rb +3 -45
  146. data/lib/active_admin/namespace_settings.rb +3 -36
  147. data/lib/active_admin/order_clause.rb +4 -1
  148. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -76
  149. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  150. data/lib/active_admin/orm/active_record/comments.rb +13 -8
  151. data/lib/active_admin/orm/active_record.rb +1 -1
  152. data/lib/active_admin/pundit_adapter.rb +3 -3
  153. data/lib/active_admin/resource/action_items.rb +18 -23
  154. data/lib/active_admin/resource/naming.rb +2 -3
  155. data/lib/active_admin/resource/page_presenters.rb +2 -2
  156. data/lib/active_admin/resource/sidebars.rb +1 -1
  157. data/lib/active_admin/resource.rb +17 -16
  158. data/lib/active_admin/resource_collection.rb +1 -1
  159. data/lib/active_admin/resource_dsl.rb +3 -3
  160. data/lib/active_admin/scope.rb +11 -1
  161. data/lib/active_admin/settings_node.rb +1 -1
  162. data/lib/active_admin/sidebar_section.rb +0 -5
  163. data/lib/active_admin/version.rb +1 -1
  164. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -1
  165. data/lib/active_admin/view_helpers.rb +0 -12
  166. data/lib/active_admin/views/components/active_admin_form.rb +21 -29
  167. data/lib/active_admin/views/components/attributes_table.rb +14 -16
  168. data/lib/active_admin/views/components/index_list.rb +10 -23
  169. data/lib/active_admin/views/components/paginated_collection.rb +34 -39
  170. data/lib/active_admin/views/components/panel.rb +3 -11
  171. data/lib/active_admin/views/components/scopes.rb +39 -26
  172. data/lib/active_admin/views/components/status_tag.rb +22 -19
  173. data/lib/active_admin/views/components/table_for.rb +25 -25
  174. data/lib/active_admin/views/index_as_table.rb +39 -101
  175. data/lib/active_admin.rb +16 -15
  176. data/lib/activeadmin.rb +1 -1
  177. data/lib/generators/active_admin/assets/assets_generator.rb +4 -4
  178. data/lib/generators/active_admin/assets/templates/active_admin.css +3 -0
  179. data/lib/generators/active_admin/assets/templates/tailwind.config.js +21 -0
  180. data/lib/generators/active_admin/devise/devise_generator.rb +2 -2
  181. data/lib/generators/active_admin/install/install_generator.rb +2 -8
  182. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +10 -87
  183. data/lib/generators/active_admin/install/templates/dashboard.rb +8 -25
  184. data/lib/generators/active_admin/page/page_generator.rb +0 -1
  185. data/lib/generators/active_admin/resource/resource_generator.rb +50 -7
  186. data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
  187. data/lib/generators/active_admin/views_generator.rb +18 -0
  188. data/plugin.js +414 -0
  189. data/vendor/bundle/offense.rb +1 -0
  190. data/vendor/javascript/flowbite.js +1 -0
  191. data/vendor/javascript/rails_ujs_esm.js +1 -0
  192. metadata +80 -207
  193. data/app/assets/javascripts/active_admin/base.js +0 -517
  194. data/app/assets/stylesheets/active_admin/_base.scss +0 -57
  195. data/app/assets/stylesheets/active_admin/_forms.scss +0 -315
  196. data/app/assets/stylesheets/active_admin/_header.scss +0 -188
  197. data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
  198. data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
  199. data/app/assets/stylesheets/active_admin/_print.scss +0 -287
  200. data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
  201. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
  202. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
  203. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
  204. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
  205. data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
  206. data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
  207. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
  208. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -154
  209. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
  210. data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
  211. data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
  212. data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
  213. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
  214. data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -58
  215. data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
  216. data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
  217. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
  218. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -70
  219. data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
  220. data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -68
  221. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
  222. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
  223. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
  224. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
  225. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
  226. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
  227. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
  228. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
  229. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
  230. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
  231. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
  232. data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
  233. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
  234. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -43
  235. data/app/javascript/active_admin/base.js +0 -28
  236. data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
  237. data/app/javascript/active_admin/ext/jquery.js +0 -9
  238. data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
  239. data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
  240. data/app/javascript/active_admin/initializers/datepicker.js +0 -16
  241. data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
  242. data/app/javascript/active_admin/initializers/filters.js +0 -10
  243. data/app/javascript/active_admin/initializers/has-many.js +0 -98
  244. data/app/javascript/active_admin/initializers/per-page.js +0 -13
  245. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
  246. data/app/javascript/active_admin/initializers/tabs.js +0 -6
  247. data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
  248. data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
  249. data/app/javascript/active_admin/lib/filters.js +0 -39
  250. data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
  251. data/app/javascript/active_admin/lib/per-page.js +0 -38
  252. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
  253. data/app/javascript/active_admin/lib/utils.js +0 -40
  254. data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
  255. data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
  256. data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
  257. data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
  258. data/app/views/kaminari/active_admin/_page.html.erb +0 -12
  259. data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
  260. data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
  261. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
  262. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
  263. data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
  264. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
  265. data/app/views/layouts/active_admin.html.arb +0 -2
  266. data/config/locales/de-CH.yml +0 -94
  267. data/lib/active_admin/abstract_view_factory.rb +0 -48
  268. data/lib/active_admin/asset_registration.rb +0 -30
  269. data/lib/active_admin/base_controller/menu.rb +0 -35
  270. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
  271. data/lib/active_admin/filters/active_sidebar.rb +0 -28
  272. data/lib/active_admin/generators/boilerplate.rb +0 -54
  273. data/lib/active_admin/helpers/collection.rb +0 -21
  274. data/lib/active_admin/helpers/i18n.rb +0 -8
  275. data/lib/active_admin/inputs/datepicker_input.rb +0 -28
  276. data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
  277. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
  278. data/lib/active_admin/orm/mongoid.rb +0 -2
  279. data/lib/active_admin/resource_controller/sidebars.rb +0 -19
  280. data/lib/active_admin/resource_controller.rb +0 -68
  281. data/lib/active_admin/view_factory.rb +0 -28
  282. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
  283. data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
  284. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
  285. data/lib/active_admin/view_helpers/display_helper.rb +0 -119
  286. data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
  287. data/lib/active_admin/view_helpers/fields_for.rb +0 -51
  288. data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
  289. data/lib/active_admin/view_helpers/form_helper.rb +0 -21
  290. data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
  291. data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
  292. data/lib/active_admin/view_helpers/title_helper.rb +0 -12
  293. data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
  294. data/lib/active_admin/views/action_items.rb +0 -18
  295. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
  296. data/lib/active_admin/views/components/blank_slate.rb +0 -18
  297. data/lib/active_admin/views/components/columns.rb +0 -162
  298. data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
  299. data/lib/active_admin/views/components/menu.rb +0 -33
  300. data/lib/active_admin/views/components/menu_item.rb +0 -59
  301. data/lib/active_admin/views/components/sidebar.rb +0 -14
  302. data/lib/active_admin/views/components/sidebar_section.rb +0 -35
  303. data/lib/active_admin/views/components/site_title.rb +0 -55
  304. data/lib/active_admin/views/components/tabs.rb +0 -41
  305. data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
  306. data/lib/active_admin/views/footer.rb +0 -32
  307. data/lib/active_admin/views/header.rb +0 -20
  308. data/lib/active_admin/views/index_as_block.rb +0 -37
  309. data/lib/active_admin/views/index_as_blog.rb +0 -156
  310. data/lib/active_admin/views/index_as_grid.rb +0 -81
  311. data/lib/active_admin/views/pages/base.rb +0 -134
  312. data/lib/active_admin/views/pages/form.rb +0 -65
  313. data/lib/active_admin/views/pages/index.rb +0 -166
  314. data/lib/active_admin/views/pages/layout.rb +0 -27
  315. data/lib/active_admin/views/pages/page.rb +0 -31
  316. data/lib/active_admin/views/pages/show.rb +0 -60
  317. data/lib/active_admin/views/tabbed_navigation.rb +0 -12
  318. data/lib/active_admin/views/title_bar.rb +0 -56
  319. data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
  320. data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
  321. data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
  322. data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
  323. data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
  324. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
  325. data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
  326. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
  327. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  328. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -51
  329. data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -89
  330. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -83
  331. data/vendor/assets/javascripts/jquery-ui/form.js +0 -25
  332. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  333. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  334. data/vendor/assets/javascripts/jquery-ui/labels.js +0 -71
  335. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  336. data/vendor/assets/javascripts/jquery-ui/position.js +0 -513
  337. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  338. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  339. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  340. data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -41
  341. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  342. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  343. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -758
  344. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -454
  345. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -294
  346. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -304
  347. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2243
  348. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -971
  349. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  350. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  351. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1228
  352. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1622
  353. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  354. /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
  355. /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
  356. /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
  357. /data/lib/{active_admin/orm/mongoid/.gitkeep → generators/active_admin/assets/templates/builds/.keep} +0 -0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/resource_collection"
2
+ require_relative "resource_collection"
3
3
 
4
4
  module ActiveAdmin
5
5
 
@@ -68,7 +68,7 @@ module ActiveAdmin
68
68
 
69
69
  # Register the resource
70
70
  register_resource_controller(config)
71
- parse_registration_block(config, &block) if block_given?
71
+ parse_registration_block(config, &block) if block
72
72
  reset_menu!
73
73
 
74
74
  # Dispatch a registration event
@@ -83,7 +83,7 @@ module ActiveAdmin
83
83
 
84
84
  # Register the resource
85
85
  register_page_controller(config)
86
- parse_page_registration_block(config, &block) if block_given?
86
+ parse_page_registration_block(config, &block) if block
87
87
  reset_menu!
88
88
 
89
89
  config
@@ -141,60 +141,18 @@ module ActiveAdmin
141
141
  end
142
142
  end
143
143
 
144
- # The default logout menu item
145
- #
146
- # @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
147
- # @param [Fixnum] priority The numeric priority for the order in which it appears
148
- # @param [Hash] html_options An options hash to pass along to link_to
149
- #
150
- def add_logout_button_to_menu(menu, priority = 20, html_options = {})
151
- if logout_link_path
152
- html_options = html_options.reverse_merge(method: logout_link_method || :get)
153
- menu.add id: "logout", priority: priority, html_options: html_options,
154
- label: -> { I18n.t "active_admin.logout" },
155
- url: -> { render_or_call_method_or_proc_on self, active_admin_namespace.logout_link_path },
156
- if: :current_active_admin_user?
157
- end
158
- end
159
-
160
- # The default user session menu item
161
- #
162
- # @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
163
- # @param [Fixnum] priority The numeric priority for the order in which it appears
164
- # @param [Hash] html_options An options hash to pass along to link_to
165
- #
166
- def add_current_user_to_menu(menu, priority = 10, html_options = {})
167
- if current_user_method
168
- menu.add id: "current_user", priority: priority, html_options: html_options,
169
- label: -> { display_name current_active_admin_user },
170
- url: -> { auto_url_for(current_active_admin_user) },
171
- if: :current_active_admin_user?
172
- end
173
- end
174
-
175
144
  protected
176
145
 
177
146
  def build_menu_collection
178
147
  @menus = MenuCollection.new
179
148
 
180
149
  @menus.on_build do
181
- build_default_utility_nav
182
-
183
150
  resources.each do |resource|
184
151
  resource.add_to_menu(@menus)
185
152
  end
186
153
  end
187
154
  end
188
155
 
189
- # Builds the default utility navigation in top right header with current user & logout button
190
- def build_default_utility_nav
191
- return if @menus.exists? :utility_navigation
192
- @menus.menu :utility_navigation do |menu|
193
- add_current_user_to_menu menu
194
- add_logout_button_to_menu menu
195
- end
196
- end
197
-
198
156
  # Either returns an existing Resource instance or builds a new one.
199
157
  def find_or_build_resource(resource_class, options)
200
158
  resources.add Resource.new(self, resource_class, options)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/dynamic_settings_node"
2
+ require_relative "dynamic_settings_node"
3
3
 
4
4
  module ActiveAdmin
5
5
  class NamespaceSettings < DynamicSettingsNode
@@ -12,31 +12,6 @@ module ActiveAdmin
12
12
  # The title which gets displayed in the main layout
13
13
  register :site_title, "", :string_symbol_or_proc
14
14
 
15
- # Set the site title link href (defaults to AA dashboard)
16
- register :site_title_link, ""
17
-
18
- # Set the site title image displayed in the main layout (has precendence over :site_title)
19
- register :site_title_image, "", :string_symbol_or_proc
20
-
21
- # Add to the site head
22
- register :head, "", :string_symbol_or_proc
23
-
24
- # Set the site footer text (defaults to Powered by ActiveAdmin text with version)
25
- register :footer, "", :string_symbol_or_proc
26
-
27
- # Set a favicon
28
- register :favicon, false
29
-
30
- # Additional meta tags to place in head of logged in pages
31
- register :meta_tags, {}
32
-
33
- # Additional meta tags to place in head of logged out pages
34
- register :meta_tags_for_logged_out_pages, { robots: "noindex, nofollow" }
35
-
36
- # The view factory to use to generate all the view classes. Take
37
- # a look at ActiveAdmin::ViewFactory
38
- register :view_factory, ActiveAdmin::ViewFactory.new
39
-
40
15
  # The method to call in controllers to get the current user
41
16
  register :current_user_method, false
42
17
 
@@ -48,9 +23,6 @@ module ActiveAdmin
48
23
  # that it's a method to call which returns the path
49
24
  register :logout_link_path, :destroy_admin_user_session_path
50
25
 
51
- # The method to use when generating the link for user logout
52
- register :logout_link_method, :get
53
-
54
26
  # Whether the batch actions are enabled or not
55
27
  register :batch_actions, false
56
28
 
@@ -85,9 +57,6 @@ module ActiveAdmin
85
57
  # A proc to be used when a user is not authorized to view the current resource
86
58
  register :on_unauthorized_access, :rescue_active_admin_access_denied
87
59
 
88
- # A regex to detect unsupported browser, set to false to disable
89
- register :unsupported_browser_matcher, /MSIE [1-8]\.0/
90
-
91
60
  # Whether to display 'Current Filters' on search screen
92
61
  register :current_filters, true
93
62
 
@@ -102,7 +71,8 @@ module ActiveAdmin
102
71
  :utf8, :_method, :authenticity_token, :commit, :id
103
72
  ]
104
73
 
105
- # Set flash message keys that shouldn't show in ActiveAdmin
74
+ # Set flash message keys that shouldn't show in ActiveAdmin.
75
+ # By default, we remove the `timedout` key from Devise.
106
76
  register :flash_keys_to_except, ["timedout"]
107
77
 
108
78
  # Include association filters by default
@@ -120,8 +90,5 @@ module ActiveAdmin
120
90
  :email,
121
91
  ]
122
92
  register :filter_method_for_large_association, "_start"
123
-
124
- # Switch between asset pipeline and webpacker assets
125
- register :use_webpacker, false
126
93
  end
127
94
  end
@@ -29,8 +29,11 @@ module ActiveAdmin
29
29
  end
30
30
 
31
31
  def table_column
32
- (@column =~ /\./) ? @column :
32
+ if (@column.include?('.'))
33
+ @column
34
+ else
33
35
  [table, active_admin_config.resource_quoted_column_name(@column)].compact.join(".")
36
+ end
34
37
  end
35
38
 
36
39
  def sql
@@ -1,75 +1,21 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/views"
3
- require "active_admin/views/components/panel"
2
+ require_relative "../../../../views"
4
3
 
5
4
  module ActiveAdmin
6
5
  module Comments
7
6
  module Views
8
-
9
- class Comments < ActiveAdmin::Views::Panel
7
+ class Comments < Arbre::Element
10
8
  builder_method :active_admin_comments_for
11
9
 
12
- attr_accessor :resource
13
-
14
10
  def build(resource)
15
11
  if authorized?(ActiveAdmin::Auth::READ, ActiveAdmin::Comment)
16
- @resource = resource
17
- @comments = active_admin_authorization.scope_collection(ActiveAdmin::Comment.find_for_resource_in_namespace(resource, active_admin_namespace.name).includes(:author).page(params[:page]))
18
- super(title, for: resource)
19
- build_comments
12
+ comments = active_admin_authorization.scope_collection(ActiveAdmin::Comment.find_for_resource_in_namespace(resource, active_admin_namespace.name).includes(:author).page(params[:page]))
13
+ render("active_admin/shared/resource_comments", resource: resource, comments: comments, comment_form_url: comment_form_url)
20
14
  end
21
15
  end
22
16
 
23
17
  protected
24
18
 
25
- def title
26
- I18n.t "active_admin.comments.title_content", count: @comments.total_count
27
- end
28
-
29
- def build_comments
30
- if @comments.any?
31
- @comments.each(&method(:build_comment))
32
- div page_entries_info(@comments).html_safe, class: "pagination_information"
33
- else
34
- build_empty_message
35
- end
36
-
37
- text_node paginate @comments
38
-
39
- if authorized?(ActiveAdmin::Auth::NEW, ActiveAdmin::Comment)
40
- build_comment_form
41
- end
42
- end
43
-
44
- def build_comment(comment)
45
- div for: comment do
46
- div class: "active_admin_comment_meta" do
47
- h4 class: "active_admin_comment_author" do
48
- comment.author ? auto_link(comment.author) : I18n.t("active_admin.comments.author_missing")
49
- end
50
- span pretty_format comment.created_at
51
- if authorized?(ActiveAdmin::Auth::DESTROY, comment)
52
- text_node link_to I18n.t("active_admin.comments.delete"), comments_url(comment.id), method: :delete, data: { confirm: I18n.t("active_admin.comments.delete_confirmation") }
53
- end
54
- end
55
- div class: "active_admin_comment_body" do
56
- simple_format comment.body
57
- end
58
- end
59
- end
60
-
61
- def build_empty_message
62
- span I18n.t("active_admin.comments.no_comments_yet"), class: "empty"
63
- end
64
-
65
- def comments_url(*args)
66
- parts = []
67
- parts << active_admin_namespace.name unless active_admin_namespace.root?
68
- parts << active_admin_namespace.comments_registration_name.underscore
69
- parts << "path"
70
- send parts.join("_"), *args
71
- end
72
-
73
19
  def comment_form_url
74
20
  parts = []
75
21
  parts << active_admin_namespace.name unless active_admin_namespace.root?
@@ -77,25 +23,7 @@ module ActiveAdmin
77
23
  parts << "path"
78
24
  send parts.join "_"
79
25
  end
80
-
81
- def build_comment_form
82
- active_admin_form_for(ActiveAdmin::Comment.new, url: comment_form_url) do |f|
83
- f.inputs do
84
- f.input :resource_type, as: :hidden, input_html: { value: ActiveAdmin::Comment.resource_type(parent.resource) }
85
- f.input :resource_id, as: :hidden, input_html: { value: parent.resource.id }
86
- f.input :body, label: false, input_html: { size: "80x8" }
87
- end
88
- f.actions do
89
- f.action :submit, label: I18n.t("active_admin.comments.add")
90
- end
91
- end
92
- end
93
-
94
- def default_id_for_prefix
95
- "active_admin_comments_for"
96
- end
97
26
  end
98
-
99
27
  end
100
28
  end
101
29
  end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/views"
3
- require "active_admin/orm/active_record/comments/views/active_admin_comments"
2
+ require_relative "../../../views"
3
+ require_relative "views/active_admin_comments"
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/orm/active_record/comments/views"
3
- require "active_admin/orm/active_record/comments/show_page_helper"
4
- require "active_admin/orm/active_record/comments/namespace_helper"
5
- require "active_admin/orm/active_record/comments/resource_helper"
2
+ require_relative "comments/views"
3
+ require_relative "comments/namespace_helper"
4
+ require_relative "comments/resource_helper"
6
5
 
7
6
  # Add the comments configuration
8
7
  ActiveAdmin::Application.inheritable_setting :comments, true
@@ -13,7 +12,6 @@ ActiveAdmin::Application.inheritable_setting :comments_menu, {}
13
12
  # Insert helper modules
14
13
  ActiveAdmin::Namespace.send :include, ActiveAdmin::Comments::NamespaceHelper
15
14
  ActiveAdmin::Resource.send :include, ActiveAdmin::Comments::ResourceHelper
16
- ActiveAdmin.application.view_factory.show_page.send :include, ActiveAdmin::Comments::ShowPageHelper
17
15
 
18
16
  # Load the model as soon as it's referenced. By that point, Rails & Kaminari will be ready
19
17
  ActiveAdmin.autoload :Comment, "active_admin/orm/active_record/comments/comment"
@@ -77,6 +75,11 @@ ActiveAdmin.after_load do |app|
77
75
  def destroy
78
76
  destroy! do |success, failure|
79
77
  success.html do
78
+ # If deleting from the Comments resource page then this will fail, as redirecting back
79
+ # will be to the comment show page, but comment was deleted. The following can be used
80
+ # to alleviate that, but then deleting comments on commentable resource pages will
81
+ # redirect to the comments index which may be undesirable.
82
+ # redirect_to({ action: :index }, fallback_location: active_admin_root)
80
83
  redirect_back fallback_location: active_admin_root
81
84
  end
82
85
  failure.html do
@@ -90,11 +93,13 @@ ActiveAdmin.after_load do |app|
90
93
 
91
94
  index do
92
95
  column I18n.t("active_admin.comments.resource_type"), :resource_type
96
+ column I18n.t("active_admin.comments.resource"), :resource, class: "min-w-[7rem]"
93
97
  column I18n.t("active_admin.comments.author_type"), :author_type
94
- column I18n.t("active_admin.comments.resource"), :resource
95
98
  column I18n.t("active_admin.comments.author"), :author
96
- column I18n.t("active_admin.comments.body"), :body
97
- column I18n.t("active_admin.comments.created_at"), :created_at
99
+ column I18n.t("active_admin.comments.body"), :body, class: "min-w-[16rem]" do |comment|
100
+ truncate(comment.body, length: 60, separator: " ")
101
+ end
102
+ column I18n.t("active_admin.comments.created_at"), :created_at, class: "min-w-[13rem]"
98
103
  actions
99
104
  end
100
105
  end
@@ -3,4 +3,4 @@
3
3
 
4
4
  ActiveAdmin::DatabaseHitDuringLoad.database_error_classes << ActiveRecord::StatementInvalid
5
5
 
6
- require "active_admin/orm/active_record/comments"
6
+ require_relative "active_record/comments"
@@ -19,11 +19,11 @@ module ActiveAdmin
19
19
  end
20
20
 
21
21
  def scope_collection(collection, action = Auth::READ)
22
- # scoping is appliable only to read/index action
22
+ # scoping is applicable only to read/index action
23
23
  # which means there is no way how to scope other actions
24
24
  Pundit.policy_scope!(user, namespace(collection))
25
25
  rescue Pundit::NotDefinedError => e
26
- if default_policy_class && default_policy_class.const_defined?(:Scope)
26
+ if default_policy_class&.const_defined?(:Scope)
27
27
  default_policy_class::Scope.new(user, collection).resolve
28
28
  else
29
29
  raise e
@@ -95,7 +95,7 @@ module ActiveAdmin
95
95
  end
96
96
 
97
97
  def default_policy_class
98
- ActiveAdmin.application.pundit_default_policy && ActiveAdmin.application.pundit_default_policy.constantize
98
+ ActiveAdmin.application.pundit_default_policy&.constantize
99
99
  end
100
100
 
101
101
  def default_policy(subject)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/helpers/optional_display"
2
+ require_relative "../helpers/optional_display"
3
3
 
4
4
  module ActiveAdmin
5
5
 
@@ -59,37 +59,36 @@ module ActiveAdmin
59
59
  def add_default_action_items
60
60
  add_default_new_action_item
61
61
  add_default_edit_action_item
62
- add_default_show_action_item
62
+ add_default_destroy_action_item
63
63
  end
64
64
 
65
65
  # Adds the default New link on index
66
66
  def add_default_new_action_item
67
- add_action_item :new, only: :index do
68
- if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::NEW, active_admin_config.resource_class)
69
- localizer = ActiveAdmin::Localizers.resource(active_admin_config)
70
- link_to localizer.t(:new_model), new_resource_path
71
- end
67
+ add_action_item :new, only: :index, if: -> { new_action_authorized?(active_admin_config.resource_class) } do
68
+ localizer = ActiveAdmin::Localizers.resource(active_admin_config)
69
+ link_to localizer.t(:new_model), new_resource_path, class: "action-item-button"
72
70
  end
73
71
  end
74
72
 
75
73
  # Adds the default Edit link on show
76
74
  def add_default_edit_action_item
77
- add_action_item :edit, only: :show do
78
- if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::EDIT, resource)
79
- localizer = ActiveAdmin::Localizers.resource(active_admin_config)
80
- link_to localizer.t(:edit_model), edit_resource_path(resource)
81
- end
75
+ add_action_item :edit, only: :show, if: -> { edit_action_authorized?(resource) } do
76
+ localizer = ActiveAdmin::Localizers.resource(active_admin_config)
77
+ link_to localizer.t(:edit_model), edit_resource_path(resource), class: "action-item-button"
82
78
  end
83
79
  end
84
80
 
85
81
  # Adds the default Destroy link on show
86
- def add_default_show_action_item
87
- add_action_item :destroy, only: :show do
88
- if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
89
- localizer = ActiveAdmin::Localizers.resource(active_admin_config)
90
- link_to localizer.t(:delete_model), resource_path(resource), method: :delete,
91
- data: { confirm: localizer.t(:delete_confirmation) }
92
- end
82
+ def add_default_destroy_action_item
83
+ add_action_item :destroy, only: :show, if: -> { destroy_action_authorized?(resource) } do
84
+ localizer = ActiveAdmin::Localizers.resource(active_admin_config)
85
+ link_to(
86
+ localizer.t(:delete_model),
87
+ resource_path(resource),
88
+ class: "action-item-button",
89
+ method: :delete,
90
+ data: { confirm: localizer.t(:delete_confirmation) }
91
+ )
93
92
  end
94
93
  end
95
94
 
@@ -109,10 +108,6 @@ module ActiveAdmin
109
108
  normalize_display_options!
110
109
  end
111
110
 
112
- def html_class
113
- "action_item #{@options[:class]}".rstrip
114
- end
115
-
116
111
  def priority
117
112
  @options[:priority] || 10
118
113
  end
@@ -5,7 +5,7 @@ module ActiveAdmin
5
5
  module Naming
6
6
  def resource_name
7
7
  @resource_name ||= begin
8
- as = @options[:as].gsub /\s/, "" if @options[:as]
8
+ as = @options[:as].gsub(/\s/, "") if @options[:as]
9
9
 
10
10
  if as || !resource_class.respond_to?(:model_name)
11
11
  Name.new resource_class, as
@@ -23,8 +23,7 @@ module ActiveAdmin
23
23
 
24
24
  # Returns the plural version of this resource such as "Bank Accounts"
25
25
  def plural_resource_label(options = {})
26
- defaults = { count: Helpers::I18n::PLURAL_MANY_COUNT,
27
- default: resource_label.pluralize.titleize }
26
+ defaults = { count: 2.1, default: resource_label.pluralize.titleize }
28
27
  resource_name.translate defaults.merge options
29
28
  end
30
29
 
@@ -51,7 +51,7 @@ module ActiveAdmin
51
51
  # Stores a config for all index actions supplied
52
52
  #
53
53
  # @param [Symbol] index_as The index type to store in the configuration
54
- # @param [PagePresenter] page_presenter The intance of PagePresenter to store
54
+ # @param [PagePresenter] page_presenter The instance of PagePresenter to store
55
55
  def set_index_presenter(index_as, page_presenter)
56
56
  page_presenters[:index] ||= {}
57
57
 
@@ -64,7 +64,7 @@ module ActiveAdmin
64
64
  page_presenters[:index][index_as] = page_presenter
65
65
  end
66
66
 
67
- # Returns the actual class for renderering the main content on the index
67
+ # Returns the actual class for rendering the main content on the index
68
68
  # page. To set this, use the :as option in the page_presenter block.
69
69
  #
70
70
  # @param [Symbol, Class] symbol_or_class The component symbol or class
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/helpers/optional_display"
2
+ require_relative "../helpers/optional_display"
3
3
 
4
4
  module ActiveAdmin
5
5
 
@@ -1,19 +1,20 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/resource/action_items"
3
- require "active_admin/resource/attributes"
4
- require "active_admin/resource/controllers"
5
- require "active_admin/resource/menu"
6
- require "active_admin/resource/page_presenters"
7
- require "active_admin/resource/pagination"
8
- require "active_admin/resource/routes"
9
- require "active_admin/resource/naming"
10
- require "active_admin/resource/scopes"
11
- require "active_admin/resource/includes"
12
- require "active_admin/resource/scope_to"
13
- require "active_admin/resource/sidebars"
14
- require "active_admin/resource/belongs_to"
15
- require "active_admin/resource/ordering"
16
- require "active_admin/resource/model"
2
+ require_relative "view_helpers/method_or_proc_helper"
3
+ require_relative "resource/action_items"
4
+ require_relative "resource/attributes"
5
+ require_relative "resource/controllers"
6
+ require_relative "resource/menu"
7
+ require_relative "resource/page_presenters"
8
+ require_relative "resource/pagination"
9
+ require_relative "resource/routes"
10
+ require_relative "resource/naming"
11
+ require_relative "resource/scopes"
12
+ require_relative "resource/includes"
13
+ require_relative "resource/scope_to"
14
+ require_relative "resource/sidebars"
15
+ require_relative "resource/belongs_to"
16
+ require_relative "resource/ordering"
17
+ require_relative "resource/model"
17
18
 
18
19
  module ActiveAdmin
19
20
 
@@ -176,7 +177,7 @@ module ActiveAdmin
176
177
  end
177
178
 
178
179
  def find_resource(id)
179
- resource = resource_class.public_send *method_for_find(id)
180
+ resource = resource_class.public_send(*method_for_find(id))
180
181
  (decorator_class && resource) ? decorator_class.new(resource) : resource
181
182
  end
182
183
 
@@ -22,7 +22,7 @@ module ActiveAdmin
22
22
 
23
23
  # Changes `each` to pass in the value, instead of both the key and value.
24
24
  def each(&block)
25
- values.each &block
25
+ values.each(&block)
26
26
  end
27
27
 
28
28
  def [](obj)
@@ -40,7 +40,7 @@ module ActiveAdmin
40
40
 
41
41
  # Store relations that should be included
42
42
  def includes(*args)
43
- config.includes.push *args
43
+ config.includes.push(*args)
44
44
  end
45
45
 
46
46
  #
@@ -192,8 +192,8 @@ module ActiveAdmin
192
192
  delegate :before_destroy, :after_destroy, to: :controller
193
193
 
194
194
  standard_rails_filters =
195
- AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.match(/_action\z/) }
196
- delegate *standard_rails_filters, to: :controller
195
+ AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.end_with?('_action') }
196
+ delegate(*standard_rails_filters, to: :controller)
197
197
 
198
198
  # Specify which actions to create in the controller
199
199
  #
@@ -14,6 +14,12 @@ module ActiveAdmin
14
14
  # Scope.new('Published', :public)
15
15
  # # => Scope with name 'Published' and scope method :public
16
16
  #
17
+ # Scope.new(:published, show_count: :async)
18
+ # # => Scope with name 'Published' that queries its count asynchronously
19
+ #
20
+ # Scope.new(:published, show_count: false)
21
+ # # => Scope with name 'Published' that does not display a count
22
+ #
17
23
  # Scope.new 'Published', :public, if: proc { current_admin_user.can? :manage, resource_class } do |articles|
18
24
  # articles.where published: true
19
25
  # end
@@ -41,7 +47,7 @@ module ActiveAdmin
41
47
  end
42
48
 
43
49
  @scope_method = nil if @scope_method == :all
44
- if block_given?
50
+ if block
45
51
  @scope_method = nil
46
52
  @scope_block = block
47
53
  end
@@ -61,5 +67,9 @@ module ActiveAdmin
61
67
  end
62
68
  end
63
69
 
70
+ def async_count?
71
+ @show_count == :async
72
+ end
73
+
64
74
  end
65
75
  end
@@ -13,7 +13,7 @@ module ActiveAdmin
13
13
 
14
14
  def register(name, value)
15
15
  class_attribute name
16
- send "#{name}=", value
16
+ send :"#{name}=", value
17
17
  end
18
18
  end
19
19
  end
@@ -18,11 +18,6 @@ module ActiveAdmin
18
18
  "#{name.downcase.underscore}_sidebar_section".parameterize
19
19
  end
20
20
 
21
- # The title gets displayed within the section in the view
22
- def title
23
- I18n.t("active_admin.sidebars.#{name}", default: name.titlecase)
24
- end
25
-
26
21
  # If a block is not passed in, the name of the partial to render
27
22
  def partial_name
28
23
  options[:partial] || "#{name.downcase.tr(' ', '_')}_sidebar"
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveAdmin
3
- VERSION = "3.4.0"
3
+ VERSION = "4.0.0.beta18"
4
4
  end
@@ -91,7 +91,7 @@ module MethodOrProcHelper
91
91
  context = self if context.nil? # default to `self` only when nil
92
92
  case obj
93
93
  when Proc
94
- context.instance_exec *args, &obj
94
+ context.instance_exec(*args, &obj)
95
95
  when Symbol
96
96
  context.public_send obj, *args
97
97
  else
@@ -1,21 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  module ActiveAdmin
3
3
  module ViewHelpers
4
-
5
4
  # Require all ruby files in the view helpers dir
6
5
  Dir[File.expand_path("view_helpers", __dir__) + "/*.rb"].each { |f| require f }
7
6
 
8
- include ActiveAdminApplicationHelper
9
- include AutoLinkHelper
10
- include BreadcrumbHelper
11
- include DisplayHelper
12
7
  include MethodOrProcHelper
13
- include SidebarHelper
14
- include FormHelper
15
- include TitleHelper
16
- include ViewFactoryHelper
17
- include FlashHelper
18
- include ScopeNameHelper
19
-
20
8
  end
21
9
  end