activeadmin 1.2.1 → 2.13.1

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

Potentially problematic release.


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

Files changed (581) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +769 -132
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +83 -61
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +524 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  12. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  14. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  15. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  16. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  17. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  18. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  19. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  21. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  22. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  23. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  25. data/app/javascript/active_admin/base.js +28 -0
  26. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  27. data/app/javascript/active_admin/ext/jquery.js +9 -0
  28. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  29. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  30. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  31. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  32. data/app/javascript/active_admin/initializers/filters.js +10 -0
  33. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  34. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  35. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  36. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  37. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  38. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  39. data/app/javascript/active_admin/lib/filters.js +39 -0
  40. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  41. data/app/javascript/active_admin/lib/per-page.js +38 -0
  42. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  43. data/app/javascript/active_admin/lib/utils.js +40 -0
  44. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  45. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  46. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  47. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  48. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  50. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  51. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  52. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  53. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  54. data/app/views/active_admin/page/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/edit.html.arb +1 -0
  56. data/app/views/active_admin/resource/index.html.arb +1 -0
  57. data/app/views/active_admin/resource/new.html.arb +1 -0
  58. data/app/views/active_admin/resource/show.html.arb +1 -0
  59. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  61. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  64. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  65. data/app/views/layouts/active_admin.html.arb +1 -0
  66. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  67. data/config/locales/ar.yml +9 -8
  68. data/config/locales/az.yml +138 -0
  69. data/config/locales/bg.yml +1 -1
  70. data/config/locales/bs.yml +1 -0
  71. data/config/locales/ca.yml +1 -1
  72. data/config/locales/cs.yml +1 -0
  73. data/config/locales/da.yml +1 -0
  74. data/config/locales/de-CH.yml +1 -0
  75. data/config/locales/de.yml +29 -0
  76. data/config/locales/el.yml +1 -0
  77. data/config/locales/en-CA.yml +4 -3
  78. data/config/locales/en-GB.yml +4 -3
  79. data/config/locales/en.yml +23 -4
  80. data/config/locales/eo.yml +1 -0
  81. data/config/locales/es-MX.yml +3 -1
  82. data/config/locales/es.yml +26 -6
  83. data/config/locales/fa.yml +1 -0
  84. data/config/locales/fi.yml +2 -1
  85. data/config/locales/fr.yml +6 -5
  86. data/config/locales/he.yml +1 -1
  87. data/config/locales/hr.yml +1 -0
  88. data/config/locales/hu.yml +5 -0
  89. data/config/locales/id.yml +1 -0
  90. data/config/locales/it.yml +23 -0
  91. data/config/locales/ja.yml +4 -3
  92. data/config/locales/ko.yml +2 -1
  93. data/config/locales/lt.yml +3 -2
  94. data/config/locales/lv.yml +3 -2
  95. data/config/locales/mk.yml +134 -0
  96. data/config/locales/nb.yml +16 -5
  97. data/config/locales/nl.yml +13 -1
  98. data/config/locales/pl.yml +72 -3
  99. data/config/locales/pt-BR.yml +1 -0
  100. data/config/locales/pt-PT.yml +1 -0
  101. data/config/locales/ro.yml +4 -2
  102. data/config/locales/ru.yml +3 -0
  103. data/config/locales/sk.yml +60 -0
  104. data/config/locales/sv-SE.yml +1 -0
  105. data/config/locales/tr.yml +10 -0
  106. data/config/locales/uk.yml +3 -0
  107. data/config/locales/vi.yml +7 -5
  108. data/config/locales/zh-CN.yml +34 -5
  109. data/config/locales/zh-TW.yml +1 -0
  110. data/docs/.gitignore +1 -0
  111. data/docs/0-installation.md +29 -5
  112. data/docs/1-general-configuration.md +36 -1
  113. data/docs/10-custom-pages.md +14 -0
  114. data/docs/11-decorators.md +16 -5
  115. data/docs/12-arbre-components.md +41 -1
  116. data/docs/13-authorization-adapter.md +41 -22
  117. data/docs/2-resource-customization.md +19 -5
  118. data/docs/3-index-pages/custom-index.md +1 -1
  119. data/docs/3-index-pages/index-as-blog.md +1 -1
  120. data/docs/3-index-pages/index-as-table.md +12 -5
  121. data/docs/3-index-pages.md +18 -1
  122. data/docs/5-forms.md +25 -5
  123. data/docs/6-show-pages.md +12 -0
  124. data/docs/8-custom-actions.md +12 -1
  125. data/docs/9-batch-actions.md +2 -2
  126. data/docs/CNAME +1 -1
  127. data/docs/Gemfile +4 -2
  128. data/docs/Gemfile.lock +283 -0
  129. data/docs/_config.yml +3 -1
  130. data/docs/_includes/toc.html +1 -1
  131. data/docs/_includes/top-menu.html +9 -1
  132. data/docs/documentation.md +2 -2
  133. data/docs/images/tidelift.svg +14 -0
  134. data/docs/index.html +110 -9
  135. data/docs/stylesheets/main.css +55 -2
  136. data/lib/active_admin/abstract_view_factory.rb +14 -51
  137. data/lib/active_admin/application.rb +65 -172
  138. data/lib/active_admin/application_settings.rb +43 -0
  139. data/lib/active_admin/asset_registration.rb +1 -8
  140. data/lib/active_admin/authorization_adapter.rb +4 -3
  141. data/lib/active_admin/base_controller/authorization.rb +18 -18
  142. data/lib/active_admin/base_controller/menu.rb +1 -0
  143. data/lib/active_admin/base_controller.rb +12 -11
  144. data/lib/active_admin/batch_actions/controller.rb +6 -5
  145. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  146. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  147. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  148. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  149. data/lib/active_admin/batch_actions.rb +1 -0
  150. data/lib/active_admin/callbacks.rb +2 -1
  151. data/lib/active_admin/cancan_adapter.rb +2 -1
  152. data/lib/active_admin/collection_decorator.rb +32 -0
  153. data/lib/active_admin/component.rb +1 -0
  154. data/lib/active_admin/controller_action.rb +3 -1
  155. data/lib/active_admin/csv_builder.rb +15 -23
  156. data/lib/active_admin/dependency.rb +14 -77
  157. data/lib/active_admin/deprecation.rb +1 -25
  158. data/lib/active_admin/devise.rb +16 -5
  159. data/lib/active_admin/dsl.rb +3 -9
  160. data/lib/active_admin/dynamic_setting.rb +39 -0
  161. data/lib/active_admin/dynamic_settings_node.rb +29 -0
  162. data/lib/active_admin/engine.rb +16 -7
  163. data/lib/active_admin/error.rb +5 -4
  164. data/lib/active_admin/filters/active.rb +2 -1
  165. data/lib/active_admin/filters/active_filter.rb +12 -11
  166. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  167. data/lib/active_admin/filters/dsl.rb +1 -0
  168. data/lib/active_admin/filters/forms.rb +13 -9
  169. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  170. data/lib/active_admin/filters/resource_extension.rb +30 -5
  171. data/lib/active_admin/filters.rb +8 -7
  172. data/lib/active_admin/form_builder.rb +110 -70
  173. data/lib/active_admin/generators/boilerplate.rb +13 -4
  174. data/lib/active_admin/helpers/collection.rb +2 -0
  175. data/lib/active_admin/helpers/i18n.rb +1 -0
  176. data/lib/active_admin/helpers/optional_display.rb +3 -2
  177. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  178. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  179. data/lib/active_admin/inputs/datepicker_input.rb +10 -2
  180. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  181. data/lib/active_admin/inputs/filters/base.rb +2 -1
  182. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  183. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  184. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  185. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  186. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  187. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  188. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  189. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  190. data/lib/active_admin/inputs.rb +1 -0
  191. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  192. data/lib/active_admin/localizers.rb +2 -1
  193. data/lib/active_admin/menu.rb +9 -11
  194. data/lib/active_admin/menu_collection.rb +1 -0
  195. data/lib/active_admin/menu_item.rb +11 -38
  196. data/lib/active_admin/namespace.rb +33 -20
  197. data/lib/active_admin/namespace_settings.rb +127 -0
  198. data/lib/active_admin/order_clause.rb +4 -3
  199. data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
  200. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  201. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  202. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  203. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
  204. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  205. data/lib/active_admin/orm/active_record/comments.rb +35 -23
  206. data/lib/active_admin/orm/active_record.rb +2 -1
  207. data/lib/active_admin/orm/mongoid.rb +1 -0
  208. data/lib/active_admin/page.rb +2 -1
  209. data/lib/active_admin/page_controller.rb +1 -0
  210. data/lib/active_admin/page_dsl.rb +2 -1
  211. data/lib/active_admin/page_presenter.rb +3 -1
  212. data/lib/active_admin/pundit_adapter.rb +73 -16
  213. data/lib/active_admin/resource/action_items.rb +12 -6
  214. data/lib/active_admin/resource/attributes.rb +9 -5
  215. data/lib/active_admin/resource/belongs_to.rb +9 -3
  216. data/lib/active_admin/resource/controllers.rb +2 -1
  217. data/lib/active_admin/resource/includes.rb +1 -0
  218. data/lib/active_admin/resource/menu.rb +6 -5
  219. data/lib/active_admin/resource/model.rb +16 -0
  220. data/lib/active_admin/resource/naming.rb +6 -5
  221. data/lib/active_admin/resource/ordering.rb +1 -0
  222. data/lib/active_admin/resource/page_presenters.rb +1 -0
  223. data/lib/active_admin/resource/pagination.rb +1 -0
  224. data/lib/active_admin/resource/routes.rb +26 -14
  225. data/lib/active_admin/resource/scope_to.rb +8 -7
  226. data/lib/active_admin/resource/scopes.rb +4 -3
  227. data/lib/active_admin/resource/sidebars.rb +3 -2
  228. data/lib/active_admin/resource.rb +37 -22
  229. data/lib/active_admin/resource_collection.rb +3 -2
  230. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  231. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  232. data/lib/active_admin/resource_controller/decorators.rb +10 -31
  233. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  234. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  235. data/lib/active_admin/resource_controller/scoping.rb +2 -1
  236. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  237. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  238. data/lib/active_admin/resource_controller.rb +14 -10
  239. data/lib/active_admin/resource_dsl.rb +16 -28
  240. data/lib/active_admin/router.rb +91 -84
  241. data/lib/active_admin/scope.rb +20 -11
  242. data/lib/active_admin/settings_node.rb +20 -0
  243. data/lib/active_admin/sidebar_section.rb +4 -1
  244. data/lib/active_admin/version.rb +2 -1
  245. data/lib/active_admin/view_factory.rb +18 -17
  246. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  247. data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
  248. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  249. data/lib/active_admin/view_helpers/display_helper.rb +25 -8
  250. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  251. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  252. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  253. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  254. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
  255. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  256. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  257. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  258. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  259. data/lib/active_admin/view_helpers.rb +2 -1
  260. data/lib/active_admin/views/action_items.rb +1 -0
  261. data/lib/active_admin/views/components/active_admin_form.rb +14 -8
  262. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  263. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  264. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  265. data/lib/active_admin/views/components/columns.rb +1 -0
  266. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  267. data/lib/active_admin/views/components/index_list.rb +4 -3
  268. data/lib/active_admin/views/components/menu.rb +33 -0
  269. data/lib/active_admin/views/components/menu_item.rb +59 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  271. data/lib/active_admin/views/components/panel.rb +2 -1
  272. data/lib/active_admin/views/components/scopes.rb +18 -8
  273. data/lib/active_admin/views/components/sidebar.rb +14 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  275. data/lib/active_admin/views/components/site_title.rb +7 -7
  276. data/lib/active_admin/views/components/status_tag.rb +14 -26
  277. data/lib/active_admin/views/components/table_for.rb +22 -29
  278. data/lib/active_admin/views/components/tabs.rb +18 -5
  279. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  280. data/lib/active_admin/views/footer.rb +6 -8
  281. data/lib/active_admin/views/header.rb +4 -15
  282. data/lib/active_admin/views/index_as_block.rb +1 -0
  283. data/lib/active_admin/views/index_as_blog.rb +3 -2
  284. data/lib/active_admin/views/index_as_grid.rb +27 -26
  285. data/lib/active_admin/views/index_as_table.rb +34 -25
  286. data/lib/active_admin/views/pages/base.rb +44 -60
  287. data/lib/active_admin/views/pages/form.rb +1 -0
  288. data/lib/active_admin/views/pages/index.rb +16 -13
  289. data/lib/active_admin/views/pages/layout.rb +1 -0
  290. data/lib/active_admin/views/pages/page.rb +1 -0
  291. data/lib/active_admin/views/pages/show.rb +1 -0
  292. data/lib/active_admin/views/tabbed_navigation.rb +5 -59
  293. data/lib/active_admin/views/title_bar.rb +2 -1
  294. data/lib/active_admin/views.rb +2 -1
  295. data/lib/active_admin.rb +68 -63
  296. data/lib/activeadmin.rb +2 -1
  297. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  298. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  299. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  300. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  301. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  302. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  303. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  304. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  305. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  306. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  308. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  309. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  310. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  311. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  312. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  313. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  314. data/lib/ransack_ext.rb +10 -9
  315. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  316. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  317. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  318. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  319. metadata +122 -559
  320. data/.github/ISSUE_TEMPLATE.md +0 -20
  321. data/.gitignore +0 -49
  322. data/.mdlrc +0 -1
  323. data/.rubocop.yml +0 -76
  324. data/.simplecov +0 -13
  325. data/.travis.yml +0 -49
  326. data/.yardopts +0 -7
  327. data/Gemfile +0 -58
  328. data/Rakefile +0 -54
  329. data/activeadmin.gemspec +0 -32
  330. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  331. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  332. data/app/assets/images/active_admin/orderable.png +0 -0
  333. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  334. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  335. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  336. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  337. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  338. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  339. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  340. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  341. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  342. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  343. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  344. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  345. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  346. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  347. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  348. data/codecov.yml +0 -25
  349. data/config/i18n-tasks.yml +0 -26
  350. data/config/mdl_style.rb +0 -9
  351. data/cucumber.yml +0 -3
  352. data/features/action_item.feature +0 -73
  353. data/features/authorization.feature +0 -64
  354. data/features/authorization_cancan.feature +0 -52
  355. data/features/authorization_pundit.feature +0 -37
  356. data/features/belongs_to.feature +0 -124
  357. data/features/breadcrumb.feature +0 -75
  358. data/features/comments/commenting.feature +0 -178
  359. data/features/comments/viewing_index.feature +0 -19
  360. data/features/create_another.feature +0 -55
  361. data/features/dashboard.feature +0 -16
  362. data/features/decorators.feature +0 -43
  363. data/features/development_reloading.feature +0 -28
  364. data/features/edit_page.feature +0 -116
  365. data/features/favicon.feature +0 -20
  366. data/features/first_boot.feature +0 -16
  367. data/features/footer.feature +0 -28
  368. data/features/global_navigation.feature +0 -29
  369. data/features/i18n.feature +0 -55
  370. data/features/index/batch_actions.feature +0 -218
  371. data/features/index/filters.feature +0 -250
  372. data/features/index/format_as_csv.feature +0 -220
  373. data/features/index/formats.feature +0 -88
  374. data/features/index/index_as_block.feature +0 -15
  375. data/features/index/index_as_blog.feature +0 -69
  376. data/features/index/index_as_grid.feature +0 -45
  377. data/features/index/index_as_table.feature +0 -291
  378. data/features/index/index_blank_slate.feature +0 -83
  379. data/features/index/index_parameters.feature +0 -75
  380. data/features/index/index_scope_to.feature +0 -56
  381. data/features/index/index_scopes.feature +0 -285
  382. data/features/index/page_title.feature +0 -41
  383. data/features/index/pagination.feature +0 -63
  384. data/features/index/switch_index_view.feature +0 -73
  385. data/features/menu.feature +0 -72
  386. data/features/meta_tags.feature +0 -21
  387. data/features/new_page.feature +0 -136
  388. data/features/registering_assets.feature +0 -38
  389. data/features/registering_pages.feature +0 -237
  390. data/features/registering_resources.feature +0 -33
  391. data/features/renamed_resource.feature +0 -30
  392. data/features/root_to.feature +0 -17
  393. data/features/show/attributes_table_title.feature +0 -54
  394. data/features/show/columns.feature +0 -40
  395. data/features/show/default_content.feature +0 -44
  396. data/features/show/page_title.feature +0 -58
  397. data/features/show/tabs.feature +0 -33
  398. data/features/sidebar_sections.feature +0 -210
  399. data/features/site_title.feature +0 -47
  400. data/features/specifying_actions.feature +0 -118
  401. data/features/step_definitions/action_item_steps.rb +0 -7
  402. data/features/step_definitions/action_link_steps.rb +0 -19
  403. data/features/step_definitions/additional_web_steps.rb +0 -81
  404. data/features/step_definitions/asset_steps.rb +0 -15
  405. data/features/step_definitions/attribute_steps.rb +0 -18
  406. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  407. data/features/step_definitions/batch_action_steps.rb +0 -81
  408. data/features/step_definitions/blog_steps.rb +0 -3
  409. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  410. data/features/step_definitions/column_steps.rb +0 -8
  411. data/features/step_definitions/comment_steps.rb +0 -32
  412. data/features/step_definitions/configuration_steps.rb +0 -100
  413. data/features/step_definitions/dashboard_steps.rb +0 -15
  414. data/features/step_definitions/factory_steps.rb +0 -35
  415. data/features/step_definitions/filter_steps.rb +0 -47
  416. data/features/step_definitions/flash_steps.rb +0 -11
  417. data/features/step_definitions/footer_steps.rb +0 -11
  418. data/features/step_definitions/format_steps.rb +0 -56
  419. data/features/step_definitions/i18n_steps.rb +0 -11
  420. data/features/step_definitions/index_scope_steps.rb +0 -29
  421. data/features/step_definitions/index_views_steps.rb +0 -3
  422. data/features/step_definitions/layout_steps.rb +0 -3
  423. data/features/step_definitions/member_link_steps.rb +0 -7
  424. data/features/step_definitions/menu_steps.rb +0 -11
  425. data/features/step_definitions/meta_tag_steps.rb +0 -3
  426. data/features/step_definitions/pagination_steps.rb +0 -15
  427. data/features/step_definitions/sidebar_steps.rb +0 -11
  428. data/features/step_definitions/site_title_steps.rb +0 -17
  429. data/features/step_definitions/tab_steps.rb +0 -8
  430. data/features/step_definitions/table_steps.rb +0 -116
  431. data/features/step_definitions/user_steps.rb +0 -52
  432. data/features/step_definitions/web_steps.rb +0 -86
  433. data/features/sti_resource.feature +0 -65
  434. data/features/strong_parameters.feature +0 -69
  435. data/features/support/env.rb +0 -122
  436. data/features/support/paths.rb +0 -73
  437. data/features/support/regular_env.rb +0 -7
  438. data/features/support/reload_env.rb +0 -7
  439. data/features/support/selectors.rb +0 -45
  440. data/features/users/logging_in.feature +0 -36
  441. data/features/users/logging_out.feature +0 -13
  442. data/features/users/resetting_password.feature +0 -34
  443. data/gemfiles/rails_42.gemfile +0 -10
  444. data/gemfiles/rails_50.gemfile +0 -10
  445. data/gemfiles/rails_51.gemfile +0 -10
  446. data/lib/active_admin/event.rb +0 -24
  447. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  448. data/lib/active_admin/helpers/settings.rb +0 -114
  449. data/lib/active_admin/reloader.rb +0 -25
  450. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  451. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  452. data/spec/bug_report_templates_spec.rb +0 -26
  453. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  454. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  455. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  456. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  457. data/spec/javascripts/fixtures/flashes.html +0 -2
  458. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  459. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  460. data/spec/javascripts/support/jasmine.yml +0 -74
  461. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  462. data/spec/rails_helper.rb +0 -59
  463. data/spec/requests/default_namespace_spec.rb +0 -81
  464. data/spec/requests/memory_spec.rb +0 -25
  465. data/spec/requests/stylesheets_spec.rb +0 -18
  466. data/spec/spec_helper.rb +0 -1
  467. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  468. data/spec/support/active_admin_request_helpers.rb +0 -39
  469. data/spec/support/rails_template.rb +0 -153
  470. data/spec/support/rails_template_with_data.rb +0 -327
  471. data/spec/support/templates/admin/stores.rb +0 -7
  472. data/spec/support/templates/en.yml +0 -8
  473. data/spec/support/templates/manifest.js +0 -3
  474. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  475. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  476. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  477. data/spec/support/templates/policies/application_policy.rb +0 -44
  478. data/spec/support/templates/policies/category_policy.rb +0 -7
  479. data/spec/support/templates/policies/post_policy.rb +0 -15
  480. data/spec/support/templates/policies/store_policy.rb +0 -11
  481. data/spec/support/templates/policies/user_policy.rb +0 -11
  482. data/spec/support/templates/post_decorator.rb +0 -24
  483. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  484. data/spec/unit/action_builder_spec.rb +0 -158
  485. data/spec/unit/active_admin_spec.rb +0 -11
  486. data/spec/unit/application_spec.rb +0 -184
  487. data/spec/unit/asset_registration_spec.rb +0 -81
  488. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  489. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  490. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  491. data/spec/unit/auto_link_spec.rb +0 -93
  492. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  493. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  494. data/spec/unit/belongs_to_spec.rb +0 -76
  495. data/spec/unit/cancan_adapter_spec.rb +0 -43
  496. data/spec/unit/comments_spec.rb +0 -176
  497. data/spec/unit/component_spec.rb +0 -18
  498. data/spec/unit/config_shared_examples.rb +0 -59
  499. data/spec/unit/controller_filters_spec.rb +0 -41
  500. data/spec/unit/csv_builder_spec.rb +0 -313
  501. data/spec/unit/dependency_spec.rb +0 -135
  502. data/spec/unit/devise_spec.rb +0 -110
  503. data/spec/unit/dsl_spec.rb +0 -120
  504. data/spec/unit/filters/active_filter_spec.rb +0 -189
  505. data/spec/unit/filters/active_spec.rb +0 -24
  506. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  507. data/spec/unit/filters/resource_spec.rb +0 -128
  508. data/spec/unit/form_builder_spec.rb +0 -990
  509. data/spec/unit/generators/install_spec.rb +0 -31
  510. data/spec/unit/helpers/collection_spec.rb +0 -68
  511. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  512. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  513. data/spec/unit/helpers/settings_spec.rb +0 -30
  514. data/spec/unit/i18n_spec.rb +0 -29
  515. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  516. data/spec/unit/menu_collection_spec.rb +0 -62
  517. data/spec/unit/menu_item_spec.rb +0 -141
  518. data/spec/unit/menu_spec.rb +0 -71
  519. data/spec/unit/namespace/authorization_spec.rb +0 -27
  520. data/spec/unit/namespace/register_page_spec.rb +0 -99
  521. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  522. data/spec/unit/namespace_spec.rb +0 -124
  523. data/spec/unit/order_clause_spec.rb +0 -81
  524. data/spec/unit/page_controller_spec.rb +0 -5
  525. data/spec/unit/page_spec.rb +0 -128
  526. data/spec/unit/pretty_format_spec.rb +0 -82
  527. data/spec/unit/pundit_adapter_spec.rb +0 -98
  528. data/spec/unit/resource/action_items_spec.rb +0 -69
  529. data/spec/unit/resource/attributes_spec.rb +0 -49
  530. data/spec/unit/resource/includes_spec.rb +0 -21
  531. data/spec/unit/resource/menu_spec.rb +0 -18
  532. data/spec/unit/resource/naming_spec.rb +0 -122
  533. data/spec/unit/resource/ordering_spec.rb +0 -35
  534. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  535. data/spec/unit/resource/pagination_spec.rb +0 -38
  536. data/spec/unit/resource/routes_spec.rb +0 -125
  537. data/spec/unit/resource/scopes_spec.rb +0 -50
  538. data/spec/unit/resource/sidebars_spec.rb +0 -43
  539. data/spec/unit/resource_collection_spec.rb +0 -175
  540. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  541. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  542. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  543. data/spec/unit/resource_controller_spec.rb +0 -273
  544. data/spec/unit/resource_registration_spec.rb +0 -61
  545. data/spec/unit/resource_spec.rb +0 -320
  546. data/spec/unit/routing_spec.rb +0 -211
  547. data/spec/unit/scope_spec.rb +0 -209
  548. data/spec/unit/settings_spec.rb +0 -117
  549. data/spec/unit/view_factory_spec.rb +0 -19
  550. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  551. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  552. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  553. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  554. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  555. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  556. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  557. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  558. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  559. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  560. data/spec/unit/views/components/columns_spec.rb +0 -187
  561. data/spec/unit/views/components/index_list_spec.rb +0 -49
  562. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  563. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  564. data/spec/unit/views/components/panel_spec.rb +0 -58
  565. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  566. data/spec/unit/views/components/site_title_spec.rb +0 -76
  567. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  568. data/spec/unit/views/components/table_for_spec.rb +0 -436
  569. data/spec/unit/views/components/tabs_spec.rb +0 -67
  570. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  571. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  572. data/spec/unit/views/pages/form_spec.rb +0 -54
  573. data/spec/unit/views/pages/index_spec.rb +0 -60
  574. data/spec/unit/views/pages/layout_spec.rb +0 -59
  575. data/spec/unit/views/pages/show_spec.rb +0 -32
  576. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  577. data/tasks/docs.rake +0 -64
  578. data/tasks/lint.rake +0 -21
  579. data/tasks/local.rake +0 -25
  580. data/tasks/parallel_tests.rake +0 -66
  581. data/tasks/test.rake +0 -29
