activeadmin 3.2.0 → 4.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (339) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -22
  3. data/CONTRIBUTING.md +28 -109
  4. data/README.md +17 -30
  5. data/app/assets/config/active_admin_manifest.js +2 -0
  6. data/app/controllers/active_admin/base_controller/menu.rb +39 -0
  7. data/{lib → app/controllers}/active_admin/base_controller.rb +46 -18
  8. data/{lib → app/controllers}/active_admin/page_controller.rb +0 -4
  9. data/{lib → app/controllers}/active_admin/resource_controller/action_builder.rb +1 -1
  10. data/{lib → app/controllers}/active_admin/resource_controller/data_access.rb +2 -2
  11. data/{lib → app/controllers}/active_admin/resource_controller/scoping.rb +1 -1
  12. data/{lib → app/controllers}/active_admin/resource_controller/streaming.rb +2 -2
  13. data/app/controllers/active_admin/resource_controller.rb +102 -0
  14. data/app/helpers/active_admin/auto_link_helper.rb +66 -0
  15. data/app/helpers/active_admin/breadcrumb_helper.rb +41 -0
  16. data/app/helpers/active_admin/display_helper.rb +117 -0
  17. data/app/helpers/active_admin/form_helper.rb +95 -0
  18. data/app/helpers/active_admin/index_helper.rb +40 -0
  19. data/app/helpers/active_admin/layout_helper.rb +63 -0
  20. data/app/javascript/active_admin/features/batch_actions.js +89 -0
  21. data/app/javascript/active_admin/features/dark_mode_toggle.js +37 -0
  22. data/app/javascript/active_admin/features/filters.js +34 -0
  23. data/app/javascript/active_admin/features/has_many.js +28 -0
  24. data/app/javascript/active_admin/features/main_menu.js +12 -0
  25. data/app/javascript/active_admin/features/per_page.js +9 -0
  26. data/app/javascript/active_admin/utils/dom.js +17 -0
  27. data/app/javascript/active_admin.js +10 -0
  28. data/app/views/active_admin/_flash_messages.html.erb +22 -0
  29. data/app/views/active_admin/_html_head.html.erb +13 -0
  30. data/app/views/active_admin/_main_navigation.html.erb +28 -0
  31. data/app/views/active_admin/_page_header.html.erb +27 -0
  32. data/app/views/active_admin/_sidebar.html.erb +5 -0
  33. data/app/views/active_admin/_site_footer.html.erb +7 -0
  34. data/app/views/active_admin/_site_header.html.erb +30 -0
  35. data/app/views/active_admin/devise/confirmations/new.html.erb +5 -3
  36. data/app/views/active_admin/devise/passwords/edit.html.erb +5 -3
  37. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  38. data/app/views/active_admin/devise/registrations/new.html.erb +6 -4
  39. data/app/views/active_admin/devise/sessions/new.html.erb +6 -4
  40. data/app/views/active_admin/devise/shared/_links.erb +3 -1
  41. data/app/views/active_admin/devise/unlocks/new.html.erb +6 -4
  42. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_gap.html.erb +3 -1
  43. data/app/views/active_admin/kaminari/_next_page.html.erb +16 -0
  44. data/app/views/active_admin/kaminari/_page.html.erb +14 -0
  45. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_paginator.html.erb +1 -2
  46. data/app/views/active_admin/kaminari/_prev_page.html.erb +16 -0
  47. data/app/views/active_admin/page/index.html.arb +5 -1
  48. data/app/views/active_admin/resource/_active_filters.html.erb +32 -0
  49. data/app/views/active_admin/resource/_batch_actions_dropdown.html.erb +19 -0
  50. data/app/views/active_admin/resource/_form.html.arb +16 -0
  51. data/app/views/active_admin/resource/_form_default.html.arb +12 -0
  52. data/app/views/active_admin/resource/_index_as_table_default.html.arb +9 -0
  53. data/app/views/active_admin/resource/_index_blank_slate.html.erb +14 -0
  54. data/app/views/active_admin/resource/_index_empty_results.html.erb +5 -0
  55. data/app/views/active_admin/resource/_index_table_actions_default.html.erb +9 -0
  56. data/app/views/active_admin/resource/_show_default.html.arb +3 -0
  57. data/app/views/active_admin/resource/edit.html.arb +1 -1
  58. data/app/views/active_admin/resource/index.html.arb +94 -1
  59. data/app/views/active_admin/resource/new.html.arb +1 -1
  60. data/app/views/active_admin/resource/show.html.arb +12 -1
  61. data/app/views/active_admin/shared/_action_items.html.erb +3 -0
  62. data/app/views/active_admin/shared/_download_format_links.html.erb +7 -0
  63. data/app/views/active_admin/shared/_resource_comments.html.erb +51 -0
  64. data/app/views/active_admin/shared/_sidebar_section.html.arb +7 -0
  65. data/app/views/active_admin/shared/_sidebar_sections.html.erb +5 -0
  66. data/app/views/layouts/active_admin.html.erb +20 -0
  67. data/app/views/layouts/active_admin_logged_out.html.erb +8 -45
  68. data/config/locales/ar.yml +0 -16
  69. data/config/locales/az.yml +0 -16
  70. data/config/locales/bg.yml +0 -9
  71. data/config/locales/bs.yml +0 -7
  72. data/config/locales/ca.yml +0 -9
  73. data/config/locales/cs.yml +0 -9
  74. data/config/locales/da.yml +0 -16
  75. data/config/locales/de-CH.yml +0 -10
  76. data/config/locales/de.yml +0 -16
  77. data/config/locales/el.yml +0 -13
  78. data/config/locales/en-CA.yml +0 -16
  79. data/config/locales/en-GB.yml +0 -16
  80. data/config/locales/en.yml +18 -28
  81. data/config/locales/eo.yml +0 -17
  82. data/config/locales/es-MX.yml +0 -9
  83. data/config/locales/es.yml +0 -16
  84. data/config/locales/fa.yml +0 -9
  85. data/config/locales/fi.yml +0 -9
  86. data/config/locales/fr.yml +32 -26
  87. data/config/locales/he.yml +0 -16
  88. data/config/locales/hr.yml +0 -9
  89. data/config/locales/hu.yml +0 -6
  90. data/config/locales/id.yml +0 -16
  91. data/config/locales/it.yml +0 -16
  92. data/config/locales/ja.yml +0 -16
  93. data/config/locales/ko.yml +0 -9
  94. data/config/locales/lt.yml +0 -16
  95. data/config/locales/lv.yml +0 -6
  96. data/config/locales/mk.yml +0 -15
  97. data/config/locales/nb.yml +0 -12
  98. data/config/locales/nl.yml +21 -29
  99. data/config/locales/pl.yml +0 -16
  100. data/config/locales/pt-BR.yml +0 -16
  101. data/config/locales/pt-PT.yml +0 -6
  102. data/config/locales/ro.yml +0 -6
  103. data/config/locales/ru.yml +0 -16
  104. data/config/locales/sk.yml +0 -16
  105. data/config/locales/sv-SE.yml +0 -16
  106. data/config/locales/tr.yml +0 -16
  107. data/config/locales/uk.yml +0 -16
  108. data/config/locales/vi.yml +0 -16
  109. data/config/locales/zh-CN.yml +0 -16
  110. data/config/locales/zh-TW.yml +0 -16
  111. data/lib/active_admin/application.rb +1 -9
  112. data/lib/active_admin/batch_actions/controller.rb +1 -4
  113. data/lib/active_admin/batch_actions/resource_extension.rb +6 -13
  114. data/lib/active_admin/batch_actions/views/batch_action_form.rb +0 -6
  115. data/lib/active_admin/batch_actions/views/selection_cells.rb +2 -2
  116. data/lib/active_admin/batch_actions.rb +0 -5
  117. data/lib/active_admin/callbacks.rb +6 -4
  118. data/lib/active_admin/component.rb +0 -1
  119. data/lib/active_admin/csv_builder.rb +1 -1
  120. data/lib/active_admin/devise.rb +3 -3
  121. data/lib/active_admin/dsl.rb +2 -2
  122. data/lib/active_admin/dynamic_settings_node.rb +4 -4
  123. data/lib/active_admin/engine.rb +19 -6
  124. data/lib/active_admin/filters/active.rb +6 -4
  125. data/lib/active_admin/filters/active_filter.rb +1 -3
  126. data/lib/active_admin/filters/forms.rb +1 -42
  127. data/lib/active_admin/filters/resource_extension.rb +17 -9
  128. data/lib/active_admin/filters.rb +0 -2
  129. data/lib/active_admin/form_builder.rb +15 -14
  130. data/lib/active_admin/inputs/filters/base/search_method_select.rb +8 -10
  131. data/lib/active_admin/inputs/filters/base.rb +1 -1
  132. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -6
  133. data/lib/active_admin/inputs/filters/date_range_input.rb +4 -2
  134. data/lib/active_admin/inputs.rb +0 -3
  135. data/lib/active_admin/menu.rb +10 -7
  136. data/lib/active_admin/menu_collection.rb +1 -1
  137. data/lib/active_admin/menu_item.rb +24 -3
  138. data/lib/active_admin/namespace.rb +2 -44
  139. data/lib/active_admin/namespace_settings.rb +2 -35
  140. data/lib/active_admin/order_clause.rb +4 -1
  141. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +3 -75
  142. data/lib/active_admin/orm/active_record/comments.rb +10 -5
  143. data/lib/active_admin/resource/action_items.rb +15 -20
  144. data/lib/active_admin/resource/naming.rb +1 -2
  145. data/lib/active_admin/resource.rb +1 -0
  146. data/lib/active_admin/resource_dsl.rb +1 -1
  147. data/lib/active_admin/scope.rb +1 -1
  148. data/lib/active_admin/settings_node.rb +1 -1
  149. data/lib/active_admin/sidebar_section.rb +0 -5
  150. data/lib/active_admin/version.rb +1 -1
  151. data/lib/active_admin/view_helpers.rb +0 -12
  152. data/lib/active_admin/views/components/active_admin_form.rb +20 -16
  153. data/lib/active_admin/views/components/attributes_table.rb +4 -12
  154. data/lib/active_admin/views/components/index_list.rb +10 -23
  155. data/lib/active_admin/views/components/paginated_collection.rb +34 -39
  156. data/lib/active_admin/views/components/panel.rb +2 -10
  157. data/lib/active_admin/views/components/scopes.rb +12 -21
  158. data/lib/active_admin/views/components/status_tag.rb +22 -19
  159. data/lib/active_admin/views/components/table_for.rb +19 -24
  160. data/lib/active_admin/views/components/tabs.rb +10 -11
  161. data/lib/active_admin/views/index_as_table.rb +24 -97
  162. data/lib/active_admin.rb +7 -11
  163. data/lib/generators/active_admin/assets/assets_generator.rb +4 -4
  164. data/lib/generators/active_admin/assets/templates/active_admin.css +3 -0
  165. data/lib/generators/active_admin/assets/templates/tailwind.config.js +18 -0
  166. data/lib/generators/active_admin/install/install_generator.rb +2 -8
  167. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +10 -87
  168. data/lib/generators/active_admin/install/templates/dashboard.rb +8 -25
  169. data/lib/generators/active_admin/page/page_generator.rb +0 -1
  170. data/lib/generators/active_admin/resource/resource_generator.rb +46 -7
  171. data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
  172. data/lib/generators/active_admin/views_generator.rb +18 -0
  173. data/vendor/javascript/flowbite.js +2 -0
  174. metadata +68 -201
  175. data/app/assets/javascripts/active_admin/base.js +0 -521
  176. data/app/assets/stylesheets/active_admin/_base.scss +0 -57
  177. data/app/assets/stylesheets/active_admin/_forms.scss +0 -316
  178. data/app/assets/stylesheets/active_admin/_header.scss +0 -188
  179. data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
  180. data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
  181. data/app/assets/stylesheets/active_admin/_print.scss +0 -287
  182. data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
  183. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
  184. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
  185. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
  186. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
  187. data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
  188. data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
  189. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
  190. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -151
  191. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
  192. data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
  193. data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
  194. data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
  195. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
  196. data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -55
  197. data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
  198. data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
  199. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
  200. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -67
  201. data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
  202. data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -65
  203. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
  204. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
  205. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
  206. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
  207. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
  208. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
  209. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
  210. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
  211. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
  212. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
  213. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
  214. data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
  215. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
  216. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -40
  217. data/app/javascript/active_admin/base.js +0 -28
  218. data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
  219. data/app/javascript/active_admin/ext/jquery.js +0 -9
  220. data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
  221. data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
  222. data/app/javascript/active_admin/initializers/datepicker.js +0 -16
  223. data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
  224. data/app/javascript/active_admin/initializers/filters.js +0 -10
  225. data/app/javascript/active_admin/initializers/has-many.js +0 -98
  226. data/app/javascript/active_admin/initializers/per-page.js +0 -13
  227. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
  228. data/app/javascript/active_admin/initializers/tabs.js +0 -6
  229. data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
  230. data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
  231. data/app/javascript/active_admin/lib/filters.js +0 -39
  232. data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
  233. data/app/javascript/active_admin/lib/per-page.js +0 -38
  234. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
  235. data/app/javascript/active_admin/lib/utils.js +0 -40
  236. data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
  237. data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
  238. data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
  239. data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
  240. data/app/views/kaminari/active_admin/_page.html.erb +0 -12
  241. data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
  242. data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
  243. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
  244. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
  245. data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
  246. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
  247. data/app/views/layouts/active_admin.html.arb +0 -2
  248. data/lib/active_admin/abstract_view_factory.rb +0 -48
  249. data/lib/active_admin/asset_registration.rb +0 -30
  250. data/lib/active_admin/base_controller/menu.rb +0 -35
  251. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
  252. data/lib/active_admin/filters/active_sidebar.rb +0 -28
  253. data/lib/active_admin/generators/boilerplate.rb +0 -54
  254. data/lib/active_admin/helpers/collection.rb +0 -21
  255. data/lib/active_admin/helpers/i18n.rb +0 -8
  256. data/lib/active_admin/inputs/datepicker_input.rb +0 -28
  257. data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
  258. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
  259. data/lib/active_admin/orm/mongoid.rb +0 -2
  260. data/lib/active_admin/resource_controller/sidebars.rb +0 -19
  261. data/lib/active_admin/resource_controller.rb +0 -68
  262. data/lib/active_admin/view_factory.rb +0 -28
  263. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
  264. data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
  265. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
  266. data/lib/active_admin/view_helpers/display_helper.rb +0 -119
  267. data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
  268. data/lib/active_admin/view_helpers/fields_for.rb +0 -51
  269. data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
  270. data/lib/active_admin/view_helpers/form_helper.rb +0 -21
  271. data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
  272. data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
  273. data/lib/active_admin/view_helpers/title_helper.rb +0 -12
  274. data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
  275. data/lib/active_admin/views/action_items.rb +0 -18
  276. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
  277. data/lib/active_admin/views/components/blank_slate.rb +0 -18
  278. data/lib/active_admin/views/components/columns.rb +0 -162
  279. data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
  280. data/lib/active_admin/views/components/menu.rb +0 -33
  281. data/lib/active_admin/views/components/menu_item.rb +0 -59
  282. data/lib/active_admin/views/components/sidebar.rb +0 -14
  283. data/lib/active_admin/views/components/sidebar_section.rb +0 -35
  284. data/lib/active_admin/views/components/site_title.rb +0 -55
  285. data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
  286. data/lib/active_admin/views/footer.rb +0 -32
  287. data/lib/active_admin/views/header.rb +0 -20
  288. data/lib/active_admin/views/index_as_block.rb +0 -37
  289. data/lib/active_admin/views/index_as_blog.rb +0 -156
  290. data/lib/active_admin/views/index_as_grid.rb +0 -81
  291. data/lib/active_admin/views/pages/base.rb +0 -134
  292. data/lib/active_admin/views/pages/form.rb +0 -65
  293. data/lib/active_admin/views/pages/index.rb +0 -166
  294. data/lib/active_admin/views/pages/layout.rb +0 -27
  295. data/lib/active_admin/views/pages/page.rb +0 -31
  296. data/lib/active_admin/views/pages/show.rb +0 -60
  297. data/lib/active_admin/views/tabbed_navigation.rb +0 -12
  298. data/lib/active_admin/views/title_bar.rb +0 -56
  299. data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
  300. data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
  301. data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
  302. data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
  303. data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
  304. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
  305. data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
  306. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
  307. data/vendor/assets/javascripts/jquery-ui/data.js +0 -41
  308. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -48
  309. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
  310. data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -86
  311. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -80
  312. data/vendor/assets/javascripts/jquery-ui/form.js +0 -22
  313. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -17
  314. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -47
  315. data/vendor/assets/javascripts/jquery-ui/labels.js +0 -65
  316. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -46
  317. data/vendor/assets/javascripts/jquery-ui/position.js +0 -500
  318. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -42
  319. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -23
  320. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -47
  321. data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -38
  322. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -51
  323. data/vendor/assets/javascripts/jquery-ui/version.js +0 -17
  324. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -735
  325. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -391
  326. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -291
  327. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -300
  328. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2123
  329. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -954
  330. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1259
  331. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -230
  332. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1207
  333. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1561
  334. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  335. /data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +0 -0
  336. /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
  337. /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
  338. /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
  339. /data/lib/{active_admin/orm/mongoid/.gitkeep → generators/active_admin/assets/templates/builds/.keep} +0 -0
