activeadmin 1.1.0 → 2.12.0

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 (580) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +784 -111
  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 +24 -4
  80. data/config/locales/eo.yml +145 -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 +31 -3
  91. data/config/locales/ja.yml +8 -2
  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 +9 -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 +3 -0
  105. data/config/locales/tr.yml +10 -0
  106. data/config/locales/uk.yml +3 -0
  107. data/config/locales/vi.yml +53 -10
  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 +20 -6
  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 +23 -4
  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 -21
  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 +52 -15
  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 +8 -3
  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 +32 -19
  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 +36 -25
  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 +61 -12
  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 +35 -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 +17 -27
  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 -0
  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 +5 -4
  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 +124 -557
  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 -51
  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 -239
  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 -107
  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 -48
  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/settings.rb +0 -114
  448. data/lib/active_admin/reloader.rb +0 -25
  449. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  450. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  451. data/spec/bug_report_templates_spec.rb +0 -26
  452. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  453. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  454. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  455. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  456. data/spec/javascripts/fixtures/flashes.html +0 -2
  457. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  458. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  459. data/spec/javascripts/support/jasmine.yml +0 -74
  460. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  461. data/spec/rails_helper.rb +0 -59
  462. data/spec/requests/default_namespace_spec.rb +0 -81
  463. data/spec/requests/memory_spec.rb +0 -25
  464. data/spec/requests/stylesheets_spec.rb +0 -18
  465. data/spec/spec_helper.rb +0 -1
  466. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  467. data/spec/support/active_admin_request_helpers.rb +0 -39
  468. data/spec/support/rails_template.rb +0 -150
  469. data/spec/support/rails_template_with_data.rb +0 -327
  470. data/spec/support/templates/admin/stores.rb +0 -7
  471. data/spec/support/templates/en.yml +0 -8
  472. data/spec/support/templates/manifest.js +0 -3
  473. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  474. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  475. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  476. data/spec/support/templates/policies/application_policy.rb +0 -44
  477. data/spec/support/templates/policies/category_policy.rb +0 -7
  478. data/spec/support/templates/policies/post_policy.rb +0 -15
  479. data/spec/support/templates/policies/store_policy.rb +0 -11
  480. data/spec/support/templates/policies/user_policy.rb +0 -11
  481. data/spec/support/templates/post_decorator.rb +0 -10
  482. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  483. data/spec/unit/action_builder_spec.rb +0 -125
  484. data/spec/unit/active_admin_spec.rb +0 -11
  485. data/spec/unit/application_spec.rb +0 -184
  486. data/spec/unit/asset_registration_spec.rb +0 -81
  487. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  488. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  489. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  490. data/spec/unit/auto_link_spec.rb +0 -93
  491. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  492. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  493. data/spec/unit/belongs_to_spec.rb +0 -76
  494. data/spec/unit/cancan_adapter_spec.rb +0 -43
  495. data/spec/unit/comments_spec.rb +0 -176
  496. data/spec/unit/component_spec.rb +0 -18
  497. data/spec/unit/config_shared_examples.rb +0 -59
  498. data/spec/unit/controller_filters_spec.rb +0 -41
  499. data/spec/unit/csv_builder_spec.rb +0 -304
  500. data/spec/unit/dependency_spec.rb +0 -135
  501. data/spec/unit/devise_spec.rb +0 -110
  502. data/spec/unit/dsl_spec.rb +0 -120
  503. data/spec/unit/filters/active_filter_spec.rb +0 -135
  504. data/spec/unit/filters/active_spec.rb +0 -24
  505. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  506. data/spec/unit/filters/resource_spec.rb +0 -128
  507. data/spec/unit/form_builder_spec.rb +0 -990
  508. data/spec/unit/generators/install_spec.rb +0 -31
  509. data/spec/unit/helpers/collection_spec.rb +0 -68
  510. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  511. data/spec/unit/helpers/settings_spec.rb +0 -30
  512. data/spec/unit/i18n_spec.rb +0 -29
  513. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  514. data/spec/unit/menu_collection_spec.rb +0 -62
  515. data/spec/unit/menu_item_spec.rb +0 -141
  516. data/spec/unit/menu_spec.rb +0 -71
  517. data/spec/unit/namespace/authorization_spec.rb +0 -27
  518. data/spec/unit/namespace/register_page_spec.rb +0 -99
  519. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  520. data/spec/unit/namespace_spec.rb +0 -124
  521. data/spec/unit/order_clause_spec.rb +0 -81
  522. data/spec/unit/page_controller_spec.rb +0 -5
  523. data/spec/unit/page_spec.rb +0 -128
  524. data/spec/unit/pretty_format_spec.rb +0 -82
  525. data/spec/unit/pundit_adapter_spec.rb +0 -98
  526. data/spec/unit/resource/action_items_spec.rb +0 -69
  527. data/spec/unit/resource/attributes_spec.rb +0 -49
  528. data/spec/unit/resource/includes_spec.rb +0 -21
  529. data/spec/unit/resource/menu_spec.rb +0 -18
  530. data/spec/unit/resource/naming_spec.rb +0 -122
  531. data/spec/unit/resource/ordering_spec.rb +0 -35
  532. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  533. data/spec/unit/resource/pagination_spec.rb +0 -38
  534. data/spec/unit/resource/routes_spec.rb +0 -125
  535. data/spec/unit/resource/scopes_spec.rb +0 -50
  536. data/spec/unit/resource/sidebars_spec.rb +0 -43
  537. data/spec/unit/resource_collection_spec.rb +0 -175
  538. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  539. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  540. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  541. data/spec/unit/resource_controller_spec.rb +0 -273
  542. data/spec/unit/resource_registration_spec.rb +0 -61
  543. data/spec/unit/resource_spec.rb +0 -320
  544. data/spec/unit/routing_spec.rb +0 -211
  545. data/spec/unit/scope_spec.rb +0 -209
  546. data/spec/unit/settings_spec.rb +0 -117
  547. data/spec/unit/view_factory_spec.rb +0 -19
  548. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  549. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  550. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  551. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  552. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  553. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  554. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  555. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  556. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  557. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  558. data/spec/unit/views/components/columns_spec.rb +0 -187
  559. data/spec/unit/views/components/index_list_spec.rb +0 -49
  560. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  561. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  562. data/spec/unit/views/components/panel_spec.rb +0 -58
  563. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  564. data/spec/unit/views/components/site_title_spec.rb +0 -76
  565. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  566. data/spec/unit/views/components/table_for_spec.rb +0 -436
  567. data/spec/unit/views/components/tabs_spec.rb +0 -67
  568. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  569. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  570. data/spec/unit/views/pages/form_spec.rb +0 -54
  571. data/spec/unit/views/pages/index_spec.rb +0 -60
  572. data/spec/unit/views/pages/layout_spec.rb +0 -59
  573. data/spec/unit/views/pages/show_spec.rb +0 -32
  574. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  575. data/tasks/docs.rake +0 -64
  576. data/tasks/lint.rake +0 -21
  577. data/tasks/local.rake +0 -25
  578. data/tasks/parallel_tests.rake +0 -66
  579. data/tasks/test.rake +0 -29
  580. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -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
