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
data/lib/active_admin.rb CHANGED
@@ -7,21 +7,16 @@ require "kaminari"
7
7
  require "formtastic"
8
8
  require "formtastic_i18n"
9
9
  require "inherited_resources"
10
- require "jquery-rails"
11
10
  require "arbre"
12
11
 
13
- require "active_admin/helpers/i18n"
14
-
15
12
  module ActiveAdmin
16
13
 
17
14
  autoload :VERSION, "active_admin/version"
18
15
  autoload :Application, "active_admin/application"
19
- autoload :AssetRegistration, "active_admin/asset_registration"
20
16
  autoload :Authorization, "active_admin/authorization_adapter"
21
17
  autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
22
18
  autoload :Callbacks, "active_admin/callbacks"
23
19
  autoload :Component, "active_admin/component"
24
- autoload :BaseController, "active_admin/base_controller"
25
20
  autoload :CanCanAdapter, "active_admin/cancan_adapter"
26
21
  autoload :ControllerAction, "active_admin/controller_action"
27
22
  autoload :CSVBuilder, "active_admin/csv_builder"
@@ -38,30 +33,32 @@ module ActiveAdmin
38
33
  autoload :OrderClause, "active_admin/order_clause"
39
34
  autoload :Page, "active_admin/page"
40
35
  autoload :PagePresenter, "active_admin/page_presenter"
41
- autoload :PageController, "active_admin/page_controller"
42
36
  autoload :PageDSL, "active_admin/page_dsl"
43
37
  autoload :PunditAdapter, "active_admin/pundit_adapter"
44
38
  autoload :Resource, "active_admin/resource"
45
- autoload :ResourceController, "active_admin/resource_controller"
46
39
  autoload :ResourceDSL, "active_admin/resource_dsl"
47
40
  autoload :Scope, "active_admin/scope"
48
41
  autoload :ScopeChain, "active_admin/helpers/scope_chain"
49
42
  autoload :SidebarSection, "active_admin/sidebar_section"
50
43
  autoload :TableBuilder, "active_admin/table_builder"
51
- autoload :ViewFactory, "active_admin/view_factory"
52
44
  autoload :ViewHelpers, "active_admin/view_helpers"
53
45
  autoload :Views, "active_admin/views"
54
46
 
55
47
  class << self
56
48
 
57
- attr_accessor :application
49
+ attr_accessor :application, :importmap
58
50
 
59
51
  def application
60
52
  @application ||= ::ActiveAdmin::Application.new
61
53
  end
62
54
 
63
55
  def deprecator
64
- @deprecator ||= ActiveSupport::Deprecation.new("4.0", "active-admin")
56
+ @deprecator ||= ActiveSupport::Deprecation.new("4.1", "active-admin")
57
+ end
58
+
59
+ def importmap
60
+ require "importmap-rails"
61
+ @importmap ||= Importmap::Map.new
65
62
  end
66
63
 
67
64
  # Gets called within the initializer
@@ -132,4 +129,3 @@ require "active_admin/filters"
132
129
 
133
130
  # Require ORM-specific plugins
134
131
  require "active_admin/orm/active_record" if defined? ActiveRecord
135
- require "active_admin/orm/mongoid" if defined? Mongoid
@@ -2,14 +2,14 @@
2
2
  module ActiveAdmin
3
3
  module Generators
4
4
  class AssetsGenerator < Rails::Generators::Base
5
-
6
5
  source_root File.expand_path("templates", __dir__)
7
6
 
8
7
  def install_assets
9
- template "active_admin.js", "app/assets/javascripts/active_admin.js"
10
- template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
8
+ remove_file "app/assets/stylesheets/active_admin.scss"
9
+ remove_file "app/assets/javascripts/active_admin.js"
10
+ template "active_admin.css", "app/assets/stylesheets/active_admin.css"
11
+ template "tailwind.config.js", "tailwind-active_admin.config.js"
11
12
  end
12
-
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,3 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
@@ -0,0 +1,18 @@
1
+ const execSync = require('child_process').execSync;
2
+ const activeAdminPath = execSync('bundle show activeadmin', { encoding: 'utf-8' }).trim();
3
+
4
+ module.exports = {
5
+ content: [
6
+ `${activeAdminPath}/vendor/javascript/flowbite.js`,
7
+ `${activeAdminPath}/plugin.js`,
8
+ `${activeAdminPath}/app/views/**/*.{arb,erb,html,rb}`,
9
+ './app/admin/**/*.{arb,erb,html,rb}',
10
+ './app/views/active_admin/**/*.{arb,erb,html,rb}',
11
+ './app/views/admin/**/*.{arb,erb,html,rb}',
12
+ './app/javascript/**/*.js'
13
+ ],
14
+ darkMode: "class",
15
+ plugins: [
16
+ require(`@activeadmin/activeadmin/plugin`)
17
+ ]
18
+ }
@@ -9,15 +9,13 @@ module ActiveAdmin
9
9
 