@@ -1,75 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
  require "active_admin/views"
3
- require "active_admin/views/components/panel"
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,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  require "active_admin/orm/active_record/comments/views"
3
- require "active_admin/orm/active_record/comments/show_page_helper"
4
3
  require "active_admin/orm/active_record/comments/namespace_helper"
5
4
  require "active_admin/orm/active_record/comments/resource_helper"
6
5
 
@@ -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
@@ -64,32 +64,31 @@ module ActiveAdmin
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
82
  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
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
@@ -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
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ require "active_admin/view_helpers/method_or_proc_helper"
2
3
  require "active_admin/resource/action_items"
3
4
  require "active_admin/resource/attributes"
4
5
  require "active_admin/resource/controllers"
@@ -192,7 +192,7 @@ 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/) }
195
+ AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.end_with?('_action') }
196
196
  delegate *standard_rails_filters, to: :controller
197
197
 
198
198
  # Specify which actions to create in the controller
@@ -41,7 +41,7 @@ module ActiveAdmin
41
41
  end
42
42
 
43
43
  @scope_method = nil if @scope_method == :all
44
- if block_given?
44
+ if block
45
45
  @scope_method = nil
46
46
  @scope_block = block
47
47
  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.2.0"
3
+ VERSION = "4.0.0.beta2"
4
4
  end
