activeadmin 3.4.0 → 4.0.0.beta18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -102
  3. data/CONTRIBUTING.md +32 -117
  4. data/README.md +17 -30
  5. data/UPGRADING.md +241 -0
  6. data/app/assets/config/active_admin_manifest.js +2 -0
  7. data/{lib → app/controllers}/active_admin/base_controller/authorization.rb +1 -1
  8. data/app/controllers/active_admin/base_controller/menu.rb +39 -0
  9. data/{lib → app/controllers}/active_admin/base_controller.rb +46 -18
  10. data/{lib → app/controllers}/active_admin/page_controller.rb +0 -4
  11. data/{lib → app/controllers}/active_admin/resource_controller/action_builder.rb +1 -1
  12. data/{lib → app/controllers}/active_admin/resource_controller/data_access.rb +11 -6
  13. data/{lib → app/controllers}/active_admin/resource_controller/scoping.rb +1 -1
  14. data/{lib → app/controllers}/active_admin/resource_controller/streaming.rb +4 -4
  15. data/app/controllers/active_admin/resource_controller.rb +102 -0
  16. data/app/helpers/active_admin/auto_link_helper.rb +66 -0
  17. data/app/helpers/active_admin/breadcrumb_helper.rb +41 -0
  18. data/app/helpers/active_admin/display_helper.rb +117 -0
  19. data/app/helpers/active_admin/form_helper.rb +95 -0
  20. data/app/helpers/active_admin/index_helper.rb +40 -0
  21. data/app/helpers/active_admin/layout_helper.rb +63 -0
  22. data/app/javascript/active_admin/features/batch_actions.js +95 -0
  23. data/app/javascript/active_admin/features/dark_mode_toggle.js +37 -0
  24. data/app/javascript/active_admin/features/filters.js +34 -0
  25. data/app/javascript/active_admin/features/has_many.js +28 -0
  26. data/app/javascript/active_admin/features/main_menu.js +12 -0
  27. data/app/javascript/active_admin/features/per_page.js +9 -0
  28. data/app/javascript/active_admin/utils/dom.js +17 -0
  29. data/app/javascript/active_admin.js +10 -0
  30. data/app/views/active_admin/_flash_messages.html.erb +22 -0
  31. data/app/views/active_admin/_html_head.html.erb +13 -0
  32. data/app/views/active_admin/_main_navigation.html.erb +28 -0
  33. data/app/views/active_admin/_page_header.html.erb +27 -0
  34. data/app/views/active_admin/_sidebar.html.erb +5 -0
  35. data/app/views/active_admin/_site_footer.html.erb +7 -0
  36. data/app/views/active_admin/_site_header.html.erb +30 -0
  37. data/app/views/active_admin/devise/confirmations/new.html.erb +5 -3
  38. data/app/views/active_admin/devise/passwords/edit.html.erb +5 -3
  39. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  40. data/app/views/active_admin/devise/registrations/new.html.erb +6 -4
  41. data/app/views/active_admin/devise/sessions/new.html.erb +6 -4
  42. data/app/views/active_admin/devise/shared/_links.erb +3 -1
  43. data/app/views/active_admin/devise/unlocks/new.html.erb +6 -4
  44. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_gap.html.erb +3 -1
  45. data/app/views/active_admin/kaminari/_next_page.html.erb +16 -0
  46. data/app/views/active_admin/kaminari/_page.html.erb +14 -0
  47. data/app/views/{kaminari/active_admin_countless → active_admin/kaminari}/_paginator.html.erb +1 -2
  48. data/app/views/active_admin/kaminari/_prev_page.html.erb +16 -0
  49. data/app/views/active_admin/page/index.html.arb +5 -2
  50. data/app/views/active_admin/resource/_active_filters.html.erb +32 -0
  51. data/app/views/active_admin/resource/_batch_actions_dropdown.html.erb +19 -0
  52. data/app/views/active_admin/resource/_form.html.arb +15 -0
  53. data/app/views/active_admin/resource/_form_default.html.arb +11 -0
  54. data/app/views/active_admin/resource/_index_as_table_default.html.arb +8 -0
  55. data/app/views/active_admin/resource/_index_blank_slate.html.erb +14 -0
  56. data/app/views/active_admin/resource/_index_empty_results.html.erb +5 -0
  57. data/app/views/active_admin/resource/_index_table_actions_default.html.erb +9 -0
  58. data/app/views/active_admin/resource/_show_default.html.arb +2 -0
  59. data/app/views/active_admin/resource/edit.html.arb +1 -2
  60. data/app/views/active_admin/resource/index.html.arb +94 -2
  61. data/app/views/active_admin/resource/new.html.arb +1 -2
  62. data/app/views/active_admin/resource/show.html.arb +12 -2
  63. data/app/views/active_admin/shared/_action_items.html.erb +3 -0
  64. data/app/views/active_admin/shared/_download_format_links.html.erb +7 -0
  65. data/app/views/active_admin/shared/_resource_comments.html.erb +51 -0
  66. data/app/views/active_admin/shared/_sidebar_section.html.arb +6 -0
  67. data/app/views/active_admin/shared/_sidebar_sections.html.erb +5 -0
  68. data/app/views/layouts/active_admin.html.erb +20 -0
  69. data/app/views/layouts/active_admin_logged_out.html.erb +8 -45
  70. data/config/importmap.rb +5 -0
  71. data/config/locales/ar.yml +136 -116
  72. data/config/locales/az.yml +103 -118
  73. data/config/locales/bg.yml +91 -99
  74. data/config/locales/bs.yml +95 -101
  75. data/config/locales/ca.yml +131 -86
  76. data/config/locales/cs.yml +82 -90
  77. data/config/locales/da.yml +102 -117
  78. data/config/locales/de.yml +130 -141
  79. data/config/locales/el.yml +94 -106
  80. data/config/locales/en-CA.yml +104 -119
  81. data/config/locales/en-GB.yml +104 -119
  82. data/config/locales/en.yml +134 -140
  83. data/config/locales/eo.yml +107 -123
  84. data/config/locales/es-MX.yml +70 -78
  85. data/config/locales/es.yml +129 -138
  86. data/config/locales/fa.yml +91 -99
  87. data/config/locales/fi.yml +84 -92
  88. data/config/locales/fr.yml +135 -120
  89. data/config/locales/he.yml +103 -118
  90. data/config/locales/hr.yml +95 -103
  91. data/config/locales/hu.yml +76 -81
  92. data/config/locales/id.yml +97 -112
  93. data/config/locales/it.yml +134 -140
  94. data/config/locales/ja.yml +109 -120
  95. data/config/locales/ko.yml +136 -101
  96. data/config/locales/lt.yml +106 -121
  97. data/config/locales/lv.yml +70 -75
  98. data/config/locales/mk.yml +100 -114
  99. data/config/locales/nb.yml +98 -109
  100. data/config/locales/nl.yml +113 -122
  101. data/config/locales/pl.yml +137 -146
  102. data/config/locales/pt-BR.yml +134 -121
  103. data/config/locales/pt-PT.yml +71 -76
  104. data/config/locales/ro.yml +74 -79
  105. data/config/locales/ru.yml +142 -122
  106. data/config/locales/sk.yml +131 -146
  107. data/config/locales/sv-SE.yml +126 -141
  108. data/config/locales/tr.yml +105 -120
  109. data/config/locales/uk.yml +140 -119
  110. data/config/locales/vi.yml +125 -140
  111. data/config/locales/zh-CN.yml +135 -141
  112. data/config/locales/zh-TW.yml +136 -116
  113. data/lib/active_admin/application.rb +6 -14
  114. data/lib/active_admin/application_settings.rb +1 -1
  115. data/lib/active_admin/async_count.rb +23 -0
  116. data/lib/active_admin/batch_actions/controller.rb +1 -4
  117. data/lib/active_admin/batch_actions/resource_extension.rb +8 -15
  118. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -7
  119. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  120. data/lib/active_admin/batch_actions.rb +4 -9
  121. data/lib/active_admin/callbacks.rb +6 -4
  122. data/lib/active_admin/collection_decorator.rb +1 -1
  123. data/lib/active_admin/component.rb +0 -1
  124. data/lib/active_admin/csv_builder.rb +2 -2
  125. data/lib/active_admin/devise.rb +3 -3
  126. data/lib/active_admin/dsl.rb +3 -3
  127. data/lib/active_admin/dynamic_settings_node.rb +6 -6
  128. data/lib/active_admin/engine.rb +23 -7
  129. data/lib/active_admin/filters/active.rb +8 -6
  130. data/lib/active_admin/filters/active_filter.rb +2 -10
  131. data/lib/active_admin/filters/forms.rb +1 -45
  132. data/lib/active_admin/filters/resource_extension.rb +18 -10
  133. data/lib/active_admin/filters.rb +5 -7
  134. data/lib/active_admin/form_builder.rb +14 -17
  135. data/lib/active_admin/helpers/optional_display.rb +1 -1
  136. data/lib/active_admin/inputs/filters/base/search_method_select.rb +10 -12
  137. data/lib/active_admin/inputs/filters/base.rb +1 -1
  138. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -6
  139. data/lib/active_admin/inputs/filters/date_range_input.rb +4 -2
  140. data/lib/active_admin/inputs.rb +0 -3
  141. data/lib/active_admin/localizers.rb +1 -1
  142. data/lib/active_admin/menu.rb +10 -7
  143. data/lib/active_admin/menu_collection.rb +1 -1
  144. data/lib/active_admin/menu_item.rb +24 -3
  145. data/lib/active_admin/namespace.rb +3 -45
  146. data/lib/active_admin/namespace_settings.rb +3 -36
  147. data/lib/active_admin/order_clause.rb +4 -1
  148. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -76
  149. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  150. data/lib/active_admin/orm/active_record/comments.rb +13 -8
  151. data/lib/active_admin/orm/active_record.rb +1 -1
  152. data/lib/active_admin/pundit_adapter.rb +3 -3
  153. data/lib/active_admin/resource/action_items.rb +18 -23
  154. data/lib/active_admin/resource/naming.rb +2 -3
  155. data/lib/active_admin/resource/page_presenters.rb +2 -2
  156. data/lib/active_admin/resource/sidebars.rb +1 -1
  157. data/lib/active_admin/resource.rb +17 -16
  158. data/lib/active_admin/resource_collection.rb +1 -1
  159. data/lib/active_admin/resource_dsl.rb +3 -3
  160. data/lib/active_admin/scope.rb +11 -1
  161. data/lib/active_admin/settings_node.rb +1 -1
  162. data/lib/active_admin/sidebar_section.rb +0 -5
  163. data/lib/active_admin/version.rb +1 -1
  164. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -1
  165. data/lib/active_admin/view_helpers.rb +0 -12
  166. data/lib/active_admin/views/components/active_admin_form.rb +21 -29
  167. data/lib/active_admin/views/components/attributes_table.rb +14 -16
  168. data/lib/active_admin/views/components/index_list.rb +10 -23
  169. data/lib/active_admin/views/components/paginated_collection.rb +34 -39
  170. data/lib/active_admin/views/components/panel.rb +3 -11
  171. data/lib/active_admin/views/components/scopes.rb +39 -26
  172. data/lib/active_admin/views/components/status_tag.rb +22 -19
  173. data/lib/active_admin/views/components/table_for.rb +25 -25
  174. data/lib/active_admin/views/index_as_table.rb +39 -101
  175. data/lib/active_admin.rb +16 -15
  176. data/lib/activeadmin.rb +1 -1
  177. data/lib/generators/active_admin/assets/assets_generator.rb +4 -4
  178. data/lib/generators/active_admin/assets/templates/active_admin.css +3 -0
  179. data/lib/generators/active_admin/assets/templates/tailwind.config.js +21 -0
  180. data/lib/generators/active_admin/devise/devise_generator.rb +2 -2
  181. data/lib/generators/active_admin/install/install_generator.rb +2 -8
  182. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +10 -87
  183. data/lib/generators/active_admin/install/templates/dashboard.rb +8 -25
  184. data/lib/generators/active_admin/page/page_generator.rb +0 -1
  185. data/lib/generators/active_admin/resource/resource_generator.rb +50 -7
  186. data/lib/generators/active_admin/resource/templates/resource.rb.erb +42 -0
  187. data/lib/generators/active_admin/views_generator.rb +18 -0
  188. data/plugin.js +414 -0
  189. data/vendor/bundle/offense.rb +1 -0
  190. data/vendor/javascript/flowbite.js +1 -0
  191. data/vendor/javascript/rails_ujs_esm.js +1 -0
  192. metadata +80 -207
  193. data/app/assets/javascripts/active_admin/base.js +0 -517
  194. data/app/assets/stylesheets/active_admin/_base.scss +0 -57
  195. data/app/assets/stylesheets/active_admin/_forms.scss +0 -315
  196. data/app/assets/stylesheets/active_admin/_header.scss +0 -188
  197. data/app/assets/stylesheets/active_admin/_mixins.scss +0 -1
  198. data/app/assets/stylesheets/active_admin/_normalize.scss +0 -349
  199. data/app/assets/stylesheets/active_admin/_print.scss +0 -287
  200. data/app/assets/stylesheets/active_admin/_typography.scss +0 -100
  201. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -6
  202. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -30
  203. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +0 -20
  204. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -6
  205. data/app/assets/stylesheets/active_admin/components/_columns.scss +0 -3
  206. data/app/assets/stylesheets/active_admin/components/_comments.scss +0 -41
  207. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +0 -148
  208. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -154
  209. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +0 -37
  210. data/app/assets/stylesheets/active_admin/components/_grid.scss +0 -9
  211. data/app/assets/stylesheets/active_admin/components/_index_list.scss +0 -12
  212. data/app/assets/stylesheets/active_admin/components/_links.scss +0 -5
  213. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +0 -34
  214. data/app/assets/stylesheets/active_admin/components/_pagination.scss +0 -58
  215. data/app/assets/stylesheets/active_admin/components/_panels.scss +0 -6
  216. data/app/assets/stylesheets/active_admin/components/_scopes.scss +0 -13
  217. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -12
  218. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +0 -70
  219. data/app/assets/stylesheets/active_admin/components/_tables.scss +0 -112
  220. data/app/assets/stylesheets/active_admin/components/_tabs.scss +0 -68
  221. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +0 -16
  222. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -8
  223. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +0 -65
  224. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +0 -28
  225. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +0 -22
  226. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -41
  227. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +0 -15
  228. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +0 -3
  229. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -17
  230. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +0 -51
  231. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +0 -44
  232. data/app/assets/stylesheets/active_admin/structure/_footer.scss +0 -19
  233. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +0 -29
  234. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -43
  235. data/app/javascript/active_admin/base.js +0 -28
  236. data/app/javascript/active_admin/ext/jquery-ui.js +0 -7
  237. data/app/javascript/active_admin/ext/jquery.js +0 -9
  238. data/app/javascript/active_admin/initializers/batch-actions.js +0 -61
  239. data/app/javascript/active_admin/initializers/checkbox-toggler.js +0 -3
  240. data/app/javascript/active_admin/initializers/datepicker.js +0 -16
  241. data/app/javascript/active_admin/initializers/dropdown-menu.js +0 -9
  242. data/app/javascript/active_admin/initializers/filters.js +0 -10
  243. data/app/javascript/active_admin/initializers/has-many.js +0 -98
  244. data/app/javascript/active_admin/initializers/per-page.js +0 -13
  245. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +0 -3
  246. data/app/javascript/active_admin/initializers/tabs.js +0 -6
  247. data/app/javascript/active_admin/lib/checkbox-toggler.js +0 -49
  248. data/app/javascript/active_admin/lib/dropdown-menu.js +0 -116
  249. data/app/javascript/active_admin/lib/filters.js +0 -39
  250. data/app/javascript/active_admin/lib/modal-dialog.js +0 -63
  251. data/app/javascript/active_admin/lib/per-page.js +0 -38
  252. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +0 -38
  253. data/app/javascript/active_admin/lib/utils.js +0 -40
  254. data/app/views/kaminari/active_admin/_first_page.html.erb +0 -11
  255. data/app/views/kaminari/active_admin/_gap.html.erb +0 -8
  256. data/app/views/kaminari/active_admin/_last_page.html.erb +0 -11
  257. data/app/views/kaminari/active_admin/_next_page.html.erb +0 -11
  258. data/app/views/kaminari/active_admin/_page.html.erb +0 -12
  259. data/app/views/kaminari/active_admin/_paginator.html.erb +0 -25
  260. data/app/views/kaminari/active_admin/_prev_page.html.erb +0 -11
  261. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +0 -11
  262. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +0 -11
  263. data/app/views/kaminari/active_admin_countless/_page.html.erb +0 -12
  264. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +0 -11
  265. data/app/views/layouts/active_admin.html.arb +0 -2
  266. data/config/locales/de-CH.yml +0 -94
  267. data/lib/active_admin/abstract_view_factory.rb +0 -48
  268. data/lib/active_admin/asset_registration.rb +0 -30
  269. data/lib/active_admin/base_controller/menu.rb +0 -35
  270. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +0 -59
  271. data/lib/active_admin/filters/active_sidebar.rb +0 -28
  272. data/lib/active_admin/generators/boilerplate.rb +0 -54
  273. data/lib/active_admin/helpers/collection.rb +0 -21
  274. data/lib/active_admin/helpers/i18n.rb +0 -8
  275. data/lib/active_admin/inputs/datepicker_input.rb +0 -28
  276. data/lib/active_admin/inputs/filters/date_picker_input.rb +0 -14
  277. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +0 -24
  278. data/lib/active_admin/orm/mongoid.rb +0 -2
  279. data/lib/active_admin/resource_controller/sidebars.rb +0 -19
  280. data/lib/active_admin/resource_controller.rb +0 -68
  281. data/lib/active_admin/view_factory.rb +0 -28
  282. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +0 -13
  283. data/lib/active_admin/view_helpers/auto_link_helper.rb +0 -46
  284. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +0 -34
  285. data/lib/active_admin/view_helpers/display_helper.rb +0 -119
  286. data/lib/active_admin/view_helpers/download_format_links_helper.rb +0 -60
  287. data/lib/active_admin/view_helpers/fields_for.rb +0 -51
  288. data/lib/active_admin/view_helpers/flash_helper.rb +0 -15
  289. data/lib/active_admin/view_helpers/form_helper.rb +0 -21
  290. data/lib/active_admin/view_helpers/scope_name_helper.rb +0 -17
  291. data/lib/active_admin/view_helpers/sidebar_helper.rb +0 -16
  292. data/lib/active_admin/view_helpers/title_helper.rb +0 -12
  293. data/lib/active_admin/view_helpers/view_factory_helper.rb +0 -12
  294. data/lib/active_admin/views/action_items.rb +0 -18
  295. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +0 -59
  296. data/lib/active_admin/views/components/blank_slate.rb +0 -18
  297. data/lib/active_admin/views/components/columns.rb +0 -162
  298. data/lib/active_admin/views/components/dropdown_menu.rb +0 -69
  299. data/lib/active_admin/views/components/menu.rb +0 -33
  300. data/lib/active_admin/views/components/menu_item.rb +0 -59
  301. data/lib/active_admin/views/components/sidebar.rb +0 -14
  302. data/lib/active_admin/views/components/sidebar_section.rb +0 -35
  303. data/lib/active_admin/views/components/site_title.rb +0 -55
  304. data/lib/active_admin/views/components/tabs.rb +0 -41
  305. data/lib/active_admin/views/components/unsupported_browser.rb +0 -12
  306. data/lib/active_admin/views/footer.rb +0 -32
  307. data/lib/active_admin/views/header.rb +0 -20
  308. data/lib/active_admin/views/index_as_block.rb +0 -37
  309. data/lib/active_admin/views/index_as_blog.rb +0 -156
  310. data/lib/active_admin/views/index_as_grid.rb +0 -81
  311. data/lib/active_admin/views/pages/base.rb +0 -134
  312. data/lib/active_admin/views/pages/form.rb +0 -65
  313. data/lib/active_admin/views/pages/index.rb +0 -166
  314. data/lib/active_admin/views/pages/layout.rb +0 -27
  315. data/lib/active_admin/views/pages/page.rb +0 -31
  316. data/lib/active_admin/views/pages/show.rb +0 -60
  317. data/lib/active_admin/views/tabbed_navigation.rb +0 -12
  318. data/lib/active_admin/views/title_bar.rb +0 -56
  319. data/lib/generators/active_admin/assets/templates/active_admin.js +0 -1
  320. data/lib/generators/active_admin/assets/templates/active_admin.scss +0 -17
  321. data/lib/generators/active_admin/resource/templates/admin.rb.erb +0 -46
  322. data/lib/generators/active_admin/webpacker/plugins/jquery.js +0 -7
  323. data/lib/generators/active_admin/webpacker/templates/active_admin.js +0 -5
  324. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +0 -17
  325. data/lib/generators/active_admin/webpacker/templates/print.scss +0 -2
  326. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +0 -27
  327. data/vendor/assets/javascripts/jquery-ui/data.js +0 -45
  328. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +0 -51
  329. data/vendor/assets/javascripts/jquery-ui/focusable.js +0 -89
  330. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +0 -83
  331. data/vendor/assets/javascripts/jquery-ui/form.js +0 -25
  332. data/vendor/assets/javascripts/jquery-ui/ie.js +0 -20
  333. data/vendor/assets/javascripts/jquery-ui/keycode.js +0 -51
  334. data/vendor/assets/javascripts/jquery-ui/labels.js +0 -71
  335. data/vendor/assets/javascripts/jquery-ui/plugin.js +0 -49
  336. data/vendor/assets/javascripts/jquery-ui/position.js +0 -513
  337. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +0 -46
  338. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +0 -27
  339. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +0 -50
  340. data/vendor/assets/javascripts/jquery-ui/tabbable.js +0 -41
  341. data/vendor/assets/javascripts/jquery-ui/unique-id.js +0 -54
  342. data/vendor/assets/javascripts/jquery-ui/version.js +0 -20
  343. data/vendor/assets/javascripts/jquery-ui/widget.js +0 -758
  344. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +0 -454
  345. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +0 -294
  346. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +0 -304
  347. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +0 -2243
  348. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +0 -971
  349. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +0 -1268
  350. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +0 -241
  351. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +0 -1228
  352. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +0 -1622
  353. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +0 -931
  354. /data/{lib → app/controllers}/active_admin/resource_controller/decorators.rb +0 -0
  355. /data/{lib → app/controllers}/active_admin/resource_controller/polymorphic_routes.rb +0 -0
  356. /data/{lib → app/controllers}/active_admin/resource_controller/resource_class_methods.rb +0 -0
  357. /data/lib/{active_admin/orm/mongoid/.gitkeep → generators/active_admin/assets/templates/builds/.keep} +0 -0
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module ActiveAdminApplicationHelper
5
-
6
- # Returns the current Active Admin application instance
7
- def active_admin_application
8
- ActiveAdmin.application
9
- end
10
-
11
- end
12
- end
13
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module AutoLinkHelper
5
-
6
- # Automatically links objects to their resource controllers. If
7
- # the resource has not been registered, a string representation of
8
- # the object is returned.
9
- #
10
- # The default content in the link is returned from ActiveAdmin::ViewHelpers::DisplayHelper#display_name
11
- #
12
- # You can pass in the content to display
13
- # eg: auto_link(@post, "My Link")
14
- #
15
- def auto_link(resource, content = display_name(resource))
16
- if url = auto_url_for(resource)
17
- link_to content, url
18
- else
19
- content
20
- end
21
- end
22
-
23
- # Like `auto_link`, except that it only returns a URL instead of a full <a> tag
24
- def auto_url_for(resource)
25
- config = active_admin_resource_for(resource.class)
26
- return unless config
27
-
28
- if config.controller.action_methods.include?("show") &&
29
- authorized?(ActiveAdmin::Auth::READ, resource)
30
- url_for config.route_instance_path resource, url_options
31
- elsif config.controller.action_methods.include?("edit") &&
32
- authorized?(ActiveAdmin::Auth::EDIT, resource)
33
- url_for config.route_edit_instance_path resource, url_options
34
- end
35
- end
36
-
37
- # Returns the ActiveAdmin::Resource instance for a class
38
- def active_admin_resource_for(klass)
39
- if respond_to? :active_admin_namespace
40
- active_admin_namespace.resource_for klass
41
- end
42
- end
43
-
44
- end
45
- end
46
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module BreadcrumbHelper
5
-
6
- # Returns an array of links to use in a breadcrumb
7
- def breadcrumb_links(path = request.path)
8
- # remove leading "/" and split up the URL
9
- # and remove last since it's used as the page title
10
- parts = path.split("/").select(&:present?)[0..-2]
11
-
12
- parts.each_with_index.map do |part, index|
13
- # 1. try using `display_name` if we can locate a DB object
14
- # 2. try using the model name translation
15
- # 3. default to calling `titlecase` on the URL fragment
16
- if part =~ /\A(\d+|[a-f0-9]{24}|(?:[a-f0-9]{8}-(?:[a-f0-9]{4}-){3}[a-f0-9]{12}))\z/ && parts[index - 1]
17
- parent = active_admin_config.belongs_to_config.try :target
18
- config = parent && parent.resource_name.route_key == parts[index - 1] ? parent : active_admin_config
19
- name = display_name config.find_resource part
20
- end
21
- name ||= I18n.t "activerecord.models.#{part.singularize}", count: ::ActiveAdmin::Helpers::I18n::PLURAL_MANY_COUNT, default: part.titlecase
22
-
23
- # Don't create a link if the resource's show action is disabled
24
- if !config || config.defined_actions.include?(:show)
25
- link_to name, "/" + parts[0..index].join("/")
26
- else
27
- name
28
- end
29
- end
30
- end
31
-
32
- end
33
- end
34
- end
@@ -1,119 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module DisplayHelper
5
-
6
- DISPLAY_NAME_FALLBACK = -> {
7
- klass = self.class
8
- name = if klass.respond_to?(:model_name)
9
- if klass.respond_to?(:primary_key)
10
- "#{klass.model_name.human} ##{send(klass.primary_key)}"
11
- else
12
- klass.model_name.human
13
- end
14
- elsif klass.respond_to?(:primary_key)
15
- " ##{send(klass.primary_key)}"
16
- end
17
- name.present? ? name : to_s
18
- }
19
-
20
- def DISPLAY_NAME_FALLBACK.inspect
21
- "DISPLAY_NAME_FALLBACK"
22
- end
23
-
24
- # Attempts to call any known display name methods on the resource.
25
- # See the setting in `application.rb` for the list of methods and their priority.
26
- def display_name(resource)
27
- unless resource.nil?
28
- result = render_in_context(resource, display_name_method_for(resource))
29
- if result.to_s&.strip&.present?
30
- ERB::Util.html_escape(result)
31
- else
32
- ERB::Util.html_escape(render_in_context(resource, DISPLAY_NAME_FALLBACK))
33
- end
34
- end
35
- end
36
-
37
- # Looks up and caches the first available display name method.
38
- # To prevent conflicts, we exclude any methods that happen to be associations.
39
- # If no methods are available and we're about to use the Kernel's `to_s`, provide our own.
40
- def display_name_method_for(resource)
41
- @@display_name_methods_cache ||= {}
42
- @@display_name_methods_cache[resource.class] ||= begin
43
- methods = active_admin_application.display_name_methods - association_methods_for(resource)
44
- method = methods.detect { |method| resource.respond_to? method }
45
-
46
- if method != :to_s || resource.method(method).source_location
47
- method
48
- else
49
- DISPLAY_NAME_FALLBACK
50
- end
51
- end
52
- end
53
-
54
- def association_methods_for(resource)
55
- return [] unless resource.class.respond_to? :reflect_on_all_associations
56
- resource.class.reflect_on_all_associations.map(&:name)
57
- end
58
-
59
- def format_attribute(resource, attr)
60
- value = find_value resource, attr
61
-
62
- if value.is_a?(Arbre::Element)
63
- value
64
- elsif boolean_attr?(resource, attr, value)
65
- Arbre::Context.new { status_tag value }
66
- else
67
- pretty_format value
68
- end
69
- end
70
-
71
- def find_value(resource, attr)
72
- if attr.is_a? Proc
73
- attr.call resource
74
- elsif resource.respond_to? attr
75
- resource.public_send attr
76
- elsif resource.respond_to? :[]
77
- resource[attr]
78
- end
79
- end
80
-
81
- # Attempts to create a human-readable string for any object
82
- def pretty_format(object)
83
- case object
84
- when String, Numeric, Symbol, Arbre::Element
85
- object.to_s
86
- when Date, Time
87
- I18n.localize object, format: active_admin_application.localize_format
88
- when Array
89
- format_collection(object)
90
- else
91
- if defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Base) ||
92
- defined?(::Mongoid) && object.class.include?(Mongoid::Document)
93
- auto_link object
94
- elsif defined?(::ActiveRecord) && object.is_a?(ActiveRecord::Relation)
95
- format_collection(object)
96
- else
97
- display_name object
98
- end
99
- end
100
- end
101
-
102
- def format_collection(collection)
103
- safe_join(collection.map { |item| pretty_format(item) }, ", ")
104
- end
105
-
106
- def boolean_attr?(resource, attr, value)
107
- case value
108
- when TrueClass, FalseClass
109
- true
110
- else
111
- if resource.class.respond_to? :attribute_types
112
- resource.class.attribute_types[attr.to_s].is_a?(ActiveModel::Type::Boolean)
113
- end
114
- end
115
- end
116
-
117
- end
118
- end
119
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module DownloadFormatLinksHelper
5
- private
6
-
7
- def build_download_formats(download_links)
8
- download_links = instance_exec(&download_links) if download_links.is_a?(Proc)
9
-
10
- if download_links.is_a?(Array) && !download_links.empty?
11
- download_links
12
- elsif download_links == false
13
- []
14
- else
15
- self.class.formats
16
- end
17
- end
18
-
19
- def build_download_format_links(formats = self.class.formats)
20
- params = request.query_parameters.except :format, :commit
21
- div class: "download_links" do
22
- span I18n.t("active_admin.download")
23
- formats.each do |format|
24
- a format.upcase, href: url_for(params: params, format: format)
25
- end
26
- end
27
- end
28
-
29
- def self.included base
30
- base.extend ClassMethods
31
- end
32
-
33
- module ClassMethods
34
-
35
- # A ready only of formats to make available in index/paginated
36
- # collection view.
37
- # @return [Array]
38
- # @see add_format for information on adding custom download link
39
- # formats
40
- def formats
41
- @formats ||= [:csv, :xml, :json]
42
- @formats.clone
43
- end
44
-
45
- # Adds a mime type to the list of available formats available for data
46
- # export. You must register the extension prior to adding it here.
47
- # @param [Symbol] format the mime type to add
48
- # @return [Array] A copy of the updated formats array.
49
- def add_format(format)
50
- unless Mime::Type.lookup_by_extension format
51
- raise ArgumentError, "Please register the #{format} mime type with `Mime::Type.register`"
52
- end
53
- @formats << format unless formats.include? format
54
- formats
55
- end
56
- end
57
-
58
- end
59
- end
60
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module FormHelper
5
-
6
- # Flatten a params Hash to an array of fields.
7
- #
8
- # @param params [Hash]
9
- # @param options [Hash] :namespace and :except
10
- #
11
- # @return [Array] of [Hash] with one element.
12
- #
13
- # @example
14
- # fields_for_params(scope: "all", users: ["greg"])
15
- # => [ {"scope" => "all"} , {"users[]" => "greg"} ]
16
- #
17
- def fields_for_params(params, options = {})
18
- namespace = options[:namespace]
19
- except = Array.wrap(options[:except]).map &:to_s
20
-
21
- params.flat_map do |k, v|
22
- next if namespace.nil? && %w(controller action commit utf8).include?(k.to_s)
23
- next if except.include?(k.to_s)
24
-
25
- if namespace
26
- k = "#{namespace}[#{k}]"
27
- end
28
-
29
- case v
30
- when String
31
- { k => v }
32
- when Symbol
33
- { k => v.to_s }
34
- when Hash
35
- fields_for_params(v, namespace: k)
36
- when Array
37
- v.map do |v|
38
- { "#{k}[]" => v }
39
- end
40
- when nil
41
- { k => "" }
42
- when TrueClass, FalseClass
43
- { k => v }
44
- else
45
- raise "I don't know what to do with #{v.class} params: #{v.inspect}"
46
- end
47
- end.compact
48
- end
49
- end
50
- end
51
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module FlashHelper
5
-
6
- # Returns all the flash keys to display in any Active Admin view.
7
- # This method removes the :timedout key that Devise uses by default.
8
- # Note Rails >= 4.1 normalizes keys to strings automatically.
9
- def flash_messages
10
- @flash_messages ||= flash.to_hash.with_indifferent_access.except(*active_admin_application.flash_keys_to_except)
11
- end
12
-
13
- end
14
- end
15
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module FormHelper
5
-
6
- def active_admin_form_for(resource, options = {}, &block)
7
- Arbre::Context.new({}, self) do
8
- active_admin_form_for resource, options, &block
9
- end.content
10
- end
11
-
12
- def hidden_field_tags_for(params, options = {})
13
- fields_for_params(params.to_unsafe_hash, options).map do |kv|
14
- k, v = kv.first
15
- hidden_field_tag k, v, id: sanitize_to_id("hidden_active_admin_#{k}")
16
- end.join("\n").html_safe
17
- end
18
-
19
- end
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module ScopeNameHelper
5
-
6
- def scope_name(scope)
7
- case scope.name
8
- when Proc then
9
- self.instance_exec(&scope.name).to_s
10
- else
11
- scope.name.to_s
12
- end
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module SidebarHelper
5
-
6
- def skip_sidebar!
7
- @skip_sidebar = true
8
- end
9
-
10
- def skip_sidebar?
11
- @skip_sidebar == true
12
- end
13
-
14
- end
15
- end
16
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module TitleHelper
5
-
6
- def title(_title)
7
- @page_title = _title
8
- end
9
-
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module ViewHelpers
4
- module ViewFactoryHelper
5
-
6
- def view_factory
7
- active_admin_namespace.view_factory
8
- end
9
-
10
- end
11
- end
12
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module Views
4
-
5
- class ActionItems < ActiveAdmin::Component
6
-
7
- def build(action_items)
8
- action_items.each do |action_item|
9
- span class: action_item.html_class do
10
- instance_exec(&action_item.block)
11
- end
12
- end
13
- end
14
-
15
- end
16
-
17
- end
18
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
- require "active_admin/filters/active"
3
-
4
- module ActiveAdmin
5
- module Views
6
-
7
- class ActiveFiltersSidebarContent < ActiveAdmin::Component
8
- builder_method :active_filters_sidebar_content
9
-
10
- def build
11
- active_filters = ActiveAdmin::Filters::Active.new(active_admin_config, assigns[:search])
12
- active_scopes = assigns[:search].instance_variable_get("@scope_args")
13
-
14
- scope_block(current_scope)
15
- filters_list(active_filters, active_scopes)
16
- end
17
-
18
- def scope_block(current_scope)
19
- return unless current_scope
20
-
21
- h4 I18n.t("active_admin.search_status.current_scope"), style: "display: inline"
22
- b scope_name(current_scope), class: "current_scope_name"
23
- end
24
-
25
- def filters_list(active_filters, active_scopes)
26
- div style: "margin-top: 10px" do
27
- h4 I18n.t("active_admin.search_status.current_filters"), style: "margin-bottom: 10px"
28
- ul do
29
- if active_filters.filters.blank? && active_scopes.blank?
30
- li I18n.t("active_admin.search_status.no_current_filters")
31
- else
32
- active_filters.filters.each { |filter| filter_item(filter) }
33
- active_scopes.each { |name, value| scope_item(name, value) }
34
- end
35
- end
36
- end
37
- end
38
-
39
- def filter_item(filter)
40
- li filter.html_options do
41
- span filter.label
42
- b to_sentence(filter.values.map { |v| pretty_format(v) })
43
- end
44
- end
45
-
46
- def scope_item(name, value)
47
- filter_name = name.gsub(/_eq$/, "")
48
- filter = active_admin_config.filters[filter_name.to_sym]
49
- label = filter.try(:[], :label) || filter_name.titleize
50
-
51
- li class: "current_filter_#{name}" do
52
- span "#{label} #{Ransack::Translate.predicate('eq')}"
53
- b value
54
- end
55
- end
56
- end
57
-
58
- end
59
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module Views
4
- # Build a Blank Slate
5
- class BlankSlate < ActiveAdmin::Component
6
- builder_method :blank_slate
7
-
8
- def default_class_name
9
- "blank_slate_container"
10
- end
11
-
12
- def build(content)
13
- super(span(content.html_safe, class: "blank_slate"))
14
- end
15
-
16
- end
17
- end
18
- end
@@ -1,162 +0,0 @@
1
- # frozen_string_literal: true
2
- module ActiveAdmin
3
- module Views
4
-
5
- # = Columns Component
6
- #
7
- # The Columns component allows you draw content into scalable columns. All
8
- # you need to do is define the number of columns and the component will
9
- # take care of the rest.
10
- #
11
- # == Simple Columns
12
- #
13
- # To display columns, use the #columns method. Within the block, call the
14
- # #column method to create a new column.
15
- #
16
- # To create a two column layout:
17
- #
18
- # columns do
19
- # column do
20
- # span "Column # 1
21
- # end
22
- # column do
23
- # span "Column # 2
24
- # end
25
- # end
26
- #
27
- #
28
- # == Multiple Span Columns
29
- #
30
- # To make a column span multiple, pass the :span option to the column method:
31
- #
32
- # columns do
33
- # column span: 2 do
34
- # span "Column # 1
35
- # end
36
- # column do
37
- # span "Column # 2
38
- # end
39
- # end
40
- #
41
- # By default, each column spans 1 column. So the above layout would have 2 columns,
42
- # the first being 2 time bigger than the second.
43
- #
44
- #
45
- # == Max and Min Column Sizes
46
- #
47
- # Active Admin is a fluid width layout, which means that columns are all defined
48
- # using percentages. Sometimes this can cause issues if you don't want a column
49
- # to shrink or expand past a certain point.
50
- #
51
- # To overcome this, columns include a :max_width and :min_width option.
52
- #
53
- # columns do
54
- # column max_width: "200px", min_width: "100px" do
55
- # span "Column # 1
56
- # end
57
- # column do
58
- # span "Column # 2
59
- # end
60
- # end
61
- #
62
- # Now the first column will not grow bigger than 200px and will not shrink smaller
63
- # than 100px.
64
- class Columns < ActiveAdmin::Component
65
- builder_method :columns
66
-
67
- # For documentation, please take a look at Column#build
68
- def column(*args, &block)
69
- insert_tag Column, *args, &block
70
- end
71
-
72
- # Override add child to set widths
73
- def add_child(*)
74
- super
75
- calculate_columns!
76
- end
77
-
78
- protected
79
-
80
- # Override the closing tag to include a clear
81
- def closing_tag
82
- "<div style=\"clear:both;\"></div>" + super
83
- end
84
-
85
- def margin_size
86
- 2
87
- end
88
-
89
- # Calculate our columns sizes and margins
90
- def calculate_columns!
91
- span_count = columns_span_count
92
- columns_count = children.size
93
-
94
- all_margins_width = margin_size * (span_count - 1)
95
- column_width = (100.00 - all_margins_width) / span_count
96
-
97
- columns.each_with_index do |column, i|
98
- is_last_column = i == (columns_count - 1)
99
- column.set_column_styles(column_width, margin_size, is_last_column)
100
- end
101
- end
102
-
103
- def columns_span_count
104
- count = 0
105
- columns.each do |column|
106
- count += column.span_size
107
- end
108
-
109
- count
110
- end
111
-
112
- def columns
113
- children.select { |child| child.is_a?(Column) }
114
- end
115
- end
116
-
117
- class Column < ActiveAdmin::Component
118
-
119
- attr_accessor :span_size, :max_width, :min_width
120
-
121
- # @param [Hash] options An options hash for the column
122
- #
123
- # @option options [Integer] :span The columns this column should span
124
- def build(options = {})
125
- options = options.dup
126
- @span_size = options.delete(:span) || 1
127
- @max_width = options.delete(:max_width)
128
- @min_width = options.delete(:min_width)
129
-
130
- super(options)
131
- end
132
-
133
- def set_column_styles(column_width, margin_width, is_last_column = false)
134
- column_with_span_width = (span_size * column_width) + ((span_size - 1) * margin_width)
135
-
136
- styles = []
137
-
138
- styles << "width: #{column_with_span_width}%;"
139
-
140
- if max_width
141
- styles << "max-width: #{safe_width(max_width)};"
142
- end
143
-
144
- if min_width
145
- styles << "min-width: #{safe_width(min_width)};"
146
- end
147
-
148
- styles << "margin-right: #{margin_width}%;" unless is_last_column
149
-
150
- set_attribute :style, styles.join(" ")
151
- end
152
-
153
- private
154
-
155
- # Converts values without a '%' or 'px' suffix to a pixel value
156
- def safe_width(width)
157
- width.to_s.gsub(/\A(\d+)\z/, '\1px')
158
- end
159
-
160
- end
161
- end
162
- end