10
10
  hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
11
11
  class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
12
- class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
13
12
 
14
13
  source_root File.expand_path("templates", __dir__)
15
14
 
16
15
  def copy_initializer
17
- @underscored_user_name = name.underscore.gsub("/", "_")
16
+ @underscored_user_name = name.underscore.tr("/", "_")
18
17
  @use_authentication_method = options[:users].present?
19
18
  @skip_comments = options[:skip_comments]
20
- @use_webpacker = options[:use_webpacker]
21
19
  template "active_admin.rb.erb", "config/initializers/active_admin.rb"
22
20
  end
23
21
 
@@ -39,11 +37,7 @@ module ActiveAdmin
39
37
  end
40
38
 
41
39
  def create_assets
42
- if options[:use_webpacker]
43
- generate "active_admin:webpacker"
44
- else
45
- generate "active_admin:assets"
46
- end
40
+ generate "active_admin:assets"
47
41
  end
48
42
 
49
43
  def create_migrations
@@ -2,22 +2,12 @@ ActiveAdmin.setup do |config|
2
2
  # == Site Title
3
3
  #
4
4
  # Set the title that is displayed on the main layout
5
- # for each of the active admin pages.
5
+ # for each of the active admin pages. Can also be customized
6
+ # by extracting the _site_header partial into your project
7
+ # to use your own logo, styles, etc.
6
8
  #
7
9
  config.site_title = "<%= Rails.application.class.name.split("::").first.titlecase %>"
8
10
 
9
- # Set the link url for the title. For example, to take
10
- # users to your main site. Defaults to no link.
11
- #
12
- # config.site_title_link = "/"
13
-
14
- # Set an optional image to be displayed for the header
15
- # instead of a string (overrides :site_title)
16
- #
17
- # Note: Aim for an image that's 21px high so it fits in the header.
18
- #
19
- # config.site_title_image = "logo.png"
20
-
21
11
  # == Load Paths
22
12
  #
23
13
  # By default Active Admin files go inside app/admin/.
@@ -78,8 +68,10 @@ ActiveAdmin.setup do |config|
78
68
  # Active Admin will automatically call an authorization
79
69
  # method in a before filter of all controller actions to
80
70
  # ensure that there is a user with proper rights. You can use
81
- # CanCanAdapter or make your own. Please refer to documentation.
71
+ # CanCanAdapter, PunditAdapter, or make your own. Please
72
+ # refer to the documentation.
82
73
  # config.authorization_adapter = ActiveAdmin::CanCanAdapter
74
+ # config.authorization_adapter = ActiveAdmin::PunditAdapter
83
75
 
84
76
  # In case you prefer Pundit over other solutions you can here pass
85
77
  # the name of default policy class. This policy will be used in every
@@ -116,18 +108,12 @@ ActiveAdmin.setup do |config|
116
108
  # settings configure the location and method used for the link.
117
109
  #
118
110
  # This setting changes the path where the link points to. If it's
119
- # a string, the strings is used as the path. If it's a Symbol, we
111
+ # a string, the string is used as the path. If it's a Symbol, we
120
112
  # will call the method to return the path.
121
113
  #
122
114
  # Default:
123
115
  config.logout_link_path = :destroy_<%= @underscored_user_name %>_session_path
124
116
 
125
- # This setting changes the http method used when rendering the
126
- # link. For example :get, :delete, :put, etc..
127
- #
128
- # Default:
129
- # config.logout_link_method = :get
130
-
131
117
  # == Root
132
118
  #
133
119
  # Set the action to call for the root path. You can set different
@@ -187,23 +173,6 @@ ActiveAdmin.setup do |config|
187
173
  #
188
174
  config.localize_format = :long
189
175
 
190
- # == Setting a Favicon
191
- #
192
- # config.favicon = 'favicon.ico'
193
-
194
- # == Meta Tags
195
- #
196
- # Add additional meta tags to the head element of active admin pages.
197
- #
198
- # Add tags to all pages logged in users see:
199
- # config.meta_tags = { author: 'My Company' }
200
-
201
- # By default, sign up/sign in/recover password pages are excluded
202
- # from showing up in search engine results by adding a robots meta
203
- # tag. You can reset the hash of meta tags included in logged out
204
- # pages:
205
- # config.meta_tags_for_logged_out_pages = {}
206
-
207
176
  # == Removing Breadcrumbs
208
177
  #
209
178
  # Breadcrumbs are enabled by default. You can customize them for individual
@@ -218,21 +187,6 @@ ActiveAdmin.setup do |config|
218
187
  #