@@ -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
@@ -33,20 +33,20 @@ module ActiveAdmin
33
33
  end
34
34
 
35
35
  @opening_tag, @closing_tag = split_string_on(form_string, "</form>")
36
- instance_eval(&block) if block_given?
36
+ instance_eval(&block) if block
37
37
 
38
38
  # Rails sets multipart automatically if a file field is present,
39
39
  # but the form tag has already been rendered before the block eval.
40
- if multipart? && @opening_tag !~ /multipart/
40
+ if multipart? && !@opening_tag.include?('multipart')
41
41
  @opening_tag.sub!(/<form/, '<form enctype="multipart/form-data"')
42
42
  end
43
43
  end
44
44
 
45
45
  def inputs(*args, &block)
46
- if block_given?
46
+ if block
47
47
  form_builder.template.assigns[:has_many_block] = true
48
48
  end
49
- if block_given? && block.arity == 0
49
+ if block && block.arity == 0
50
50
  wrapped_block = proc do
51
51
  wrap_it = form_builder.already_in_an_inputs_block ? true : false
52
52
  form_builder.already_in_an_inputs_block = true
@@ -73,13 +73,15 @@ module ActiveAdmin
73
73
  end
74
74
 
75
75
  def actions(*args, &block)
76
- block_given? ?
77
- insert_tag(SemanticActionsProxy, form_builder, *args, &block) :
76
+ if block
77
+ insert_tag(SemanticActionsProxy, form_builder, *args, &block)
78
+ else
79
+ add_create_another_checkbox
78
80
  actions(*args) { commit_action_with_cancel_link }
