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,27 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages/index-as-grid.html
3
+ ---
4
+
5
+ # Index as a Grid
6
+
7
+ Sometimes you want to display the index screen for a set of resources as a grid
8
+ (possibly a grid of thumbnail images). To do so, use the :grid option for the
9
+ index block.
10
+
11
+ ```ruby
12
+ index as: :grid do |product|
13
+ link_to image_tag(product.image_path), admin_product_path(product)
14
+ end
15
+ ```
16
+
17
+ The block is rendered within a cell in the grid once for each resource in the
18
+ collection. The resource is passed into the block for you to use in the view.
19
+
20
+ You can customize the number of columns that are rendered using the columns
21
+ option:
22
+
23
+ ```ruby
24
+ index as: :grid, columns: 5 do |product|
25
+ link_to image_tag(product.image_path), admin_product_path(product)
26
+ end
27
+ ```
@@ -0,0 +1,227 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages/index-as-table.html
3
+ ---
4
+
5
+ # Index as a Table
6
+
7
+ By default, the index page is a table with each of the models content columns and links to
8
+ show, edit and delete the object. There are many ways to customize what gets
9
+ displayed.
10
+
11
+ ## Defining Columns
12
+
13
+ To display an attribute or a method on a resource, simply pass a symbol into the
14
+ column method:
15
+
16
+ ```ruby
17
+ index do
18
+ selectable_column
19
+ column :title
20
+ end
21
+ ```
22
+
23
+ For association columns we make an educated guess on what to display by
24
+ calling the following methods in the following order:
25
+
26
+ ```ruby
27
+ :display_name, :full_name, :name, :username, :login, :title, :email, :to_s
28
+ ```
29
+
30
+ This can be customized in `config/initializers/active_admin.rb`.
31
+
32
+ If the default title does not work for you, pass it as the first argument:
33
+
34
+ ```ruby
35
+ index do
36
+ selectable_column
37
+ column "My Custom Title", :title
38
+ end
39
+ ```
40
+
41
+ Sometimes that just isn't enough and you need to write some view-specific code.
42
+ For example, say we wanted a "Title" column that links to the posts admin screen.
43
+
44
+ `column` accepts a block that will be rendered for each of the objects in the collection.
45
+ The block is called once for each resource, which is passed as an argument to the block.
46
+
47
+ ```ruby
48
+ index do
49
+ selectable_column
50
+ column "Title" do |post|
51
+ link_to post.title, admin_post_path(post)
52
+ end
53
+ end
54
+ ```
55
+
56
+ ## Defining Actions
57
+
58
+ To setup links to View, Edit and Delete a resource, use the `actions` method:
59
+
60
+ ```ruby
61
+ index do
62
+ selectable_column
63
+ column :title
64
+ actions
65
+ end
66
+ ```
67
+
68
+ You can also append custom links to the default links:
69
+
70
+ ```ruby
71
+ index do
72
+ selectable_column
73
+ column :title
74
+ actions do |post|
75
+ item "Preview", admin_preview_post_path(post), class: "member_link"
76
+ end
77
+ end
78
+ ```
79
+
80
+ Or forego the default links entirely:
81
+
82
+ ```ruby
83
+ index do
84
+ column :title
85
+ actions defaults: false do |post|
86
+ item "View", admin_post_path(post)
87
+ end
88
+ end
89
+ ```
90
+
91
+ Or append custom action with custom html via arbre:
92
+
93
+ ```ruby
94
+ index do
95
+ column :title
96
+ actions do |post|
97
+ a "View", href: admin_post_path(post)
98
+ end
99
+ end
100
+ ```
101
+
102
+ In case you prefer to list actions links in a dropdown menu:
103
+
104
+ ```ruby
105
+ index do
106
+ selectable_column
107
+ column :title
108
+ actions dropdown: true do |post|
109
+ item "Preview", admin_preview_post_path(post)
110
+ end
111
+ end
112
+ ```
113
+
114
+ In addition, you can insert the position of the row in the greater
115
+ collection by using the index_column special command:
116
+
117
+ ```ruby
118
+ index do
119
+ selectable_column
120
+ index_column
121
+ column :title
122
+ end
123
+ ```
124
+
125
+ index_column take an optional offset parameter to allow a developer to set
126
+ the starting number for the index (default is 1).
127
+
128
+ ## Sorting
129
+
130
+ When a column is generated from an Active Record attribute, the table is
131
+ sortable by default. If you are creating a custom column, you may need to give
132
+ Active Admin a hint for how to sort the table.
133
+
134
+ You can pass the key specifying the attribute which gets used to sort objects using Active Record.
135
+ By default, this is the column on the resource's table that the attribute corresponds to.
136
+ Otherwise, any attribute that the resource collection responds to can be used.
137
+
138
+ ```ruby
139
+ index do
140
+ column :title, sortable: :title do |post|
141
+ link_to post.title, admin_post_path(post)
142
+ end
143
+ end
144
+ ```
145
+
146
+ You can turn off sorting on any column by passing false:
147
+
148
+ ```ruby
149
+ index do
150
+ column :title, sortable: false
151
+ end
152
+ ```
153
+
154
+ It's also possible to sort by PostgreSQL's hstore column key. You should set `sortable`
155
+ option to a `column->'key'` value:
156
+
157
+ ```ruby
158
+ index do
159
+ column :keywords, sortable: "meta->'keywords'"
160
+ end
161
+ ```
162
+
163
+ ## Custom sorting
164
+
165
+ It is also possible to use database specific expressions and options for sorting by column
166
+
167
+ ```ruby
168
+ order_by(:title) do |order_clause|
169
+ if order_clause.order == 'desc'
170
+ [order_clause.to_sql, 'NULLS LAST'].join(' ')
171
+ else
172
+ [order_clause.to_sql, 'NULLS FIRST'].join(' ')
173
+ end
174
+ end
175
+
176
+ index do
177
+ column :title
178
+ end
179
+ ```
180
+
181
+ ## Associated Sorting
182
+
183
+ You're normally able to sort columns alphabetically, but by default you
184
+ can't sort by associated objects. Though with a few simple changes, you can.
185
+
186
+ Assuming you're on the Books index page, and Book has_one Publisher:
187
+
188
+ ```ruby
189
+ controller do
190
+ def scoped_collection
191
+ super.includes :publisher # prevents N+1 queries to your database
192
+ end
193
+ end
194
+ ```
195
+
196
+ Then it's simple to sort by any Publisher attribute from within the index table:
197
+
198
+ ```ruby
199
+ index do
200
+ column :publisher, sortable: 'publishers.name'
201
+ end
202
+ ```
203
+
204
+ ## Showing and Hiding Columns
205
+
206
+ The entire index block is rendered within the context of the view, so you can
207
+ easily do things that show or hide columns based on the current context.
208
+
209
+ For example, if you were using CanCan:
210
+
211
+ ```ruby
212
+ index do
213
+ column :title, sortable: false
214
+ column :secret_data if can? :manage, Post
215
+ end
216
+ ```
217
+
218
+ ## Custom row class
219
+
220
+ In order to add special class to table rows pass the proc object as a `:row_class` option
221
+ of the `index` method.
222
+
223
+ ```ruby
224
+ index row_class: ->elem { 'active' if elem.active? } do
225
+ # columns
226
+ end
227
+ ```
@@ -0,0 +1,74 @@
1
+ ---
2
+ redirect_from: /docs/4-csv-format.html
3
+ ---
4
+
5
+ # Customizing the CSV format
6
+
7
+ Active Admin provides CSV file downloads on the index screen for each Resource.
8
+ By default it will render a CSV file with all the content columns of your
9
+ registered model.
10
+
11
+ Customizing the CSV format is as simple as customizing the index page.
12
+
13
+ ```ruby
14
+ ActiveAdmin.register Post do
15
+ csv do
16
+ column :title
17
+ column(:author) { |post| post.author.full_name }
18
+ column('bODY', humanize_name: false) # preserve case
19
+ end
20
+ end
21
+ ```
22
+
23
+ You can also set custom CSV settings for an individual resource:
24
+
25
+ ```ruby
26
+ ActiveAdmin.register Post do
27
+ csv force_quotes: true, col_sep: ';', column_names: false do
28
+ column :title
29
+ column(:author) { |post| post.author.full_name }
30
+ end
31
+ end
32
+ ```
33
+
34
+ Or system-wide:
35
+
36
+ ```ruby
37
+ # config/initializers/active_admin.rb
38
+
39
+ # Set the CSV builder separator
40
+ config.csv_options = { col_sep: ';' }
41
+
42
+ # Force the use of quotes
43
+ config.csv_options = { force_quotes: true }
44
+ ```
45
+
46
+ You can customize the filename by overriding `csv_filename` in the controller block.
47
+
48
+ ```ruby
49
+ ActiveAdmin.register User do
50
+ controller do
51
+ def csv_filename
52
+ 'User Details.csv'
53
+ end
54
+ end
55
+ end
56
+ ```
57
+
58
+ ## Streaming
59
+
60
+ By default Active Admin streams the CSV response to your browser as it's generated.
61
+ This is good because it prevents request timeouts, for example the infamous H12
62
+ error on Heroku.
63
+
64
+ However if an exception occurs while generating the CSV, the request will eventually
65
+ time out, with the last line containing the exception message. CSV streaming is
66
+ disabled in development to help debug these exceptions. That lets you use tools like
67
+ better_errors and web-console to debug the issue. If you want to customize the
68
+ environments where CSV streaming is disabled, you can change this setting:
69
+
70
+ ```ruby
71
+ # config/initializers/active_admin.rb
72
+
73
+ config.disable_streaming_in = ['development', 'staging']
74
+ ```
@@ -0,0 +1,232 @@
1
+ ---
2
+ redirect_from: /docs/5-forms.html
3
+ ---
4
+
5
+ # Forms
6
+
7
+ Active Admin gives you complete control over the output of the form by creating
8
+ a thin DSL on top of [Formtastic](https://github.com/justinfrench/formtastic):
9
+
10
+ ```ruby
11
+ ActiveAdmin.register Post do
12
+
13
+ form title: 'A custom title' do |f|
14
+ inputs 'Details' do
15
+ input :title
16
+ input :published_at, label: "Publish Post At"
17
+ li "Created at #{f.object.created_at}" unless f.object.new_record?
18
+ input :category
19
+ end
20
+ panel 'Markup' do
21
+ "The following can be used in the content below..."
22
+ end
23
+ inputs 'Content', :body
24
+ para "Press cancel to return to the list without saving."
25
+ actions
26
+ end
27
+
28
+ end
29
+ ```
30
+
31
+ For more details, please see [Formtastic's documentation](https://github.com/justinfrench/formtastic/wiki).
32
+
33
+ ## Default
34
+
35
+ Resources come with a default form defined as such:
36
+
37
+ ```ruby
38
+ form do |f|
39
+ f.semantic_errors # shows errors on :base
40
+ f.inputs # builds an input field for every attribute
41
+ f.actions # adds the 'Submit' and 'Cancel' buttons
42
+ end
43
+ ```
44
+
45
+ ## Partials
46
+
47
+ If you want to split a custom form into a separate partial use:
48
+
49
+ ```ruby
50
+ ActiveAdmin.register Post do
51
+ form partial: 'form'
52
+ end
53
+ ```
54
+
55
+ Which looks for something like this:
56
+
57
+ ```ruby
58
+ # app/views/admin/posts/_form.html.arb
59
+ insert_tag active_admin_form_for resource do |f|
60
+ inputs :title, :body
61
+ actions
62
+ end
63
+ ```
64
+
65
+ This is a regular Rails partial so any template engine may be used.
66
+
67
+ You can also use the `ActiveAdmin::FormBuilder` as builder in your Formtastic
68
+ Form for use the same helpers are used in the admin file:
69
+
70
+ ```ruby
71
+ = semantic_form_for [:admin, @post], builder: ActiveAdmin::FormBuilder do |f|
72
+ = f.inputs "Details" do
73
+ = f.input :title
74
+ - f.has_many :taggings, sortable: :position, sortable_start: 1 do |t|
75
+ - t.input :tag
76
+ = f.actions
77
+
78
+ ```
79
+
80
+ ## Nested Resources
81
+
82
+ You can create forms with nested models using the `has_many` method, even if
83
+ your model uses `has_one`:
84
+
85
+ ```ruby
86
+ ActiveAdmin.register Post do
87
+ permit_params :title,
88
+ :published_at,
89
+ :body,
90
+ categories_attributes: [:id, :title, :_destroy],
91
+ taggings_attributes: [:id, :tag],
92
+ comment_attributes: [:id, :body, :_destroy]
93
+
94
+ form do |f|
95
+ f.inputs 'Details' do
96
+ f.input :title
97
+ f.input :published_at, label: 'Publish Post At'
98
+ end
99
+ f.inputs 'Content', :body
100
+ f.inputs do
101
+ f.has_many :categories, heading: 'Themes',
102
+ allow_destroy: true,
103
+ new_record: false do |a|
104
+ a.input :title
105
+ end
106
+ end
107
+ f.inputs do
108
+ f.has_many :taggings, sortable: :position, sortable_start: 1 do |t|
109
+ t.input :tag
110
+ end
111
+ end
112
+ f.inputs do
113
+ f.has_many :comment,
114
+ new_record: 'Leave Comment',
115
+ allow_destroy: -> (c) { c.author?(current_admin_user) } do |b|
116
+ b.input :body
117
+ end
118
+ end
119
+ f.actions
120
+ end
121
+
122
+ end
123
+ ```
124
+
125
+ *NOTE*: In addition to using `has_many` as illustrated above, you'll need to add
126
+ `accepts_nested_attributes` to your parent model and [configure strong parameters](https://activeadmin.info/2-resource-customization.html)
127
+
128
+ The `:allow_destroy` option adds a checkbox to the end of the nested form allowing
129
+ removal of the child object upon submission. Be sure to set `allow_destroy: true`
130
+ on the association to use this option. It is possible to associate
131
+ `:allow_destroy` with a string or a symbol, corresponding to the name of a child
132
+ object's method that will get called, or with a Proc object. The Proc object
133
+ receives the child object as a parameter and should return either true or false.
134
+
135
+ The `:heading` option adds a custom heading. You can hide it entirely by passing
136
+ `false`.
137
+
138
+ The `:new_record` option controls the visibility of the new record button (shown
139
+ by default). If you pass a string, it will be used as the text for the new
140
+ record button.
141
+
142
+ The `:sortable` option adds a hidden field and will enable drag & drop sorting
143
+ of the children. It expects the name of the column that will store the index of
144
+ each child.
145
+
146
+ The `:sortable_start` option sets the value (0 by default) of the first position
147
+ in the list.
148
+
149
+ ## Datepicker
150
+
151
+ ActiveAdmin offers the `datepicker` input, which uses the [jQuery UI
152
+ datepicker](http://jqueryui.com/datepicker/). The datepicker input accepts any
153
+ of the options available to the standard jQueryUI Datepicker. For example:
154
+
155
+ ```ruby
156
+ form do |f|
157
+ f.input :starts_at, as: :datepicker,
158
+ datepicker_options: {
159
+ min_date: "2013-10-8",
160
+ max_date: "+3D"
161
+ }
162
+
163
+ f.input :ends_at, as: :datepicker,
164
+ datepicker_options: {
165
+ min_date: 3.days.ago.to_date,
166
+ max_date: "+1W +5D"
167
+ }
168
+ end
169
+ ```
170
+
171
+ Datepicker also accepts the `:label` option as a string or proc to display.
172
+ If it's a proc, it will be called each time the datepicker is rendered.
173
+
174
+ ## Displaying Errors
175
+
176
+ To display a list of all validation errors:
177
+
178
+ ```ruby
179
+ form do |f|
180
+ f.semantic_errors *f.object.errors.keys
181
+ # ...
182
+ end
183
+ ```
184
+
185
+ This is particularly useful to display errors on virtual or hidden attributes.
186
+
187
+ # Tabs
188
+
189
+ You can arrange content in tabs as shown below:
190
+
191
+ ```ruby
192
+ form do |f|
193
+ tabs do
194
+ tab 'Basic' do
195
+ f.inputs 'Basic Details' do
196
+ f.input :email
197
+ f.input :password
198
+ f.input :password_confirmation
199
+ end
200
+ end
201
+
202
+ tab 'Advanced', html_options: { class: 'specific_css_class' } do
203
+ f.inputs 'Advanced Details' do
204
+ f.input :role
205
+ end
206
+ end
207
+ end
208
+ f.actions
209
+ end
210
+ ```
211
+
212
+ `html_options` allows you set additional html params for tab's menu item.
213
+
214
+ # Customize the Create Another checkbox
215
+
216
+ In order to simplify creating multiple resources you may enable ActiveAdmin to
217
+ show nice "Create Another" checkbox alongside of Create Model button. It may be
218
+ enabled for the whole application:
219
+
220
+ ```ruby
221
+ ActiveAdmin.setup do |config|
222
+ config.create_another = true
223
+ end
224
+ ```
225
+
226
+ or for the particular resource:
227
+
228
+ ```ruby
229
+ ActiveAdmin.register Post do
230
+ config.create_another = true
231
+ end
232
+ ```