@@ -1,30 +1,31 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
4
- # # Index as a Grid
5
- #
6
- # Sometimes you want to display the index screen for a set of resources as a grid
7
- # (possibly a grid of thumbnail images). To do so, use the :grid option for the
8
- # index block.
9
- #
10
- # ```ruby
11
- # index as: :grid do |product|
12
- # link_to image_tag(product.image_path), admin_product_path(product)
13
- # end
14
- # ```
15
- #
16
- # The block is rendered within a cell in the grid once for each resource in the
17
- # collection. The resource is passed into the block for you to use in the view.
18
- #
19
- # You can customize the number of columns that are rendered using the columns
20
- # option:
21
- #
22
- # ```ruby
23
- # index as: :grid, columns: 5 do |product|
24
- # link_to image_tag(product.image_path), admin_product_path(product)
25
- # end
26
- # ```
27
- #
5
+ # # Index as a Grid
6
+ #
7
+ # Sometimes you want to display the index screen for a set of resources as a grid
8
+ # (possibly a grid of thumbnail images). To do so, use the :grid option for the
9
+ # index block.
10
+ #
11
+ # ```ruby
12
+ # index as: :grid do |product|
13
+ # link_to image_tag(product.image_path), admin_product_path(product)
14
+ # end
15
+ # ```
16
+ #
17
+ # The block is rendered within a cell in the grid once for each resource in the
18
+ # collection. The resource is passed into the block for you to use in the view.
19
+ #
20
+ # You can customize the number of columns that are rendered using the columns
21
+ # option:
22
+ #
23
+ # ```ruby
24
+ # index as: :grid, columns: 5 do |product|
25
+ # link_to image_tag(product.image_path), admin_product_path(product)
26
+ # end
27
+ # ```
28
+ #
28
29
  class IndexAsGrid < ActiveAdmin::Component
