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,126 @@
1
+ module ActiveAdmin
2
+ module Views
3
+ module Pages
4
+ class Base < Arbre::HTML::Document
5
+
6
+ def build(*args)
7
+ set_attribute :lang, I18n.locale
8
+ build_active_admin_head
9
+ build_page
10
+ end
11
+
12
+ alias_method :html_title, :title # Arbre::HTML::Title
13
+ def title
14
+ self.class.name
15
+ end
16
+
17
+ def main_content
18
+ I18n.t('active_admin.main_content', model: title).html_safe
19
+ end
20
+
21
+ private
22
+
23
+ delegate :active_admin_config, :controller, :params, to: :helpers
24
+
25
+ def build_active_admin_head
26
+ within head do
27
+ html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
28
+
29
+ text_node(active_admin_namespace.head)
30
+
31
+ active_admin_application.stylesheets.each do |style, options|
32
+ text_node stylesheet_link_tag(style, options).html_safe
33
+ end
34
+
35
+ active_admin_namespace.meta_tags.each do |name, content|
36
+ text_node(tag(:meta, name: name, content: content))
37
+ end
38
+
39
+ active_admin_application.javascripts.each do |path|
40
+ text_node(javascript_include_tag(path))
41
+ end
42
+
43
+ if active_admin_namespace.favicon
44
+ text_node(favicon_link_tag(active_admin_namespace.favicon))
45
+ end
46
+
47
+ text_node csrf_meta_tag
48
+ end
49
+ end
50
+
51
+ def build_page
52
+ within body(class: body_classes) do
53
+ div id: "wrapper" do
54
+ build_unsupported_browser
55
+ header active_admin_namespace, current_menu
56
+ title_bar title, action_items_for_action
57
+ build_page_content
58
+ footer active_admin_namespace
59
+ end
60
+ end
61
+ end
62
+
63
+ def body_classes
64
+ Arbre::HTML::ClassList.new [
65
+ params[:action],
66
+ params[:controller].tr('/', '_'),
67
+ 'active_admin', 'logged_in',
68
+ active_admin_namespace.name.to_s + '_namespace'
69
+ ]
70
+ end
71
+
72
+ def build_unsupported_browser
73
+ if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
74
+ unsupported_browser
75
+ end
76
+ end
77
+
78
+ def build_page_content
79
+ build_flash_messages
80
+ div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
81
+ build_main_content_wrapper
82
+ sidebar sidebar_sections_for_action, id: 'sidebar' unless skip_sidebar?
83
+ end
84
+ end
85
+
86
+ def build_flash_messages
87
+ div class: 'flashes' do
88
+ flash_messages.each do |type, message|
89
+ div message, class: "flash flash_#{type}"
90
+ end
91
+ end
92
+ end
93
+
94
+ def build_main_content_wrapper
95
+ div id: "main_content_wrapper" do
96
+ div id: "main_content" do
97
+ main_content
98
+ end
99
+ end
100
+ end
101
+
102
+ # Returns the sidebar sections to render for the current action
103
+ def sidebar_sections_for_action
104
+ if active_admin_config && active_admin_config.sidebar_sections?
105
+ active_admin_config.sidebar_sections_for(params[:action], self)
106
+ else
107
+ []
108
+ end
109
+ end
110
+
111
+ def action_items_for_action
112
+ if active_admin_config && active_admin_config.action_items?
113
+ active_admin_config.action_items_for(params[:action], self)
114
+ else
115
+ []
116
+ end
117
+ end
118
+
119
+ def skip_sidebar?
120
+ sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
121
+ end
122
+
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,64 @@
1
+ module ActiveAdmin
2
+ module Views
3
+ module Pages
4
+
5
+ class Form < Base
6
+
7
+ def title
8
+ if form_presenter[:title]
9
+ helpers.render_or_call_method_or_proc_on(resource, form_presenter[:title])
10
+ else
11
+ assigns[:page_title] || ActiveAdmin::Localizers.resource(active_admin_config).t("#{normalized_action}_model")
12
+ end
13
+ end
14
+
15
+ def form_presenter
16
+ active_admin_config.get_page_presenter(:form) || default_form_config
17
+ end
18
+
19
+ def main_content
20
+ options = default_form_options.merge form_presenter.options
21
+
22
+ if options[:partial]
23
+ render options[:partial]
24
+ else
25
+ active_admin_form_for resource, options, &form_presenter.block
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def default_form_options
32
+ {
33
+ url: default_form_path,
34
+ as: active_admin_config.param_key
35
+ }
36
+ end
37
+
38
+ def default_form_path
39
+ resource.persisted? ? resource_path(resource) : collection_path
40
+ end
41
+
42
+ def default_form_config
43
+ ActiveAdmin::PagePresenter.new do |f|
44
+ f.semantic_errors # show errors on :base by default
45
+ f.inputs
46
+ f.actions
47
+ end
48
+ end
49
+
50
+ def normalized_action
51
+ case params[:action]
52
+ when "create"
53
+ "new"
54
+ when "update"
55
+ "edit"
56
+ else
57
+ params[:action]
58
+ end
59
+ end
60
+ end
61
+
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,163 @@
1
+ require 'active_admin/helpers/collection'
2
+
3
+ module ActiveAdmin
4
+ module Views
5
+ module Pages
6
+
7
+ class Index < Base
8
+
9
+ def title
10
+ if Proc === config[:title]
11
+ controller.instance_exec &config[:title]
12
+ else
13
+ config[:title] || assigns[:page_title] || active_admin_config.plural_resource_label
14
+ end
15
+ end
16
+
17
+ # Retrieves the given page presenter, or uses the default.
18
+ def config
19
+ active_admin_config.get_page_presenter(:index, params[:as]) ||
20
+ ActiveAdmin::PagePresenter.new(as: :table)
21
+ end
22
+
23
+ # Renders the index configuration that was set in the
24
+ # controller. Defaults to rendering the ActiveAdmin::Pages::Index::Table
25
+ def main_content
26
+ wrap_with_batch_action_form do
27
+ build_table_tools
28
+ build_collection
29
+ end
30
+ end
31
+
32
+ protected
33
+
34
+ def wrap_with_batch_action_form(&block)
35
+ if active_admin_config.batch_actions.any?
36
+ batch_action_form(&block)
37
+ else
38
+ block.call
39
+ end
40
+ end
41
+
42
+ include ::ActiveAdmin::Helpers::Collection
43
+
44
+ def items_in_collection?
45
+ !collection_is_empty?
46
+ end
47
+
48
+ def build_collection
49
+ if items_in_collection?
50
+ render_index
51
+ else
52
+ if params[:q] || params[:scope]
53
+ render_empty_results
54
+ else
55
+ render_blank_slate
56
+ end
57
+ end
58
+ end
59
+
60
+ include ::ActiveAdmin::ViewHelpers::DownloadFormatLinksHelper
61
+
62
+ def build_table_tools
63
+ div class: "table_tools" do
64
+ build_batch_actions_selector
65
+ build_scopes
66
+ build_index_list
67
+ end if any_table_tools?
68
+ end
69
+
70
+ def any_table_tools?
71
+ active_admin_config.batch_actions.any? ||
72
+ active_admin_config.scopes.any? ||
73
+ active_admin_config.page_presenters[:index].try(:size).try(:>, 1)
74
+ end
75
+
76
+ def build_batch_actions_selector
77
+ if active_admin_config.batch_actions.any?
78
+ insert_tag view_factory.batch_action_selector, active_admin_config.batch_actions
79
+ end
80
+ end
81
+
82
+ def build_scopes
83
+ if active_admin_config.scopes.any?
84
+ scope_options = {
85
+ scope_count: config.fetch(:scope_count, true)
86
+ }
87
+
88
+ scopes_renderer active_admin_config.scopes, scope_options
89
+ end
90
+ end
91
+
92
+ def build_index_list
93
+ indexes = active_admin_config.page_presenters[:index]
94
+
95
+ if indexes.kind_of?(Hash) && indexes.length > 1
96
+ index_classes = []
97
+ active_admin_config.page_presenters[:index].each do |type, page_presenter|
98
+ index_classes << find_index_renderer_class(page_presenter[:as])
99
+ end
100
+
101
+ index_list_renderer index_classes
102
+ end
103
+ end
104
+
105
+ # Returns the actual class for renderering the main content on the index
106
+ # page. To set this, use the :as option in the page_presenter block.
107
+ def find_index_renderer_class(klass)
108
+ klass.is_a?(Class) ? klass :
109
+ ::ActiveAdmin::Views.const_get("IndexAs" + klass.to_s.camelcase)
110
+ end
111
+
112
+ def render_blank_slate
113
+ blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
114
+ if controller.action_methods.include?('new') && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
115
+ blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
116
+ end
117
+ insert_tag(view_factory.blank_slate, blank_slate_content)
118
+ end
119
+
120
+ def render_empty_results
121
+ empty_results_content = I18n.t("active_admin.pagination.empty", model: active_admin_config.plural_resource_label)
122
+ insert_tag(view_factory.blank_slate, empty_results_content)
123
+ end
124
+
125
+ def render_index
126
+ renderer_class = find_index_renderer_class(config[:as])
127
+ paginator = config.fetch(:paginator, true)
128
+ download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
129
+ pagination_total = config.fetch(:pagination_total, true)
130
+ per_page = config.fetch(:per_page, active_admin_config.per_page)
131
+
132
+ paginated_collection(collection, entry_name: active_admin_config.resource_label,
133
+ entries_name: active_admin_config.plural_resource_label(count: collection_size),
134
+ download_links: download_links,
135
+ paginator: paginator,
136
+ per_page: per_page,
137
+ pagination_total: pagination_total) do
138
+ div class: 'index_content' do
139
+ insert_tag(renderer_class, config, collection)
140
+ end
141
+ end
142
+ end
143
+
144
+ private
145
+
146
+ def blank_slate_link
147
+ if config.options.has_key?(:blank_slate_link)
148
+ blank_slate_link = config.options[:blank_slate_link]
149
+ if blank_slate_link.is_a?(Proc)
150
+ instance_exec(&blank_slate_link)
151
+ end
152
+ else
153
+ default_blank_slate_link
154
+ end
155
+ end
156
+
157
+ def default_blank_slate_link
158
+ link_to(I18n.t("active_admin.blank_slate.link"), new_resource_path)
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,26 @@
1
+ module ActiveAdmin
2
+ module Views
3
+ module Pages
4
+
5
+ # Acts as a standard Rails Layout for use when logged
6
+ # out or when rendering custom actions.
7
+ class Layout < Base
8
+
9
+ def title
10
+ assigns[:page_title] || I18n.t("active_admin.#{params[:action]}", default: params[:action].to_s.titleize)
11
+ end
12
+
13
+ # Render the content_for(:layout) into the main content area
14
+ def main_content
15
+ content_for_layout = content_for(:layout)
16
+ if content_for_layout.is_a?(Arbre::Element)
17
+ current_arbre_element.add_child content_for_layout.children
18
+ else
19
+ text_node content_for_layout
20
+ end
21
+ end
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
1
+ module ActiveAdmin
2
+ module Views
3
+ module Pages
4
+ class Page < Base
5
+
6
+ def main_content
7
+ if page_presenter.block
8
+ instance_exec &page_presenter.block
9
+ else
10
+ nil
11
+ end
12
+ end
13
+
14
+ protected
15
+
16
+ def page_presenter
17
+ active_admin_config.get_page_presenter(:index) || ActiveAdmin::PagePresenter.new
18
+ end
19
+
20
+ def title
21
+ if page_presenter[:title]
22
+ render_or_call_method_or_proc_on self, page_presenter[:title]
23
+ else
24
+ active_admin_config.name
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,65 @@
1
+ module ActiveAdmin
2
+ module Views
3
+ module Pages
4
+ class Show < Base
5
+
6
+ def config
7
+ active_admin_config.get_page_presenter(:show) || super
8
+ end
9
+
10
+ def title
11
+ if config[:title]
12
+ render_or_call_method_or_proc_on(resource, config[:title])
13
+ else
14
+ assigns[:page_title] || default_title
15
+ end
16
+ end
17
+
18
+ def main_content
19
+ if config.block
20
+ # Eval the show config from the controller
21
+ instance_exec resource, &config.block
22
+ else
23
+ default_main_content
24
+ end
25
+ end
26
+
27
+ def attributes_table(*args, &block)
28
+ opts = args.extract_options!
29
+ table_title = if opts.has_key?(:title)
30
+ render_or_call_method_or_proc_on(resource, opts[:title])
31
+ else
32
+ ActiveAdmin::Localizers.resource(active_admin_config).t(:details)
33
+ end
34
+ panel(table_title) do
35
+ attributes_table_for resource, *args, &block
36
+ end
37
+ end
38
+
39
+ protected
40
+
41
+ def default_title
42
+ title = display_name(resource)
43
+
44
+ if title.blank?
45
+ title = "#{active_admin_config.resource_label} ##{resource.id}"
46
+ end
47
+
48
+ title
49
+ end
50
+
51
+ module DefaultMainContent
52
+ def default_main_content(&block)
53
+ attributes_table(*default_attribute_table_rows, &block)
54
+ end
55
+
56
+ def default_attribute_table_rows
57
+ active_admin_config.resource_columns
58
+ end
59
+ end
60
+
61
+ include DefaultMainContent
62
+ end
63
+ end
64
+ end
65
+ end