data/lib/active_admin.rb CHANGED
@@ -1,59 +1,58 @@
1
- require 'active_support/core_ext'
2
- require 'set'
1
+ # frozen_string_literal: true
2
+ require "active_support/core_ext"
3
+ require "set"
3
4
 
4
- require 'ransack'
5
- require 'ransack_ext'
6
- require 'kaminari'
7
- require 'formtastic'
8
- require 'formtastic_i18n'
9
- require 'inherited_resources'
10
- require 'jquery-rails'
11
- require 'coffee-rails'
12
- require 'arbre'
5
+ require "ransack"
6
+ require "ransack_ext"
7
+ require "kaminari"
8
+ require "formtastic"
9
+ require "formtastic_i18n"
10
+ require "inherited_resources"
11
+ require "jquery-rails"
12
+ require "arbre"
13
13
 
14
- require 'active_admin/helpers/i18n'
14
+ require "active_admin/helpers/i18n"
15
15
 
16
16
  module ActiveAdmin
17
17
 
18
- autoload :VERSION, 'active_admin/version'
19
- autoload :Application, 'active_admin/application'
20
- autoload :AssetRegistration, 'active_admin/asset_registration'
21
- autoload :Authorization, 'active_admin/authorization_adapter'
22
- autoload :AuthorizationAdapter, 'active_admin/authorization_adapter'
23
- autoload :Callbacks, 'active_admin/callbacks'
24
- autoload :Component, 'active_admin/component'
25
- autoload :BaseController, 'active_admin/base_controller'
26
- autoload :CanCanAdapter, 'active_admin/cancan_adapter'
27
- autoload :ControllerAction, 'active_admin/controller_action'
28
- autoload :CSVBuilder, 'active_admin/csv_builder'
29
- autoload :Dependency, 'active_admin/dependency'
30
- autoload :Deprecation, 'active_admin/deprecation'
31
- autoload :Devise, 'active_admin/devise'
32
- autoload :DSL, 'active_admin/dsl'
33
- autoload :Event, 'active_admin/event'
34
- autoload :FormBuilder, 'active_admin/form_builder'
35
- autoload :Inputs, 'active_admin/inputs'
36
- autoload :Localizers, 'active_admin/localizers'
37
- autoload :Menu, 'active_admin/menu'
38
- autoload :MenuCollection, 'active_admin/menu_collection'
39
- autoload :MenuItem, 'active_admin/menu_item'
40
- autoload :Namespace, 'active_admin/namespace'
41
- autoload :OrderClause, 'active_admin/order_clause'
42
- autoload :Page, 'active_admin/page'
43
- autoload :PagePresenter, 'active_admin/page_presenter'
44
- autoload :PageController, 'active_admin/page_controller'
45
- autoload :PageDSL, 'active_admin/page_dsl'
46
- autoload :PunditAdapter, 'active_admin/pundit_adapter'
47
- autoload :Resource, 'active_admin/resource'
48
- autoload :ResourceController, 'active_admin/resource_controller'
49
- autoload :ResourceDSL, 'active_admin/resource_dsl'
50
- autoload :Scope, 'active_admin/scope'
51
- autoload :ScopeChain, 'active_admin/helpers/scope_chain'
52
- autoload :SidebarSection, 'active_admin/sidebar_section'
53
- autoload :TableBuilder, 'active_admin/table_builder'
54
- autoload :ViewFactory, 'active_admin/view_factory'
55
- autoload :ViewHelpers, 'active_admin/view_helpers'
56
- autoload :Views, 'active_admin/views'
18
+ autoload :VERSION, "active_admin/version"
19
+ autoload :Application, "active_admin/application"
20
+ autoload :AssetRegistration, "active_admin/asset_registration"
21
+ autoload :Authorization, "active_admin/authorization_adapter"
22
+ autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
23
+ autoload :Callbacks, "active_admin/callbacks"
24
+ autoload :Component, "active_admin/component"
25
+ autoload :BaseController, "active_admin/base_controller"
26
+ autoload :CanCanAdapter, "active_admin/cancan_adapter"
27
+ autoload :ControllerAction, "active_admin/controller_action"
28
+ autoload :CSVBuilder, "active_admin/csv_builder"
29
+ autoload :Dependency, "active_admin/dependency"
30
+ autoload :Deprecation, "active_admin/deprecation"
31
+ autoload :Devise, "active_admin/devise"
32
+ autoload :DSL, "active_admin/dsl"
33
+ autoload :FormBuilder, "active_admin/form_builder"
34
+ autoload :Inputs, "active_admin/inputs"
35
+ autoload :Localizers, "active_admin/localizers"
36
+ autoload :Menu, "active_admin/menu"
37
+ autoload :MenuCollection, "active_admin/menu_collection"
38
+ autoload :MenuItem, "active_admin/menu_item"
39
+ autoload :Namespace, "active_admin/namespace"
40
+ autoload :OrderClause, "active_admin/order_clause"
41
+ autoload :Page, "active_admin/page"
42
+ autoload :PagePresenter, "active_admin/page_presenter"
43
+ autoload :PageController, "active_admin/page_controller"
44
+ autoload :PageDSL, "active_admin/page_dsl"
45
+ autoload :PunditAdapter, "active_admin/pundit_adapter"
46
+ autoload :Resource, "active_admin/resource"
47
+ autoload :ResourceController, "active_admin/resource_controller"
48
+ autoload :ResourceDSL, "active_admin/resource_dsl"
49
+ autoload :Scope, "active_admin/scope"
50
+ autoload :ScopeChain, "active_admin/helpers/scope_chain"
51
+ autoload :SidebarSection, "active_admin/sidebar_section"
52
+ autoload :TableBuilder, "active_admin/table_builder"
53
+ autoload :ViewFactory, "active_admin/view_factory"
54
+ autoload :ViewHelpers, "active_admin/view_helpers"
55
+ autoload :Views, "active_admin/views"
57
56
 