29
30
 
30
31
  def build(page_presenter, collection)
@@ -42,7 +43,7 @@ module ActiveAdmin
42
43
  "grid"
43
44
  end
44
45
 
45
- protected
46
+ protected
46
47
 
47
48
  def build_table
48
49
  resource_selection_toggle_panel if active_admin_config.batch_actions.any?
@@ -68,7 +69,7 @@ module ActiveAdmin
68
69
  end
69
70
 
70
71
  def build_empty_cell
71
- td '&nbsp;'.html_safe
72
+ td "&nbsp;".html_safe
72
73
  end
73
74
 
74
75
  def default_number_of_columns
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -110,7 +111,8 @@ module ActiveAdmin
110
111
  # end
111
112
  # ```
112
113
  #
113
- # In addition, you can insert the position of the row in the greater collection by using the index_column special command:
114
+ # In addition, you can insert the position of the row in the greater
115
+ # collection by using the index_column special command:
114
116
  #
115
117
  # ```ruby
116
118
  # index do
@@ -120,7 +122,8 @@ module ActiveAdmin
120
122
  # end
121
123
  # ```
122
124
  #
123
- # index_column take an optional offset parameter to allow a developer to set the starting number for the index (default is 1).
125
+ # index_column take an optional offset parameter to allow a developer to set
126
+ # the starting number for the index (default is 1).
124
127
  #
