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,328 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages.html
3
+ ---
4
+
5
+ # Customizing the Index Page
6
+
7
+ Filtering and listing resources is one of the most important tasks for
8
+ administering a web application. Active Admin provides many different tools for
9
+ you to build a compelling interface into your data for the admin staff.
10
+
11
+ Built in, Active Admin has the following index renderers:
12
+
13
+ * *Table*: A table drawn with each row being a resource ([View Table Docs](3-index-pages/index-as-table.md))
14
+ * *Grid*: A set of rows and columns each cell being a resource ([View Grid Docs](3-index-pages/index-as-grid.md))
15
+ * *Blocks*: A set of rows (not tabular) each row being a resource ([View Blocks Docs](3-index-pages/index-as-block.md))
16
+ * *Blog*: A title and body content, similar to a blog index ([View Blog Docs](3-index-pages/index-as-blog.md))
17
+
18
+ All index pages also support scopes, filters, pagination, action items, and
19
+ sidebar sections.
20
+
21
+ ## Multiple Index Pages
22
+
23
+ Sometime you may want more than one index page for a resource to represent
24
+ different views to the user. If multiple index pages exist, Active Admin will
25
+ automatically build links at the top of the default index page. Including
26
+ multiple views is simple and requires creating multiple index components in
27
+ your resource.
28
+
29
+ ```ruby
30
+ index do
31
+ id_column
32
+ column :image_title
33
+ actions
34
+ end
35
+
36
+ index as: :grid do |product|
37
+ link_to image_tag(product.image_path), admin_product_path(product)
38
+ end
39
+ ```
40
+
41
+ The first index component will be the default index page unless you indicate
42
+ otherwise by setting `:default` to true.
43
+
44
+ ```ruby
45
+ index do
46
+ column :image_title
47
+ actions
48
+ end
49
+
50
+ index as: :grid, default: true do |product|
51
+ link_to image_tag(product.image_path), admin_product_path(product)
52
+ end
53
+ ```
54
+
55
+ ## Custom Index
56
+
57
+ Active Admin does not limit the index page to be a table, block, blog or grid.
58
+ If you've created your own [custom index](3-index-pages/custom-index.md) page it
59
+ can be included by setting `:as` to the class of the index component you created.
60
+
61
+ ```ruby
62
+ index as: ActiveAdmin::Views::IndexAsMyIdea do
63
+ column :image_title
64
+ actions
65
+ end
66
+ ```
67
+
68
+ ## Index Filters
69
+
70
+ By default the index screen includes a "Filters" sidebar on the right hand side
71
+ with a filter for each attribute of the registered model. You can customize the
72
+ filters that are displayed as well as the type of widgets they use.
73
+
74
+ To display a filter for an attribute, use the `filter` method
75
+
76
+ ```ruby
77
+ ActiveAdmin.register Post do
78
+ filter :title
79
+ end
80
+ ```
81
+
82
+ Out of the box, Active Admin supports the following filter types:
83
+
84
+ * *:string* - A drop down for selecting "Contains", "Equals", "Starts with",
85
+ "Ends with" and an input for a value.
86
+ * *:date_range* - A start and end date field with calendar inputs
87
+ * *:numeric* - A drop down for selecting "Equal To", "Greater Than" or "Less
88
+ Than" and an input for a value.
89
+ * *:select* - A drop down which filters based on a selected item in a collection
90
+ or all.
91
+ * *:check_boxes* - A list of check boxes users can turn on and off to filter
92
+
93
+ By default, Active Admin will pick the most relevant filter based on the
94
+ attribute type. You can force the type by passing the `:as` option.
95
+
96
+ ```ruby
97
+ filter :author, as: :check_boxes
98
+ ```
99
+
100
+ The `:check_boxes` and `:select` types accept options for the collection. By default
101
+ it attempts to create a collection based on an association. But you can pass in
102
+ the collection as a proc to be called at render time.
103
+
104
+ ```ruby
105
+ filter :author, as: :check_boxes, collection: proc { Author.all }
106
+ ```
107
+
108
+ To override options for string or numeric filter pass `filters` option.
109
+
110
+ ```ruby
111
+ filter :title, filters: [:starts_with, :ends_with]
112
+ ```
113
+
114
+ Also, if you don't need the select with the options 'contains', 'equals',
115
+ 'starts_with' or 'ends_with' just add the option to the filter name with an
116
+ underscore.
117
+
118
+ For example:
119
+
120
+ ```ruby
121
+ filter :name_equals
122
+ # or
123
+ filter :name_contains
124
+ ```
125
+
126
+ You can change the filter label by passing a label option:
127
+
128
+ ```ruby
129
+ filter :author, label: 'Something else'
130
+ ```
131
+
132
+ By default, Active Admin will try to use ActiveModel I18n to determine the label.
133
+
134
+ You can also filter on more than one attribute of a model using the [Ransack
135
+ search predicate
136
+ syntax](https://github.com/activerecord-hackery/ransack/wiki/Basic-Searching).
137
+ If using a custom search method, you will also need to specify the field type
138
+ using `:as` and the label.
139
+
140
+ ```ruby
141
+ filter :first_name_or_last_name_cont, as: :string, label: "Name"
142
+ ```
143
+
144
+ Filters can also be disabled for a resource, a namespace or the entire
145
+ application.
146
+
147
+ To disable for a specific resource:
148
+
149
+ ```ruby
150
+ ActiveAdmin.register Post do
151
+ config.filters = false
152
+ end
153
+ ```
154
+
155
+ To disable for a namespace, in the initializer:
156
+
157
+ ```ruby
158
+ ActiveAdmin.setup do |config|
159
+ config.namespace :my_namespace do |my_namespace|
160
+ my_namespace.filters = false
161
+ end
162
+ end
163
+ ```
164
+
165
+ Or to disable for the entire application:
166
+
167
+ ```ruby
168
+ ActiveAdmin.setup do |config|
169
+ config.filters = false
170
+ end
171
+ ```
172
+
173
+ You can also add a filter and still preserve the default filters:
174
+
175
+ ```ruby
176
+ preserve_default_filters!
177
+ filter :author
178
+ ```
179
+
180
+ Or you can also remove a filter and still preserve the default filters:
181
+
182
+ ```ruby
183
+ preserve_default_filters!
184
+ remove_filter :id
185
+ ```
186
+
187
+ ## Index Scopes
188
+
189
+ You can define custom scopes for your index page. This will add a tab bar above
190
+ the index table to quickly filter your collection on pre-defined scopes. There
191
+ are a number of ways to define your scopes:
192
+
193
+ ```ruby
194
+ scope :all, default: true
195
+
196
+ # assumes the model has a scope called ':active'
197
+ scope :active
198
+
199
+ # renames model scope ':leaves' to ':subcategories'
200
+ scope "Subcategories", :leaves
201
+
202
+ # Dynamic scope name
203
+ scope ->{ Date.today.strftime '%A' }, :published_today
204
+
205
+ # custom scope not defined on the model
206
+ scope("Inactive") { |scope| scope.where(active: false) }
207
+
208
+ # conditionally show a custom controller scope
209
+ scope "Published", if: -> { current_admin_user.can? :manage, Posts } do |posts|
210
+ posts.published
211
+ end
212
+ ```
213
+
214
+ Scopes can be labelled with a translation, e.g.
215
+ `activerecord.scopes.invoice.expired`.
216
+
217
+ ### Scopes groups
218
+
219
+ You can assign group names to scopes to keep related scopes together and separate them from the rest.
220
+
221
+ ```ruby
222
+ # a scope in the default group
223
+ scope :all
224
+
225
+ # two scopes used to filter by status
226
+ scope :active, group: :status
227
+ scope :inactive, group: :status
228
+
229
+ # two scopes used to filter by date
230
+ scope :today, group: :date
231
+ scope :tomorrow, group: :date
232
+ ```
233
+
234
+ ## Index default sort order
235
+
236
+ You can define the default sort order for index pages:
237
+
238
+ ```ruby
239
+ ActiveAdmin.register Post do
240
+ config.sort_order = 'name_asc'
241
+ end
242
+ ```
243
+
244
+ ## Index pagination
245
+
246
+ You can set the number of records per page as default:
247
+
248
+ ```ruby
249
+ ActiveAdmin.setup do |config|
250
+ config.default_per_page = 30
251
+ end
252
+ ```
253
+
254
+ You can set the number of records per page per resources:
255
+
256
+ ```ruby
257
+ ActiveAdmin.register Post do
258
+ config.per_page = 10
259
+ end
260
+ ```
261
+
262
+ Or allow users to choose themselves using dropdown with values
263
+
264
+ ```ruby
265
+ ActiveAdmin.register Post do
266
+ config.per_page = [10, 50, 100]
267
+ end
268
+ ```
269
+
270
+ You can change it per request / action too:
271
+
272
+ ```ruby
273
+ controller do
274
+ before_action only: :index do
275
+ @per_page = 100
276
+ end
277
+ end
278
+ ```
279
+
280
+ You can also disable pagination:
281
+
282
+ ```ruby
283
+ ActiveAdmin.register Post do
284
+ config.paginate = false
285
+ end
286
+ ```
287
+
288
+ If you have a very large database, you might want to disable `SELECT COUNT(*)`
289
+ queries caused by the pagination info at the bottom of the page:
290
+
291
+ ```ruby
292
+ ActiveAdmin.register Post do
293
+ index pagination_total: false do
294
+ # ...
295
+ end
296
+ end
297
+ ```
298
+
299
+ ## Customizing Download Links
300
+
301
+ You can easily remove or customize the download links you want displayed:
302
+
303
+ ```ruby
304
+ # Per resource:
305
+ ActiveAdmin.register Post do
306
+
307
+ index download_links: false
308
+ index download_links: [:pdf]
309
+ index download_links: proc{ current_user.can_view_download_links? }
310
+
311
+ end
312
+
313
+ # For the entire application:
314
+ ActiveAdmin.setup do |config|
315
+
316
+ config.download_links = false
317
+ config.download_links = [:csv, :xml, :json, :pdf]
318
+ config.download_links = proc { current_user.can_view_download_links? }
319
+
320
+ end
321
+ ```
322
+
323
+ Note: you have to actually implement PDF rendering for your action, ActiveAdmin
324
+ does not provide this feature. This setting just allows you to specify formats
325
+ that you want to show up under the index collection.
326
+
327
+ You'll need to use a PDF rendering library like PDFKit or WickedPDF to get the
328
+ PDF generation you want.
@@ -0,0 +1,35 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages/custom-index.html
3
+ ---
4
+
5
+ # Custom Index
6
+
7
+ If the supplied Active Admin index components are insufficient for your project
8
+ feel free to define your own. Index classes inherit from `ActiveAdmin::Component`
9
+ and require a `build` method and an `index_name` class method.
10
+
11
+ ```ruby
12
+ module ActiveAdmin
13
+ module Views
14
+ class IndexAsMyIdea < ActiveAdmin::Component
15
+
16
+ def build(page_presenter, collection)
17
+ # ...
18
+ end
19
+
20
+ def self.index_name
21
+ "my_idea"
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ ```
28
+
29
+ The build method takes a PagePresenter object and collection of whatever you
30
+ choose.
31
+
32
+ The `index_name` class method takes no arguments and returns a string that should
33
+ be representative of the class name. If this method is not defined, your
34
+ index component will not be able take advantage of Active Admin's
35
+ *multiple index pages* feature.
@@ -0,0 +1,19 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages/index-as-block.html
3
+ ---
4
+
5
+ # Index as a Block
6
+
7
+ If you want to fully customize the display of your resources on the index
8
+ screen, Index as a Block allows you to render a block of content for each
9
+ resource.
10
+
11
+ ```ruby
12
+ index as: :block do |product|
13
+ div for: product do
14
+ resource_selection_cell product
15
+ h2 auto_link product.title
16
+ div simple_format product.description
17
+ end
18
+ end
19
+ ```
@@ -0,0 +1,69 @@
1
+ ---
2
+ redirect_from: /docs/3-index-pages/index-as-blog.html
3
+ ---
4
+
5
+ # Index as Blog
6
+
7
+ Render your index page as a set of posts. The post has two main options:
8
+ title and body.
9
+
10
+ ```ruby
11
+ index as: :blog do
12
+ title :my_title # Calls #my_title on each resource
13
+ body :my_body # Calls #my_body on each resource
14
+ end
15
+ ```
16
+
17
+ ## Post Title
18
+
19
+ The title is the content that will be rendered within a link to the
20
+ resource. There are two main ways to set the content for the title
21
+
22
+ First, you can pass in a method to be called on your resource. For example:
23
+
24
+ ```ruby
25
+ index as: :blog do
26
+ title :a_method_to_call
27
+ end
28
+ ```
29
+
30
+ Second, you can pass a block to the tile option which will then be
31
+ used as the contents of the title. The resource being rendered
32
+ is passed in to the block. For Example:
33
+
34
+ ```ruby
35
+ index as: :blog do
36
+ title do |post|
37
+ span post.title, class: 'title'
38
+ span post.created_at, class: 'created_at'
39
+ end
40
+ end
41
+ ```
42
+
43
+ ## Post Body
44
+
45
+ The body is rendered underneath the title of each post. The same two
46
+ style of options work as the Post Title above.
47
+
48
+ Call a method on the resource as the body:
49
+
50
+ ```ruby
51
+ index as: :blog do
52
+ title :my_title
53
+ body :my_body
54
+ end
55
+ ```
56
+
57
+ Or, render a block as the body:
58
+
59
+ ```ruby
60
+ index as: :blog do
61
+ title :my_title
62
+ body do |post|
63
+ div truncate post.title
64
+ div class: 'meta' do
65
+ span "Post in #{post.categories.join(', ')}"
66
+ end
67
+ end
68
+ end
69
+ ```