58
57
  class << self
59
58
 
@@ -70,11 +69,11 @@ module ActiveAdmin
70
69
  application.prepare!
71
70
  end
72
71
 
73
- delegate :register, to: :application
72
+ delegate :register, to: :application
74
73
  delegate :register_page, to: :application
75
- delegate :unload!, to: :application
76
- delegate :load!, to: :application
77
- delegate :routes, to: :application
74
+ delegate :unload!, to: :application
75
+ delegate :load!, to: :application
76
+ delegate :routes, to: :application
78
77
 
79
78
  # A callback is triggered each time (before) Active Admin loads the configuration files.
80
79
  # In development mode, this will happen whenever the user changes files. In production
@@ -90,7 +89,7 @@ module ActiveAdmin
90
89
  #
91
90
  # @param [Block] block A block to call each time (before) AA loads resources
92
91
  def before_load(&block)
93
- ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &ActiveAdmin::Event.wrap_block_for_active_support_notifications(block)
92
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &wrap_block_for_active_support_notifications(block)
94
93
  end
95
94
 
96
95
  # A callback is triggered each time (after) Active Admin loads the configuration files. This
@@ -108,7 +107,13 @@ module ActiveAdmin
108
107
  #
109
108
  # @param [Block] block A block to call each time (after) AA loads resources