125
128
  # ## Sorting
126
129
  #
@@ -128,9 +131,7 @@ module ActiveAdmin
128
131
  # sortable by default. If you are creating a custom column, you may need to give
129
132
  # Active Admin a hint for how to sort the table.
130
133
  #
131
- # If a column is defined using a block, you must pass the key to turn on sorting. The key
132
- # is the attribute which gets used to sort objects using Active Record.
133
- #
134
+ # You can pass the key specifying the attribute which gets used to sort objects using Active Record.
134
135
  # By default, this is the column on the resource's table that the attribute corresponds to.
135
136
  # Otherwise, any attribute that the resource collection responds to can be used.
136
137
  #
@@ -192,6 +193,13 @@ module ActiveAdmin
192
193
  # end
193
194
  # ```
194
195
  #
196
+ # You can also define associated objects to include outside of the
197
+ # `scoped_collection` method:
198
+ #
199
+ # ```ruby
200
+ # includes :publisher
201
+ # ```
202
+ #
195
203
  # Then it's simple to sort by any Publisher attribute from within the index table:
196
204
  #
197
205
  # ```ruby
@@ -271,13 +279,13 @@ module ActiveAdmin
271
279
  # Display a column for checkbox
272
280
  def selectable_column
273
281
  return unless active_admin_config.batch_actions.any?
