activeadmin 3.1.0 → 4.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -1
  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 +23 -2
  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 +2 -43
  127. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  128. data/lib/active_admin/filters/resource_extension.rb +17 -9
  129. data/lib/active_admin/filters.rb +0 -2
  130. data/lib/active_admin/form_builder.rb +15 -14
  131. data/lib/active_admin/inputs/filters/base/search_method_select.rb +8 -10
  132. data/lib/active_admin/inputs/filters/base.rb +1 -1
  133. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -6
  134. data/lib/active_admin/inputs/filters/date_range_input.rb +4 -2
  135. data/lib/active_admin/inputs/filters/select_input.rb +2 -0
  136. data/lib/active_admin/inputs.rb +0 -3
  137. data/lib/active_admin/menu.rb +11 -7
  138. data/lib/active_admin/menu_collection.rb +1 -1
  139. data/lib/active_admin/menu_item.rb +24 -3
  140. data/lib/active_admin/namespace.rb +2 -44
  141. data/lib/active_admin/namespace_settings.rb +2 -35
  142. data/lib/active_admin/order_clause.rb +4 -1
  143. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +3 -75
  144. data/lib/active_admin/orm/active_record/comments.rb +10 -5
  145. data/lib/active_admin/resource/action_items.rb +15 -20
  146. data/lib/active_admin/resource/naming.rb +1 -2
  147. data/lib/active_admin/resource.rb +1 -0
  148. data/lib/active_admin/resource_dsl.rb +1 -1
  149. data/lib/active_admin/scope.rb +1 -1
  150. data/lib/active_admin/settings_node.rb +1 -1
  151. data/lib/active_admin/sidebar_section.rb +0 -5
  152. data/lib/active_admin/version.rb +1 -1
  153. data/lib/active_admin/view_helpers.rb +0 -12
  154. data/lib/active_admin/views/components/active_admin_form.rb +20 -16
  155. data/lib/active_admin/views/components/attributes_table.rb +4 -12
  156. data/lib/active_admin/views/components/index_list.rb +10 -23
  157. data/lib/active_admin/views/components/paginated_collection.rb +34 -39
  158. data/lib/active_admin/views/components/panel.rb +2 -10
  159. data/lib/active_admin/views/components/scopes.rb +12 -21
  160. data/lib/active_admin/views/components/status_tag.rb +22 -19
  161. data/lib/active_admin/views/components/table_for.rb +19 -24
  162. data/lib/active_admin/views/components/tabs.rb +10 -11
  163. data/lib/active_admin/views/index_as_table.rb +24 -97
  164. data/lib/active_admin.rb +7 -11
  165. data/lib/generators/active_admin/assets/assets_generator.rb +4 -4
  166. data/lib/generators/active_admin/assets/templates/active_admin.css +3 -0
  167. data/lib/generators/active_admin/assets/templates/tailwind.config.js +18 -0
  168. data/lib/generators/active_admin/install/install_generator.rb +2 -8
  169. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +10 -87
  170. data/lib/generators/active_admin/install/templates/dashboard.rb +8 -25
  171. data/lib/generators/active_admin/page/page_generator.rb +0 -1
  172. data/lib/generators/active_admin/resource/resource_generator.rb +46 -7
  173. data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
  174. data/lib/generators/active_admin/views_generator.rb +18 -0
  175. metadata +66 -200
  176. data/app/assets/javascripts/active_admin/base.js +0 -521
  177. data/app/assets/stylesheets/active_admin/_base.scss +0 -57
  178. data/app/assets/stylesheets/active_admin/_forms.scss +0 -316
  179. data/app/assets/stylesheets/active_admin/_header.scss +0 -188
  180. data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
  181. data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
  182. data/app/assets/stylesheets/active_admin/_print.scss +0 -287
  183. data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
  184. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
  185. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
  186. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
  187. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
  188. data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
  189. data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
  190. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
  191. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -151
  192. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
  193. data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
  194. data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
  195. data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
  196. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
  197. data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -55
  198. data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
  199. data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
  200. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
  201. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -67
  202. data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
  203. data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -65
  204. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
  205. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
  206. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
  207. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
  208. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
  209. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
  210. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
  211. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
  212. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
  213. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
  214. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
  215. data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
  216. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
  217. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -40
  218. data/app/javascript/active_admin/base.js +0 -28
  219. data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
  220. data/app/javascript/active_admin/ext/jquery.js +0 -9
  221. data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
  222. data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
  223. data/app/javascript/active_admin/initializers/datepicker.js +0 -16
  224. data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
  225. data/app/javascript/active_admin/initializers/filters.js +0 -10
  226. data/app/javascript/active_admin/initializers/has-many.js +0 -98
  227. data/app/javascript/active_admin/initializers/per-page.js +0 -13
  228. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
  229. data/app/javascript/active_admin/initializers/tabs.js +0 -6
  230. data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
  231. data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
  232. data/app/javascript/active_admin/lib/filters.js +0 -39
  233. data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
  234. data/app/javascript/active_admin/lib/per-page.js +0 -38
  235. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
  236. data/app/javascript/active_admin/lib/utils.js +0 -40
  237. data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
  238. data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
  239. data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
  240. data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
  241. data/app/views/kaminari/active_admin/_page.html.erb +0 -12
  242. data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
  243. data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
  244. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
  245. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
  246. data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
  247. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
  248. data/app/views/layouts/active_admin.html.arb +0 -2
  249. data/lib/active_admin/abstract_view_factory.rb +0 -48
  250. data/lib/active_admin/asset_registration.rb +0 -30
  251. data/lib/active_admin/base_controller/menu.rb +0 -35
  252. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
  253. data/lib/active_admin/filters/active_sidebar.rb +0 -28
  254. data/lib/active_admin/generators/boilerplate.rb +0 -54
  255. data/lib/active_admin/helpers/collection.rb +0 -21
  256. data/lib/active_admin/helpers/i18n.rb +0 -8
  257. data/lib/active_admin/inputs/datepicker_input.rb +0 -28
  258. data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
  259. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
  260. data/lib/active_admin/orm/mongoid.rb +0 -2
  261. data/lib/active_admin/resource_controller/sidebars.rb +0 -19
  262. data/lib/active_admin/resource_controller.rb +0 -68
  263. data/lib/active_admin/view_factory.rb +0 -28
  264. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
  265. data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
  266. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
  267. data/lib/active_admin/view_helpers/display_helper.rb +0 -119
  268. data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
  269. data/lib/active_admin/view_helpers/fields_for.rb +0 -51
  270. data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
  271. data/lib/active_admin/view_helpers/form_helper.rb +0 -21
  272. data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
  273. data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
  274. data/lib/active_admin/view_helpers/title_helper.rb +0 -12
  275. data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
  276. data/lib/active_admin/views/action_items.rb +0 -18
  277. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
  278. data/lib/active_admin/views/components/blank_slate.rb +0 -18
  279. data/lib/active_admin/views/components/columns.rb +0 -162
  280. data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
  281. data/lib/active_admin/views/components/menu.rb +0 -33
  282. data/lib/active_admin/views/components/menu_item.rb +0 -59
  283. data/lib/active_admin/views/components/sidebar.rb +0 -14
  284. data/lib/active_admin/views/components/sidebar_section.rb +0 -35
  285. data/lib/active_admin/views/components/site_title.rb +0 -55
  286. data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
  287. data/lib/active_admin/views/footer.rb +0 -32
  288. data/lib/active_admin/views/header.rb +0 -20
  289. data/lib/active_admin/views/index_as_block.rb +0 -37
  290. data/lib/active_admin/views/index_as_blog.rb +0 -156
  291. data/lib/active_admin/views/index_as_grid.rb +0 -81
  292. data/lib/active_admin/views/pages/base.rb +0 -134
  293. data/lib/active_admin/views/pages/form.rb +0 -65
  294. data/lib/active_admin/views/pages/index.rb +0 -166
  295. data/lib/active_admin/views/pages/layout.rb +0 -27
  296. data/lib/active_admin/views/pages/page.rb +0 -31
  297. data/lib/active_admin/views/pages/show.rb +0 -60
  298. data/lib/active_admin/views/tabbed_navigation.rb +0 -12
  299. data/lib/active_admin/views/title_bar.rb +0 -56
  300. data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
  301. data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
  302. data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
  303. data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
  304. data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
  305. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
  306. data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
  307. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
  308. data/vendor/assets/javascripts/jquery-ui/data.js +0 -41
  309. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -48
  310. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
  311. data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -86
  312. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -80
  313. data/vendor/assets/javascripts/jquery-ui/form.js +0 -22
  314. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -17
  315. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -47
  316. data/vendor/assets/javascripts/jquery-ui/labels.js +0 -65
  317. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -46
  318. data/vendor/assets/javascripts/jquery-ui/position.js +0 -500
  319. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -42
  320. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -23
  321. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -47
  322. data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -38
  323. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -51
  324. data/vendor/assets/javascripts/jquery-ui/version.js +0 -17
  325. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -735
  326. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -391
  327. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -291
  328. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -300
  329. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2123
  330. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -954
  331. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1259
  332. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -230
  333. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1207
  334. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1561
  335. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  336. /data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +0 -0
  337. /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
  338. /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
  339. /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
  340. /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.1.0"
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>#{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