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,134 @@
1
+ require 'active_support/core_ext'
2
+ require 'set'
3
+
4
+ require 'ransack'
5
+ require 'ransack_ext'
6
+ require 'kaminari'
7
+ require 'formtastic'
8
+ require 'formtastic_i18n'
9
+ require 'inherited_resources'
10
+ require 'jquery-rails'
11
+ require 'sassc-rails'
12
+ require 'arbre'
13
+ require 'sprockets/es6'
14
+
15
+ require 'active_admin/helpers/i18n'
16
+
17
+ module ActiveAdmin
18
+
19
+ autoload :VERSION, 'active_admin/version'
20
+ autoload :Application, 'active_admin/application'
21
+ autoload :AssetRegistration, 'active_admin/asset_registration'
22
+ autoload :Authorization, 'active_admin/authorization_adapter'
23
+ autoload :AuthorizationAdapter, 'active_admin/authorization_adapter'
24
+ autoload :Callbacks, 'active_admin/callbacks'
25
+ autoload :Component, 'active_admin/component'
26
+ autoload :BaseController, 'active_admin/base_controller'
27
+ autoload :CanCanAdapter, 'active_admin/cancan_adapter'
28
+ autoload :ControllerAction, 'active_admin/controller_action'
29
+ autoload :CSVBuilder, 'active_admin/csv_builder'
30
+ autoload :Dependency, 'active_admin/dependency'
31
+ autoload :Deprecation, 'active_admin/deprecation'
32
+ autoload :Devise, 'active_admin/devise'
33
+ autoload :DSL, 'active_admin/dsl'
34
+ autoload :FormBuilder, 'active_admin/form_builder'
35
+ autoload :Inputs, 'active_admin/inputs'
36
+ autoload :Localizers, 'active_admin/localizers'
37
+ autoload :Menu, 'active_admin/menu'
38
+ autoload :MenuCollection, 'active_admin/menu_collection'
39
+ autoload :MenuItem, 'active_admin/menu_item'
40
+ autoload :Namespace, 'active_admin/namespace'
41
+ autoload :OrderClause, 'active_admin/order_clause'
42
+ autoload :Page, 'active_admin/page'
43
+ autoload :PagePresenter, 'active_admin/page_presenter'
44
+ autoload :PageController, 'active_admin/page_controller'
45
+ autoload :PageDSL, 'active_admin/page_dsl'
46
+ autoload :PunditAdapter, 'active_admin/pundit_adapter'
47
+ autoload :Resource, 'active_admin/resource'
48
+ autoload :ResourceController, 'active_admin/resource_controller'
49
+ autoload :ResourceDSL, 'active_admin/resource_dsl'
50
+ autoload :Scope, 'active_admin/scope'
51
+ autoload :ScopeChain, 'active_admin/helpers/scope_chain'
52
+ autoload :SidebarSection, 'active_admin/sidebar_section'
53
+ autoload :TableBuilder, 'active_admin/table_builder'
54
+ autoload :ViewFactory, 'active_admin/view_factory'
55
+ autoload :ViewHelpers, 'active_admin/view_helpers'
56
+ autoload :Views, 'active_admin/views'
57
+
58
+ class << self
59
+
60
+ attr_accessor :application
61
+
62
+ def application
63
+ @application ||= ::ActiveAdmin::Application.new
64
+ end
65
+
66
+ # Gets called within the initializer
67
+ def setup
68
+ application.setup!
69
+ yield(application)
70
+ application.prepare!
71
+ end
72
+
73
+ delegate :register, to: :application
74
+ delegate :register_page, to: :application
75
+ delegate :unload!, to: :application
76
+ delegate :load!, to: :application
77
+ delegate :routes, to: :application
78
+
79
+ # A callback is triggered each time (before) Active Admin loads the configuration files.
80
+ # In development mode, this will happen whenever the user changes files. In production
81
+ # it only happens on boot.
82
+ #
83
+ # The block takes the current instance of [ActiveAdmin::Application]
84
+ #
85
+ # Example:
86
+ #
87
+ # ActiveAdmin.before_load do |app|
88
+ # # Do some stuff before AA loads
89
+ # end
90
+ #
91
+ # @param [Block] block A block to call each time (before) AA loads resources
92
+ def before_load(&block)
93
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &wrap_block_for_active_support_notifications(block)
94
+ end
95
+
96
+ # A callback is triggered each time (after) Active Admin loads the configuration files. This
97
+ # is an opportunity to hook into Resources after they've been loaded.
98
+ #
99
+ # The block takes the current instance of [ActiveAdmin::Application]
100
+ #
101
+ # Example:
102
+ #
103
+ # ActiveAdmin.after_load do |app|
104
+ # app.namespaces.each do |name, namespace|
105
+ # puts "Namespace: #{name} loaded!"
106
+ # end
107
+ # end
108
+ #
109
+ # @param [Block] block A block to call each time (after) AA loads resources
110
+ def after_load(&block)
111
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &wrap_block_for_active_support_notifications(block)
112
+ end
113
+
114
+ private
115
+
116
+ def wrap_block_for_active_support_notifications block
117
+ proc { |event, *args| block.call *args }
118
+ end
119
+
120
+ end
121
+
122
+ end
123
+
124
+ # Require things that don't support autoload
125
+ require 'active_admin/engine'
126
+ require 'active_admin/error'
127
+
128
+ # Require internal plugins
129
+ require 'active_admin/batch_actions'
130
+ require 'active_admin/filters'
131
+
132
+ # Require ORM-specific plugins
133
+ require 'active_admin/orm/active_record' if defined? ActiveRecord
134
+ require 'active_admin/orm/mongoid' if defined? Mongoid
@@ -0,0 +1,47 @@
1
+ module ActiveAdmin
2
+ class AbstractViewFactory < SettingsNode
3
+
4
+ def self.register(view_hash)
5
+ view_hash.each do |view_key, view_class|
6
+ super view_key, view_class
7
+ add_writer(view_key)
8
+ send "#{view_key}=", view_class
9
+ end
10
+ end
11
+
12
+ def self.add_writer(name)
13
+ define_singleton_method("#{name}=") do |value|
14
+ value.builder_method name
15
+ instance_variable_set :"@#{name}", value
16
+ end
17
+ end
18
+
19
+ # Register a new view key with the view factory
20
+ #
21
+ # eg:
22
+ #
23
+ # factory = AbstractViewFactory.new
24
+ # factory.register my_view: SomeViewClass
25
+ #
26
+ # You can setup many at the same time:
27
+ #
28
+ # factory.register my_view: SomeClass,
29
+ # another_view: OtherViewClass
30
+ #
31
+ def register(view_hash)
32
+ self.class.register view_hash
33
+ end
34
+
35
+ def default_for(key)
36
+ self.class.send key
37
+ end
38
+
39
+ def [](key)
40
+ send key
41
+ end
42
+
43
+ def []=(key, value)
44
+ send "#{key}=", value
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,234 @@
1
+ require 'active_admin/router'
2
+ require 'active_admin/application_settings'
3
+ require 'active_admin/namespace_settings'
4
+
5
+ module ActiveAdmin
6
+ class Application
7
+
8
+ class << self
9
+ def setting(name, default)
10
+ ApplicationSettings.register name, default
11
+ end
12
+
13
+ def inheritable_setting(name, default)
14
+ NamespaceSettings.register name, default
15
+ end
16
+ end
17
+
18
+ def settings
19
+ @settings ||= SettingsNode.build(ApplicationSettings)
20
+ end
21
+
22
+ def namespace_settings
23
+ @namespace_settings ||= SettingsNode.build(NamespaceSettings)
24
+ end
25
+
26
+ def respond_to_missing?(method, include_private = false)
27
+ [settings, namespace_settings].any? { |sets| sets.respond_to?(method) } || super
28
+ end
29
+
30
+ def method_missing(method, *args)
31
+ if settings.respond_to?(method)
32
+ settings.send(method, *args)
33
+ elsif namespace_settings.respond_to?(method)
34
+ namespace_settings.send(method, *args)
35
+ else
36
+ super
37
+ end
38
+ end
39
+
40
+ attr_reader :namespaces
41
+ def initialize
42
+ @namespaces = Namespace::Store.new
43
+ end
44
+
45
+ include AssetRegistration
46
+
47
+ # Event that gets triggered on load of Active Admin
48
+ BeforeLoadEvent = 'active_admin.application.before_load'.freeze
49
+ AfterLoadEvent = 'active_admin.application.after_load'.freeze
50
+
51
+ # Runs before the app's AA initializer
52
+ def setup!
53
+ register_default_assets
54
+ end
55
+
56
+ # Runs after the app's AA initializer
57
+ def prepare!
58
+ remove_active_admin_load_paths_from_rails_autoload_and_eager_load
59
+ attach_reloader
60
+ end
61
+
62
+ # Registers a brand new configuration for the given resource.
63
+ def register(resource, options = {}, &block)
64
+ ns = options.fetch(:namespace) { default_namespace }
65
+ namespace(ns).register resource, options, &block
66
+ end
67
+
68
+ # Creates a namespace for the given name
69
+ #
70
+ # Yields the namespace if a block is given
71
+ #
72
+ # @return [Namespace] the new or existing namespace
73
+ def namespace(name)
74
+ name ||= :root
75
+
76
+ namespace = namespaces[name] ||= begin
77
+ namespace = Namespace.new(self, name)
78
+ ActiveSupport::Notifications.publish ActiveAdmin::Namespace::RegisterEvent, namespace
79
+ namespace
80
+ end
81
+
82
+ yield(namespace) if block_given?
83
+
84
+ namespace
85
+ end
86
+
87
+ # Register a page
88
+ #
89
+ # @param name [String] The page name
90
+ # @option [Hash] Accepts option :namespace.
91
+ # @&block The registration block.
92
+ #
93
+ def register_page(name, options = {}, &block)
94
+ ns = options.fetch(:namespace) { default_namespace }
95
+ namespace(ns).register_page name, options, &block
96
+ end
97
+
98
+ # Whether all configuration files have been loaded
99
+ def loaded?
100
+ @@loaded ||= false
101
+ end
102
+
103
+ # Removes all defined controllers from memory. Useful in
104
+ # development, where they are reloaded on each request.
105
+ def unload!
106
+ namespaces.each &:unload!
107
+ @@loaded = false
108
+ end
109
+
110
+ # Loads all ruby files that are within the load_paths setting.
111
+ # To reload everything simply call `ActiveAdmin.unload!`
112
+ def load!
113
+ unless loaded?
114
+ ActiveSupport::Notifications.publish BeforeLoadEvent, self # before_load hook
115
+ files.each { |file| load file } # load files
116
+ namespace(default_namespace) # init AA resources
117
+ ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
118
+ @@loaded = true
119
+ end
120
+ end
121
+
122
+ def load(file)
123
+ DatabaseHitDuringLoad.capture { super }
124
+ end
125
+
126
+ # Returns ALL the files to be loaded
127
+ def files
128
+ load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }
129
+ end
130
+
131
+ # Creates all the necessary routes for the ActiveAdmin configurations
132
+ #
133
+ # Use this within the routes.rb file:
134
+ #
135
+ # Application.routes.draw do |map|
136
+ # ActiveAdmin.routes(self)
137
+ # end
138
+ #
139
+ # @param rails_router [ActionDispatch::Routing::Mapper]
140
+ def routes(rails_router)
141
+ load!
142
+ Router.new(router: rails_router, namespaces: namespaces).apply
143
+ end
144
+
145
+ # Adds before, around and after filters to all controllers.
146
+ # Example usage:
147
+ # ActiveAdmin.before_filter :authenticate_admin!
148
+ #
149
+ AbstractController::Callbacks::ClassMethods.public_instance_methods.
150
+ select { |m| m.match(/(filter|action)/) }.each do |name|
151
+ define_method name do |*args, &block|
152
+ controllers_for_filters.each do |controller|
153
+ controller.public_send name, *args, &block
154
+ end
155
+ end
156
+ end
157
+
158
+ def controllers_for_filters
159
+ controllers = [BaseController]
160
+ controllers.push *Devise.controllers_for_filters if Dependency.devise?
161
+ controllers
162
+ end
163
+
164
+ private
165
+
166
+ def register_default_assets
167
+ register_stylesheet 'active_admin.css', media: 'screen'
168
+ register_stylesheet 'active_admin/print.css', media: 'print'
169
+ register_javascript 'active_admin.js'
170
+ end
171
+
172
+ # Since app/admin is alphabetically before app/models, we have to remove it
173
+ # from the host app's +autoload_paths+ to prevent missing constant errors.
174
+ #
175
+ # As well, we have to remove it from +eager_load_paths+ to prevent the
176
+ # files from being loaded twice in production.
177
+ def remove_active_admin_load_paths_from_rails_autoload_and_eager_load
178
+ ActiveSupport::Dependencies.autoload_paths -= load_paths
179
+ Rails.application.config.eager_load_paths -= load_paths
180
+ end
181
+
182
+ # Hook into the Rails code reloading mechanism so that things are reloaded
183
+ # properly in development mode.
184
+ #
185
+ # If any of the app files (e.g. models) has changed, we need to reload all
186
+ # the admin files. If the admin files themselves has changed, we need to
187
+ # regenerate the routes as well.
188
+ def attach_reloader
189
+ Rails.application.config.after_initialize do |app|
190
+ unload_active_admin = -> { ActiveAdmin.application.unload! }
191
+
192
+ if app.config.reload_classes_only_on_change
193
+ # Rails is about to unload all the app files (e.g. models), so we
194
+ # should first unload the classes generated by Active Admin, otherwise
195
+ # they will contain references to the stale (unloaded) classes.
196
+ ActiveSupport::Reloader.to_prepare(prepend: true, &unload_active_admin)
197
+ else
198
+ # If the user has configured the app to always reload app files after
199
+ # each request, so we should unload the generated classes too.
200
+ ActiveSupport::Reloader.to_complete(&unload_active_admin)
201
+ end
202
+
203
+ admin_dirs = {}
204
+
205
+ load_paths.each do |path|
206
+ admin_dirs[path] = [:rb]
207
+ end
208
+
209
+ routes_reloader = app.config.file_watcher.new([], admin_dirs) do
210
+ app.reload_routes!
211
+ end
212
+
213
+ app.reloaders << routes_reloader
214
+
215
+ ActiveSupport::Reloader.to_prepare do
216
+ # Rails might have reloaded the routes for other reasons (e.g.
217
+ # routes.rb has changed), in which case Active Admin would have been
218
+ # loaded via the `ActiveAdmin.routes` call in `routes.rb`.
219
+ #
220
+ # Otherwise, we should check if any of the admin files are changed
221
+ # and force the routes to reload if necessary. This would again causes
222
+ # Active Admin to load via `ActiveAdmin.routes`.
223
+ #
224
+ # Finally, if Active Admin is still not loaded at this point, then we
225
+ # would need to load it manually.
226
+ unless ActiveAdmin.application.loaded?
227
+ routes_reloader.execute_if_updated
228
+ ActiveAdmin.application.load!
229
+ end
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
@@ -0,0 +1,42 @@
1
+ require 'active_admin/settings_node'
2
+
3
+ module ActiveAdmin
4
+ class ApplicationSettings < SettingsNode
5
+
6
+ # The default namespace to put controllers and routes inside. Set this
7
+ # in config/initializers/active_admin.rb using:
8
+ #
9
+ # config.default_namespace = :super_admin
10
+ #
11
+ register :default_namespace, :admin
12
+
13
+ register :app_path, Rails.root
14
+
15
+ # Load paths for admin configurations. Add folders to this load path
16
+ # to load up other resources for administration. External gems can
17
+ # include their paths in this load path to provide active_admin UIs
18
+ register :load_paths, [File.expand_path('app/admin', Rails.root)]
19
+
20
+ # Set default localize format for Date/Time values
21
+ register :localize_format, :long
22
+
23
+ # Active Admin makes educated guesses when displaying objects, this is
24
+ # the list of methods it tries calling in order
25
+ # Note that Formtastic also has 'collection_label_methods' similar to this
26
+ # used by auto generated dropdowns in filter or belongs_to field of Active Admin
27
+ register :display_name_methods, [ :display_name,
28
+ :full_name,
29
+ :name,
30
+ :username,
31
+ :login,
32
+ :title,
33
+ :email,
34
+ :to_s ]
35
+
36
+ # To make debugging easier, by default don't stream in development
37
+ register :disable_streaming_in, ['development']
38
+
39
+ # Remove sensitive attributes from being displayed, made editable, or exported by default
40
+ register :filter_attributes, [:encrypted_password, :password, :password_confirmation]
41
+ end
42
+ end