274
- column resource_selection_toggle_cell, class: 'col-selectable', sortable: false do |resource|
282
+ column resource_selection_toggle_cell, class: "col-selectable", sortable: false do |resource|
275
283
  resource_selection_cell resource
276
284
  end
277
285
  end
278
286
 
279
287
  def index_column(start_value = 1)
280
- column '#', class: 'col-index', sortable: false do |resource|
288
+ column "#", class: "col-index", sortable: false do |resource|
281
289
  @collection.offset_value + @collection.index(resource) + start_value
282
290
  end
283
291
  end
@@ -286,9 +294,9 @@ module ActiveAdmin
286
294
  def id_column
287
295
  raise "#{resource_class.name} has no primary_key!" unless resource_class.primary_key
288
296
  column(resource_class.human_attribute_name(resource_class.primary_key), sortable: resource_class.primary_key) do |resource|
289
- if controller.action_methods.include?('show')
297
+ if controller.action_methods.include?("show")
290
298
  link_to resource.id, resource_path(resource), class: "resource_id_link"
291
- elsif controller.action_methods.include?('edit')
299
+ elsif controller.action_methods.include?("edit")
292
300
  link_to resource.id, edit_resource_path(resource), class: "resource_id_link"
293
301
  else
294
302
  resource.id
@@ -297,7 +305,7 @@ module ActiveAdmin
297
305
  end
