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,294 +0,0 @@
1
- //= require jquery-ui/form-reset-mixin
2
- //= require jquery-ui/labels
3
- //= require jquery-ui/widget
4
-
5
- /*!
6
- * jQuery UI Checkboxradio 1.13.3
7
- * https://jqueryui.com
8
- *
9
- * Copyright OpenJS Foundation and other contributors
10
- * Released under the MIT license.
11
- * https://jquery.org/license
12
- */
13
-
14
- //>>label: Checkboxradio
15
- //>>group: Widgets
16
- //>>description: Enhances a form with multiple themeable checkboxes or radio buttons.
17
- //>>docs: https://api.jqueryui.com/checkboxradio/
18
- //>>demos: https://jqueryui.com/checkboxradio/
19
- //>>css.structure: ../../themes/base/core.css
20
- //>>css.structure: ../../themes/base/button.css
21
- //>>css.structure: ../../themes/base/checkboxradio.css
22
- //>>css.theme: ../../themes/base/theme.css
23
-
24
- ( function( factory ) {
25
- "use strict";
26
-
27
- if ( typeof define === "function" && define.amd ) {
28
-
29
- // AMD. Register as an anonymous module.
30
- define( [
31
- "jquery",
32
- "../form-reset-mixin",
33
- "../labels",
34
- "../widget"
35
- ], factory );
36
- } else {
37
-
38
- // Browser globals
39
- factory( jQuery );
40
- }
41
- } )( function( $ ) {
42
- "use strict";
43
-
44
- $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
45
- version: "1.13.3",
46
- options: {
47
- disabled: null,
48
- label: null,
49
- icon: true,
50
- classes: {
51
- "ui-checkboxradio-label": "ui-corner-all",
52
- "ui-checkboxradio-icon": "ui-corner-all"
53
- }
54
- },
55
-
56
- _getCreateOptions: function() {
57
- var disabled, labels, labelContents;
58
- var options = this._super() || {};
59
-
60
- // We read the type here, because it makes more sense to throw a element type error first,
61
- // rather then the error for lack of a label. Often if its the wrong type, it
62
- // won't have a label (e.g. calling on a div, btn, etc)
63
- this._readType();
64
-
65
- labels = this.element.labels();
66
-
67
- // If there are multiple labels, use the last one
68
- this.label = $( labels[ labels.length - 1 ] );
69
- if ( !this.label.length ) {
70
- $.error( "No label found for checkboxradio widget" );
71
- }
72
-
73
- this.originalLabel = "";
74
-
75
- // We need to get the label text but this may also need to make sure it does not contain the
76
- // input itself.
77
- // The label contents could be text, html, or a mix. We wrap all elements
78
- // and read the wrapper's `innerHTML` to get a string representation of
79
- // the label, without the input as part of it.
80
- labelContents = this.label.contents().not( this.element[ 0 ] );
81
-
82
- if ( labelContents.length ) {
83
- this.originalLabel += labelContents
84
- .clone()
85
- .wrapAll( "<div></div>" )
86
- .parent()
87
- .html();
88
- }
89
-
90
- // Set the label option if we found label text
91
- if ( this.originalLabel ) {
92
- options.label = this.originalLabel;
93
- }
94
-
95
- disabled = this.element[ 0 ].disabled;
96
- if ( disabled != null ) {
97
- options.disabled = disabled;
98
- }
99
- return options;
100
- },
101
-
102
- _create: function() {
103
- var checked = this.element[ 0 ].checked;
104
-
105
- this._bindFormResetHandler();
106
-
107
- if ( this.options.disabled == null ) {
108
- this.options.disabled = this.element[ 0 ].disabled;
109
- }
110
-
111
- this._setOption( "disabled", this.options.disabled );
112
- this._addClass( "ui-checkboxradio", "ui-helper-hidden-accessible" );
113
- this._addClass( this.label, "ui-checkboxradio-label", "ui-button ui-widget" );
114
-
115
- if ( this.type === "radio" ) {
116
- this._addClass( this.label, "ui-checkboxradio-radio-label" );
117
- }
118
-
119
- if ( this.options.label && this.options.label !== this.originalLabel ) {
120
- this._updateLabel();
121
- } else if ( this.originalLabel ) {
122
- this.options.label = this.originalLabel;
123
- }
124
-
125
- this._enhance();
126
-
127
- if ( checked ) {
128
- this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" );
129
- }
130
-
131
- this._on( {
132
- change: "_toggleClasses",
133
- focus: function() {
134
- this._addClass( this.label, null, "ui-state-focus ui-visual-focus" );
135
- },
136
- blur: function() {
137
- this._removeClass( this.label, null, "ui-state-focus ui-visual-focus" );
138
- }
139
- } );
140
- },
141
-
142
- _readType: function() {
143
- var nodeName = this.element[ 0 ].nodeName.toLowerCase();
144
- this.type = this.element[ 0 ].type;
145
- if ( nodeName !== "input" || !/radio|checkbox/.test( this.type ) ) {
146
- $.error( "Can't create checkboxradio on element.nodeName=" + nodeName +
147
- " and element.type=" + this.type );
148
- }
149
- },
150
-
151
- // Support jQuery Mobile enhanced option
152
- _enhance: function() {
153
- this._updateIcon( this.element[ 0 ].checked );
154
- },
155
-
156
- widget: function() {
157
- return this.label;
158
- },
159
-
160
- _getRadioGroup: function() {
161
- var group;
162
- var name = this.element[ 0 ].name;
163
- var nameSelector = "input[name='" + $.escapeSelector( name ) + "']";
164
-
165
- if ( !name ) {
166
- return $( [] );
167
- }
168
-
169
- if ( this.form.length ) {
170
- group = $( this.form[ 0 ].elements ).filter( nameSelector );
171
- } else {
172
-
173
- // Not inside a form, check all inputs that also are not inside a form
174
- group = $( nameSelector ).filter( function() {
175
- return $( this )._form().length === 0;
176
- } );
177
- }
178
-
179
- return group.not( this.element );
180
- },
181
-
182
- _toggleClasses: function() {
183
- var checked = this.element[ 0 ].checked;
184
- this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked );
185
-
186
- if ( this.options.icon && this.type === "checkbox" ) {
187
- this._toggleClass( this.icon, null, "ui-icon-check ui-state-checked", checked )
188
- ._toggleClass( this.icon, null, "ui-icon-blank", !checked );
189
- }
190
-
191
- if ( this.type === "radio" ) {
192
- this._getRadioGroup()
193
- .each( function() {
194
- var instance = $( this ).checkboxradio( "instance" );
195
-
196
- if ( instance ) {
197
- instance._removeClass( instance.label,
198
- "ui-checkboxradio-checked", "ui-state-active" );
199
- }
200
- } );
201
- }
202
- },
203
-
204
- _destroy: function() {
205
- this._unbindFormResetHandler();
206
-
207
- if ( this.icon ) {
208
- this.icon.remove();
209
- this.iconSpace.remove();
210
- }
211
- },
212
-
213
- _setOption: function( key, value ) {
214
-
215
- // We don't allow the value to be set to nothing
216
- if ( key === "label" && !value ) {
217
- return;
218
- }
219
-
220
- this._super( key, value );
221
-
222
- if ( key === "disabled" ) {
223
- this._toggleClass( this.label, null, "ui-state-disabled", value );
224
- this.element[ 0 ].disabled = value;
225
-
226
- // Don't refresh when setting disabled
227
- return;
228
- }
229
- this.refresh();
230
- },
231
-
232
- _updateIcon: function( checked ) {
233
- var toAdd = "ui-icon ui-icon-background ";
234
-
235
- if ( this.options.icon ) {
236
- if ( !this.icon ) {
237
- this.icon = $( "<span>" );
238
- this.iconSpace = $( "<span> </span>" );
239
- this._addClass( this.iconSpace, "ui-checkboxradio-icon-space" );
240
- }
241
-
242
- if ( this.type === "checkbox" ) {
243
- toAdd += checked ? "ui-icon-check ui-state-checked" : "ui-icon-blank";
244
- this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" );
245
- } else {
246
- toAdd += "ui-icon-blank";
247
- }
248
- this._addClass( this.icon, "ui-checkboxradio-icon", toAdd );
249
- if ( !checked ) {
250
- this._removeClass( this.icon, null, "ui-icon-check ui-state-checked" );
251
- }
252
- this.icon.prependTo( this.label ).after( this.iconSpace );
253
- } else if ( this.icon !== undefined ) {
254
- this.icon.remove();
255
- this.iconSpace.remove();
256
- delete this.icon;
257
- }
258
- },
259
-
260
- _updateLabel: function() {
261
-
262
- // Remove the contents of the label ( minus the icon, icon space, and input )
263
- var contents = this.label.contents().not( this.element[ 0 ] );
264
- if ( this.icon ) {
265
- contents = contents.not( this.icon[ 0 ] );
266
- }
267
- if ( this.iconSpace ) {
268
- contents = contents.not( this.iconSpace[ 0 ] );
269
- }
270
- contents.remove();
271
-
272
- this.label.append( this.options.label );
273
- },
274
-
275
- refresh: function() {
276
- var checked = this.element[ 0 ].checked,
277
- isDisabled = this.element[ 0 ].disabled;
278
-
279
- this._updateIcon( checked );
280
- this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked );
281
- if ( this.options.label !== null ) {
282
- this._updateLabel();
283
- }
284
-
285
- if ( isDisabled !== this.options.disabled ) {
286
- this._setOptions( { "disabled": isDisabled } );
287
- }
288
- }
289
-
290
- } ] );
291
-
292
- return $.ui.checkboxradio;
293
-
294
- } );
@@ -1,304 +0,0 @@
1
- //= require jquery-ui/widget
2
-
3
- /*!
4
- * jQuery UI Controlgroup 1.13.3
5
- * https://jqueryui.com
6
- *
7
- * Copyright OpenJS Foundation and other contributors
8
- * Released under the MIT license.
9
- * https://jquery.org/license
10
- */
11
-
12
- //>>label: Controlgroup
13
- //>>group: Widgets
14
- //>>description: Visually groups form control widgets
15
- //>>docs: https://api.jqueryui.com/controlgroup/
16
- //>>demos: https://jqueryui.com/controlgroup/
17
- //>>css.structure: ../../themes/base/core.css
18
- //>>css.structure: ../../themes/base/controlgroup.css
19
- //>>css.theme: ../../themes/base/theme.css
20
-
21
- ( function( factory ) {
22
- "use strict";
23
-
24
- if ( typeof define === "function" && define.amd ) {
25
-
26
- // AMD. Register as an anonymous module.
27
- define( [
28
- "jquery",
29
- "../widget"
30
- ], factory );
31
- } else {
32
-
33
- // Browser globals
34
- factory( jQuery );
35
- }
36
- } )( function( $ ) {
37
- "use strict";
38
-
39
- var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g;
40
-
41
- return $.widget( "ui.controlgroup", {
42
- version: "1.13.3",
43
- defaultElement: "<div>",
44
- options: {
45
- direction: "horizontal",
46
- disabled: null,
47
- onlyVisible: true,
48
- items: {
49
- "button": "input[type=button], input[type=submit], input[type=reset], button, a",
50
- "controlgroupLabel": ".ui-controlgroup-label",
51
- "checkboxradio": "input[type='checkbox'], input[type='radio']",
52
- "selectmenu": "select",
53
- "spinner": ".ui-spinner-input"
54
- }
55
- },
56
-
57
- _create: function() {
58
- this._enhance();
59
- },
60
-
61
- // To support the enhanced option in jQuery Mobile, we isolate DOM manipulation
62
- _enhance: function() {
63
- this.element.attr( "role", "toolbar" );
64
- this.refresh();
65
- },
66
-
67
- _destroy: function() {
68
- this._callChildMethod( "destroy" );
69
- this.childWidgets.removeData( "ui-controlgroup-data" );
70
- this.element.removeAttr( "role" );
71
- if ( this.options.items.controlgroupLabel ) {
72
- this.element
73
- .find( this.options.items.controlgroupLabel )
74
- .find( ".ui-controlgroup-label-contents" )
75
- .contents().unwrap();
76
- }
77
- },
78
-
79
- _initWidgets: function() {
80
- var that = this,
81
- childWidgets = [];
82
-
83
- // First we iterate over each of the items options
84
- $.each( this.options.items, function( widget, selector ) {
85
- var labels;
86
- var options = {};
87
-
88
- // Make sure the widget has a selector set
89
- if ( !selector ) {
90
- return;
91
- }
92
-
93
- if ( widget === "controlgroupLabel" ) {
94
- labels = that.element.find( selector );
95
- labels.each( function() {
96
- var element = $( this );
97
-
98
- if ( element.children( ".ui-controlgroup-label-contents" ).length ) {
99
- return;
100
- }
101
- element.contents()
102
- .wrapAll( "<span class='ui-controlgroup-label-contents'></span>" );
103
- } );
104
- that._addClass( labels, null, "ui-widget ui-widget-content ui-state-default" );
105
- childWidgets = childWidgets.concat( labels.get() );
106
- return;
107
- }
108
-
109
- // Make sure the widget actually exists
110
- if ( !$.fn[ widget ] ) {
111
- return;
112
- }
113
-
114
- // We assume everything is in the middle to start because we can't determine
115
- // first / last elements until all enhancments are done.
116
- if ( that[ "_" + widget + "Options" ] ) {
117
- options = that[ "_" + widget + "Options" ]( "middle" );
118
- } else {
119
- options = { classes: {} };
120
- }
121
-
122
- // Find instances of this widget inside controlgroup and init them
123
- that.element
124
- .find( selector )
125
- .each( function() {
126
- var element = $( this );
127
- var instance = element[ widget ]( "instance" );
128
-
129
- // We need to clone the default options for this type of widget to avoid
130
- // polluting the variable options which has a wider scope than a single widget.
131
- var instanceOptions = $.widget.extend( {}, options );
132
-
133
- // If the button is the child of a spinner ignore it
134
- // TODO: Find a more generic solution
135
- if ( widget === "button" && element.parent( ".ui-spinner" ).length ) {
136
- return;
137
- }
138
-
139
- // Create the widget if it doesn't exist
140
- if ( !instance ) {
141
- instance = element[ widget ]()[ widget ]( "instance" );
142
- }
143
- if ( instance ) {
144
- instanceOptions.classes =
145
- that._resolveClassesValues( instanceOptions.classes, instance );
146
- }
147
- element[ widget ]( instanceOptions );
148
-
149
- // Store an instance of the controlgroup to be able to reference
150
- // from the outermost element for changing options and refresh
151
- var widgetElement = element[ widget ]( "widget" );
152
- $.data( widgetElement[ 0 ], "ui-controlgroup-data",
153
- instance ? instance : element[ widget ]( "instance" ) );
154
-
155
- childWidgets.push( widgetElement[ 0 ] );
156
- } );
157
- } );
158
-
159
- this.childWidgets = $( $.uniqueSort( childWidgets ) );
160
- this._addClass( this.childWidgets, "ui-controlgroup-item" );
161
- },
162
-
163
- _callChildMethod: function( method ) {
164
- this.childWidgets.each( function() {
165
- var element = $( this ),
166
- data = element.data( "ui-controlgroup-data" );
167
- if ( data && data[ method ] ) {
168
- data[ method ]();
169
- }
170
- } );
171
- },
172
-
173
- _updateCornerClass: function( element, position ) {
174
- var remove = "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all";
175
- var add = this._buildSimpleOptions( position, "label" ).classes.label;
176
-
177
- this._removeClass( element, null, remove );
178
- this._addClass( element, null, add );
179
- },
180
-
181
- _buildSimpleOptions: function( position, key ) {
182
- var direction = this.options.direction === "vertical";
183
- var result = {
184
- classes: {}
185
- };
186
- result.classes[ key ] = {
187
- "middle": "",
188
- "first": "ui-corner-" + ( direction ? "top" : "left" ),
189
- "last": "ui-corner-" + ( direction ? "bottom" : "right" ),
190
- "only": "ui-corner-all"
191
- }[ position ];
192
-
193
- return result;
194
- },
195
-
196
- _spinnerOptions: function( position ) {
197
- var options = this._buildSimpleOptions( position, "ui-spinner" );
198
-
199
- options.classes[ "ui-spinner-up" ] = "";
200
- options.classes[ "ui-spinner-down" ] = "";
201
-
202
- return options;
203
- },
204
-
205
- _buttonOptions: function( position ) {
206
- return this._buildSimpleOptions( position, "ui-button" );
207
- },
208
-
209
- _checkboxradioOptions: function( position ) {
210
- return this._buildSimpleOptions( position, "ui-checkboxradio-label" );
211
- },
212
-
213
- _selectmenuOptions: function( position ) {
214
- var direction = this.options.direction === "vertical";
215
- return {
216
- width: direction ? "auto" : false,
217
- classes: {
218
- middle: {
219
- "ui-selectmenu-button-open": "",
220
- "ui-selectmenu-button-closed": ""
221
- },
222
- first: {
223
- "ui-selectmenu-button-open": "ui-corner-" + ( direction ? "top" : "tl" ),
224
- "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "top" : "left" )
225
- },
226
- last: {
227
- "ui-selectmenu-button-open": direction ? "" : "ui-corner-tr",
228
- "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "bottom" : "right" )
229
- },
230
- only: {
231
- "ui-selectmenu-button-open": "ui-corner-top",
232
- "ui-selectmenu-button-closed": "ui-corner-all"
233
- }
234
-
235
- }[ position ]
236
- };
237
- },
238
-
239
- _resolveClassesValues: function( classes, instance ) {
240
- var result = {};
241
- $.each( classes, function( key ) {
242
- var current = instance.options.classes[ key ] || "";
243
- current = String.prototype.trim.call( current.replace( controlgroupCornerRegex, "" ) );
244
- result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " );
245
- } );
246
- return result;
247
- },
248
-
249
- _setOption: function( key, value ) {
250
- if ( key === "direction" ) {
251
- this._removeClass( "ui-controlgroup-" + this.options.direction );
252
- }
253
-
254
- this._super( key, value );
255
- if ( key === "disabled" ) {
256
- this._callChildMethod( value ? "disable" : "enable" );
257
- return;
258
- }
259
-
260
- this.refresh();
261
- },
262
-
263
- refresh: function() {
264
- var children,
265
- that = this;
266
-
267
- this._addClass( "ui-controlgroup ui-controlgroup-" + this.options.direction );
268
-
269
- if ( this.options.direction === "horizontal" ) {
270
- this._addClass( null, "ui-helper-clearfix" );
271
- }
272
- this._initWidgets();
273
-
274
- children = this.childWidgets;
275
-
276
- // We filter here because we need to track all childWidgets not just the visible ones
277
- if ( this.options.onlyVisible ) {
278
- children = children.filter( ":visible" );
279
- }
280
-
281
- if ( children.length ) {
282
-
283
- // We do this last because we need to make sure all enhancment is done
284
- // before determining first and last
285
- $.each( [ "first", "last" ], function( index, value ) {
286
- var instance = children[ value ]().data( "ui-controlgroup-data" );
287
-
288
- if ( instance && that[ "_" + instance.widgetName + "Options" ] ) {
289
- var options = that[ "_" + instance.widgetName + "Options" ](
290
- children.length === 1 ? "only" : value
291
- );
292
- options.classes = that._resolveClassesValues( options.classes, instance );
293
- instance.element[ instance.widgetName ]( options );
294
- } else {
295
- that._updateCornerClass( children[ value ](), value );
296
- }
297
- } );
298
-
299
- // Finally call the refresh method on each of the child widgets.
300
- this._callChildMethod( "refresh" );
301
- }
302
- }
303
- } );
304
- } );