activeadmin 2.2.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 (372) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +546 -0
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +217 -0
  5. data/LICENSE +20 -0
  6. data/README.md +110 -0
  7. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  8. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  9. data/app/assets/images/active_admin/orderable.png +0 -0
  10. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  11. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  12. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  13. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  14. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  15. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  16. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  17. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
  18. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  19. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  20. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  21. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  22. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  23. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  24. data/app/assets/stylesheets/active_admin/_base.scss +41 -0
  25. data/app/assets/stylesheets/active_admin/_forms.scss +326 -0
  26. data/app/assets/stylesheets/active_admin/_header.scss +156 -0
  27. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
  28. data/app/assets/stylesheets/active_admin/_typography.scss +100 -0
  29. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
  30. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
  31. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  32. data/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
  33. data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  34. data/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
  35. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +149 -0
  36. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +152 -0
  37. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  38. data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  39. data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  40. data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  41. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  42. data/app/assets/stylesheets/active_admin/components/_pagination.scss +55 -0
  43. data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  44. data/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
  45. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  46. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  47. data/app/assets/stylesheets/active_admin/components/_tables.scss +113 -0
  48. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  49. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  50. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
  51. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
  52. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  53. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  54. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
  55. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
  56. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  57. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
  58. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +34 -0
  59. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  60. data/app/assets/stylesheets/active_admin/print.scss +287 -0
  61. data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
  62. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
  63. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +41 -0
  64. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  65. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  66. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  67. data/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
  68. data/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  69. data/app/views/active_admin/devise/registrations/new.html.erb +21 -0
  70. data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  71. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  72. data/app/views/active_admin/devise/shared/_links.erb +33 -0
  73. data/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  74. data/app/views/active_admin/page/index.html.arb +1 -0
  75. data/app/views/active_admin/resource/edit.html.arb +1 -0
  76. data/app/views/active_admin/resource/index.html.arb +1 -0
  77. data/app/views/active_admin/resource/new.html.arb +1 -0
  78. data/app/views/active_admin/resource/show.html.arb +1 -0
  79. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  80. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  81. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  82. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  83. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  84. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  85. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  86. data/app/views/layouts/active_admin.html.arb +1 -0
  87. data/app/views/layouts/active_admin_logged_out.html.erb +39 -0
  88. data/config/locales/ar.yml +135 -0
  89. data/config/locales/bg.yml +119 -0
  90. data/config/locales/bs.yml +121 -0
  91. data/config/locales/ca.yml +106 -0
  92. data/config/locales/cs.yml +109 -0
  93. data/config/locales/da.yml +137 -0
  94. data/config/locales/de-CH.yml +101 -0
  95. data/config/locales/de.yml +144 -0
  96. data/config/locales/el.yml +126 -0
  97. data/config/locales/en-CA.yml +139 -0
  98. data/config/locales/en-GB.yml +139 -0
  99. data/config/locales/en.yml +162 -0
  100. data/config/locales/eo.yml +145 -0
  101. data/config/locales/es-MX.yml +96 -0
  102. data/config/locales/es.yml +162 -0
  103. data/config/locales/fa.yml +119 -0
  104. data/config/locales/fi.yml +112 -0
  105. data/config/locales/fr.yml +141 -0
  106. data/config/locales/he.yml +141 -0
  107. data/config/locales/hr.yml +123 -0
  108. data/config/locales/hu.yml +102 -0
  109. data/config/locales/id.yml +135 -0
  110. data/config/locales/it.yml +144 -0
  111. data/config/locales/ja.yml +141 -0
  112. data/config/locales/ko.yml +120 -0
  113. data/config/locales/lt.yml +142 -0
  114. data/config/locales/lv.yml +92 -0
  115. data/config/locales/mk.yml +134 -0
  116. data/config/locales/nb.yml +130 -0
  117. data/config/locales/nl.yml +144 -0
  118. data/config/locales/pl.yml +168 -0
  119. data/config/locales/pt-BR.yml +143 -0
  120. data/config/locales/pt-PT.yml +92 -0
  121. data/config/locales/ro.yml +96 -0
  122. data/config/locales/ru.yml +141 -0
  123. data/config/locales/sk.yml +109 -0
  124. data/config/locales/sv-SE.yml +135 -0
  125. data/config/locales/tr.yml +144 -0
  126. data/config/locales/uk.yml +138 -0
  127. data/config/locales/vi.yml +134 -0
  128. data/config/locales/zh-CN.yml +143 -0
  129. data/config/locales/zh-TW.yml +135 -0
  130. data/docs/.gitignore +1 -0
  131. data/docs/0-installation.md +118 -0
  132. data/docs/1-general-configuration.md +204 -0
  133. data/docs/10-custom-pages.md +150 -0
  134. data/docs/11-decorators.md +59 -0
  135. data/docs/12-arbre-components.md +214 -0
  136. data/docs/13-authorization-adapter.md +285 -0
  137. data/docs/14-gotchas.md +138 -0
  138. data/docs/2-resource-customization.md +466 -0
  139. data/docs/3-index-pages.md +328 -0
  140. data/docs/3-index-pages/custom-index.md +35 -0
  141. data/docs/3-index-pages/index-as-block.md +19 -0
  142. data/docs/3-index-pages/index-as-blog.md +69 -0
  143. data/docs/3-index-pages/index-as-grid.md +27 -0
  144. data/docs/3-index-pages/index-as-table.md +227 -0
  145. data/docs/4-csv-format.md +74 -0
  146. data/docs/5-forms.md +232 -0
  147. data/docs/6-show-pages.md +81 -0
  148. data/docs/7-sidebars.md +75 -0
  149. data/docs/8-custom-actions.md +177 -0
  150. data/docs/9-batch-actions.md +237 -0
  151. data/docs/CNAME +1 -0
  152. data/docs/Gemfile +4 -0
  153. data/docs/Gemfile.lock +249 -0
  154. data/docs/README.md +24 -0
  155. data/docs/_config.yml +2 -0
  156. data/docs/_includes/footer.html +8 -0
  157. data/docs/_includes/google-analytics.html +16 -0
  158. data/docs/_includes/head.html +7 -0
  159. data/docs/_includes/toc.html +98 -0
  160. data/docs/_includes/top-menu.html +17 -0
  161. data/docs/_layouts/default.html +21 -0
  162. data/docs/documentation.md +60 -0
  163. data/docs/images/activeadmin.png +0 -0
  164. data/docs/images/code-header.png +0 -0
  165. data/docs/images/divider.png +0 -0
  166. data/docs/images/features.png +0 -0
  167. data/docs/images/tidelift.svg +14 -0
  168. data/docs/index.html +125 -0
  169. data/docs/stylesheets/main.css +1176 -0
  170. data/lib/active_admin.rb +134 -0
  171. data/lib/active_admin/abstract_view_factory.rb +47 -0
  172. data/lib/active_admin/application.rb +234 -0
  173. data/lib/active_admin/application_settings.rb +42 -0
  174. data/lib/active_admin/asset_registration.rb +29 -0
  175. data/lib/active_admin/authorization_adapter.rb +129 -0
  176. data/lib/active_admin/base_controller.rb +81 -0
  177. data/lib/active_admin/base_controller/authorization.rb +127 -0
  178. data/lib/active_admin/base_controller/menu.rb +34 -0
  179. data/lib/active_admin/batch_actions.rb +16 -0
  180. data/lib/active_admin/batch_actions/controller.rb +40 -0
  181. data/lib/active_admin/batch_actions/resource_extension.rb +155 -0
  182. data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
  183. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +58 -0
  184. data/lib/active_admin/batch_actions/views/selection_cells.rb +38 -0
  185. data/lib/active_admin/callbacks.rb +88 -0
  186. data/lib/active_admin/cancan_adapter.rb +36 -0
  187. data/lib/active_admin/component.rb +5 -0
  188. data/lib/active_admin/controller_action.rb +13 -0
  189. data/lib/active_admin/csv_builder.rb +133 -0
  190. data/lib/active_admin/dependency.rb +100 -0
  191. data/lib/active_admin/deprecation.rb +10 -0
  192. data/lib/active_admin/devise.rb +80 -0
  193. data/lib/active_admin/dsl.rb +160 -0
  194. data/lib/active_admin/dynamic_setting.rb +38 -0
  195. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  196. data/lib/active_admin/engine.rb +21 -0
  197. data/lib/active_admin/error.rb +64 -0
  198. data/lib/active_admin/filters.rb +11 -0
  199. data/lib/active_admin/filters/active.rb +29 -0
  200. data/lib/active_admin/filters/active_filter.rb +124 -0
  201. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  202. data/lib/active_admin/filters/dsl.rb +21 -0
  203. data/lib/active_admin/filters/forms.rb +85 -0
  204. data/lib/active_admin/filters/formtastic_addons.rb +79 -0
  205. data/lib/active_admin/filters/resource_extension.rb +155 -0
  206. data/lib/active_admin/form_builder.rb +182 -0
  207. data/lib/active_admin/generators/boilerplate.rb +45 -0
  208. data/lib/active_admin/helpers/collection.rb +19 -0
  209. data/lib/active_admin/helpers/i18n.rb +7 -0
  210. data/lib/active_admin/helpers/optional_display.rb +38 -0
  211. data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
  212. data/lib/active_admin/helpers/scope_chain.rb +24 -0
  213. data/lib/active_admin/inputs.rb +21 -0
  214. data/lib/active_admin/inputs/datepicker_input.rb +27 -0
  215. data/lib/active_admin/inputs/filters/base.rb +44 -0
  216. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  217. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  218. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  219. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  220. data/lib/active_admin/inputs/filters/date_range_input.rb +49 -0
  221. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  222. data/lib/active_admin/inputs/filters/select_input.rb +58 -0
  223. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  224. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  225. data/lib/active_admin/localizers.rb +11 -0
  226. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  227. data/lib/active_admin/menu.rb +102 -0
  228. data/lib/active_admin/menu_collection.rb +91 -0
  229. data/lib/active_admin/menu_item.rb +69 -0
  230. data/lib/active_admin/namespace.rb +266 -0
  231. data/lib/active_admin/namespace_settings.rb +110 -0
  232. data/lib/active_admin/order_clause.rb +48 -0
  233. data/lib/active_admin/orm/active_record.rb +5 -0
  234. data/lib/active_admin/orm/active_record/comments.rb +101 -0
  235. data/lib/active_admin/orm/active_record/comments/comment.rb +31 -0
  236. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
  237. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
  238. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
  239. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  240. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +100 -0
  241. data/lib/active_admin/orm/mongoid.rb +1 -0
  242. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  243. data/lib/active_admin/page.rb +111 -0
  244. data/lib/active_admin/page_controller.rb +29 -0
  245. data/lib/active_admin/page_dsl.rb +32 -0
  246. data/lib/active_admin/page_presenter.rb +33 -0
  247. data/lib/active_admin/pundit_adapter.rb +81 -0
  248. data/lib/active_admin/resource.rb +207 -0
  249. data/lib/active_admin/resource/action_items.rb +120 -0
  250. data/lib/active_admin/resource/attributes.rb +47 -0
  251. data/lib/active_admin/resource/belongs_to.rb +50 -0
  252. data/lib/active_admin/resource/controllers.rb +19 -0
  253. data/lib/active_admin/resource/includes.rb +12 -0
  254. data/lib/active_admin/resource/menu.rb +67 -0
  255. data/lib/active_admin/resource/naming.rb +62 -0
  256. data/lib/active_admin/resource/ordering.rb +11 -0
  257. data/lib/active_admin/resource/page_presenters.rb +82 -0
  258. data/lib/active_admin/resource/pagination.rb +23 -0
  259. data/lib/active_admin/resource/routes.rb +139 -0
  260. data/lib/active_admin/resource/scope_to.rb +74 -0
  261. data/lib/active_admin/resource/scopes.rb +52 -0
  262. data/lib/active_admin/resource/sidebars.rb +28 -0
  263. data/lib/active_admin/resource_collection.rb +72 -0
  264. data/lib/active_admin/resource_controller.rb +64 -0
  265. data/lib/active_admin/resource_controller/action_builder.rb +31 -0
  266. data/lib/active_admin/resource_controller/data_access.rb +322 -0
  267. data/lib/active_admin/resource_controller/decorators.rb +102 -0
  268. data/lib/active_admin/resource_controller/resource_class_methods.rb +26 -0
  269. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  270. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  271. data/lib/active_admin/resource_controller/streaming.rb +43 -0
  272. data/lib/active_admin/resource_dsl.rb +224 -0
  273. data/lib/active_admin/router.rb +114 -0
  274. data/lib/active_admin/scope.rb +64 -0
  275. data/lib/active_admin/settings_node.rb +19 -0
  276. data/lib/active_admin/sidebar_section.rb +39 -0
  277. data/lib/active_admin/version.rb +3 -0
  278. data/lib/active_admin/view_factory.rb +27 -0
  279. data/lib/active_admin/view_helpers.rb +20 -0
  280. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  281. data/lib/active_admin/view_helpers/auto_link_helper.rb +45 -0
  282. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +33 -0
  283. data/lib/active_admin/view_helpers/display_helper.rb +104 -0
  284. data/lib/active_admin/view_helpers/download_format_links_helper.rb +59 -0
  285. data/lib/active_admin/view_helpers/fields_for.rb +50 -0
  286. data/lib/active_admin/view_helpers/flash_helper.rb +14 -0
  287. data/lib/active_admin/view_helpers/form_helper.rb +20 -0
  288. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +100 -0
  289. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  290. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  291. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  292. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  293. data/lib/active_admin/views.rb +8 -0
  294. data/lib/active_admin/views/action_items.rb +17 -0
  295. data/lib/active_admin/views/components/active_admin_form.rb +155 -0
  296. data/lib/active_admin/views/components/attributes_table.rb +94 -0
  297. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  298. data/lib/active_admin/views/components/columns.rb +161 -0
  299. data/lib/active_admin/views/components/dropdown_menu.rb +71 -0
  300. data/lib/active_admin/views/components/index_list.rb +69 -0
  301. data/lib/active_admin/views/components/menu.rb +32 -0
  302. data/lib/active_admin/views/components/menu_item.rb +58 -0
  303. data/lib/active_admin/views/components/paginated_collection.rb +159 -0
  304. data/lib/active_admin/views/components/panel.rb +38 -0
  305. data/lib/active_admin/views/components/scopes.rb +72 -0
  306. data/lib/active_admin/views/components/sidebar.rb +13 -0
  307. data/lib/active_admin/views/components/sidebar_section.rb +34 -0
  308. data/lib/active_admin/views/components/site_title.rb +54 -0
  309. data/lib/active_admin/views/components/status_tag.rb +75 -0
  310. data/lib/active_admin/views/components/table_for.rb +209 -0
  311. data/lib/active_admin/views/components/tabs.rb +40 -0
  312. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  313. data/lib/active_admin/views/footer.rb +30 -0
  314. data/lib/active_admin/views/header.rb +19 -0
  315. data/lib/active_admin/views/index_as_block.rb +36 -0
  316. data/lib/active_admin/views/index_as_blog.rb +155 -0
  317. data/lib/active_admin/views/index_as_grid.rb +80 -0
  318. data/lib/active_admin/views/index_as_table.rb +392 -0
  319. data/lib/active_admin/views/pages/base.rb +126 -0
  320. data/lib/active_admin/views/pages/form.rb +64 -0
  321. data/lib/active_admin/views/pages/index.rb +163 -0
  322. data/lib/active_admin/views/pages/layout.rb +26 -0
  323. data/lib/active_admin/views/pages/page.rb +30 -0
  324. data/lib/active_admin/views/pages/show.rb +65 -0
  325. data/lib/active_admin/views/tabbed_navigation.rb +11 -0
  326. data/lib/active_admin/views/title_bar.rb +55 -0
  327. data/lib/activeadmin.rb +1 -0
  328. data/lib/generators/active_admin/assets/assets_generator.rb +14 -0
  329. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  330. data/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  331. data/lib/generators/active_admin/devise/devise_generator.rb +68 -0
  332. data/lib/generators/active_admin/install/install_generator.rb +49 -0
  333. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +315 -0
  334. data/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  335. data/lib/generators/active_admin/install/templates/dashboard.rb +32 -0
  336. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
  337. data/lib/generators/active_admin/page/USAGE +8 -0
  338. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  339. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  340. data/lib/generators/active_admin/resource/resource_generator.rb +20 -0
  341. data/lib/generators/active_admin/resource/templates/admin.rb.erb +44 -0
  342. data/lib/ransack_ext.rb +20 -0
  343. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  344. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  345. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  346. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  347. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  348. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  349. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  350. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  351. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  352. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  353. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  354. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  355. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  356. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  357. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  358. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  359. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  360. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  361. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  362. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  363. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  364. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  365. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  366. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  367. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  368. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  369. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  370. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  371. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  372. metadata +616 -0
