activeadmin 2.6.1 → 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (326) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +438 -9
  3. data/CONTRIBUTING.md +12 -36
  4. data/README.md +8 -8
  5. data/app/assets/javascripts/active_admin/base.js +27 -25
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +2 -13
  8. data/app/assets/stylesheets/active_admin/_header.scss +37 -3
  9. data/app/assets/stylesheets/active_admin/_normalize.scss +25 -123
  10. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  11. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  12. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +7 -5
  13. data/app/assets/stylesheets/active_admin/components/_pagination.scss +5 -2
  14. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +9 -6
  15. data/app/assets/stylesheets/active_admin/components/_tabs.scss +10 -7
  16. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +2 -2
  17. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +12 -0
  18. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
  19. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  20. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +6 -4
  21. data/app/javascript/active_admin/initializers/has-many.js +4 -1
  22. data/app/javascript/active_admin/initializers/per-page.js +1 -1
  23. data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
  24. data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
  25. data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
  26. data/app/javascript/active_admin/lib/per-page.js +1 -1
  27. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +1 -1
  28. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  29. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  30. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  31. data/app/views/active_admin/page/index.html.arb +1 -0
  32. data/app/views/active_admin/resource/edit.html.arb +1 -0
  33. data/app/views/active_admin/resource/index.html.arb +1 -0
  34. data/app/views/active_admin/resource/new.html.arb +1 -0
  35. data/app/views/active_admin/resource/show.html.arb +1 -0
  36. data/app/views/layouts/active_admin.html.arb +1 -0
  37. data/app/views/layouts/active_admin_logged_out.html.erb +18 -7
  38. data/config/locales/ar.yml +6 -13
  39. data/config/locales/az.yml +0 -7
  40. data/config/locales/bg.yml +0 -7
  41. data/config/locales/bs.yml +0 -7
  42. data/config/locales/ca.yml +0 -7
  43. data/config/locales/cs.yml +0 -7
  44. data/config/locales/da.yml +0 -7
  45. data/config/locales/de-CH.yml +0 -7
  46. data/config/locales/de.yml +0 -8
  47. data/config/locales/el.yml +0 -7
  48. data/config/locales/en-CA.yml +0 -7
  49. data/config/locales/en-GB.yml +0 -7
  50. data/config/locales/en.yml +0 -8
  51. data/config/locales/eo.yml +0 -8
  52. data/config/locales/es-MX.yml +2 -8
  53. data/config/locales/es.yml +2 -10
  54. data/config/locales/fa.yml +0 -7
  55. data/config/locales/fi.yml +0 -7
  56. data/config/locales/fr.yml +3 -11
  57. data/config/locales/he.yml +0 -9
  58. data/config/locales/hr.yml +0 -7
  59. data/config/locales/hu.yml +0 -8
  60. data/config/locales/id.yml +0 -7
  61. data/config/locales/it.yml +18 -8
  62. data/config/locales/ja.yml +2 -10
  63. data/config/locales/ko.yml +1 -8
  64. data/config/locales/lt.yml +0 -8
  65. data/config/locales/lv.yml +0 -7
  66. data/config/locales/mk.yml +0 -8
  67. data/config/locales/nb.yml +0 -8
  68. data/config/locales/nl.yml +1 -9
  69. data/config/locales/pl.yml +0 -8
  70. data/config/locales/pt-BR.yml +0 -8
  71. data/config/locales/pt-PT.yml +0 -7
  72. data/config/locales/ro.yml +3 -9
  73. data/config/locales/ru.yml +0 -6
  74. data/config/locales/sk.yml +0 -8
  75. data/config/locales/sv-SE.yml +58 -39
  76. data/config/locales/tr.yml +0 -11
  77. data/config/locales/uk.yml +0 -6
  78. data/config/locales/vi.yml +38 -19
  79. data/config/locales/zh-CN.yml +34 -23
  80. data/config/locales/zh-TW.yml +0 -7
  81. data/lib/active_admin/abstract_view_factory.rb +1 -0
  82. data/lib/active_admin/application.rb +19 -19
  83. data/lib/active_admin/application_settings.rb +4 -3
  84. data/lib/active_admin/asset_registration.rb +4 -3
  85. data/lib/active_admin/authorization_adapter.rb +6 -3
  86. data/lib/active_admin/base_controller/authorization.rb +15 -13
  87. data/lib/active_admin/base_controller/menu.rb +1 -0
  88. data/lib/active_admin/base_controller.rb +6 -5
  89. data/lib/active_admin/batch_actions/controller.rb +4 -3
  90. data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
  91. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  92. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  93. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  94. data/lib/active_admin/batch_actions.rb +1 -0
  95. data/lib/active_admin/callbacks.rb +1 -0
  96. data/lib/active_admin/cancan_adapter.rb +2 -1
  97. data/lib/active_admin/collection_decorator.rb +32 -0
  98. data/lib/active_admin/component.rb +1 -0
  99. data/lib/active_admin/controller_action.rb +1 -0
  100. data/lib/active_admin/csv_builder.rb +25 -17
  101. data/lib/active_admin/dependency.rb +12 -15
  102. data/lib/active_admin/devise.rb +16 -5
  103. data/lib/active_admin/dsl.rb +2 -1
  104. data/lib/active_admin/dynamic_setting.rb +1 -0
  105. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  106. data/lib/active_admin/engine.rb +17 -9
  107. data/lib/active_admin/error.rb +1 -2
  108. data/lib/active_admin/filters/active.rb +2 -1
  109. data/lib/active_admin/filters/active_filter.rb +6 -6
  110. data/lib/active_admin/filters/active_sidebar.rb +4 -30
  111. data/lib/active_admin/filters/dsl.rb +1 -0
  112. data/lib/active_admin/filters/forms.rb +9 -8
  113. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  114. data/lib/active_admin/filters/resource_extension.rb +6 -5
  115. data/lib/active_admin/filters.rb +8 -7
  116. data/lib/active_admin/form_builder.rb +25 -20
  117. data/lib/active_admin/generators/boilerplate.rb +2 -1
  118. data/lib/active_admin/helpers/collection.rb +2 -0
  119. data/lib/active_admin/helpers/i18n.rb +1 -0
  120. data/lib/active_admin/helpers/optional_display.rb +3 -2
  121. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  122. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  123. data/lib/active_admin/inputs/datepicker_input.rb +2 -1
  124. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  125. data/lib/active_admin/inputs/filters/base.rb +2 -1
  126. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  127. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  128. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  129. data/lib/active_admin/inputs/filters/date_range_input.rb +3 -2
  130. data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
  131. data/lib/active_admin/inputs/filters/select_input.rb +5 -2
  132. data/lib/active_admin/inputs/filters/string_input.rb +2 -1
  133. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  134. data/lib/active_admin/inputs.rb +1 -0
  135. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  136. data/lib/active_admin/localizers.rb +2 -1
  137. data/lib/active_admin/menu.rb +8 -3
  138. data/lib/active_admin/menu_collection.rb +1 -0
  139. data/lib/active_admin/menu_item.rb +8 -7
  140. data/lib/active_admin/namespace.rb +16 -15
  141. data/lib/active_admin/namespace_settings.rb +9 -5
  142. data/lib/active_admin/order_clause.rb +2 -1
  143. data/lib/active_admin/orm/active_record/comments/comment.rb +12 -3
  144. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  145. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  146. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  147. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +21 -20
  148. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  149. data/lib/active_admin/orm/active_record/comments.rb +28 -27
  150. data/lib/active_admin/orm/active_record.rb +2 -1
  151. data/lib/active_admin/orm/mongoid.rb +1 -0
  152. data/lib/active_admin/page.rb +2 -1
  153. data/lib/active_admin/page_controller.rb +1 -0
  154. data/lib/active_admin/page_dsl.rb +1 -0
  155. data/lib/active_admin/page_presenter.rb +1 -0
  156. data/lib/active_admin/pundit_adapter.rb +58 -16
  157. data/lib/active_admin/resource/action_items.rb +6 -5
  158. data/lib/active_admin/resource/attributes.rb +9 -1
  159. data/lib/active_admin/resource/belongs_to.rb +3 -2
  160. data/lib/active_admin/resource/controllers.rb +2 -1
  161. data/lib/active_admin/resource/includes.rb +1 -0
  162. data/lib/active_admin/resource/menu.rb +5 -4
  163. data/lib/active_admin/resource/model.rb +1 -0
  164. data/lib/active_admin/resource/naming.rb +5 -4
  165. data/lib/active_admin/resource/ordering.rb +1 -0
  166. data/lib/active_admin/resource/page_presenters.rb +1 -0
  167. data/lib/active_admin/resource/pagination.rb +1 -0
  168. data/lib/active_admin/resource/routes.rb +6 -7
  169. data/lib/active_admin/resource/scope_to.rb +8 -7
  170. data/lib/active_admin/resource/scopes.rb +1 -0
  171. data/lib/active_admin/resource/sidebars.rb +2 -1
  172. data/lib/active_admin/resource.rb +20 -19
  173. data/lib/active_admin/resource_collection.rb +1 -0
  174. data/lib/active_admin/resource_controller/action_builder.rb +1 -0
  175. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  176. data/lib/active_admin/resource_controller/decorators.rb +7 -28
  177. data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -0
  178. data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
  179. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  180. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  181. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  182. data/lib/active_admin/resource_controller.rb +13 -11
  183. data/lib/active_admin/resource_dsl.rb +11 -25
  184. data/lib/active_admin/router.rb +1 -0
  185. data/lib/active_admin/scope.rb +7 -6
  186. data/lib/active_admin/settings_node.rb +1 -0
  187. data/lib/active_admin/sidebar_section.rb +1 -0
  188. data/lib/active_admin/version.rb +2 -1
  189. data/lib/active_admin/view_factory.rb +18 -17
  190. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  191. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  192. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
  193. data/lib/active_admin/view_helpers/display_helper.rb +23 -8
  194. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  195. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  196. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  197. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  198. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
  199. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  200. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  201. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  202. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  203. data/lib/active_admin/view_helpers.rb +2 -1
  204. data/lib/active_admin/views/action_items.rb +1 -0
  205. data/lib/active_admin/views/components/active_admin_form.rb +8 -11
  206. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  207. data/lib/active_admin/views/components/attributes_table.rb +6 -5
  208. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  209. data/lib/active_admin/views/components/columns.rb +1 -0
  210. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  211. data/lib/active_admin/views/components/index_list.rb +4 -3
  212. data/lib/active_admin/views/components/menu.rb +2 -1
  213. data/lib/active_admin/views/components/menu_item.rb +5 -4
  214. data/lib/active_admin/views/components/paginated_collection.rb +19 -18
  215. data/lib/active_admin/views/components/panel.rb +2 -1
  216. data/lib/active_admin/views/components/scopes.rb +8 -5
  217. data/lib/active_admin/views/components/sidebar.rb +1 -0
  218. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  219. data/lib/active_admin/views/components/site_title.rb +2 -1
  220. data/lib/active_admin/views/components/status_tag.rb +12 -11
  221. data/lib/active_admin/views/components/table_for.rb +18 -17
  222. data/lib/active_admin/views/components/tabs.rb +4 -3
  223. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  224. data/lib/active_admin/views/footer.rb +3 -1
  225. data/lib/active_admin/views/header.rb +3 -2
  226. data/lib/active_admin/views/index_as_block.rb +1 -0
  227. data/lib/active_admin/views/index_as_blog.rb +2 -1
  228. data/lib/active_admin/views/index_as_grid.rb +2 -1
  229. data/lib/active_admin/views/index_as_table.rb +16 -19
  230. data/lib/active_admin/views/pages/base.rb +17 -11
  231. data/lib/active_admin/views/pages/form.rb +1 -0
  232. data/lib/active_admin/views/pages/index.rb +15 -13
  233. data/lib/active_admin/views/pages/layout.rb +1 -0
  234. data/lib/active_admin/views/pages/page.rb +1 -0
  235. data/lib/active_admin/views/pages/show.rb +2 -7
  236. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  237. data/lib/active_admin/views/title_bar.rb +2 -1
  238. data/lib/active_admin/views.rb +2 -1
  239. data/lib/active_admin.rb +63 -61
  240. data/lib/activeadmin.rb +2 -1
  241. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  242. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  243. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  244. data/lib/generators/active_admin/install/install_generator.rb +15 -8
  245. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +27 -3
  246. data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
  247. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  248. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  249. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  250. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  251. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  252. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  253. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  254. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  255. data/vendor/assets/javascripts/jquery-ui/data.js +12 -8
  256. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +10 -7
  257. data/vendor/assets/javascripts/jquery-ui/focusable.js +12 -9
  258. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +60 -57
  259. data/vendor/assets/javascripts/jquery-ui/form.js +15 -12
  260. data/vendor/assets/javascripts/jquery-ui/ie.js +5 -2
  261. data/vendor/assets/javascripts/jquery-ui/keycode.js +11 -7
  262. data/vendor/assets/javascripts/jquery-ui/labels.js +46 -40
  263. data/vendor/assets/javascripts/jquery-ui/plugin.js +5 -2
  264. data/vendor/assets/javascripts/jquery-ui/position.js +30 -17
  265. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +6 -2
  266. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +6 -2
  267. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +10 -7
  268. data/vendor/assets/javascripts/jquery-ui/tabbable.js +11 -8
  269. data/vendor/assets/javascripts/jquery-ui/unique-id.js +10 -7
  270. data/vendor/assets/javascripts/jquery-ui/version.js +6 -3
  271. data/vendor/assets/javascripts/jquery-ui/widget.js +53 -30
  272. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +87 -24
  273. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +276 -273
  274. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +15 -11
  275. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +182 -62
  276. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +53 -36
  277. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +28 -19
  278. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +22 -11
  279. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +47 -26
  280. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +186 -125
  281. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +20 -20
  282. metadata +48 -114
  283. data/docs/.gitignore +0 -1
  284. data/docs/0-installation.md +0 -118
  285. data/docs/1-general-configuration.md +0 -224
  286. data/docs/10-custom-pages.md +0 -150
  287. data/docs/11-decorators.md +0 -59
  288. data/docs/12-arbre-components.md +0 -214
  289. data/docs/13-authorization-adapter.md +0 -285
  290. data/docs/14-gotchas.md +0 -138
  291. data/docs/2-resource-customization.md +0 -466
  292. data/docs/3-index-pages/custom-index.md +0 -35
  293. data/docs/3-index-pages/index-as-block.md +0 -19
  294. data/docs/3-index-pages/index-as-blog.md +0 -69
  295. data/docs/3-index-pages/index-as-grid.md +0 -27
  296. data/docs/3-index-pages/index-as-table.md +0 -234
  297. data/docs/3-index-pages.md +0 -328
  298. data/docs/4-csv-format.md +0 -74
  299. data/docs/5-forms.md +0 -232
  300. data/docs/6-show-pages.md +0 -81
  301. data/docs/7-sidebars.md +0 -75
  302. data/docs/8-custom-actions.md +0 -177
  303. data/docs/9-batch-actions.md +0 -237
  304. data/docs/CNAME +0 -1
  305. data/docs/Gemfile +0 -3
  306. data/docs/Gemfile.lock +0 -248
  307. data/docs/README.md +0 -24
  308. data/docs/_config.yml +0 -4
  309. data/docs/_includes/footer.html +0 -8
  310. data/docs/_includes/google-analytics.html +0 -16
  311. data/docs/_includes/head.html +0 -7
  312. data/docs/_includes/toc.html +0 -98
  313. data/docs/_includes/top-menu.html +0 -17
  314. data/docs/_layouts/default.html +0 -21
  315. data/docs/documentation.md +0 -60
  316. data/docs/images/activeadmin.png +0 -0
  317. data/docs/images/code-header.png +0 -0
  318. data/docs/images/divider.png +0 -0
  319. data/docs/images/features.png +0 -0
  320. data/docs/images/tidelift.svg +0 -14
  321. data/docs/index.html +0 -226
  322. data/docs/stylesheets/main.css +0 -1205
  323. data/lib/active_admin/deprecation.rb +0 -10
  324. data/lib/ransack_ext.rb +0 -20
  325. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
  326. /data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +0 -0
