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,100 @@
1
+ module ActiveAdmin
2
+ module Dependency
3
+ module Requirements
4
+ DEVISE = '>= 4.0', '< 5'
5
+ end
6
+
7
+ # Provides a clean interface to check for gem dependencies at runtime.
8
+ #
9
+ # ActiveAdmin::Dependency.draper
10
+ # => #<ActiveAdmin::Dependency::Matcher for draper 1.2.1>
11
+ #
12
+ # ActiveAdmin::Dependency.draper?
13
+ # => true
14
+ #
15
+ # ActiveAdmin::Dependency.draper? '>= 1.5.0'
16
+ # => false
17
+ #
18
+ # ActiveAdmin::Dependency.draper? '= 1.2.1'
19
+ # => true
20
+ #
21
+ # ActiveAdmin::Dependency.draper? '~> 1.2.0'
22
+ # => true
23
+ #
24
+ # ActiveAdmin::Dependency.rails? '>= 4.2.7', '<= 5.0.2'
25
+ # => true
26
+ #
27
+ # ActiveAdmin::Dependency.rails! '5'
28
+ # -> ActiveAdmin::DependencyError: You provided rails 4.2.7 but we need: 5.
29
+ #
30
+ # ActiveAdmin::Dependency.devise!
31
+ # -> ActiveAdmin::DependencyError: To use devise you need to specify it in your Gemfile.
32
+ #
33
+ #
34
+ # All but the pessimistic operator (~>) can also be run using Ruby's comparison syntax.
35
+ #
36
+ # ActiveAdmin::Dependency.rails >= '4.2.7'
37
+ # => true
38
+ #
39
+ # Which is especially useful if you're looking up a gem with dashes in the name.
40
+ #
41
+ # ActiveAdmin::Dependency['jquery-rails'] < 5
42
+ # => false
43
+ #
44
+ def self.method_missing(name, *args)
45
+ if name[-1] == '?'
46
+ Matcher.new(name[0..-2]).match? args
47
+ elsif name[-1] == '!'
48
+ Matcher.new(name[0..-2]).match! args
49
+ else
50
+ Matcher.new name.to_s
51
+ end
52
+ end
53
+
54
+ def self.[](name)
55
+ Matcher.new name.to_s
56
+ end
57
+
58
+ def self.supports_zeitwerk?
59
+ rails >= "6.0.0.beta3" && RUBY_ENGINE != "jruby"
60
+ end
61
+
62
+ class Matcher
63
+ attr_reader :name
64
+
65
+ def initialize(name)
66
+ @name = name
67
+ end
68
+
69
+ def spec
70
+ @spec ||= Gem.loaded_specs[name]
71
+ end
72
+
73
+ def spec!
74
+ spec || raise(DependencyError, "To use #{name} you need to specify it in your Gemfile.")
75
+ end
76
+
77
+ def match?(*reqs)
78
+ !!spec && Gem::Requirement.create(reqs).satisfied_by?(spec.version)
79
+ end
80
+
81
+ def match!(*reqs)
82
+ unless match? reqs
83
+ raise DependencyError, "You provided #{spec!.name} #{spec!.version} but we need: #{reqs.join ', '}."
84
+ end
85
+ end
86
+
87
+ include Comparable
88
+
89
+ def <=>(other)
90
+ spec!.version <=> Gem::Version.create(other)
91
+ end
92
+
93
+ def inspect
94
+ info = spec ? "#{spec.name} #{spec.version}" : '(missing)'
95
+ "<ActiveAdmin::Dependency::Matcher for #{info}>"
96
+ end
97
+ end
98
+
99
+ end
100
+ end
@@ -0,0 +1,10 @@
1
+ module ActiveAdmin
2
+ module Deprecation
3
+ module_function
4
+
5
+ def warn(message, callstack = caller)
6
+ ActiveSupport::Deprecation.warn "Active Admin: #{message}", callstack
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,80 @@
1
+ ActiveAdmin::Dependency.devise! ActiveAdmin::Dependency::Requirements::DEVISE
2
+
3
+ require 'devise'
4
+
5
+ module ActiveAdmin
6
+ module Devise
7
+
8
+ def self.config
9
+ {
10
+ path: ActiveAdmin.application.default_namespace || "/",
11
+ controllers: ActiveAdmin::Devise.controllers,
12
+ path_names: { sign_in: 'login', sign_out: "logout" },
13
+ sign_out_via: [*::Devise.sign_out_via, ActiveAdmin.application.logout_link_method].uniq
14
+ }
15
+ end
16
+
17
+ def self.controllers
18
+ {
19
+ sessions: "active_admin/devise/sessions",
20
+ passwords: "active_admin/devise/passwords",
21
+ unlocks: "active_admin/devise/unlocks",
22
+ registrations: "active_admin/devise/registrations",
23
+ confirmations: "active_admin/devise/confirmations"
24
+ }
25
+ end
26
+
27
+ module Controller
28
+ extend ::ActiveSupport::Concern
29
+ included do
30
+ layout 'active_admin_logged_out'
31
+ helper ::ActiveAdmin::ViewHelpers
32
+ end
33
+
34
+ # Redirect to the default namespace on logout
35
+ def root_path
36
+ namespace = ActiveAdmin.application.default_namespace.presence
37
+ root_path_method = [namespace, :root_path].compact.join('_')
38
+
39
+ path = if Helpers::Routes.respond_to? root_path_method
40
+ Helpers::Routes.send root_path_method
41
+ else
42
+ # Guess a root_path when url_helpers not helpful
43
+ "/#{namespace}"
44
+ end
45
+
46
+ # NOTE: `relative_url_root` is deprecated by Rails.
47
+ # Remove prefix here if it is removed completely.
48
+ prefix = Rails.configuration.action_controller[:relative_url_root] || ''
49
+ prefix + path
50
+ end
51
+ end
52
+
53
+ class SessionsController < ::Devise::SessionsController
54
+ include ::ActiveAdmin::Devise::Controller
55
+ end
56
+
57
+ class PasswordsController < ::Devise::PasswordsController
58
+ include ::ActiveAdmin::Devise::Controller
59
+ end
60
+
61
+ class UnlocksController < ::Devise::UnlocksController
62
+ include ::ActiveAdmin::Devise::Controller
63
+ end
64
+
65
+ class RegistrationsController < ::Devise::RegistrationsController
66
+ include ::ActiveAdmin::Devise::Controller
67
+ end
68
+
69
+ class ConfirmationsController < ::Devise::ConfirmationsController
70
+ include ::ActiveAdmin::Devise::Controller
71
+ end
72
+
73
+ def self.controllers_for_filters
74
+ [SessionsController, PasswordsController, UnlocksController,
75
+ RegistrationsController, ConfirmationsController
76
+ ]
77
+ end
78
+
79
+ end
80
+ end
@@ -0,0 +1,160 @@
1
+ module ActiveAdmin
2
+
3
+ # The Active Admin DSL. This class is where all the registration blocks
4
+ # are evaluated. This is the central place for the API given to
5
+ # users of Active Admin.
6
+ #
7
+ class DSL
8
+
9
+ def initialize(config)
10
+ @config = config
11
+ end
12
+
13
+ # Runs the registration block inside this object
14
+ def run_registration_block(&block)
15
+ instance_exec &block if block_given?
16
+ end
17
+
18
+ # The instance of ActiveAdmin::Resource that's being registered
19
+ # currently. You can use this within your registration blocks to
20
+ # modify options:
21
+ #
22
+ # eg:
23
+ #
24
+ # ActiveAdmin.register Post do
25
+ # config.sort_order = "id_desc"
26
+ # end
27
+ #
28
+ def config
29
+ @config
30
+ end
31
+
32
+ # Include a module with this resource. The modules's `included` method
33
+ # is called with the instance of the `ActiveAdmin::DSL` passed into it.
34
+ #
35
+ # eg:
36
+ #
37
+ # module HelpSidebar
38
+ #
39
+ # def self.included(dsl)
40
+ # dsl.sidebar "Help" do
41
+ # "Call us for Help"
42
+ # end
43
+ # end
44
+ #
45
+ # end
46
+ #
47
+ # ActiveAdmin.register Post do
48
+ # include HelpSidebar
49
+ # end
50
+ #
51
+ # @param [Module] mod A module to include
52
+ #
53
+ # @return [Nil]
54
+ def include(mod)
55
+ mod.included(self)
56
+ end
57
+
58
+ # Returns the controller for this resource. If you pass a
59
+ # block, it will be evaluated in the controller.
60
+ #
61
+ # Example:
62
+ #
63
+ # ActiveAdmin.register Post do
64
+ #
65
+ # controller do
66
+ # def some_method_on_controller
67
+ # # Method gets added to Admin::PostsController
68
+ # end
69
+ # end
70
+ #
71
+ # end
72
+ #
73
+ def controller(&block)
74
+ @config.controller.class_exec(&block) if block_given?
75
+ @config.controller
76
+ end
77
+
78
+ # Add a new action item to the resource
79
+ #
80
+ # @param [Symbol] name
81
+ # @param [Hash] options valid keys include:
82
+ # :only: A single or array of controller actions to display
83
+ # this action item on.
84
+ # :except: A single or array of controller actions not to
85
+ # display this action item on.
86
+ def action_item(name, options = {}, &block)
87
+ config.add_action_item(name, options, &block)
88
+ end
89
+
90
+ # Add a new batch action item to the resource
91
+ # Provide a symbol/string to register the action, options, & block to execute on request
92
+ #
93
+ # To unregister an existing action, just provide the symbol & pass false as the second param
94
+ #
95
+ # @param [Symbol or String] title
96
+ # @param [Hash] options valid keys include:
97
+ # => :if is a proc that will be called to determine if the BatchAction should be displayed
98
+ # => :sort_order is used to sort the batch actions ascending
99
+ # => :confirm is a string which the user will have to accept in order to process the action
100
+ #
101
+ def batch_action(title, options = {}, &block)
102
+ # Create symbol & title information
103
+ if title.is_a? String
104
+ sym = title.titleize.tr(' ', '').underscore.to_sym
105
+ else
106
+ sym = title
107
+ title = sym.to_s.titleize
108
+ end
109
+
110
+ # Either add/remove the batch action
111
+ unless options == false
112
+ config.add_batch_action(sym, title, options, &block)
113
+ else
114
+ config.remove_batch_action sym
115
+ end
116
+ end
117
+
118
+ # Set the options that are available for the item that will be placed in the global
119
+ # navigation of the menu.
120
+ def menu(options = {})
121
+ config.menu_item_options = options
122
+ end
123
+
124
+ # Set the name of the navigation menu to display. This is mainly used in conjunction with the
125
+ # `#belongs_to` functionality.
126
+ #
127
+ # @param [Symbol] menu_name The name of the menu to display as the global navigation
128
+ # when viewing this resource. Defaults to a menu named `:default`.
129
+ #
130
+ # Pass a block returning the name of a menu you want rendered for the request, being
131
+ # executed in the context of the controller
132
+ #
133
+ def navigation_menu(menu_name = nil, &block)
134
+ config.navigation_menu_name = menu_name || block
135
+ end
136
+
137
+ # Rewrite breadcrumb links.
138
+ # Block will be executed inside controller.
139
+ # Block must return an array if you want to rewrite breadcrumb links.
140
+ #
141
+ # Example:
142
+ # ActiveAdmin.register Post do
143
+ #
144
+ # breadcrumb do
145
+ # [
146
+ # link_to('my piece', '/my/link/to/piece')
147
+ # ]
148
+ # end
149
+ # end
150
+ #
151
+ def breadcrumb(&block)
152
+ config.breadcrumb = block
153
+ end
154
+
155
+ def sidebar(name, options = {}, &block)
156
+ config.sidebar_sections << ActiveAdmin::SidebarSection.new(name, options, &block)
157
+ end
158
+
159
+ end
160
+ end
@@ -0,0 +1,38 @@
1
+ module ActiveAdmin
2
+
3
+ class DynamicSetting
4
+ def self.build(setting, type)
5
+ (type ? klass(type) : self).new(setting)
6
+ end
7
+
8
+ def self.klass(type)
9
+ klass = "#{type.to_s.camelcase}Setting"
10
+ raise ArgumentError, "Unknown type: #{type}" unless ActiveAdmin.const_defined?(klass)
11
+ ActiveAdmin.const_get(klass)
12
+ end
13
+
14
+ def initialize(setting)
15
+ @setting = setting
16
+ end
17
+
18
+ def value(*_args)
19
+ @setting
20
+ end
21
+ end
22
+
23
+ # Many configuration options (Ex: site_title, title_image) could either be
24
+ # static (String), methods (Symbol) or procs (Proc). This wrapper takes care of
25
+ # returning the content when String or using instance_eval when Symbol or Proc.
26
+ #
27
+ class StringSymbolOrProcSetting < DynamicSetting
28
+ def value(context = self)
29
+ case @setting
30
+ when Symbol, Proc
31
+ context.instance_eval(&@setting)
32
+ else
33
+ @setting
34
+ end
35
+ end
36
+ end
37
+
38
+ end
@@ -0,0 +1,28 @@
1
+ require 'active_admin/dynamic_setting'
2
+ require 'active_admin/settings_node'
3
+
4
+ module ActiveAdmin
5
+
6
+ class DynamicSettingsNode < SettingsNode
7
+ class << self
8
+ def register(name, value, type = nil)
9
+ class_attribute "#{name}_setting"
10
+ add_reader(name)
11
+ add_writer(name, type)
12
+ send "#{name}=", value
13
+ end
14
+
15
+ def add_reader(name)
16
+ define_singleton_method(name) do |*args|
17
+ send("#{name}_setting").value(*args)
18
+ end
19
+ end
20
+
21
+ def add_writer(name, type)
22
+ define_singleton_method("#{name}=") do |value|
23
+ send("#{name}_setting=", DynamicSetting.build(value, type))
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,21 @@
1
+ module ActiveAdmin
2
+ class Engine < ::Rails::Engine
3
+ initializer "active_admin.load_app_path" do |app|
4
+ ActiveAdmin::Application.setting :app_path, app.root
5
+ ActiveAdmin::Application.setting :load_paths, [File.expand_path('app/admin', app.root)]
6
+ end
7
+
8
+ initializer "active_admin.precompile", group: :all do |app|
9
+ ActiveAdmin.application.stylesheets.each do |path, _|
10
+ app.config.assets.precompile << path
11
+ end
12
+ ActiveAdmin.application.javascripts.each do |path|
13
+ app.config.assets.precompile << path
14
+ end
15
+ end
16
+
17
+ initializer 'active_admin.routes' do
18
+ require 'active_admin/helpers/routes/url_helpers'
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,64 @@
1
+ module ActiveAdmin
2
+ # Exception class to raise when there is an authorized access
3
+ # exception thrown. The exception has a few goodies that may
4
+ # be useful for capturing / recognizing security issues.
5
+ class AccessDenied < StandardError
6
+ attr_reader :user, :action, :subject
7
+
8
+ def initialize(user, action, subject = nil)
9
+ @user = user
10
+ @action = action
11
+ @subject = subject
12
+
13
+ super()
14
+ end
15
+
16
+ def message
17
+ I18n.t("active_admin.access_denied.message")
18
+ end
19
+ end
20
+
21
+ class Error < RuntimeError
22
+ end
23
+
24
+ class ErrorLoading < Error
25
+ # Locates the most recent file and line from the caught exception's backtrace.
26
+ def find_cause(folder, backtrace)
27
+ backtrace.grep(/\/(#{folder}\/.*\.rb):(\d+)/) { [$1, $2] }.first
28
+ end
29
+ end
30
+
31
+ class DatabaseHitDuringLoad < ErrorLoading
32
+ def initialize(exception)
33
+ file, line = find_cause(:app, exception.backtrace)
34
+
35
+ super "Your file, #{file} (line #{line}), caused a database error while Active Admin was loading. This " +
36
+ "is most common when your database is missing or doesn't have the latest migrations applied. To " +
37
+ "prevent this error, move the code to a place where it will only be run when a page is rendered. " +
38
+ "One solution can be, to wrap the query in a Proc. " +
39
+ "Original error message: #{exception.message}"
40
+ end
41
+
42
+ def self.capture
43
+ yield
44
+ rescue *database_error_classes => exception
45
+ raise new exception
46
+ end
47
+
48
+ private
49
+
50
+ def self.database_error_classes
51
+ @classes ||= []
52
+ end
53
+ end
54
+
55
+ class DependencyError < ErrorLoading
56
+ end
57
+
58
+ class NoMenuError < KeyError
59
+ end
60
+
61
+ class GeneratorError < Error
62
+ end
63
+
64
+ end