@@ -0,0 +1,81 @@
1
+ ---
2
+ redirect_from: /docs/6-show-pages.html
3
+ ---
4
+ # Customize the Show Page
5
+
6
+ The show block is rendered within the context of the view and uses
7
+ [Arbre](https://github.com/activeadmin/arbre) syntax.
8
+
9
+ With the `show` block, you can render anything you want.
10
+
11
+ ```ruby
12
+ ActiveAdmin.register Post do
13
+ show do
14
+ h3 post.title
15
+ div do
16
+ simple_format post.body
17
+ end
18
+ end
19
+ end
20
+ ```
21
+
22
+ You can render a partial at any point:
23
+
24
+ ```ruby
25
+ ActiveAdmin.register Post do
26
+ show do
27
+ # renders app/views/admin/posts/_some_partial.html.erb
28
+ render 'some_partial', { post: post }
29
+ end
30
+ end
31
+ ```
32
+
33
+ If you'd like to keep the default AA look, you can use `attributes_table`:
34
+
35
+ ```ruby
36
+ ActiveAdmin.register Ad do
37
+ show do
38
+ attributes_table do
39
+ row :title
40
+ row :image do |ad|
41
+ image_tag ad.image.url
42
+ end
43
+ end
44
+ active_admin_comments
45
+ end
46
+ end
47
+ ```
48
+
49
+ You can also customize the title of the object in the show screen:
50
+
51
+ ```ruby
52
+ show title: :name do
53
+ # ...
54
+ end
55
+ ```
56
+
57
+ If you want a more data-dense page, you can combine a sidebar:
58
+
59
+ ```ruby
60
+ ActiveAdmin.register Book do
61
+ show do
62
+ panel "Table of Contents" do
63
+ table_for book.chapters do
64
+ column :number
65
+ column :title
66
+ column :page
67
+ end
68
+ end
69
+ active_admin_comments
70
+ end
71
+
72
+ sidebar "Details", only: :show do
73
+ attributes_table_for book do
74
+ row :title
75
+ row :author
76
+ row :publisher
77
+ row('Published?') { |b| status_tag b.published? }
78
+ end
79
+ end
80
+ end
81
+ ```
@@ -0,0 +1,75 @@
1
+ ---
2
+ redirect_from: /docs/7-sidebars.html
3
+ ---
4
+ # Sidebar Sections
5
+
6
+ Sidebars allow you to put whatever content you want on the side the page.
7
+
8
+ ```ruby
9
+ sidebar :help do
10
+ "Need help? Email us at help@example.com"
11
+ end
12
+ ```
13
+
14
+ This will generate a sidebar on every page for that resource. The first
15
+ argument is used as the title, and can be a symbol, string, or lambda.
16
+
17
+ You can also use [Arbre](https://github.com/activeadmin/arbre) to define HTML content.
18
+
19
+ ```ruby
20
+ sidebar :help do
21
+ ul do
22
+ li "Second List First Item"
23
+ li "Second List Second Item"
24
+ end
25
+ end
26
+ ```
27
+
28
+ Sidebars can be rendered on a specific action by passing `:only` or `:except`.
29
+
30
+ ```ruby
31
+ sidebar :help, only: :index do
32
+ "Need help? Email us at help@example.com"
33
+ end
34
+ ```
35
+
36
+ If you want to conditionally display a sidebar section, use the :if option and
37
+ pass it a proc which will be rendered within the view context.
38
+
39
+ ```ruby
40
+ sidebar :help, if: proc{ current_admin_user.super_admin? } do
41
+ "Only for super admins!"
42
+ end
43
+ ```
44
+
45
+ You can access your model as resource in the sidebar too:
46
+
47
+ ```ruby
48
+ sidebar :custom, only: :show do
49
+ resource.a_method
50
+ end
51
+ ```
52
+
53
+ You can also render a partial:
54
+
55
+ ```ruby
56
+ sidebar :help # app/views/admin/posts/_help_sidebar.html.erb
57
+ sidebar :help, partial: 'custom' # app/views/admin/posts/_custom.html.erb
58
+ ```
59
+
60
+ It's possible to add custom class name to the sidebar parent element by passing
61
+ `class` option:
62
+
63
+ ```ruby
64
+ sidebar :help, class: 'custom_class'
65
+ ```
66
+
67
+ By default sidebars are positioned in the same order as they defined, but it's also
68
+ possible to specify their position manually:
69
+
70
+ ```ruby
71
+ # will push Help section to the top (above default Filters section)
72
+ sidebar :help, priority: 0
73
+ ```
74
+
75
+ Default sidebar priority is `10`.
@@ -0,0 +1,177 @@
1
+ ---
2
+ redirect_from: /docs/8-custom-actions.html
3
+ ---
4
+
5
+ # Custom Controller Actions
6
+
7
+ Active Admin allows you to override and modify the underlying controller which
8
+ is generated for you. There are helpers to add collection and member actions, or
9
+ you can drop right in to the controller and modify its behavior.
10
+
11
+ ## Collection Actions
12
+
13
+ A collection action is a controller action which operates on the collection of
14
+ resources. This method adds both the action to the controller as well as
15
+ generating a route for you.
16
+
17
+ To add a collection action, use the collection_action method:
18
+
19
+ ```ruby
20
+ ActiveAdmin.register Post do
21
+
22
+ collection_action :import_csv, method: :post do
23
+ # Do some CSV importing work here...
24
+ redirect_to collection_path, notice: "CSV imported successfully!"
25
+ end
26
+
27
+ end
28
+ ```
29
+
30
+ This collection action will generate a route at `/admin/posts/import_csv`
31
+ pointing to the `Admin::PostsController#import_csv` controller action.
32
+
33
+ ## Member Actions
34
+
35
+ A member action is a controller action which operates on a single resource.
36
+
37
+ For example, to add a lock action to a user resource, you would do the
38
+ following:
39
+
40
+ ```ruby
41
+ ActiveAdmin.register User do
42
+
43
+ member_action :lock, method: :put do
44
+ resource.lock!
45
+ redirect_to resource_path, notice: "Locked!"
46
+ end
47
+
48
+ end
49
+ ```
50
+
51
+ This will generate a route at `/admin/users/:id/lock` pointing to the
52
+ `Admin::UserController#lock` controller action.
53
+
54
+ ## HTTP Verbs
55
+
56
+ The `collection_action` and `member_action` methods both accept the `:method`
57
+ argument to set the HTTP verb for the controller action and route.
58
+
59
+ Sometimes you want to create an action with the same name, that handles multiple
60
+ HTTP verbs. In that case, this is the suggested approach:
61
+
62
+ ```ruby
63
+ member_action :foo, method: [:get, :post] do
64
+ if request.post?
65
+ resource.update_attributes! foo: params[:foo] || {}
66
+ head :ok
67
+ else
68
+ render :foo
69
+ end
70
+ end
71
+ ```
72
+
73
+ ## Rendering
74
+
75
+ Custom controller actions support rendering within the standard Active Admin
76
+ layout.
77
+
78
+ ```ruby
79
+ ActiveAdmin.register Post do
80
+
81
+ # /admin/posts/:id/comments
82
+ member_action :comments do
83
+ @comments = resource.comments
84
+ # This will render app/views/admin/posts/comments.html.erb
85
+ end
86
+
87
+ end
88
+ ```
89
+
90
+ If you would like to use the same view syntax as the rest of Active Admin, you
91
+ can use the Arbre file extension: .arb.
92
+
93
+ For example, create `app/views/admin/posts/comments.html.arb` with:
94
+
95
+ ```ruby
96
+ table_for assigns[:post].comments do
97
+ column :id
98
+ column :author
99
+ column :body do |comment|
100
+ simple_format comment.body
101
+ end
102
+ end
103
+ ```
104
+
105
+ ## Page Titles
106
+
107
+ The page title for the custom action will be the translated version of
108
+ the controller action name. For example, a member_action named "upload_csv" will
109
+ look up a translation key of `active_admin.upload_csv`. If none are found, it
110
+ defaults to the name of the controller action.
111
+
112
+ If this doesn't work for you, you can always set the `@page_title` instance
113
+ variable in your controller action to customize the page title.
114
+
115
+ ```ruby
116
+ ActiveAdmin.register Post do
117
+
118
+ member_action :comments do
119
+ @comments = resource.comments
120
+ @page_title = "#{resource.title}: Comments" # Sets the page title
121
+ end
122
+
123
+ end
124
+ ```
125
+
126
+ # Action Items
127
+
128
+ To include your own action items (like the New, Edit and Delete buttons), add an
129
+ `action_item` block. The first parameter is just a name to identify the action,
130
+ and is required. For example, to add a "View on site" button to view a blog
131
+ post:
132
+
133
+ ```ruby
134
+ action_item :view, only: :show do
135
+ link_to 'View on site', post_path(post) if post.published?
136
+ end
137
+ ```
138
+
139
+ Actions items also accept the `:if` option to conditionally display them:
140
+
141
+ ```ruby
142
+ action_item :super_action,
143
+ only: :show,
144
+ if: proc{ current_admin_user.super_admin? } do
145
+ "Only display this to super admins on the show screen"
146
+ end
147
+ ```
148
+
149
+ By default action items are positioned in the same order as they defined (after default actions),
150
+ but it’s also possible to specify their position manually:
151
+
152
+ ```ruby
153
+ action_item :help, priority: 0 do
154
+ "Display this action to the first position"
155
+ end
156
+ ```
157
+
158
+ Default action item priority is 10.
159
+
160
+ # Modifying the Controller
161
+
162
+ The generated controller is available to you within the registration block by
163
+ using the `controller` method.
164
+
165
+ ```ruby
166
+ ActiveAdmin.register Post do
167
+
168
+ controller do
169
+ # This code is evaluated within the controller class
170
+
171
+ def define_a_method
172
+ # Instance method
173
+ end
174
+ end
175
+
176
+ end
177
+ ```
@@ -0,0 +1,237 @@
1
+ ---
2
+ redirect_from: /docs/9-batch-actions.html
3
+ ---
4
+
5
+ # Batch Actions
6
+
7
+ By default, the index page provides you a "Batch Action" to quickly delete records,
8
+ as well as an API for you to easily create your own. Note that if you override the
9
+ default index, you must add `selectable_column` back for batch actions to be usable:
10
+
11
+ ```ruby
12
+ index do
13
+ selectable_column
14
+ # ...
15
+ end
16
+ ```
17
+
18
+ ## Creating your own
19
+
20
+ Use the `batch_action` DSL method to create your own. It behaves just like a
21
+ controller method, so you can send the client whatever data you like. Your block
22
+ is passed an array of the record IDs that the user selected, so you can perform
23
+ your desired batch action on all of them:
24
+
25
+ ```ruby
26
+ ActiveAdmin.register Post do
27
+ batch_action :flag do |ids|
28
+ batch_action_collection.find(ids).each do |post|
29
+ post.flag! :hot
30
+ end
31
+ redirect_to collection_path, alert: "The posts have been flagged."
32
+ end
33
+ end
34
+ ```
35
+
36
+ ### Disabling Batch Actions
37
+
38
+ You can disable batch actions at the application, namespace, or resource level:
39
+
40
+ ```ruby
41
+ # config/initializers/active_admin.rb
42
+ ActiveAdmin.setup do |config|
43
+
44
+ # Application level:
45
+ config.batch_actions = false
46
+
47
+ # Namespace level:
48
+ config.namespace :admin do |admin|
49
+ admin.batch_actions = false
50
+ end
51
+ end
52
+
53
+ # app/admin/post.rb
54
+ ActiveAdmin.register Post do
55
+
56
+ # Resource level:
57
+ config.batch_actions = false
58
+ end
59
+ ```
60
+
61
+ ### Modification
62
+
63
+ If you want, you can override the default batch action to do whatever you want:
64
+
65
+ ```ruby
66
+ ActiveAdmin.register Post do
67
+ batch_action :destroy do |ids|
68
+ redirect_to collection_path, alert: "Didn't really delete these!"
69
+ end
70
+ end
71
+ ```
72
+
73
+ ### Removal
74
+
75
+ You can remove batch actions by simply passing false as the second parameter:
76
+
77
+ ```ruby
78
+ ActiveAdmin.register Post do
79
+ batch_action :destroy, false
80
+ end
81
+ ```
82
+
83
+ ### Conditional display
84
+
85
+ You can control whether or not the batch action is available via the `:if`
86
+ option, which is executed in the view context.
87
+
88
+ ```ruby
89
+ ActiveAdmin.register Post do
90
+ batch_action :flag, if: proc{ can? :flag, Post } do |ids|
91
+ # ...
92
+ end
93
+ end
94
+ ```
95
+
96
+ ### Priority in the drop-down menu
97
+
98
+ You can change the order of batch actions through the `:priority` option:
99
+
100
+ ```ruby
101
+ ActiveAdmin.register Post do
102
+ batch_action :destroy, priority: 1 do |ids|
103
+ # ...
104
+ end
105
+ end
106
+ ```
107
+
108
+ ### Confirmation prompt
109
+
110
+ You can pass a custom string to prompt the user with:
111
+
112
+ ```ruby
113
+ ActiveAdmin.register Post do
114
+ batch_action :destroy, confirm: "Are you sure??" do |ids|
115
+ # ...
116
+ end
117
+ end
118
+ ```
119
+
120
+ ### Batch Action forms
121
+
122
+ If you want to capture input from the user as they perform a batch action,
123
+ Active Admin has just the thing for you:
124
+
125
+ ```ruby
126
+ batch_action :flag, form: {
127
+ type: %w[Offensive Spam Other],
128
+ reason: :text,
129
+ notes: :textarea,
130
+ hide: :checkbox,
131
+ date: :datepicker
132
+ } do |ids, inputs|
133
+ # inputs is a hash of all the form fields you requested
134
+ redirect_to collection_path, notice: [ids, inputs].to_s
135
+ end
136
+ ```
137
+
138
+ If you pass a nested array, it will behave just like Formtastic would, with the first
139
+ element being the text displayed and the second element being the value.
140
+
141
+ ```ruby
142
+ batch_action :doit, form: {user: [['Jake',2], ['Mary',3]]} do |ids, inputs|
143
+ User.find(inputs[:user])
144
+ # ...
145
+ end
146
+ ```
147
+
148
+ When you have dynamic form inputs you can pass a proc instead:
149
+
150
+ ```ruby
151
+ batch_action :doit, form: -> { {user: User.pluck(:name, :id)} } do |ids, inputs|
152
+ User.find(inputs[:user])
153
+ # ...
154
+ end
155
+ ```
156
+
157
+ Under the covers this is powered by the JS `ActiveAdmin.modal_dialog` which you
158
+ can use yourself:
159
+
160
+ ```coffee
161
+ if $('body.admin_users').length
162
+ $('a[data-prompt]').click ->
163
+ ActiveAdmin.modal_dialog $(@).data('prompt'), comment: 'textarea',
164
+ (inputs)=>
165
+ $.post "/admin/users/#{$(@).data 'id'}/change_state",
166
+ comment: inputs.comment, state: $(@).data('state'),
167
+ success: ->
168
+ window.location.reload()
169
+ ```
170
+
171
+ ### Translation
172
+
173
+ By default, the name of the batch action will be used to lookup a label for the
174
+ menu. It will lookup in `active_admin.batch_actions.labels.#{your_batch_action}`.
175
+
176
+ So this:
177
+
178
+ ```ruby
179
+ ActiveAdmin.register Post do
180
+ batch_action :publish do |ids|
181
+ # ...
182
+ end
183
+ end
184
+ ```
185
+
186
+ Can be translated with:
187
+
188
+ ```yaml
189
+ # config/locales/en.yml
190
+ en:
191
+ active_admin:
192
+ batch_actions:
193
+ labels:
194
+ publish: "Publish"
195
+ ```
196
+
197
+ ### Support for other index types
198
+
199
+ You can easily use `batch_action` in the other index views, *Grid*, *Block*,
200
+ and *Blog*; however, these will require custom styling to fit your needs.
201
+
202
+ ```ruby
203
+ ActiveAdmin.register Post do
204
+
205
+ # By default, the "Delete" batch action is provided
206
+
207
+ # Index as Grid
208
+ index as: :grid do |post|
209
+ resource_selection_cell post
210
+ h2 auto_link post
211
+ end
212
+
213
+ # Index as Blog requires nothing special
214
+
215
+ # Index as Block
216
+ index as: :block do |post|
217
+ div for: post do
218
+ resource_selection_cell post
219
+ end
220
+ end
221
+
222
+ end
223
+ ```
224
+
225
+ ### BTW
226
+
227
+ In order to perform the batch action, the entire *Table*, *Grid*, etc. is
228
+ wrapped in a form that submits the IDs of the selected rows to your batch_action.
229
+
230
+ Since nested `<form>` tags in HTML often results in unexpected behavior, you
231
+ may need to modify the custom behavior you've built using to prevent conflicts.
232
+
233
+ Specifically, if you are using HTTP methods like `PUT` or `PATCH` with a custom
234
+ form on your index page this may result in your batch action being `PUT`ed
235
+ instead of `POST`ed which will create a routing error. You can get around this
236
+ by either moving the nested form to another page or using a POST so it doesn't
237
+ override the batch action. As well, behavior may vary by browser.