298
306
 
299
307
  def default_actions
300
- raise '`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead.'
308
+ raise "`default_actions` is no longer provided in ActiveAdmin 1.x. Use `actions` instead."
301
309
  end
302
310
 
303
311
  # Add links to perform actions.
@@ -337,12 +345,12 @@ module ActiveAdmin
337
345
  #
338
346
  # ```
339
347
  def actions(options = {}, &block)
340
- name = options.delete(:name) { '' }
341
- defaults = options.delete(:defaults) { true }
342
- dropdown = options.delete(:dropdown) { false }
343
- dropdown_name = options.delete(:dropdown_name) { I18n.t 'active_admin.dropdown_actions.button_label', default: 'Actions' }
348
+ name = options.delete(:name) { "" }
349
+ defaults = options.delete(:defaults) { true }
350
+ dropdown = options.delete(:dropdown) { false }
351
+ dropdown_name = options.delete(:dropdown_name) { I18n.t "active_admin.dropdown_actions.button_label", default: "Actions" }
344
352
 
345
- options[:class] ||= 'col-actions'
353
+ options[:class] ||= "col-actions"
346
354
 
347
355
  column name, options do |resource|
348
356
  if dropdown
@@ -362,26 +370,27 @@ module ActiveAdmin
362
370
  end
363
371
  end
364
372
 
365
- private
373
+ private
366
374
 
367
375
  def defaults(resource, options = {})
368
- if controller.action_methods.include?('show') && authorized?(ActiveAdmin::Auth::READ, resource)
369
- item I18n.t('active_admin.view'), resource_path(resource), class: "view_link #{options[:css_class]}", title: I18n.t('active_admin.view')
376
+ localizer = ActiveAdmin::Localizers.resource(active_admin_config)
377
+ if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
378
+ item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
370
379
  end