81
+ end
79
82
  end
80
83
 
81
84
  def commit_action_with_cancel_link
82
- add_create_another_checkbox
83
85
  action(:submit)
84
86
  cancel_link
85
87
  end
@@ -108,14 +110,16 @@ module ActiveAdmin
108
110
  create_another = params[:create_another]
109
111
  label = @resource.class.model_name.human
110
112
  Arbre::Context.new do
111
- li class: "create_another" do
112
- input(
113
- checked: create_another,
114
- id: "create_another",
115
- name: "create_another",
116
- type: "checkbox"
117
- )
118
- label(I18n.t("active_admin.create_another", model: label), for: "create_another")
113
+ div class: "boolean input input-create-another" do
114
+ label for: "create_another" do
115
+ input(
116
+ checked: create_another,
117
+ id: "create_another",
118
+ name: "create_another",
119
+ type: "checkbox"
120
+ )
121
+ text_node I18n.t("active_admin.create_another", model: label)
122
+ end
119
123
  end
120
124
  end
121
125
  end
@@ -127,7 +131,7 @@ module ActiveAdmin
127
131
  html_options[:class] ||= "inputs"
128
132
  legend = args.shift if args.first.is_a?(::String)
129
133
  legend = html_options.delete(:name) if html_options.key?(:name)