219
188
  # config.create_another = true
220
189
 
221
- # == Register Stylesheets & Javascripts
222
- #
223
- # We recommend using the built in Active Admin layout and loading
224
- # up your own stylesheets / javascripts to customize the look
225
- # and feel.
226
- #
227
- # To load a stylesheet:
228
- # config.register_stylesheet 'my_stylesheet.css'
229
- #
230
- # You can provide an options hash for more control, which is passed along to stylesheet_link_tag():
231
- # config.register_stylesheet 'my_print_stylesheet.css', media: :print
232
- #
233
- # To load a javascript file:
234
- # config.register_javascript 'my_javascript.js'
235
-
236
190
  # == CSV options
237
191
  #
238
192
  # Set the CSV builder separator
@@ -245,20 +199,11 @@ ActiveAdmin.setup do |config|
245
199
  #
246
200
  # You can add a navigation menu to be used in your application, or configure a provided menu
247
201
  #
248
- # To change the default utility navigation to show a link to your website & a logout btn
249
- #
250
- # config.namespace :admin do |admin|
251
- # admin.build_menu :utility_navigation do |menu|
252
- # menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
253
- # admin.add_logout_button_to_menu menu
254
- # end
255
- # end
256
- #
257
202
  # If you wanted to add a static menu item to the default menu provided:
258
203
  #
259
204
  # config.namespace :admin do |admin|
260
205
  # admin.build_menu :default do |menu|
261
- # menu.add label: "My Great Website", url: "http://www.mygreatwebsite.com", html_options: { target: :blank }
206
+ # menu.add label: "My Great Website", url: "https://mygreatwebsite.example.com", html_options: { target: :blank }
262
207
  # end
263
208
  # end
264
209
 
@@ -274,11 +219,10 @@ ActiveAdmin.setup do |config|
274
219
  # # Disable the links entirely
275
220
  # admin.download_links = false
276
221
  #
277
- # # Only show XML & PDF options
222
+ # # Only show XML & PDF options. You must register the format mime type with `Mime::Type.register`.
278
223
  # admin.download_links = [:xml, :pdf]
279
224
  #
280
- # # Enable/disable the links based on block
281
- # # (for example, with cancan)
225
+ # # Enable/disable the links based on block (for example, with cancan)
282
226
  # admin.download_links = proc { can?(:view_download_links) }
283
227
  #
284
228
  # end
@@ -322,31 +266,10 @@ ActiveAdmin.setup do |config|
322
266
  # ]
323
267
  # config.filter_method_for_large_association = '_start'
324
268
 
325
- # == Head
326
- #
327
- # You can add your own content to the site head like analytics. Make sure
328
- # you only pass content you trust.
329
- #
330
- # config.head = ''.html_safe
331
-
332
- # == Footer
333
- #
334
- # By default, the footer shows the current Active Admin version. You can
335
- # override the content of the footer here.
336
- #
337
- # config.footer = 'my custom footer text'
338
-
339
269
  # == Sorting
340
270
  #
341
271
  # By default ActiveAdmin::OrderClause is used for sorting logic
342
272
  # You can inherit it with own class and inject it for all resources
343
273
  #
344
274
  # config.order_clause = MyOrderClause
345
-
346
- # == Webpacker
347
- #
348
- # By default, Active Admin uses Sprocket's asset pipeline.
349
- # You can switch to using Webpacker here.
350
- #
351
- <% unless @use_webpacker %># <% end %>config.use_webpacker = true
352
275
  end
@@ -3,31 +3,14 @@ ActiveAdmin.register_page "Dashboard" do
3
3
  menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
4
4
 
5
5
  content title: proc { I18n.t("active_admin.dashboard") } do
6
- div class: "blank_slate_container", id: "dashboard_default_message" do
7
- span class: "blank_slate" do
8
- span I18n.t("active_admin.dashboard_welcome.welcome")
9
- small I18n.t("active_admin.dashboard_welcome.call_to_action")
6
+ div class: "px-4 py-16 md:py-32 text-center m-auto max-w-3xl" do
7
+ h2 "Welcome to ActiveAdmin", class: "text-base font-semibold leading-7 text-indigo-600 dark:text-indigo-500"
8
+ para "This is the default page", class: "mt-2 text-3xl sm:text-4xl font-bold text-gray-900 dark:text-gray-200"
9
+ para class: "mt-6 text-xl leading-8 text-gray-700 dark:text-gray-400" do
10
+ text_node "To update the content, edit the"
11
+ strong "app/admin/dashboard.rb"
12
+ text_node "file to get started."
10
13
  end
11
14
  end