371
- if controller.action_methods.include?('edit') && authorized?(ActiveAdmin::Auth::UPDATE, resource)
372
- item I18n.t('active_admin.edit'), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: I18n.t('active_admin.edit')
380
+ if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::UPDATE, resource)
381
+ item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
373
382
  end
374
- if controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, resource)
375
- item I18n.t('active_admin.delete'), resource_path(resource), class: "delete_link #{options[:css_class]}", title: I18n.t('active_admin.delete'),
376
- method: :delete, data: {confirm: I18n.t('active_admin.delete_confirmation')}
383
+ if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
384
+ item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
385
+ method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
377
386
  end
378
387
  end
379
388
 
380
389
  class TableActions < ActiveAdmin::Component
381
390
  builder_method :table_actions
382
391
 
383
- def item *args
384
- text_node link_to *args
392
+ def item *args, **kwargs
393
+ text_node link_to(*args, **kwargs)
385
394
  end
386
395
  end
387
396
  end # IndexTableFor
@@ -1,44 +1,52 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
4
5
  class Base < Arbre::HTML::Document
5
6
 
6
7
  def build(*args)
7
- super
8
- add_classes_to_body
8
+ set_attribute :lang, I18n.locale
9
9
  build_active_admin_head
10
10
  build_page
11
11
  end
12
12
 
13
+ alias_method :html_title, :title # Arbre::HTML::Title
14
+ def title
15
+ self.class.name
16
+ end
17
+
18
+ def main_content
19
+ I18n.t("active_admin.main_content", model: title).html_safe
20
+ end
21
+
13
22
  private
14
23
 
15
24
  delegate :active_admin_config, :controller, :params, to: :helpers
16
25
 
17
- def add_classes_to_body
18
- @body.add_class(params[:action])
19
- @body.add_class(params[:controller].tr('/', '_'))
20
- @body.add_class("active_admin")
21
- @body.add_class("logged_in")
22
- @body.add_class(active_admin_namespace.name.to_s + "_namespace")
23
- end
24
-
25
26
  def build_active_admin_head
26
- within @head do
27
- insert_tag Arbre::HTML::Title, [title, render_or_call_method_or_proc_on(self, active_admin_namespace.site_title)].compact.join(" | ")
27
+ within head do
28
+ html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
29
+
30
+ text_node(active_admin_namespace.head)
31
+
28
32
  active_admin_application.stylesheets.each do |style, options|
29
- text_node stylesheet_link_tag(style, options).html_safe
33
+ stylesheet_tag = active_admin_namespace.use_webpacker ? stylesheet_pack_tag(style, **options) : stylesheet_link_tag(style, **options)
34
+ text_node(stylesheet_tag.html_safe) if stylesheet_tag
30
35
  end
31
36
 
32
37
  active_admin_namespace.meta_tags.each do |name, content|
33
- text_node(tag(:meta, name: name, content: content))
38
+ text_node(meta(name: name, content: content))
34
39
  end
35
40
 
36
41
  active_admin_application.javascripts.each do |path|
37
- text_node(javascript_include_tag(path))
42
+ javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path) : javascript_include_tag(path)
43
+ text_node(javascript_tag)
38
44
  end
39
45
 
40
46
  if active_admin_namespace.favicon
41
- text_node(favicon_link_tag(active_admin_namespace.favicon))
47
+ favicon = active_admin_namespace.favicon
48
+ favicon_tag = active_admin_namespace.use_webpacker ? favicon_pack_tag(favicon) : favicon_link_tag(favicon)
49
+ text_node(favicon_tag)
42
50
  end
43
51
 
44
52
  text_node csrf_meta_tag
@@ -46,43 +54,46 @@ module ActiveAdmin
46
54
  end
47
55
 
48
56
  def build_page
49
- within @body do
57
+ within body(class: body_classes) do
50
58
  div id: "wrapper" do
51
59
  build_unsupported_browser
52
- build_header
53
- build_title_bar
60
+ header active_admin_namespace, current_menu
61
+ title_bar title, action_items_for_action
54
62
  build_page_content
55
- build_footer
63
+ footer active_admin_namespace
56
64
  end
57
65
  end
58
66
  end
59
67
 
68
+ def body_classes
69
+ Arbre::HTML::ClassList.new [
70
+ params[:action],
71
+ params[:controller].tr("/", "_"),
72
+ "active_admin", "logged_in",
73
+ active_admin_namespace.name.to_s + "_namespace"
74
+ ]
75
+ end
76
+
60
77
  def build_unsupported_browser
61
78
  if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
62
- insert_tag view_factory.unsupported_browser
79
+ unsupported_browser
63
80
  end
64
81
  end
65
82
 
66
- def build_header
67
- insert_tag view_factory.header, active_admin_namespace, current_menu
68
- end
69
-
70
- def build_title_bar
71
- insert_tag view_factory.title_bar, title, action_items_for_action
72
- end
73
-
74
83
  def build_page_content
75
84
  build_flash_messages
76
85
  div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
77
86
  build_main_content_wrapper
78
- build_sidebar unless skip_sidebar?
87
+ sidebar sidebar_sections_for_action, id: "sidebar" unless skip_sidebar?
79
88
  end
80
89
  end
81
90
 
82
91
  def build_flash_messages
83
- div class: 'flashes' do
84
- flash_messages.each do |type, message|
85
- div message, class: "flash flash_#{type}"
92
+ div class: "flashes" do
93
+ flash_messages.each do |type, messages|
94
+ [*messages].each do |message|
95
+ div message, class: "flash flash_#{type}"
96
+ end
86
97
  end