130
- legend_tag = legend ? "<legend><span>#{legend}</span></legend>" : ""
134
+ legend_tag = legend ? "<legend class=\"fieldset-title\">#{legend}</legend>" : ""
131
135
  fieldset_attrs = html_options.map { |k, v| %Q{#{k}="#{v}"} }.join(" ")
132
136
  @opening_tag = "<fieldset #{fieldset_attrs}>#{legend_tag}<ol>"
133
137
  @closing_tag = "</ol></fieldset>"
@@ -11,6 +11,7 @@ module ActiveAdmin
11
11
  options = {}
12
12
  options[:for] = @collection.first if single_record?
13
13
  super(options)
14
+ add_class "attributes-table"
14
15
  @table = table
15
16
  build_colgroups
16
17
  rows(*attrs)
@@ -23,13 +24,7 @@ module ActiveAdmin
23
24
  def row(*args, &block)
24
25
  title = args[0]
25
26
  options = args.extract_options!
26
- classes = [:row]
27
- if options[:class]
28
- classes << options[:class]
29
- elsif title.present?
30
- classes << "row-#{title.to_s.parameterize(separator: "_")}"
31
- end
32
- options[:class] = classes.join(" ")
27
+ options["data-row"] = title.to_s.parameterize(separator: "_") if title.present?
33
28
 
34
29
  @table << tr(options) do
35
30
  th do
@@ -59,10 +54,7 @@ module ActiveAdmin
59
54
  within @table do
60
55
  col # column for row headers
61
56
  @collection.each do |record|
62
- classes = Arbre::HTML::ClassList.new
63
- classes << cycle(:even, :odd, name: self.class.to_s)
64
- classes << dom_class_name_for(record)
65
- col(id: dom_id_for(record), class: classes)
57
+ col(id: dom_id_for(record))
66
58
  end
67
59
  end
68
60
  end
@@ -76,7 +68,7 @@ module ActiveAdmin
76
68
  end
77
69
 
78
70
  def empty_value
79
- span I18n.t("active_admin.empty"), class: "empty"
71
+ span I18n.t("active_admin.empty"), class: "attributes-table-empty-value"
80
72
  end
81
73
 
82
74
  def content_for(record, attr)
@@ -1,28 +1,18 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/helpers/collection"
3
-
4
2
  module ActiveAdmin
5
3
  module Views
6
-
7
4
  # Renders a collection of index views available to the resource
8
5
  # as a list with a separator
9
6
  class IndexList < ActiveAdmin::Component
10
- builder_method :index_list_renderer
11
-
12
- include ::ActiveAdmin::Helpers::Collection
13
-
14
- def default_class_name
15
- "indexes table_tools_segmented_control"
16
- end
17
-
18
7
  def tag_name
19
- "ul"
8
+ "div"
20
9
  end
21
10
 
22
11
  # Builds the links for presenting different index views to the user
23
12
  #
24
13
  # @param [Array] index_classes The class constants that represent index page presenters
25
14
  def build(index_classes)
15
+ add_class "index-button-group index-list"
26
16
  unless current_filter_search_empty?
27
17
  index_classes.each do |index_class|
28
18
  build_index_list(index_class)
@@ -36,20 +26,18 @@ module ActiveAdmin
36
26
  #
37
27
  # @param [Class] index_class The class on which to build the link and html classes
38
28
  def build_index_list(index_class)
39
- li class: classes_for_index(index_class) do
40
- params = request.query_parameters.except :page, :commit, :format
41
- url_with_params = url_for(**params.merge(as: index_class.index_name.to_sym).symbolize_keys)
29
+ params = request.query_parameters.except :page, :commit, :format
30
+ url_with_params = url_for(**params.merge(as: index_class.index_name.to_sym).symbolize_keys)
42
31
 
43
- a href: url_with_params, class: "table_tools_button" do
44
- name = index_class.index_name
45
- I18n.t("active_admin.index_list.#{name}", default: name.to_s.titleize)
46
- end
32
+ a href: url_with_params, class: classes_for_index(index_class) do
33
+ name = index_class.index_name
34
+ I18n.t("active_admin.index_list.#{name}", default: name.to_s.titleize)
47
35
  end
48
36
  end
49
37
 
50
38
  def classes_for_index(index_class)
51
- classes = ["index"]
52
- classes << "selected" if current_index?(index_class)
39
+ classes = ["index-button"]
40
+ classes << "index-button-selected" if current_index?(index_class)
53
41
  classes.join(" ")
54
42
  end
55
43
 
@@ -62,9 +50,8 @@ module ActiveAdmin
62
50
  end
63
51
 
64
52
  def current_filter_search_empty?
65
- params.include?(:q) && collection_is_empty?
53
+ params.include?(:q) && collection_empty?
66
54
  end
67
-
68
55
  end
69
56
  end
70
57
  end
@@ -1,10 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/helpers/collection"
3
- require "active_admin/view_helpers/download_format_links_helper"
4
-
5
2
  module ActiveAdmin
6
3
  module Views
7
-
8
4
  # Wraps the content with pagination and available formats.
9
5
  #
10
6
  # *Example:*
@@ -19,8 +15,8 @@ module ActiveAdmin
19
15
  # posts in one of the following formats:
20
16
  #
21
17
  # * "No Posts found"
22
- # * "Displaying all 10 Posts"
23
- # * "Displaying Posts 1 - 30 of 31 in total"
18
+ # * "Showing all 10 Posts"
19
+ # * "Showing Posts 1 - 30 of 31 in total"
24
20
  #
25
21
  # It will also generate pagination links.
26
22
  #
@@ -46,11 +42,11 @@ module ActiveAdmin
46
42
  @display_total = options.delete(:pagination_total) { true }
47
43
  @per_page = options.delete(:per_page)
48
44
 
49
- unless collection.respond_to?(:total_pages)
45
+ unless @collection.respond_to?(:total_pages)
50
46
  raise(StandardError, "Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection.")
51
47
  end
52
-
53
- @contents = div(class: "paginated_collection_contents")
48
+ add_class "paginated-collection"
49
+ @contents = div(class: "paginated-collection-contents")
54
50
  build_pagination_with_formats(options)
55
51
  @built = true
56
52
  end
@@ -67,25 +63,28 @@ module ActiveAdmin
67
63
  protected
68
64
 
69
65
  def build_pagination_with_formats(options)
70
- div id: "index_footer" do
71
- build_per_page_select if @per_page.is_a?(Array)
66
+ div class: "paginated-collection-pagination" do
67
+ div page_entries_info(options).html_safe, class: "pagination-information"
72
68
  build_pagination
73
- div(page_entries_info(options).html_safe, class: "pagination_information")
74
-
75
- formats = build_download_formats @download_links
76
- build_download_format_links formats if formats.any?
69
+ end
70
+ formats = build_download_formats @download_links
71
+ if @per_page.is_a?(Array) || formats.any?
72
+ div class: "paginated-collection-footer" do
73
+ build_per_page_select if @per_page.is_a?(Array)
74
+ render("active_admin/shared/download_format_links", formats: formats) if formats.any?
75
+ end
77
76
  end
78
77
  end
79
78
 
80
79
  def build_per_page_select
81
- div class: "pagination_per_page" do
80
+ div do
82
81
  text_node I18n.t("active_admin.pagination.per_page")
83
- select do
82
+ select class: "pagination-per-page" do
84
83
  @per_page.each do |per_page|
85
84
  option(
86
85
  per_page,
87
86
  value: per_page,
88
- selected: collection.limit_value == per_page ? "selected" : nil
87
+ selected: @collection.limit_value == per_page ? "selected" : nil
89
88
  )
90
89
  end
91
90
  end
@@ -93,7 +92,7 @@ module ActiveAdmin
93
92
  end
94
93
 
95
94
  def build_pagination
96
- options = { theme: @display_total ? "active_admin" : "active_admin_countless" }
95
+ options = { views_prefix: :active_admin, outer_window: 1, window: 2 }
97
96
  options[:params] = @params if @params
98
97
  options[:param_name] = @param_name if @param_name
99
98
 
@@ -103,59 +102,55 @@ module ActiveAdmin
103
102
  # you pass in the :total_pages option. We issue a query to determine
104
103
  # if there is another page or not, but the limit/offset make this
105
104
  # query fast.
106
- offset = collection.offset(collection.current_page * collection.limit_value).limit(1).count
107
- options[:total_pages] = collection.current_page + offset
105
+ offset = @collection.offset(@collection.current_page * @collection.limit_value).limit(1).count
106
+ options[:total_pages] = @collection.current_page + offset
108
107
  options[:right] = 0
109
108
  end
110
109
 
111
- text_node paginate collection, **options
110
+ text_node paginate @collection, **options
112
111
  end
113
112
 
114
- include ::ActiveAdmin::Helpers::Collection
115
- include ::ActiveAdmin::ViewHelpers::DownloadFormatLinksHelper
116
-
117
113
  # modified from will_paginate
118
114
  def page_entries_info(options = {})
119
115
  if options[:entry_name]
120
116
  entry_name = options[:entry_name]
121
117
  entries_name = options[:entries_name] || entry_name.pluralize
122
- elsif collection_is_empty?
118
+ elsif collection_empty?(@collection)
123
119
  entry_name = I18n.t "active_admin.pagination.entry", count: 1, default: "entry"
124
120
  entries_name = I18n.t "active_admin.pagination.entry", count: 2, default: "entries"
125
121
  else
126
- key = "activerecord.models." + collection.first.class.model_name.i18n_key.to_s
122
+ key = "activerecord.models." + @collection.first.class.model_name.i18n_key.to_s
127
123
 
128
- entry_name = I18n.translate key, count: 1, default: collection.first.class.name.underscore.sub("_", " ")
129
- entries_name = I18n.translate key, count: collection.size, default: entry_name.pluralize
124
+ entry_name = I18n.translate key, count: 1, default: @collection.first.class.name.underscore.sub("_", " ")
125
+ entries_name = I18n.translate key, count: @collection.size, default: entry_name.pluralize
130
126
  end
131
127
 
132
128
  if @display_total
133
- if collection.total_pages < 2
134
- case collection_size
129
+ if @collection.total_pages < 2
130
+ case collection_size(@collection)
135
131
  when 0; I18n.t("active_admin.pagination.empty", model: entries_name)
136
132
  when 1; I18n.t("active_admin.pagination.one", model: entry_name)
137
- else; I18n.t("active_admin.pagination.one_page", model: entries_name, n: collection.total_count)
133
+ else; I18n.t("active_admin.pagination.one_page", model: entries_name, n: @collection.total_count)
138
134
  end
139
135
  else
140
- offset = (collection.current_page - 1) * collection.limit_value
141
- total = collection.total_count
136
+ offset = (@collection.current_page - 1) * @collection.limit_value
137
+ total = @collection.total_count
142
138
  I18n.t "active_admin.pagination.multiple",
143
139
  model: entries_name,
144
140
  total: total,
145
141
  from: offset + 1,
146
- to: offset + collection_size
142
+ to: offset + collection_size(@collection)
147
143
  end
148
144
  else
149
145
  # Do not display total count, in order to prevent a `SELECT count(*)`.
150
- # To do so we must not call `collection.total_pages`
151
- offset = (collection.current_page - 1) * collection.limit_value
146
+ # To do so we must not call `@collection.total_pages`
147
+ offset = (@collection.current_page - 1) * @collection.limit_value
152
148
  I18n.t "active_admin.pagination.multiple_without_total",
153
149
  model: entries_name,
154
150
  from: offset + 1,
155
- to: offset + collection_size
151
+ to: offset + collection_size(@collection)
156
152
  end
157
153
  end
158
-
159
154
  end
160
155
  end
161
156
  end