activeadmin 2.4.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (289) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +422 -31
  3. data/CONTRIBUTING.md +44 -65
  4. data/README.md +6 -6
  5. data/app/assets/javascripts/active_admin/base.js +521 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +1 -11
  8. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  9. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  10. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  11. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  14. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  15. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  16. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  17. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  18. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  19. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  21. data/app/javascript/active_admin/base.js +28 -0
  22. data/app/{assets/javascripts/active_admin/lib/batch_actions.es6 → javascript/active_admin/initializers/batch-actions.js} +4 -2
  23. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  24. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  25. data/app/javascript/active_admin/initializers/filters.js +10 -0
  26. data/app/{assets/javascripts/active_admin/lib/has_many.es6 → javascript/active_admin/initializers/has-many.js} +4 -1
  27. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  28. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  29. data/app/{assets/javascripts/active_admin/lib/checkbox-toggler.es6 → javascript/active_admin/lib/checkbox-toggler.js} +5 -5
  30. data/app/{assets/javascripts/active_admin/lib/dropdown-menu.es6 → javascript/active_admin/lib/dropdown-menu.js} +3 -10
  31. data/app/javascript/active_admin/lib/filters.js +39 -0
  32. data/app/{assets/javascripts/active_admin/lib/modal_dialog.es6 → javascript/active_admin/lib/modal-dialog.js} +10 -8
  33. data/app/javascript/active_admin/lib/per-page.js +38 -0
  34. data/app/{assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 → javascript/active_admin/lib/table-checkbox-toggler.js} +5 -3
  35. data/app/javascript/active_admin/lib/utils.js +40 -0
  36. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  37. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  38. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  39. data/app/views/active_admin/page/index.html.arb +1 -0
  40. data/app/views/active_admin/resource/edit.html.arb +1 -0
  41. data/app/views/active_admin/resource/index.html.arb +1 -0
  42. data/app/views/active_admin/resource/new.html.arb +1 -0
  43. data/app/views/active_admin/resource/show.html.arb +1 -0
  44. data/app/views/layouts/active_admin.html.arb +1 -0
  45. data/app/views/layouts/active_admin_logged_out.html.erb +18 -7
  46. data/config/locales/ar.yml +6 -6
  47. data/config/locales/az.yml +138 -0
  48. data/config/locales/en-CA.yml +3 -3
  49. data/config/locales/en-GB.yml +3 -3
  50. data/config/locales/en.yml +3 -3
  51. data/config/locales/es-MX.yml +2 -1
  52. data/config/locales/es.yml +5 -5
  53. data/config/locales/fr.yml +7 -7
  54. data/config/locales/it.yml +18 -0
  55. data/config/locales/ja.yml +3 -3
  56. data/config/locales/ko.yml +1 -1
  57. data/config/locales/lv.yml +2 -2
  58. data/config/locales/nl.yml +1 -1
  59. data/config/locales/ro.yml +3 -2
  60. data/config/locales/vi.yml +40 -12
  61. data/config/locales/zh-CN.yml +36 -17
  62. data/lib/active_admin/abstract_view_factory.rb +1 -0
  63. data/lib/active_admin/application.rb +20 -20
  64. data/lib/active_admin/application_settings.rb +4 -3
  65. data/lib/active_admin/asset_registration.rb +4 -3
  66. data/lib/active_admin/authorization_adapter.rb +6 -3
  67. data/lib/active_admin/base_controller/authorization.rb +15 -13
  68. data/lib/active_admin/base_controller/menu.rb +1 -0
  69. data/lib/active_admin/base_controller.rb +6 -5
  70. data/lib/active_admin/batch_actions/controller.rb +4 -3
  71. data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
  72. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  73. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  74. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  75. data/lib/active_admin/batch_actions.rb +1 -0
  76. data/lib/active_admin/callbacks.rb +1 -0
  77. data/lib/active_admin/cancan_adapter.rb +2 -1
  78. data/lib/active_admin/collection_decorator.rb +32 -0
  79. data/lib/active_admin/component.rb +1 -0
  80. data/lib/active_admin/controller_action.rb +1 -0
  81. data/lib/active_admin/csv_builder.rb +12 -21
  82. data/lib/active_admin/dependency.rb +12 -15
  83. data/lib/active_admin/deprecation.rb +1 -0
  84. data/lib/active_admin/devise.rb +16 -5
  85. data/lib/active_admin/dsl.rb +2 -1
  86. data/lib/active_admin/dynamic_setting.rb +1 -0
  87. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  88. data/lib/active_admin/engine.rb +13 -9
  89. data/lib/active_admin/error.rb +1 -2
  90. data/lib/active_admin/filters/active.rb +2 -1
  91. data/lib/active_admin/filters/active_filter.rb +7 -7
  92. data/lib/active_admin/filters/active_sidebar.rb +4 -30
  93. data/lib/active_admin/filters/dsl.rb +1 -0
  94. data/lib/active_admin/filters/forms.rb +7 -6
  95. data/lib/active_admin/filters/formtastic_addons.rb +2 -6
  96. data/lib/active_admin/filters/resource_extension.rb +6 -5
  97. data/lib/active_admin/filters.rb +8 -7
  98. data/lib/active_admin/form_builder.rb +25 -20
  99. data/lib/active_admin/generators/boilerplate.rb +2 -1
  100. data/lib/active_admin/helpers/collection.rb +2 -0
  101. data/lib/active_admin/helpers/i18n.rb +1 -0
  102. data/lib/active_admin/helpers/optional_display.rb +3 -2
  103. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  104. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  105. data/lib/active_admin/inputs/datepicker_input.rb +2 -1
  106. data/lib/active_admin/inputs/filters/base/search_method_select.rb +5 -4
  107. data/lib/active_admin/inputs/filters/base.rb +2 -1
  108. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  109. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  110. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  111. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  112. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  113. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  114. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  115. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  116. data/lib/active_admin/inputs.rb +1 -0
  117. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  118. data/lib/active_admin/localizers.rb +2 -1
  119. data/lib/active_admin/menu.rb +7 -3
  120. data/lib/active_admin/menu_collection.rb +1 -0
  121. data/lib/active_admin/menu_item.rb +8 -7
  122. data/lib/active_admin/namespace.rb +15 -14
  123. data/lib/active_admin/namespace_settings.rb +9 -5
  124. data/lib/active_admin/order_clause.rb +2 -1
  125. data/lib/active_admin/orm/active_record/comments/comment.rb +4 -3
  126. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  127. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  128. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  129. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +21 -20
  130. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  131. data/lib/active_admin/orm/active_record/comments.rb +28 -27
  132. data/lib/active_admin/orm/active_record.rb +2 -1
  133. data/lib/active_admin/orm/mongoid.rb +1 -0
  134. data/lib/active_admin/page.rb +2 -1
  135. data/lib/active_admin/page_controller.rb +1 -0
  136. data/lib/active_admin/page_dsl.rb +1 -0
  137. data/lib/active_admin/page_presenter.rb +1 -0
  138. data/lib/active_admin/pundit_adapter.rb +57 -15
  139. data/lib/active_admin/resource/action_items.rb +6 -5
  140. data/lib/active_admin/resource/attributes.rb +2 -1
  141. data/lib/active_admin/resource/belongs_to.rb +3 -2
  142. data/lib/active_admin/resource/controllers.rb +2 -1
  143. data/lib/active_admin/resource/includes.rb +1 -0
  144. data/lib/active_admin/resource/menu.rb +5 -4
  145. data/lib/active_admin/resource/model.rb +1 -0
  146. data/lib/active_admin/resource/naming.rb +6 -5
  147. data/lib/active_admin/resource/ordering.rb +1 -0
  148. data/lib/active_admin/resource/page_presenters.rb +1 -0
  149. data/lib/active_admin/resource/pagination.rb +1 -0
  150. data/lib/active_admin/resource/routes.rb +6 -7
  151. data/lib/active_admin/resource/scope_to.rb +8 -7
  152. data/lib/active_admin/resource/scopes.rb +1 -0
  153. data/lib/active_admin/resource/sidebars.rb +2 -1
  154. data/lib/active_admin/resource.rb +21 -20
  155. data/lib/active_admin/resource_collection.rb +1 -0
  156. data/lib/active_admin/resource_controller/action_builder.rb +1 -0
  157. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  158. data/lib/active_admin/resource_controller/decorators.rb +7 -28
  159. data/lib/active_admin/resource_controller/polymorphic_routes.rb +4 -2
  160. data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
  161. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  162. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  163. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  164. data/lib/active_admin/resource_controller.rb +13 -11
  165. data/lib/active_admin/resource_dsl.rb +11 -25
  166. data/lib/active_admin/router.rb +1 -0
  167. data/lib/active_admin/scope.rb +7 -6
  168. data/lib/active_admin/settings_node.rb +1 -0
  169. data/lib/active_admin/sidebar_section.rb +1 -0
  170. data/lib/active_admin/version.rb +2 -1
  171. data/lib/active_admin/view_factory.rb +18 -17
  172. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  173. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  174. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
  175. data/lib/active_admin/view_helpers/display_helper.rb +15 -7
  176. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  177. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  178. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  179. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  180. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
  181. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  182. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  183. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  184. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  185. data/lib/active_admin/view_helpers.rb +2 -1
  186. data/lib/active_admin/views/action_items.rb +1 -0
  187. data/lib/active_admin/views/components/active_admin_form.rb +7 -6
  188. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  189. data/lib/active_admin/views/components/attributes_table.rb +6 -5
  190. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  191. data/lib/active_admin/views/components/columns.rb +1 -0
  192. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  193. data/lib/active_admin/views/components/index_list.rb +4 -3
  194. data/lib/active_admin/views/components/menu.rb +2 -1
  195. data/lib/active_admin/views/components/menu_item.rb +5 -4
  196. data/lib/active_admin/views/components/paginated_collection.rb +20 -18
  197. data/lib/active_admin/views/components/panel.rb +2 -1
  198. data/lib/active_admin/views/components/scopes.rb +8 -5
  199. data/lib/active_admin/views/components/sidebar.rb +1 -0
  200. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  201. data/lib/active_admin/views/components/site_title.rb +2 -1
  202. data/lib/active_admin/views/components/status_tag.rb +12 -11
  203. data/lib/active_admin/views/components/table_for.rb +19 -17
  204. data/lib/active_admin/views/components/tabs.rb +4 -3
  205. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  206. data/lib/active_admin/views/footer.rb +3 -1
  207. data/lib/active_admin/views/header.rb +3 -2
  208. data/lib/active_admin/views/index_as_block.rb +1 -0
  209. data/lib/active_admin/views/index_as_blog.rb +2 -1
  210. data/lib/active_admin/views/index_as_grid.rb +2 -1
  211. data/lib/active_admin/views/index_as_table.rb +17 -16
  212. data/lib/active_admin/views/pages/base.rb +22 -14
  213. data/lib/active_admin/views/pages/form.rb +1 -0
  214. data/lib/active_admin/views/pages/index.rb +16 -13
  215. data/lib/active_admin/views/pages/layout.rb +1 -0
  216. data/lib/active_admin/views/pages/page.rb +1 -0
  217. data/lib/active_admin/views/pages/show.rb +1 -0
  218. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  219. data/lib/active_admin/views/title_bar.rb +2 -1
  220. data/lib/active_admin/views.rb +2 -1
  221. data/lib/active_admin.rb +63 -64
  222. data/lib/activeadmin.rb +2 -1
  223. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  224. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  225. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  226. data/lib/generators/active_admin/install/install_generator.rb +15 -8
  227. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +26 -2
  228. data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
  229. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  230. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  231. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  232. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  233. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  234. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  235. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  236. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  237. data/lib/ransack_ext.rb +9 -8
  238. metadata +56 -132
  239. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  240. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  241. data/app/assets/images/active_admin/orderable.png +0 -0
  242. data/app/assets/javascripts/active_admin/base.es6 +0 -23
  243. data/app/assets/javascripts/active_admin/initializers/filters.es6 +0 -45
  244. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +0 -41
  245. data/app/assets/javascripts/active_admin/lib/per_page.es6 +0 -47
  246. data/docs/.gitignore +0 -1
  247. data/docs/0-installation.md +0 -118
  248. data/docs/1-general-configuration.md +0 -204
  249. data/docs/10-custom-pages.md +0 -150
  250. data/docs/11-decorators.md +0 -59
  251. data/docs/12-arbre-components.md +0 -214
  252. data/docs/13-authorization-adapter.md +0 -285
  253. data/docs/14-gotchas.md +0 -138
  254. data/docs/2-resource-customization.md +0 -466
  255. data/docs/3-index-pages/custom-index.md +0 -35
  256. data/docs/3-index-pages/index-as-block.md +0 -19
  257. data/docs/3-index-pages/index-as-blog.md +0 -69
  258. data/docs/3-index-pages/index-as-grid.md +0 -27
  259. data/docs/3-index-pages/index-as-table.md +0 -234
  260. data/docs/3-index-pages.md +0 -328
  261. data/docs/4-csv-format.md +0 -74
  262. data/docs/5-forms.md +0 -232
  263. data/docs/6-show-pages.md +0 -81
  264. data/docs/7-sidebars.md +0 -75
  265. data/docs/8-custom-actions.md +0 -177
  266. data/docs/9-batch-actions.md +0 -237
  267. data/docs/CNAME +0 -1
  268. data/docs/Gemfile +0 -3
  269. data/docs/Gemfile.lock +0 -248
  270. data/docs/README.md +0 -24
  271. data/docs/_config.yml +0 -4
  272. data/docs/_includes/footer.html +0 -8
  273. data/docs/_includes/google-analytics.html +0 -16
  274. data/docs/_includes/head.html +0 -7
  275. data/docs/_includes/toc.html +0 -98
  276. data/docs/_includes/top-menu.html +0 -17
  277. data/docs/_layouts/default.html +0 -21
  278. data/docs/documentation.md +0 -60
  279. data/docs/images/activeadmin.png +0 -0
  280. data/docs/images/code-header.png +0 -0
  281. data/docs/images/divider.png +0 -0
  282. data/docs/images/features.png +0 -0
  283. data/docs/images/tidelift.svg +0 -14
  284. data/docs/index.html +0 -226
  285. data/docs/stylesheets/main.css +0 -1205
  286. /data/app/{assets/javascripts/active_admin/ext/jquery-ui.es6 → javascript/active_admin/ext/jquery-ui.js} +0 -0
  287. /data/app/{assets/javascripts/active_admin/ext/jquery.es6 → javascript/active_admin/ext/jquery.js} +0 -0
  288. /data/app/{assets/javascripts/active_admin/initializers/datepicker.es6 → javascript/active_admin/initializers/datepicker.js} +0 -0
  289. /data/app/{assets/javascripts/active_admin/initializers/tabs.es6 → javascript/active_admin/initializers/tabs.js} +0 -0