110
109
  def after_load(&block)
111
- ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &ActiveAdmin::Event.wrap_block_for_active_support_notifications(block)
110
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &wrap_block_for_active_support_notifications(block)
111
+ end
112
+
113
+ private
114
+
115
+ def wrap_block_for_active_support_notifications block
116
+ proc { |_name, _start, _finish, _id, payload| block.call payload }
112
117
  end
113
118
 
114
119
  end
@@ -116,13 +121,13 @@ module ActiveAdmin
116
121
  end
117
122
 
118
123
  # Require things that don't support autoload
119
- require 'active_admin/engine'
120
- require 'active_admin/error'
124
+ require "active_admin/engine"
125
+ require "active_admin/error"
121
126
 
122
127
  # Require internal plugins
123
- require 'active_admin/batch_actions'
124
- require 'active_admin/filters'
128
+ require "active_admin/batch_actions"
129
+ require "active_admin/filters"
125
130
 
126
131
  # Require ORM-specific plugins
127
- require 'active_admin/orm/active_record' if defined? ActiveRecord
128
- require 'active_admin/orm/mongoid' if defined? Mongoid
132
+ require "active_admin/orm/active_record" if defined? ActiveRecord
133
+ require "active_admin/orm/mongoid" if defined? Mongoid
data/lib/activeadmin.rb CHANGED
@@ -1 +1,2 @@
1
- require 'active_admin'
1
+ # frozen_string_literal: true
2
+ require "active_admin"
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class AssetsGenerator < Rails::Generators::Base
4
5
 
5
- source_root File.expand_path("../templates", __FILE__)
6
+ source_root File.expand_path("templates", __dir__)
6
7
 
7
8
  def install_assets
8
- template 'active_admin.js.coffee', 'app/assets/javascripts/active_admin.js.coffee'
9
+ template "active_admin.js", "app/assets/javascripts/active_admin.js"
9
10
  template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
10
11
  end
11
12
 