@@ -1,224 +0,0 @@
1
- ---
2
- redirect_from: /docs/1-general-configuration.html
3
- ---
4
-
5
- # General Configuration
6
-
7
- You can configure Active Admin settings in `config/initializers/active_admin.rb`.
8
- Here are a few common configurations:
9
-
10
- ## Authentication
11
-
12
- Active Admin requires two settings to authenticate and use the current user
13
- within your application.
14
-
15
- + the method controllers used to force authentication
16
-
17
- ```ruby
18
- config.authentication_method = :authenticate_admin_user!
19
- ```
20
-
21
- + the method used to access the current user
22
-
23
- ```ruby
24
- config.current_user_method = :current_admin_user
25
- ```
26
-
27
- Both of these settings can be set to false to turn off authentication.
28
-
29
- ```ruby
30
- config.authentication_method = false
31
- config.current_user_method = false
32
- ```
33
-
34
- ## Site Title Options
35
-
36
- Every page has what's called the site title on the left side of the menu bar.
37
- If you want, you can customize it.
38
-
39
- ```ruby
40
- config.site_title = "My Admin Site"
41
- config.site_title_link = "/"
42
- config.site_title_image = "site_image.png"
43
- config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
44
- config.site_title_image = ->(context) { context.current_user.company.logo_url }
45
- ```
46
-
47
- ## Internationalization (I18n)
48
-
49
- Active Admin comes with translations for a lot of
50
- [locales](https://github.com/activeadmin/activeadmin/blob/master/config/locales/).
51
- Active Admin does not provide the translations for the kaminari gem it uses for pagination,
52
- to get these you can use the
53
- [kaminari-i18n](https://github.com/tigrish/kaminari-i18n) gem.
54
-
55
- To translate Active Admin to a new language or customize an existing
56
- translation, you can copy
57
- [config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
58
- to your application's `config/locales` folder and update it. We welcome
59
- new/updated translations, so feel free to
60
- [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
61
-
62
- When using [devise](https://github.com/plataformatec/devise) for authentication,
63
- you can use the [devise-i18n](https://github.com/tigrish/devise-i18n)
64
- gem to get the devise translations for other locales.
65
-
66
- ## Localize Format For Dates and Times
67
-
68
- Active Admin sets `:long` as default localize format for dates and times.
69
- If you want, you can customize it.
70
-
71
- ```ruby
72
- config.localize_format = :short
73
- ```
74
-
75
- ## Namespaces
76
-
77
- When registering resources in Active Admin, they are loaded into a namespace.
78
- The default namespace is "admin".
79
-
80
- ```ruby
81
- # app/admin/posts.rb
82
- ActiveAdmin.register Post do
83
- # ...
84
- end
85
- ```
86
-
87
- The Post resource will be loaded into the "admin" namespace and will be
88
- available at `/admin/posts`. Each namespace holds on to its own settings that
89
- inherit from the application's configuration.
90
-
91
- For example, if you have two namespaces (`:admin` and `:super_admin`) and want to
92
- have different site title's for each, you can use the `config.namespace(name)`
93
- block within the initializer file to configure them individually.
94
-
95
- ```ruby
96
- ActiveAdmin.setup do |config|
97
- config.site_title = "My Default Site Title"
98
-
99
- config.namespace :admin do |admin|
100
- admin.site_title = "Admin Site"
101
- end
102
-
103
- config.namespace :super_admin do |super_admin|
104
- super_admin.site_title = "Super Admin Site"
105
- end
106
- end
107
- ```
108
-
109
- If you are creating a multi-tenant application you may want to have multiple namespaces mounted to the same path. We can do this using the `route_options` settings on the namespace
110
-
111
- ```ruby
112
- config.namespace :site_1 do |admin|
113
- admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site1.com" } }
114
- end
115
-
116
- config.namespace :site_2 do |admin|
117
- admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site2.com" } }
118
- end
119
- ```
120
-
121
- If you would like to mount the namespace to a subdomain instead of path we can use the `route_options` for this as well
122
-
123
- ```ruby
124
- config.namespace :admin do |admin|
125
- admin.route_options = { path: '', subdomain: 'admin' }
126
- end
127
- ```
128
-
129
- Each setting available in the Active Admin setup block is configurable on a per
130
- namespace basis.
131
-
132
- ## Load paths
133
-
134
- By default Active Admin files go inside `app/admin/`. You can change this
135
- directory in the initializer file:
136
-
137
- ```ruby
138
- ActiveAdmin.setup do |config|
139
- config.load_paths = [File.join(Rails.root, "app", "ui")]
140
- end
141
- ```
142
-
143
- ## Comments
144
-
145
- By default Active Admin includes comments on resources. Sometimes, this is
146
- undesired. To disable comments:
147
-
148
- ```ruby
149
- # For the entire application:
150
- ActiveAdmin.setup do |config|
151
- config.comments = false
152
- end
153
-
154
- # For a namespace:
155
- ActiveAdmin.setup do |config|
156
- config.namespace :admin do |admin|
157
- admin.comments = false
158
- end
159
- end
160
-
161
- # For a given resource:
162
- ActiveAdmin.register Post do
163
- config.comments = false
164
- end
165
- ```
166
-
167
- You can change the name under which comments are registered:
168
-
169
- ```ruby
170
- config.comments_registration_name = 'AdminComment'
171
- ```
172
-
173
- You can change the order for the comments and you can change the column to be
174
- used for ordering:
175
-
176
- ```ruby
177
- config.comments_order = 'created_at ASC'
178
- ```
179
-
180
- You can disable the menu item for the comments index page:
181
-
182
- ```ruby
183
- config.comments_menu = false
184
- ```
185
-
186
- You can customize the comment menu:
187
-
188
- ```ruby
189
- config.comments_menu = { parent: 'Admin', priority: 1 }
190
- ```
191
-
192
- Remember to indicate where to place the comments and form with:
193
-
194
- ```ruby
195
- active_admin_comments
196
- ```
197
-
198
- ## Utility Navigation
199
-
200
- The "utility navigation" shown at the top right normally shows the current user
201
- and a link to log out. However, the utility navigation is just like any other
202
- menu in the system; you can provide your own menu to be rendered in its place.
203
-
204
- ```ruby
205
- ActiveAdmin.setup do |config|
206
- config.namespace :admin do |admin|
207
- admin.build_menu :utility_navigation do |menu|
208
- menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
209
- html_options: { target: :blank }
210
- admin.add_current_user_to_menu menu
211
- admin.add_logout_button_to_menu menu
212
- end
213
- end
214
- end
215
- ```
216
-
217
- ## Footer Customization
218
-
219
- By default, Active Admin displays a "Powered by ActiveAdmin" message on every
220
- page. You can override this message and show domain-specific messaging:
221
-
222
- ```ruby
223
- config.footer = "MyApp Revision v1.3"
224
- ```
@@ -1,150 +0,0 @@
1
- ---
2
- redirect_from: /docs/10-custom-pages.html
3
- ---
4
-
5
- # Custom Pages
6
-
7
- If you have data you want on a standalone page that isn't tied to a resource,
8
- custom pages provide you with a familiar syntax and feature set:
9
-
10
- * a menu item
11
- * sidebars
12
- * action items
13
- * page actions
14
-
15
- ## Create a new Page
16
-
17
- Creating a page is as simple as calling `register_page`:
18
-
19
- ```ruby
20
- # app/admin/calendar.rb
21
- ActiveAdmin.register_page "Calendar" do
22
- content do
23
- para "Hello World"
24
- end
25
- end
26
- ```
27
-
28
- Anything rendered within `content` will be the main content on the page.
29
- Partials behave exactly the same way as they do for resources:
30
-
31
- ```ruby
32
- # app/admin/calendar.rb
33
- ActiveAdmin.register_page "Calendar" do
34
- content do
35
- render partial: 'calendar'
36
- end
37
- end
38
-
39
- # app/views/admin/calendar/_calendar.html.arb
40
- table do
41
- thead do
42
- tr do
43
- %w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
44
- end
45
- end
46
- tbody do
47
- # ...
48
- end
49
- end
50
- ```
51
-
52
- ## Customize the Menu
53
-
54
- See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
55
-
56
- ## Customize the breadcrumbs
57
-
58
- ```ruby
59
- ActiveAdmin.register_page "Calendar" do
60
- breadcrumb do
61
- ['admin', 'calendar']
62
- end
63
- end
64
- ```
65
-
66
- ## Customize the Namespace
67
-
68
- We use the `admin` namespace by default, but you can use anything:
69
-
70
- ```ruby
71
- # Available at /today/calendar
72
- ActiveAdmin.register_page "Calendar", namespace: :today
73
-
74
- # Available at /calendar
75
- ActiveAdmin.register_page "Calendar", namespace: false
76
- ```
77
-
78
- ## Belongs To
79
-
80
- To nest the page within another resource, you can use the `belongs_to` method:
81
-
82
- ```ruby
83
- ActiveAdmin.register Project
84
- ActiveAdmin.register_page "Status" do
85
- belongs_to :project
86
- end
87
- ```
88
-
89
- See also the [Belongs To](2-resource-customization.md#belongs-to) documentation
90
- and examples.
91
-
92
- ## Add a Sidebar
93
-
94
- See the [Sidebars](7-sidebars.md) documentation.
95
-
96
- ## Add an Action Item
97
-
98
- Just like other resources, you can add action items. The difference here being that
99
- `:only` and `:except` don't apply because there's only one page it could apply to.
100
-
101
- ```ruby
102
- action_item :view_site do
103
- link_to "View Site", "/"
104
- end
105
- ```
106
-
107
- ## Add a Page Action
108
-
109
- Page actions are custom controller actions (which mirror the resource DSL for
110
- the same feature).
111
-
112
- ```ruby
113
- page_action :add_event, method: :post do
114
- # ...
115
- redirect_to admin_calendar_path, notice: "Your event was added"
116
- end
117
-
118
- action_item :add do
119
- link_to "Add Event", admin_calendar_add_event_path, method: :post
120
- end
121
- ```
122
-
123
- This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
124
-
125
- Clicking on the action item will reload page and display the message "Your event
126
- was added"
127
-
128
- Page actions can handle multiple HTTP verbs.
129
-
130
- ```ruby
131
- page_action :add_event, method: [:get, :post] do
132
- # ...
133
- end
134
- ```
135
-
136
- See also the [Custom Actions](8-custom-actions.md#http-verbs) example.
137
-
138
- ## Use custom column as id
139
-
140
- You can use custom parameter instead of id
141
-
142
- ```ruby
143
- ActiveAdmin.register User do
144
- controller do
145
- defaults :finder => :find_by_name
146
- end
147
- end
148
- ```
149
-
150
- This defines the resource route as `/admin/users/john` if user name is john
@@ -1,59 +0,0 @@
1
- ---
2
- redirect_from: /docs/11-decorators.html
3
- ---
4
-
5
- # Decorators
6
-
7
- Active Admin allows you to use the decorator pattern to provide view-specific
8
- versions of a resource. [Draper](https://github.com/drapergem/draper) is
9
- recommended but not required.
10
-
11
- To use decorator support without Draper, your decorator must support a variety
12
- of collection methods to support pagination, filtering, etc. See
13
- [this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
14
- and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
15
-
16
- ## Example usage
17
-
18
- ```ruby
19
- # app/models/post.rb
20
- class Post < ActiveRecord::Base
21
- # has title, content, and image_url
22
- end
23
-
24
- # app/decorators/post_decorator.rb
25
- class PostDecorator < Draper::Decorator
26
- delegate_all
27
-
28
- def image
29
- h.image_tag model.image_url
30
- end
31
- end
32
-
33
- # app/admin/post.rb
34
- ActiveAdmin.register Post do
35
- decorate_with PostDecorator
36
-
37
- index do
38
- column :title
39
- column :image
40
- actions
41
- end
42
- end
43
- ```
44
-
45
- ## Forms
46
-
47
- By default, ActiveAdmin does *not* decorate the resource used to render forms.
48
- If you need ActiveAdmin to decorate the forms, you can pass `decorate: true` to the
49
- form block.
50
-
51
- ```ruby
52
- ActiveAdmin.register Post do
53
- decorate_with PostDecorator
54
-
55
- form decorate: true do |f|
56
- # ...
57
- end
58
- end
59
- ```
@@ -1,214 +0,0 @@
1
- ---
2
- redirect_from: /docs/12-arbre-components.html
3
- ---
4
-
5
- # Arbre Components
6
-
7
- Arbre allows the creation of shareable and extendable HTML components and is
8
- used throughout Active Admin to create view components.
9
-
10
- ## Text Node
11
-
12
- Sometimes it makes sense to insert something into a registered resource like a
13
- non-breaking space or some text. The text_node method can be used to insert
14
- these elements into the page inside of other Arbre components or resource
15
- controller functions.
16
-
17
- ```ruby
18
- ActiveAdmin.register Post do
19
- show do
20
- panel "Post Details" do
21
- attributes_table_for post do
22
- row :id
23
- row 'Tags' do
24
- post.tags.each do |tag|
25
- a tag, href: admin_post_path(q: {tagged_with_contains: tag})
26
- text_node "&nbsp;".html_safe
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- ```
34
-
35
- ## Panels
36
-
37
- A panel is a component that takes up all available horizontal space and takes a
38
- title and a hash of attributes as arguments. If a sidebar is present, a panel
39
- will take up the remaining space.
40
-
41
- This will create two stacked panels:
42
-
43
- ```ruby
44
- show do
45
- panel "Post Details" do
46
- render partial: "details", locals: {post: post}
47
- end
48
-
49
- panel "Post Tags" do
50
- render partial: "tags", locals: {post: post}
51
- end
52
- end
53
- ```
54
-
55
- ## Columns
56
-
57
- The Columns component allows you draw content into scalable columns. All you
58
- need to do is define the number of columns and the component will take care of
59
- the rest.
60
-
61
- ### Simple Columns
62
-
63
- To create simple columns, use the `columns` method. Within the block, call
64
- the #column method to create a new column.
65
-
66
- ```ruby
67
- columns do
68
- column do
69
- span "Column #1"
70
- end
71
-
72
- column do
73
- span "Column #2"
74
- end
75
- end
76
- ```
77
-
78
- ### Spanning Multiple Columns
79
-
80
- To create columns that have multiple spans, pass the :span option to the column
81
- method.
82
-
83
- ```ruby
84
- columns do
85
- column span: 2 do
86
- span "Column # 1"
87
- end
88
- column do
89
- span "Column # 2"
90
- end
91
- end
92
- ```
93
-
94
- By default, each column spans 1 column. The above layout would have 2 columns,
95
- the first being twice as large as the second.
96
-
97
- ### Custom Column Widths
98
-
99
- Active Admin uses a fluid width layout, causing column width to be defined
100
- using percentages. Due to using this style of layout, columns can shrink or
101
- expand past points that may not be desirable. To overcome this issue,
102
- columns provide `:max_width` and `:min_width` options.
103
-
104
- ```ruby
105
- columns do
106
- column max_width: "200px", min_width: "100px" do
107
- span "Column # 1"
108
- end
109
- column do
110
- span "Column # 2"
111
- end
112
- end
113
- ```
114
-
115
- In the above example, the first column will not grow larger than 200px and will
116
- not shrink less than 100px.
117
-
118
- ### Custom Column Class
119
-
120
- Pass the `:class` option to the column method to set a custom class.
121
-
122
- ```ruby
123
- columns do
124
- column class: "important" do
125
- span "Column # 1"
126
- end
127
- column do
128
- span "Column # 2"
129
- end
130
- end
131
- ```
132
-
133
- ## Table For
134
-
135
- Table For provides the ability to create tables like those present
136
- in `index_as_table`. It takes a collection and a hash of options and then
137
- uses `column` to build the fields to show with the table.
138
-
139
- ```ruby
140
- table_for order.payments do
141
- column(:payment_type) { |payment| payment.payment_type.titleize }
142
- column "Received On", :created_at
143
- column "Details & Notes", :payment_details
144
- column "Amount", :amount_in_dollars
145
- end
146
- ```
147
-
148
- The `column` method can take a title as its first argument and data
149
- (`:your_method`) as its second (or first if no title provided). Column also
150
- takes a block.
151
-
152
- ### Internationalization
153
-
154
- To customize the internationalization for the component, specify a resource to
155
- use for translations via the `i18n` named parameter. This is only necessary for
156
- non-`ActiveRecord::Relation` collections:
157
-
158
- ```ruby
159
- table_for payments, i18n: Payment do
160
- # ...
161
- end
162
- ```
163
-
164
- ## Status tag
165
-
166
- Status tags provide convenient syntactic sugar for styling items that have
167
- status. A common example of where the status tag could be useful is for orders
168
- that are complete or in progress. `status_tag` takes a status, like
169
- "In Progress", and a hash of options. The status_tag will generate HTML markup
170
- that Active Admin CSS uses in styling.
171
-
172
- ```ruby
173
- status_tag 'In Progress'
174
- # => <span class='status_tag in_progress'>In Progress</span>
175
-
176
- status_tag 'active', class: 'important', id: 'status_123', label: 'on'
177
- # => <span class='status_tag active important' id='status_123'>on</span>
178
- ```
179
-
180
- When providing a `true` or `false` value, the `status_tag` will display "Yes"
181
- or "No". This can be configured through the `"en.active_admin.status_tag"`
182
- locale.
183
-
184
- ```ruby
185
- status_tag true
186
- # => <span class='status_tag yes'>Yes</span>
187
- ```
188
-
189
- In the case that a boolean field is `nil`, it will display "No" as a default.
190
- But using the `"en.active_admin.status_tag.unset"` locale key, it can be
191
- configured to display something else.
192
-
193
- ## Tabs
194
-
195
- The Tabs component is helpful for saving page real estate. The first tab will be
196
- the one open when the page initially loads and the rest hidden. You can click
197
- each tab to toggle back and forth between them. Arbre supports unlimited number
198
- of tabs.
199
-
200
- ```ruby
201
- tabs do
202
- tab :active do
203
- table_for orders.active do
204
- ...
205
- end
206
- end
207
-
208
- tab :inactive do
209
- table_for orders.inactive do
210
- ...
211
- end
212
- end
213
- end
214
- ```