activeadmin 3.2.2 → 4.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (337) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -44
  3. data/CONTRIBUTING.md +25 -108
  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. metadata +67 -214
  174. data/app/assets/javascripts/active_admin/base.js +0 -521
  175. data/app/assets/stylesheets/active_admin/_base.scss +0 -57
  176. data/app/assets/stylesheets/active_admin/_forms.scss +0 -316
  177. data/app/assets/stylesheets/active_admin/_header.scss +0 -188
  178. data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
  179. data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
  180. data/app/assets/stylesheets/active_admin/_print.scss +0 -287
  181. data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
  182. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
  183. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
  184. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
  185. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
  186. data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
  187. data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
  188. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
  189. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -151
  190. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
  191. data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
  192. data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
  193. data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
  194. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
  195. data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -55
  196. data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
  197. data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
  198. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
  199. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -67
  200. data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
  201. data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -65
  202. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
  203. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
  204. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
  205. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
  206. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
  207. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
  208. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
  209. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
  210. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
  211. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
  212. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
  213. data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
  214. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
  215. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -40
  216. data/app/javascript/active_admin/base.js +0 -28
  217. data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
  218. data/app/javascript/active_admin/ext/jquery.js +0 -9
  219. data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
  220. data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
  221. data/app/javascript/active_admin/initializers/datepicker.js +0 -16
  222. data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
  223. data/app/javascript/active_admin/initializers/filters.js +0 -10
  224. data/app/javascript/active_admin/initializers/has-many.js +0 -98
  225. data/app/javascript/active_admin/initializers/per-page.js +0 -13
  226. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
  227. data/app/javascript/active_admin/initializers/tabs.js +0 -6
  228. data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
  229. data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
  230. data/app/javascript/active_admin/lib/filters.js +0 -39
  231. data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
  232. data/app/javascript/active_admin/lib/per-page.js +0 -38
  233. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
  234. data/app/javascript/active_admin/lib/utils.js +0 -40
  235. data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
  236. data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
  237. data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
  238. data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
  239. data/app/views/kaminari/active_admin/_page.html.erb +0 -12
  240. data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
  241. data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
  242. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
  243. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
  244. data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
  245. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
  246. data/app/views/layouts/active_admin.html.arb +0 -2
  247. data/lib/active_admin/abstract_view_factory.rb +0 -48
  248. data/lib/active_admin/asset_registration.rb +0 -30
  249. data/lib/active_admin/base_controller/menu.rb +0 -35
  250. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
  251. data/lib/active_admin/filters/active_sidebar.rb +0 -28
  252. data/lib/active_admin/generators/boilerplate.rb +0 -54
  253. data/lib/active_admin/helpers/collection.rb +0 -21
  254. data/lib/active_admin/helpers/i18n.rb +0 -8
  255. data/lib/active_admin/inputs/datepicker_input.rb +0 -28
  256. data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
  257. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
  258. data/lib/active_admin/orm/mongoid.rb +0 -2
  259. data/lib/active_admin/resource_controller/sidebars.rb +0 -19
  260. data/lib/active_admin/resource_controller.rb +0 -68
  261. data/lib/active_admin/view_factory.rb +0 -28
  262. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
  263. data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
  264. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
  265. data/lib/active_admin/view_helpers/display_helper.rb +0 -119
  266. data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
  267. data/lib/active_admin/view_helpers/fields_for.rb +0 -51
  268. data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
  269. data/lib/active_admin/view_helpers/form_helper.rb +0 -21
  270. data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
  271. data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
  272. data/lib/active_admin/view_helpers/title_helper.rb +0 -12
  273. data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
  274. data/lib/active_admin/views/action_items.rb +0 -18
  275. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
  276. data/lib/active_admin/views/components/blank_slate.rb +0 -18
  277. data/lib/active_admin/views/components/columns.rb +0 -162
  278. data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
  279. data/lib/active_admin/views/components/menu.rb +0 -33
  280. data/lib/active_admin/views/components/menu_item.rb +0 -59
  281. data/lib/active_admin/views/components/sidebar.rb +0 -14
  282. data/lib/active_admin/views/components/sidebar_section.rb +0 -35
  283. data/lib/active_admin/views/components/site_title.rb +0 -55
  284. data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
  285. data/lib/active_admin/views/footer.rb +0 -32
  286. data/lib/active_admin/views/header.rb +0 -20
  287. data/lib/active_admin/views/index_as_block.rb +0 -37
  288. data/lib/active_admin/views/index_as_blog.rb +0 -156
  289. data/lib/active_admin/views/index_as_grid.rb +0 -81
  290. data/lib/active_admin/views/pages/base.rb +0 -134
  291. data/lib/active_admin/views/pages/form.rb +0 -65
  292. data/lib/active_admin/views/pages/index.rb +0 -166
  293. data/lib/active_admin/views/pages/layout.rb +0 -27
  294. data/lib/active_admin/views/pages/page.rb +0 -31
  295. data/lib/active_admin/views/pages/show.rb +0 -60
  296. data/lib/active_admin/views/tabbed_navigation.rb +0 -12
  297. data/lib/active_admin/views/title_bar.rb +0 -56
  298. data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
  299. data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
  300. data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
  301. data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
  302. data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
  303. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
  304. data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
  305. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
  306. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  307. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -51
  308. data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -89
  309. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -83
  310. data/vendor/assets/javascripts/jquery-ui/form.js +0 -25
  311. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  312. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  313. data/vendor/assets/javascripts/jquery-ui/labels.js +0 -71
  314. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  315. data/vendor/assets/javascripts/jquery-ui/position.js +0 -513
  316. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  317. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  318. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  319. data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -41
  320. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  321. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  322. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -758
  323. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -454
  324. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -294
  325. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -304
  326. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2243
  327. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -971
  328. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  329. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  330. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1228
  331. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1622
  332. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  333. /data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +0 -0
  334. /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
  335. /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
  336. /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
  337. /data/lib/{active_admin/orm/mongoid/.gitkeep → generators/active_admin/assets/templates/builds/.keep} +0 -0
@@ -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
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.2"
3
+ VERSION = "4.0.0.beta1"
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>#{ERB::Util.html_escape(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