87
98
  end
88
99
  end
@@ -95,19 +106,6 @@ module ActiveAdmin
95
106
  end
96
107
  end
97
108
 
98
- def main_content
99
- I18n.t('active_admin.main_content', model: title).html_safe
100
- end
101
-
102
- def title
103
- self.class.name
104
- end
105
-
106
- # Set's the page title for the layout to render
107
- def set_page_title
108
- set_ivar_on_view "@page_title", title
109
- end
110
-
111
109
  # Returns the sidebar sections to render for the current action
112
110
  def sidebar_sections_for_action
113
111
  if active_admin_config && active_admin_config.sidebar_sections?
@@ -125,24 +123,10 @@ module ActiveAdmin
125
123
  end
126
124
  end
127
125
 
128
- # Renders the sidebar
129
- def build_sidebar
130
- div id: "sidebar" do
131
- sidebar_sections_for_action.collect do |section|
132
- sidebar_section(section)
133
- end
134
- end
135
- end
136
-
137
126
  def skip_sidebar?
138
127
  sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
139
128
  end
140
129
 
141
- # Renders the content for the footer
142
- def build_footer
143
- insert_tag view_factory.footer, active_admin_namespace
144
- end
145
-
146
130
  end
147
131
  end
148
132
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,4 +1,5 @@
1
- require 'active_admin/helpers/collection'
1
+ # frozen_string_literal: true
2
+ require "active_admin/helpers/collection"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Views
@@ -111,7 +112,7 @@ module ActiveAdmin
111
112
 
112
113
  def render_blank_slate
113
114
  blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
114
- if controller.action_methods.include?('new') && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
115
+ if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
115
116
  blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
116
117
  end
117
118
  insert_tag(view_factory.blank_slate, blank_slate_content)
@@ -124,18 +125,20 @@ module ActiveAdmin
124
125
 
125
126
  def render_index
126
127
  renderer_class = find_index_renderer_class(config[:as])
127
- paginator = config.fetch(:paginator, true)
128
- download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
128
+
129
+ paginator = config.fetch(:paginator, true)
130
+ download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
129
131
  pagination_total = config.fetch(:pagination_total, true)
130
- per_page = config.fetch(:per_page, active_admin_config.per_page)
131
-
132
- paginated_collection(collection, entry_name: active_admin_config.resource_label,
133
- entries_name: active_admin_config.plural_resource_label(count: collection_size),
134
- download_links: download_links,
135
- paginator: paginator,
136
- per_page: per_page,
137
- pagination_total: pagination_total) do
138
- div class: 'index_content' do
132
+ per_page = config.fetch(:per_page, active_admin_config.per_page)
133
+
134
+ paginated_collection(
135
+ collection, entry_name: active_admin_config.resource_label,
136
+ entries_name: active_admin_config.plural_resource_label(count: collection_size),
137
+ download_links: download_links,
138
+ paginator: paginator,
139
+ per_page: per_page,
140
+ pagination_total: pagination_total) do
141
+ div class: "index_content" do
139
142
  insert_tag(renderer_class, config, collection)
140
143
  end
141
144
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,65 +1,11 @@
1
+ # frozen_string_literal: true
2
+ require_relative "components/menu"
3
+
1
4
  module ActiveAdmin
2
5
  module Views
3
-
4
- # Renders an ActiveAdmin::Menu as a set of unordered list items.
5
- #
6
- # This component takes cares of deciding which items should be
7
- # displayed given the current context and renders them appropriately.
8
- #
9
- # The entire component is rendered within one ul element.
10
- class TabbedNavigation < Component
11
-
12
- attr_reader :menu
13
-
14
- # Build a new tabbed navigation component.
15
- #
16
- # @param [ActiveAdmin::Menu] menu the Menu to render
17
- # @param [Hash] options the options as passed to the underlying ul element.
18
- #
6
+ class TabbedNavigation < Menu
19
7
  def build(menu, options = {})
20
- @menu = menu
21
- super(default_options.merge(options))
22
- build_menu
23
- end
24
-
25
- # The top-level menu items that should be displayed.
26
- def menu_items
27
- menu.items(self)
28
- end
29
-
30
- def tag_name
31
- 'ul'
32
- end
33
-
34
- private
35
-
36
- def build_menu
37
- menu_items.each do |item|
38
- build_menu_item(item)
39
- end
40
- end
41
-
42
- def build_menu_item(item)
43
- li id: item.id do |li|
44
- li.add_class "current" if item.current? assigns[:current_tab]
45
-
46
- if url = item.url(self)
47
- text_node link_to item.label(self), url, item.html_options
48
- else
49
- span item.label(self), item.html_options
50
- end
51
-
52
- if children = item.items(self).presence
53
- li.add_class "has_nested"
54
- ul do
55
- children.each{ |child| build_menu_item child }
56
- end
57
- end
58
- end
59
- end
60
-
61
- def default_options
62
- { id: "tabs" }
8
+ super(menu, options.reverse_merge(id: "tabs"))
63
9
  end
64
10
  end
65
11
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class TitleBar < Component
@@ -43,7 +44,7 @@ module ActiveAdmin
43
44
  end
44
45
 
45
46
  def build_title_tag
46
- h2(@title, id: 'page_title')
47
+ h2(@title, id: "page_title")
47
48
  end
48
49
 
49
50
  def build_action_items
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
4
5
  # Loads all the classes in views/*.rb
5
- Dir[File.expand_path('../views', __FILE__) + "/**/*.rb"].sort.each{ |f| require f }
6
+ Dir[File.expand_path("views", __dir__) + "/**/*.rb"].sort.each { |f| require f }
6
7
 
7
8
  end
8
9
  end