@@ -1,23 +0,0 @@
1
- //= require jquery3
2
- //= require jquery-ui/widgets/datepicker
3
- //= require jquery-ui/widgets/dialog
4
- //= require jquery-ui/widgets/sortable
5
- //= require jquery-ui/widgets/tabs
6
- //= require jquery-ui/widget
7
- //= require jquery_ujs
8
- //= require_self
9
- //= require ./ext/jquery
10
- //= require ./ext/jquery-ui
11
- //= require ./lib/active_admin
12
- //= require ./lib/batch_actions
13
- //= require ./lib/dropdown-menu
14
- //= require ./lib/has_many
15
- //= require ./lib/modal_dialog
16
- //= require ./lib/per_page
17
- //= require ./lib/checkbox-toggler
18
- //= require ./lib/table-checkbox-toggler
19
- //= require ./initializers/datepicker
20
- //= require ./initializers/filters
21
- //= require ./initializers/tabs
22
-
23
- window.ActiveAdmin = {}
@@ -1,45 +0,0 @@
1
- (($, ActiveAdmin) => {
2
-
3
- class Filters {
4
-
5
- static _clearForm(event) {
6
- const regex = /^(q\[|q%5B|q%5b|page|utf8|commit)/;
7
- const params = ActiveAdmin
8
- .queryStringToParams()
9
- .filter(({name}) => !name.match(regex));
10
-
11
- event.preventDefault();
12
-
13
- if (ActiveAdmin.turbolinks) {
14
- ActiveAdmin.turbolinksVisit(params);
15
- } else {
16
- window.location.search = ActiveAdmin.toQueryString(params);
17
- }
18
- }
19
-
20
- static _disableEmptyInputFields(event) {
21
- const params = $(this)
22
- .find(':input')
23
- .filter((i, input) => input.value === '')
24
- .prop({ disabled: true })
25
- .end()
26
- .serializeArray();
27
-
28
- if (ActiveAdmin.turbolinks) {
29
- event.preventDefault();
30
- ActiveAdmin.turbolinksVisit(params);
31
- }
32
- }
33
-
34
- static _setSearchType() {
35
- $(this).siblings('input').prop({name: `q[${this.value}]`});
36
- }
37
-
38
- }
39
-
40
- $(document).
41
- on('click', '.clear_filters_btn', Filters._clearForm).
42
- on('submit', '.filter_form', Filters._disableEmptyInputFields).
43
- on('change', '.filter_form_field.select_and_search select', Filters._setSearchType);
44
-
45
- })(jQuery, window.activeadmin);
@@ -1,41 +0,0 @@
1
- ((window, $) => {
2
-
3
- class ActiveAdmin {
4
-
5
- static get turbolinks() {
6
- return (typeof Turbolinks !== 'undefined' && Turbolinks.supported);
7
- }
8
-
9
- static turbolinksVisit(params) {
10
- const path = [window.location.pathname, '?', this.toQueryString(params)].join('')
11
- Turbolinks.visit(path);
12
- }
13
-
14
- static queryString() {
15
- return (window.location.search || '').replace(/^\?/, '');
16
- }
17
-
18
- static queryStringToParams() {
19
- const decode = (value) => decodeURIComponent((value || '').replace(/\+/g, '%20'));
20
-
21
- return this.queryString()
22
- .split("&")
23
- .map(pair => pair.split("="))
24
- .map(([key, value]) => {
25
- return { name: decode(key), value: decode(value) }
26
- });
27
- }
28
-
29
- static toQueryString(params) {
30
- const encode = (value) => encodeURIComponent(value || '');
31
-
32
- return params
33
- .map(({name, value}) => [ encode(name), encode(value) ])
34
- .map(pair => pair.join('='))
35
- .join('&')
36
- }
37
- }
38
-
39
- window.activeadmin = ActiveAdmin
40
-
41
- })(window, jQuery);
@@ -1,47 +0,0 @@
1
- (($, ActiveAdmin) => {
2
-
3
- class PerPage {
4
- constructor(element) {
5
- this.element = element;
6
- }
7
-
8
- update() {
9
- const params = ActiveAdmin
10
- .queryStringToParams()
11
- .filter(({name}) => name != 'per_page' || name != 'page')
12
-
13
- params.push({ name: 'per_page', value: this.element.value });
14
-
15
- if (ActiveAdmin.turbolinks) {
16
- ActiveAdmin.turbolinksVisit(params);
17
- } else {
18
- window.location.search = ActiveAdmin.toQueryString(params);
19
- }
20
- }
21
-
22
- static _jQueryInterface(config) {
23
- return this.each(function () {
24
- const $this = $(this)
25
- let data = $this.data('perPage')
26
-
27
- if (!data) {
28
- data = new PerPage(this)
29
- $this.data('perPage', data)
30
- }
31
-
32
- if (config === 'update') {
33
- data[config]()
34
- }
35
- })
36
- }
37
- };
38
-
39
- $(document).
40
- on('change', '.pagination_per_page > select', function(event) {
41
- PerPage._jQueryInterface.call($(this), 'update')
42
- });
43
-
44
- $.fn['perPage'] = PerPage._jQueryInterface
45
- $.fn['perPage'].Constructor = PerPage
46
-
47
- })(jQuery, window.activeadmin);
data/docs/.gitignore DELETED
@@ -1 +0,0 @@
1
- _site/
@@ -1,118 +0,0 @@
1
- ---
2
- redirect_from: /docs/0-installation.html
3
- ---
4
-
5
- # Installation
6
-
7
- Active Admin is a Ruby Gem.
8
-
9
- ```ruby
10
- gem 'activeadmin'
11
-
12
- # Plus integrations with:
13
- gem 'devise'
14
- gem 'cancancan'
15
- gem 'draper'
16
- gem 'pundit'
17
- ```
18
-
19
- More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
20
- that can be injected into your existing Ruby on Rails application.
21
-
22
- ## Setting up Active Admin
23
-
24
- After installing the gem, you need to run the generator. Here are your options:
25
-
26
- * If you don't want to use Devise, run it with `--skip-users`:
27
-
28
- ```sh
29
- rails g active_admin:install --skip-users
30
- ```
31
-
32
- * If you want to use an existing user class, provide it as an argument:
33
-
34
- ```sh
35
- rails g active_admin:install User
36
- ```
37
-
38
- * Otherwise, with no arguments we will create an `AdminUser` class to use with Devise:
39
-
40
- ```sh
41
- rails g active_admin:install
42
- ```
43
-
44
- The generator adds these core files, among others:
45
-
46
- * `app/admin/dashboard.rb`
47
- * `app/assets/javascripts/active_admin.js`
48
- * `app/assets/stylesheets/active_admin.scss`
49
- * `config/initializers/active_admin.rb`
50
-
51
- Now, migrate and seed your database before starting the server:
52
-
53
- ```sh
54
- rake db:migrate
55
- rake db:seed
56
- rails server
57
- ```
58
-
59
- Visit `http://localhost:3000/admin` and log in as the default user:
60
-
61
- * __User__: admin@example.com
62
- * __Password__: password
63
-
64
- Voila! You're on your brand new Active Admin dashboard.
65
-
66
- To register an existing model with Active Admin:
67
-
68
- ```sh
69
- rails generate active_admin:resource MyModel
70
- ```
71
-
72
- This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your
73
- browser to see it.
74
-
75
- # Upgrading
76
-
77
- When upgrading to a new version, it's a good idea to check the [CHANGELOG].
78
-
79
- To update the JS & CSS assets:
80
-
81
- ```sh
82
- rails generate active_admin:assets
83
- ```
84
-
85
- You should also sync these files with their counterparts in the AA source code:
86
-
87
- * app/admin/dashboard.rb [~>][dashboard.rb]
88
- * config/initializers/active_admin.rb [~>][active_admin.rb]
89
-
90
- # Gem compatibility
91
-
92
- ## will_paginate
93
-
94
- If you use `will_paginate` in your app, you need to configure an initializer for
95
- Kaminari to avoid conflicts.
96
-
97
- ```ruby
98
- # config/initializers/kaminari.rb
99
- Kaminari.configure do |config|
100
- config.page_method_name = :per_page_kaminari
101
- end
102
- ```
103
-
104
- If you are also using [Draper](https://github.com/drapergem/draper), you may
105
- want to make sure `per_page_kaminari` is delegated correctly:
106
-
107
- ```ruby
108
- Draper::CollectionDecorator.send :delegate, :per_page_kaminari
109
- ```
110
-
111
- ## simple_form
112
-
113
- If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
114
-
115
- [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
116
- [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
117
- [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
118
- [read #2703]: https://github.com/activeadmin/activeadmin/issues/2703#issuecomment-38140864
@@ -1,204 +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
- Each setting available in the Active Admin setup block is configurable on a per
110
- namespace basis.
111
-
112
- ## Load paths
113
-
114
- By default Active Admin files go inside `app/admin/`. You can change this
115
- directory in the initializer file:
116
-
117
- ```ruby
118
- ActiveAdmin.setup do |config|
119
- config.load_paths = [File.join(Rails.root, "app", "ui")]
120
- end
121
- ```
122
-
123
- ## Comments
124
-
125
- By default Active Admin includes comments on resources. Sometimes, this is
126
- undesired. To disable comments:
127
-
128
- ```ruby
129
- # For the entire application:
130
- ActiveAdmin.setup do |config|
131
- config.comments = false
132
- end
133
-
134
- # For a namespace:
135
- ActiveAdmin.setup do |config|
136
- config.namespace :admin do |admin|
137
- admin.comments = false
138
- end
139
- end
140
-
141
- # For a given resource:
142
- ActiveAdmin.register Post do
143
- config.comments = false
144
- end
145
- ```
146
-
147
- You can change the name under which comments are registered:
148
-
149
- ```ruby
150
- config.comments_registration_name = 'AdminComment'
151
- ```
152
-
153
- You can change the order for the comments and you can change the column to be
154
- used for ordering:
155
-
156
- ```ruby
157
- config.comments_order = 'created_at ASC'
158
- ```
159
-
160
- You can disable the menu item for the comments index page:
161
-
162
- ```ruby
163
- config.comments_menu = false
164
- ```
165
-
166
- You can customize the comment menu:
167
-
168
- ```ruby
169
- config.comments_menu = { parent: 'Admin', priority: 1 }
170
- ```
171
-
172
- Remember to indicate where to place the comments and form with:
173
-
174
- ```ruby
175
- active_admin_comments
176
- ```
177
-
178
- ## Utility Navigation
179
-
180
- The "utility navigation" shown at the top right normally shows the current user
181
- and a link to log out. However, the utility navigation is just like any other
182
- menu in the system; you can provide your own menu to be rendered in its place.
183
-
184
- ```ruby
185
- ActiveAdmin.setup do |config|
186
- config.namespace :admin do |admin|
187
- admin.build_menu :utility_navigation do |menu|
188
- menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
189
- html_options: { target: :blank }
190
- admin.add_current_user_to_menu menu
191
- admin.add_logout_button_to_menu menu
192
- end
193
- end
194
- end
195
- ```
196
-
197
- ## Footer Customization
198
-
199
- By default, Active Admin displays a "Powered by ActiveAdmin" message on every
200
- page. You can override this message and show domain-specific messaging:
201
-
202
- ```ruby
203
- config.footer = "MyApp Revision v1.3"
204
- ```
@@ -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
- ```