@@ -0,0 +1 @@
1
+ //= require active_admin/base
@@ -1,4 +1,4 @@
1
- // SASS variable overrides must be declared before loading up Active Admin's styles.
1
+ // Sass variable overrides must be declared before loading up Active Admin's styles.
2
2
  //
3
3
  // To view the variables that Active Admin provides, take a look at
4
4
  // `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
@@ -11,7 +11,7 @@
11
11
  @import "active_admin/mixins";
12
12
  @import "active_admin/base";
13
13
 
14
- // Overriding any non-variable SASS must be done after the fact.
14
+ // Overriding any non-variable Sass must be done after the fact.
15
15
  // For example, to change the default status-tag color:
16
16
  //
17
17
  // .status_tag { background: #6090DB; }
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/error"
2
3
  require "active_admin/dependency"
3
4
 
@@ -7,13 +8,13 @@ module ActiveAdmin
7
8
  desc "Creates an admin user and uses Devise for authentication"
8
9
  argument :name, type: :string, default: "AdminUser"
9
10
 
10
- class_option :registerable, type: :boolean, default: false,
11
- desc: "Should the generated resource be registerable?"
11
+ class_option :registerable, type: :boolean, default: false,
12
+ desc: "Should the generated resource be registerable?"
12
13
 
13
14
  RESERVED_NAMES = [:active_admin_user]
14
15
 
15
- class_option :default_user, type: :boolean, default: true,
16
- desc: "Should a default user be created inside the migration?"
16
+ class_option :default_user, type: :boolean, default: true,
17
+ desc: "Should a default user be created inside the migration?"
17
18
 
18
19
  def install_devise
19
20
  begin
@@ -22,7 +23,7 @@ module ActiveAdmin
22
23
  raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
23
24
  end
24
25
 
25
- require 'devise'
26
+ require "devise"
26
27
 
27
28
  initializer_file =
28
29
  File.join(destination_root, "config", "initializers", "devise.rb")
@@ -1,4 +1,5 @@
1
- require 'rails/generators/active_record'
1
+ # frozen_string_literal: true
2
+ require "rails/generators/active_record"
2
3
 
3
4
  module ActiveAdmin
4
5
  module Generators
@@ -7,21 +8,25 @@ module ActiveAdmin
7
8
  argument :name, type: :string, default: "AdminUser"
8
9
 
9
10
  hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
11
+ class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
12
+ class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
10
13
 
11
- source_root File.expand_path("../templates", __FILE__)
14
+ source_root File.expand_path("templates", __dir__)
12
15
 
13
16
  def copy_initializer
14
- @underscored_user_name = name.underscore.gsub('/', '_')
17
+ @underscored_user_name = name.underscore.gsub("/", "_")
15
18
  @use_authentication_method = options[:users].present?
16
- template 'active_admin.rb.erb', 'config/initializers/active_admin.rb'
19
+ @skip_comments = options[:skip_comments]
20
+ @use_webpacker = options[:use_webpacker]
21
+ template "active_admin.rb.erb", "config/initializers/active_admin.rb"
17
22
  end
18
23
 
19
24
  def setup_directory
20
25
  empty_directory "app/admin"
21
- template 'dashboard.rb', 'app/admin/dashboard.rb'
26
+ template "dashboard.rb", "app/admin/dashboard.rb"
22
27
  if options[:users].present?
23
28
  @user_class = name
24
- template 'admin_user.rb.erb', "app/admin/#{name.underscore}.rb"
29
+ template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
25
30
  end
26
31
  end
27
32
 
@@ -34,11 +39,17 @@ module ActiveAdmin
34
39
  end
35
40
 
36
41
  def create_assets
37
- generate "active_admin:assets"
42
+ if options[:use_webpacker]
43
+ generate "active_admin:webpacker"
44
+ else
45
+ generate "active_admin:assets"
46
+ end
38
47
  end
39
48
 
40
49
  def create_migrations
41
- migration_template 'migrations/create_active_admin_comments.rb.erb', 'db/migrate/create_active_admin_comments.rb'
50
+ unless options[:skip_comments]
51
+ migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
52
+ end
42
53
  end
43
54
  end
44
55
  end