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,102 @@
1
+ module ActiveAdmin
2
+ class ResourceController < BaseController
3
+ module Decorators
4
+
5
+ protected
6
+
7
+ def apply_decorator(resource)
8
+ decorate? ? decorator_class.new(resource) : resource
9
+ end
10
+
11
+ def apply_collection_decorator(collection)
12
+ if decorate?
13
+ collection_decorator.decorate collection, with: decorator_class
14
+ else
15
+ collection
16
+ end
17
+ end
18
+
19
+ def self.undecorate(resource)
20
+ if resource.respond_to?(:decorated?) && resource.decorated?
21
+ resource.model
22
+ else
23
+ resource
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def decorate?
30
+ case action_name
31
+ when 'new', 'edit', 'create', 'update'
32
+ form = active_admin_config.get_page_presenter :form
33
+ form && form.options[:decorate] && decorator_class.present?
34
+ else
35
+ decorator_class.present?
36
+ end
37
+ end
38
+
39
+ def decorator_class
40
+ active_admin_config.decorator_class
41
+ end
42
+
43
+ # When using Draper, we wrap the collection draper in a new class that
44
+ # correctly delegates methods that Active Admin depends on.
45
+ def collection_decorator
46
+ if decorator_class
47
+ Wrapper.wrap decorator_class
48
+ end
49
+ end
50
+
51
+ class Wrapper
52
+ @cache = {}
53
+
54
+ def self.wrap(decorator)
55
+ collection_decorator = find_collection_decorator(decorator)
56
+
57
+ if draper_collection_decorator? collection_decorator
58
+ name = "#{collection_decorator.name} of #{decorator} + ActiveAdmin"
59
+ @cache[name] ||= wrap! collection_decorator, name
60
+ else
61
+ collection_decorator
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ def self.wrap!(parent, name)
68
+ ::Class.new parent do
69
+ delegate :reorder, :page, :current_page, :total_pages, :limit_value,
70
+ :total_count, :total_pages, :to_key, :group_values, :except,
71
+ :find_each, :ransack
72
+
73
+ define_singleton_method(:name) { name }
74
+ end
75
+ end
76
+
77
+ # Draper::CollectionDecorator was introduced in 1.0.0
78
+ # Draper::Decorator#collection_decorator_class was introduced in 1.3.0
79
+ def self.find_collection_decorator(decorator)
80
+ if Dependency.draper? '>= 1.3.0'
81
+ decorator.collection_decorator_class
82
+ elsif Dependency.draper? '>= 1.0.0'
83
+ draper_collection_decorator
84
+ else
85
+ decorator
86
+ end
87
+ end
88
+
89
+ def self.draper_collection_decorator?(decorator)
90
+ decorator && decorator <= draper_collection_decorator
91
+ rescue NameError
92
+ false
93
+ end
94
+
95
+ def self.draper_collection_decorator
96
+ ::Draper::CollectionDecorator
97
+ end
98
+
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,26 @@
1
+ module ActiveAdmin
2
+ class ResourceController < BaseController
3
+ module ResourceClassMethods
4
+
5
+ # Override the default `resource_class` class and instance
6
+ # methods to only return the class defined in the instance
7
+ # of ActiveAdmin::Resource
8
+ def override_resource_class_methods!
9
+ class_exec do
10
+ def self.resource_class=(klass); end
11
+
12
+ def self.resource_class
13
+ @active_admin_config ? @active_admin_config.resource_class : nil
14
+ end
15
+
16
+ private
17
+
18
+ def resource_class
19
+ self.class.resource_class
20
+ end
21
+ end
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ module ActiveAdmin
2
+ class ResourceController < BaseController
3
+
4
+ # This module deals with scoping entire controllers to a relation
5
+ module Scoping
6
+ extend ActiveSupport::Concern
7
+
8
+ protected
9
+
10
+ # Override the default InheritedResource #begin_of_association_chain to allow
11
+ # the scope to be defined in the active admin configuration.
12
+ #
13
+ # If scope_to is a proc, we eval it, otherwise we call the method on the controller.
14
+ #
15
+ # Collection can be scoped conditionally with an :if or :unless proc.
16
+ def begin_of_association_chain
17
+ return nil unless active_admin_config.scope_to?(self)
18
+ MethodOrProcHelper.render_in_context(self, active_admin_config.scope_to_method)
19
+ end
20
+
21
+ # Overriding from InheritedResources::BaseHelpers
22
+ #
23
+ # Returns the method for the association chain when using
24
+ # the scope_to option
25
+ def method_for_association_chain
26
+ active_admin_config.scope_to_association_method || super
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,18 @@
1
+ module ActiveAdmin
2
+ class ResourceController < BaseController
3
+
4
+ module Sidebars
5
+
6
+ protected
7
+
8
+ def skip_sidebar!
9
+ @skip_sidebar = true
10
+ end
11
+
12
+ def skip_sidebar?
13
+ @skip_sidebar == true
14
+ end
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,43 @@
1
+ require 'csv'
2
+
3
+ module ActiveAdmin
4
+ class ResourceController < BaseController
5
+
6
+ # This module overrides CSV responses to allow large data downloads.
7
+ # Could be expanded to JSON and XML in the future.
8
+ #
9
+ module Streaming
10
+
11
+ def index
12
+ super do |format|
13
+ format.csv { stream_csv }
14
+ yield(format) if block_given?
15
+ end
16
+ end
17
+
18
+ protected
19
+
20
+ def stream_resource(&block)
21
+ headers['X-Accel-Buffering'] = 'no'
22
+ headers['Cache-Control'] = 'no-cache'
23
+
24
+ if ActiveAdmin.application.disable_streaming_in.include? Rails.env
25
+ self.response_body = block['']
26
+ else
27
+ self.response_body = Enumerator.new &block
28
+ end
29
+ end
30
+
31
+ def csv_filename
32
+ "#{resource_collection_name.to_s.gsub('_', '-')}-#{Time.zone.now.to_date.to_s(:default)}.csv"
33
+ end
34
+
35
+ def stream_csv
36
+ headers['Content-Type'] = 'text/csv; charset=utf-8' # In Rails 5 it's set to HTML??
37
+ headers['Content-Disposition'] = %{attachment; filename="#{csv_filename}"}
38
+ stream_resource &active_admin_config.csv_builder.method(:build).to_proc.curry[self]
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,224 @@
1
+ module ActiveAdmin
2
+ # This is the class where all the register blocks are evaluated.
3
+ class ResourceDSL < DSL
4
+
5
+ private
6
+
7
+ # Redefine sort behaviour for column
8
+ #
9
+ # For example:
10
+ #
11
+ # # nulls last
12
+ # order_by(:age) do |order_clause|
13
+ # [order_clause.to_sql, 'NULLS LAST'].join(' ') if order_clause.order == 'desc'
14
+ # end
15
+ #
16
+ # # by last_name but in the case that there is no last name, by first_name.
17
+ # order_by(:full_name) do |order_clause|
18
+ # ['COALESCE(NULLIF(last_name, ''), first_name), first_name', order_clause.order].join(' ')
19
+ # end
20
+ #
21
+ #
22
+ def order_by(column, &block)
23
+ config.ordering[column] = block
24
+ end
25
+
26
+ def belongs_to(target, options = {})
27
+ config.belongs_to(target, options)
28
+ end
29
+
30
+ # Scope collection to a relation
31
+ def scope_to(*args, &block)
32
+ config.scope_to(*args, &block)
33
+ end
34
+
35
+ # Create a scope
36
+ def scope(*args, &block)
37
+ config.scope(*args, &block)
38
+ end
39
+
40
+ # Store relations that should be included
41
+ def includes(*args)
42
+ config.includes.push *args
43
+ end
44
+
45
+ #
46
+ # Keys included in the `permitted_params` setting are automatically whitelisted.
47
+ #
48
+ # Either
49
+ #
50
+ # permit_params :title, :author, :body, tags: []
51
+ #
52
+ # Or
53
+ #
54
+ # permit_params do
55
+ # defaults = [:title, :body]
56
+ # if current_user.admin?
57
+ # defaults + [:author]
58
+ # else
59
+ # defaults
60
+ # end
61
+ # end
62
+ #
63
+ def permit_params(*args, &block)
64
+ param_key = config.param_key.to_sym
65
+ belongs_to_param = config.belongs_to_param
66
+ create_another_param = :create_another if config.create_another
67
+
68
+ controller do
69
+ define_method :permitted_params do
70
+ permitted_params =
71
+ active_admin_namespace.permitted_params +
72
+ Array.wrap(belongs_to_param) +
73
+ Array.wrap(create_another_param)
74
+
75
+ params.permit(*permitted_params, param_key => block ? instance_exec(&block) : args)
76
+ end
77
+
78
+ private :permitted_params
79
+ end
80
+ end
81
+
82
+ # Configure the index page for the resource
83
+ def index(options = {}, &block)
84
+ options[:as] ||= :table
85
+ config.set_page_presenter :index, ActiveAdmin::PagePresenter.new(options, &block)
86
+ end
87
+
88
+ # Configure the show page for the resource
89
+ def show(options = {}, &block)
90
+ config.set_page_presenter :show, ActiveAdmin::PagePresenter.new(options, &block)
91
+ end
92
+
93
+ def form(options = {}, &block)
94
+ config.set_page_presenter :form, ActiveAdmin::PagePresenter.new(options, &block)
95
+ end
96
+
97
+ # Configure the CSV format
98
+ #
99
+ # For example:
100
+ #
101
+ # csv do
102
+ # column :name
103
+ # column("Author") { |post| post.author.full_name }
104
+ # end
105
+ #
106
+ # csv col_sep: ";", force_quotes: true do
107
+ # column :name
108
+ # end
109
+ #
110
+ def csv(options = {}, &block)
111
+ options[:resource] = config
112
+
113
+ config.csv_builder = CSVBuilder.new(options, &block)
114
+ end
115
+
116
+ # Member Actions give you the functionality of defining both the
117
+ # action and the route directly from your ActiveAdmin registration
118
+ # block.
119
+ #
120
+ # For example:
121
+ #
122
+ # ActiveAdmin.register Post do
123
+ # member_action :comments do
124
+ # @post = Post.find(params[:id])
125
+ # @comments = @post.comments
126
+ # end
127
+ # end
128
+ #
129
+ # Will create a new controller action comments and will hook it up to
130
+ # the named route (comments_admin_post_path) /admin/posts/:id/comments
131
+ #
132
+ # You can treat everything within the block as a standard Rails controller
133
+ # action.
134
+ #
135
+ def action(set, name, options = {}, &block)
136
+ warn "Warning: method `#{name}` already defined in #{controller.name}" if controller.method_defined?(name)
137
+
138
+ set << ControllerAction.new(name, options)
139
+ title = options.delete(:title)
140
+
141
+ controller do
142
+ before_action(only: [name]) { @page_title = title } if title
143
+ define_method(name, &block || Proc.new {})
144
+ end
145
+ end
146
+
147
+ def member_action(name, options = {}, &block)
148
+ action config.member_actions, name, options, &block
149
+ end
150
+
151
+ def collection_action(name, options = {}, &block)
152
+ action config.collection_actions, name, options, &block
153
+ end
154
+
155
+ def decorate_with(decorator_class)
156
+ # Force storage as a string. This will help us with reloading issues.
157
+ # Assuming decorator_class.to_s will return the name of the class allows
158
+ # us to handle a string or a class.
159
+ config.decorator_class_name = "::#{ decorator_class }"
160
+ end
161
+
162
+ # Defined Callbacks
163
+ #
164
+ # == After Build
165
+ # Called after the resource is built in the new and create actions.
166
+ #
167
+ # ActiveAdmin.register Post do
168
+ # after_build do |post|
169
+ # post.author = current_user
170
+ # end
171
+ # end
172
+ #
173
+ # == Before / After Create
174
+ # Called before and after a resource is saved to the db on the create action.
175
+ #
176
+ # == Before / After Update
177
+ # Called before and after a resource is saved to the db on the update action.
178
+ #
179
+ # == Before / After Save
180
+ # Called before and after the object is saved in the create and update action.
181
+ # Note: Gets called after the create and update callbacks
182
+ #
183
+ # == Before / After Destroy
184
+ # Called before and after the object is destroyed from the database.
185
+ #
186
+ delegate :before_build, :after_build, to: :controller
187
+ delegate :before_create, :after_create, to: :controller
188
+ delegate :before_update, :after_update, to: :controller
189
+ delegate :before_save, :after_save, to: :controller
190
+ delegate :before_destroy, :after_destroy, to: :controller
191
+
192
+ # This code defines both *_filter and *_action for Rails 5.0 and *_action for Rails >= 5.1
193
+ phases = [
194
+ :before, :skip_before,
195
+ :after, :skip_after,
196
+ :around, :skip
197
+ ]
198
+ keywords = if Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR >= 1
199
+ [:action]
200
+ else
201
+ [:action, :filter]
202
+ end
203
+
204
+ keywords.each do |name|
205
+ phases.each do |action|
206
+ define_method "#{action}_#{name}" do |*args, &block|
207
+ controller.public_send "#{action}_action", *args, &block
208
+ end
209
+ end
210
+ end
211
+
212
+ # Specify which actions to create in the controller
213
+ #
214
+ # Eg:
215
+ #
216
+ # ActiveAdmin.register Post do
217
+ # actions :index, :show
218
+ # end
219
+ #
220
+ # Will only create the index and show actions (no create, update or delete)
221
+ delegate :actions, to: :controller
222
+
223
+ end
224
+ end