12
-
13
- # Here is an example of a simple dashboard with columns and panels.
14
- #
15
- # columns do
16
- # column do
17
- # panel "Recent Posts" do
18
- # ul do
19
- # Post.recent(5).map do |post|
20
- # li link_to(post.title, admin_post_path(post))
21
- # end
22
- # end
23
- # end
24
- # end
25
-
26
- # column do
27
- # panel "Info" do
28
- # para "Welcome to ActiveAdmin."
29
- # end
30
- # end
31
- # end
32
- end # content
15
+ end
33
16
  end
@@ -7,7 +7,6 @@ module ActiveAdmin
7
7
  def generate_config_file
8
8
  template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
9
9
  end
10
-
11
10
  end
12
11
  end
13
12
  end
@@ -1,21 +1,60 @@
1
1
  # frozen_string_literal: true
2
- require "active_admin/generators/boilerplate"
3
-
4
2
  module ActiveAdmin
5
3
  module Generators
6
4
  class ResourceGenerator < Rails::Generators::NamedBase
7
5
  desc "Registers resources with Active Admin"
8
6
 
9
- class_option :include_boilerplate, type: :boolean, default: false,
10
- desc: "Generate boilerplate code for your resource."
11
-
12
7
  source_root File.expand_path("templates", __dir__)
13
8
 
14
9
  def generate_config_file
15
- @boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
16
- template "admin.rb.erb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb"
10
+ template "resource.rb.erb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb"
11
+ end
12
+
13
+ protected
14
+
15
+ def attributes
16
+ @attributes ||= class_name.constantize.new.attributes.keys
17
+ end
18
+
19
+ def assignable_attributes
20
+ @assignable_attributes ||= attributes - %w(id created_at updated_at)
21
+ end
22
+
23
+ def permit_params
24
+ assignable_attributes.map { |a| a.to_sym.inspect }.join(", ")
25
+ end
26
+
27
+ def rows
28
+ attributes.map { |a| row(a) }.join("\n ")
29
+ end
30
+
31
+ def row(name)
32
+ "row :#{name.gsub(/_id$/, '')}"
33
+ end
34
+
35
+ def columns
36
+ attributes.map { |a| column(a) }.join("\n ")
37
+ end
38
+
39
+ def column(name)
40
+ "column :#{name.gsub(/_id$/, '')}"
41
+ end
42
+
43
+ def filters
44
+ attributes.map { |a| filter(a) }.join("\n ")
45
+ end
46
+
47
+ def filter(name)
48
+ "filter :#{name.gsub(/_id$/, '')}"
17
49
  end
18
50
 
51
+ def form_inputs
52
+ assignable_attributes.map { |a| form_input(a) }.join("\n ")
53
+ end
54
+
55
+ def form_input(name)
56
+ "f.input :#{name.gsub(/_id$/, '')}"
57
+ end
19
58
  end
20
59
  end
21
60
  end
@@ -0,0 +1,42 @@
1
+ ActiveAdmin.register <%= class_name %> do
2
+ # Specify parameters which should be permitted for assignment
3
+ permit_params <%= permit_params %>
4
+
5
+ # or consider:
6
+ #
7
+ # permit_params do
8
+ # permitted = [<%= permit_params %>]
9
+ # permitted << :other if params[:action] == 'create' && current_user.admin?
10
+ # permitted
11
+ # end
12
+
13
+ # For security, limit the actions that should be available
14
+ actions :all, except: []
15
+
16
+ # Add or remove filters to toggle their visibility
17
+ <%= filters %>
18
+
19
+ # Add or remove columns to toggle their visiblity in the index action
20
+ index do
21
+ selectable_column
22
+ id_column
23
+ <%= columns %>
24
+ actions
25
+ end
26
+
27
+ # Add or remove rows to toggle their visiblity in the show action
28
+ show do
29
+ attributes_table_for(resource) do
30
+ <%= rows %>
31
+ end
32
+ end
33
+
34
+ # Add or remove fields to toggle their visibility in the form
35
+ form do |f|
36
+ f.semantic_errors(*f.object.errors.attribute_names)
37
+ f.inputs do
38
+ <%= form_inputs %>
39
+ end
40
+ f.actions
41
+ end
42
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdmin
3
+ module Generators
4
+ class ViewsGenerator < Rails::Generators::Base
5
+ source_root File.expand_path("../../../", __dir__)
6
+
7
+ def copy_views
8
+ directory "app/views/layouts"
9
+ directory "app/views/active_admin", recursive: false
10
+ directory "app/views/active_admin/devise"
11
+ directory "app/views/active_admin/kaminari"
12
+ copy_file "app/views/active_admin/shared/_resource_comments.html.erb"
13
+ copy_file "app/views/active_admin/resource/_index_blank_slate.html.erb"
14
+ copy_file "app/views/active_admin/resource/_index_empty_results.html.erb"
15
+ end
16
+ end
17
+ end
18
+ end