activeadmin 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +592 -0
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +215 -0
  5. data/LICENSE +20 -0
  6. data/README.md +117 -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 +59 -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/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  87. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  88. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  89. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  90. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  91. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  92. data/app/views/layouts/active_admin.html.arb +1 -0
  93. data/app/views/layouts/active_admin_logged_out.html.erb +39 -0
  94. data/config/locales/ar.yml +135 -0
  95. data/config/locales/bg.yml +119 -0
  96. data/config/locales/bs.yml +121 -0
  97. data/config/locales/ca.yml +105 -0
  98. data/config/locales/cs.yml +109 -0
  99. data/config/locales/da.yml +137 -0
  100. data/config/locales/de-CH.yml +101 -0
  101. data/config/locales/de.yml +162 -0
  102. data/config/locales/el.yml +126 -0
  103. data/config/locales/en-CA.yml +139 -0
  104. data/config/locales/en-GB.yml +139 -0
  105. data/config/locales/en.yml +162 -0
  106. data/config/locales/eo.yml +145 -0
  107. data/config/locales/es-MX.yml +96 -0
  108. data/config/locales/es.yml +162 -0
  109. data/config/locales/fa.yml +119 -0
  110. data/config/locales/fi.yml +112 -0
  111. data/config/locales/fr.yml +141 -0
  112. data/config/locales/he.yml +141 -0
  113. data/config/locales/hr.yml +123 -0
  114. data/config/locales/hu.yml +102 -0
  115. data/config/locales/id.yml +135 -0
  116. data/config/locales/it.yml +144 -0
  117. data/config/locales/ja.yml +141 -0
  118. data/config/locales/ko.yml +120 -0
  119. data/config/locales/lt.yml +142 -0
  120. data/config/locales/lv.yml +92 -0
  121. data/config/locales/mk.yml +134 -0
  122. data/config/locales/nb.yml +130 -0
  123. data/config/locales/nl.yml +144 -0
  124. data/config/locales/pl.yml +168 -0
  125. data/config/locales/pt-BR.yml +143 -0
  126. data/config/locales/pt-PT.yml +92 -0
  127. data/config/locales/ro.yml +96 -0
  128. data/config/locales/ru.yml +141 -0
  129. data/config/locales/sk.yml +168 -0
  130. data/config/locales/sv-SE.yml +135 -0
  131. data/config/locales/tr.yml +144 -0
  132. data/config/locales/uk.yml +138 -0
  133. data/config/locales/vi.yml +134 -0
  134. data/config/locales/zh-CN.yml +143 -0
  135. data/config/locales/zh-TW.yml +135 -0
  136. data/docs/.gitignore +1 -0
  137. data/docs/0-installation.md +118 -0
  138. data/docs/1-general-configuration.md +204 -0
  139. data/docs/10-custom-pages.md +150 -0
  140. data/docs/11-decorators.md +59 -0
  141. data/docs/12-arbre-components.md +214 -0
  142. data/docs/13-authorization-adapter.md +285 -0
  143. data/docs/14-gotchas.md +138 -0
  144. data/docs/2-resource-customization.md +466 -0
  145. data/docs/3-index-pages.md +328 -0
  146. data/docs/3-index-pages/custom-index.md +35 -0
  147. data/docs/3-index-pages/index-as-block.md +19 -0
  148. data/docs/3-index-pages/index-as-blog.md +69 -0
  149. data/docs/3-index-pages/index-as-grid.md +27 -0
  150. data/docs/3-index-pages/index-as-table.md +234 -0
  151. data/docs/4-csv-format.md +74 -0
  152. data/docs/5-forms.md +232 -0
  153. data/docs/6-show-pages.md +81 -0
  154. data/docs/7-sidebars.md +75 -0
  155. data/docs/8-custom-actions.md +177 -0
  156. data/docs/9-batch-actions.md +237 -0
  157. data/docs/CNAME +1 -0
  158. data/docs/Gemfile +3 -0
  159. data/docs/Gemfile.lock +248 -0
  160. data/docs/README.md +24 -0
  161. data/docs/_config.yml +4 -0
  162. data/docs/_includes/footer.html +8 -0
  163. data/docs/_includes/google-analytics.html +16 -0
  164. data/docs/_includes/head.html +7 -0
  165. data/docs/_includes/toc.html +98 -0
  166. data/docs/_includes/top-menu.html +17 -0
  167. data/docs/_layouts/default.html +21 -0
  168. data/docs/documentation.md +60 -0
  169. data/docs/images/activeadmin.png +0 -0
  170. data/docs/images/code-header.png +0 -0
  171. data/docs/images/divider.png +0 -0
  172. data/docs/images/features.png +0 -0
  173. data/docs/images/tidelift.svg +14 -0
  174. data/docs/index.html +226 -0
  175. data/docs/stylesheets/main.css +1205 -0
  176. data/lib/active_admin.rb +134 -0
  177. data/lib/active_admin/abstract_view_factory.rb +47 -0
  178. data/lib/active_admin/application.rb +234 -0
  179. data/lib/active_admin/application_settings.rb +42 -0
  180. data/lib/active_admin/asset_registration.rb +29 -0
  181. data/lib/active_admin/authorization_adapter.rb +129 -0
  182. data/lib/active_admin/base_controller.rb +81 -0
  183. data/lib/active_admin/base_controller/authorization.rb +127 -0
  184. data/lib/active_admin/base_controller/menu.rb +34 -0
  185. data/lib/active_admin/batch_actions.rb +16 -0
  186. data/lib/active_admin/batch_actions/controller.rb +40 -0
  187. data/lib/active_admin/batch_actions/resource_extension.rb +155 -0
  188. data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
  189. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +58 -0
  190. data/lib/active_admin/batch_actions/views/selection_cells.rb +38 -0
  191. data/lib/active_admin/callbacks.rb +88 -0
  192. data/lib/active_admin/cancan_adapter.rb +36 -0
  193. data/lib/active_admin/component.rb +5 -0
  194. data/lib/active_admin/controller_action.rb +13 -0
  195. data/lib/active_admin/csv_builder.rb +132 -0
  196. data/lib/active_admin/dependency.rb +100 -0
  197. data/lib/active_admin/deprecation.rb +10 -0
  198. data/lib/active_admin/devise.rb +80 -0
  199. data/lib/active_admin/dsl.rb +160 -0
  200. data/lib/active_admin/dynamic_setting.rb +38 -0
  201. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  202. data/lib/active_admin/engine.rb +21 -0
  203. data/lib/active_admin/error.rb +64 -0
  204. data/lib/active_admin/filters.rb +11 -0
  205. data/lib/active_admin/filters/active.rb +29 -0
  206. data/lib/active_admin/filters/active_filter.rb +124 -0
  207. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  208. data/lib/active_admin/filters/dsl.rb +21 -0
  209. data/lib/active_admin/filters/forms.rb +85 -0
  210. data/lib/active_admin/filters/formtastic_addons.rb +79 -0
  211. data/lib/active_admin/filters/resource_extension.rb +179 -0
  212. data/lib/active_admin/form_builder.rb +182 -0
  213. data/lib/active_admin/generators/boilerplate.rb +53 -0
  214. data/lib/active_admin/helpers/collection.rb +19 -0
  215. data/lib/active_admin/helpers/i18n.rb +7 -0
  216. data/lib/active_admin/helpers/optional_display.rb +38 -0
  217. data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
  218. data/lib/active_admin/helpers/scope_chain.rb +24 -0
  219. data/lib/active_admin/inputs.rb +21 -0
  220. data/lib/active_admin/inputs/datepicker_input.rb +27 -0
  221. data/lib/active_admin/inputs/filters/base.rb +44 -0
  222. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  223. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  224. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  225. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  226. data/lib/active_admin/inputs/filters/date_range_input.rb +49 -0
  227. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  228. data/lib/active_admin/inputs/filters/select_input.rb +58 -0
  229. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  230. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  231. data/lib/active_admin/localizers.rb +11 -0
  232. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  233. data/lib/active_admin/menu.rb +102 -0
  234. data/lib/active_admin/menu_collection.rb +91 -0
  235. data/lib/active_admin/menu_item.rb +69 -0
  236. data/lib/active_admin/namespace.rb +266 -0
  237. data/lib/active_admin/namespace_settings.rb +123 -0
  238. data/lib/active_admin/order_clause.rb +48 -0
  239. data/lib/active_admin/orm/active_record.rb +5 -0
  240. data/lib/active_admin/orm/active_record/comments.rb +101 -0
  241. data/lib/active_admin/orm/active_record/comments/comment.rb +31 -0
  242. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
  243. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
  244. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
  245. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  246. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +100 -0
  247. data/lib/active_admin/orm/mongoid.rb +1 -0
  248. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  249. data/lib/active_admin/page.rb +111 -0
  250. data/lib/active_admin/page_controller.rb +29 -0
  251. data/lib/active_admin/page_dsl.rb +32 -0
  252. data/lib/active_admin/page_presenter.rb +33 -0
  253. data/lib/active_admin/pundit_adapter.rb +81 -0
  254. data/lib/active_admin/resource.rb +220 -0
  255. data/lib/active_admin/resource/action_items.rb +120 -0
  256. data/lib/active_admin/resource/attributes.rb +47 -0
  257. data/lib/active_admin/resource/belongs_to.rb +53 -0
  258. data/lib/active_admin/resource/controllers.rb +19 -0
  259. data/lib/active_admin/resource/includes.rb +12 -0
  260. data/lib/active_admin/resource/menu.rb +67 -0
  261. data/lib/active_admin/resource/model.rb +15 -0
  262. data/lib/active_admin/resource/naming.rb +62 -0
  263. data/lib/active_admin/resource/ordering.rb +11 -0
  264. data/lib/active_admin/resource/page_presenters.rb +82 -0
  265. data/lib/active_admin/resource/pagination.rb +23 -0
  266. data/lib/active_admin/resource/routes.rb +147 -0
  267. data/lib/active_admin/resource/scope_to.rb +74 -0
  268. data/lib/active_admin/resource/scopes.rb +52 -0
  269. data/lib/active_admin/resource/sidebars.rb +28 -0
  270. data/lib/active_admin/resource_collection.rb +72 -0
  271. data/lib/active_admin/resource_controller.rb +66 -0
  272. data/lib/active_admin/resource_controller/action_builder.rb +31 -0
  273. data/lib/active_admin/resource_controller/data_access.rb +322 -0
  274. data/lib/active_admin/resource_controller/decorators.rb +102 -0
  275. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  276. data/lib/active_admin/resource_controller/resource_class_methods.rb +26 -0
  277. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  278. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  279. data/lib/active_admin/resource_controller/streaming.rb +43 -0
  280. data/lib/active_admin/resource_dsl.rb +224 -0
  281. data/lib/active_admin/router.rb +114 -0
  282. data/lib/active_admin/scope.rb +64 -0
  283. data/lib/active_admin/settings_node.rb +19 -0
  284. data/lib/active_admin/sidebar_section.rb +39 -0
  285. data/lib/active_admin/version.rb +3 -0
  286. data/lib/active_admin/view_factory.rb +27 -0
  287. data/lib/active_admin/view_helpers.rb +20 -0
  288. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  289. data/lib/active_admin/view_helpers/auto_link_helper.rb +45 -0
  290. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +33 -0
  291. data/lib/active_admin/view_helpers/display_helper.rb +104 -0
  292. data/lib/active_admin/view_helpers/download_format_links_helper.rb +59 -0
  293. data/lib/active_admin/view_helpers/fields_for.rb +50 -0
  294. data/lib/active_admin/view_helpers/flash_helper.rb +14 -0
  295. data/lib/active_admin/view_helpers/form_helper.rb +20 -0
  296. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +100 -0
  297. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  298. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  299. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  300. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  301. data/lib/active_admin/views.rb +8 -0
  302. data/lib/active_admin/views/action_items.rb +17 -0
  303. data/lib/active_admin/views/components/active_admin_form.rb +155 -0
  304. data/lib/active_admin/views/components/attributes_table.rb +94 -0
  305. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  306. data/lib/active_admin/views/components/columns.rb +161 -0
  307. data/lib/active_admin/views/components/dropdown_menu.rb +71 -0
  308. data/lib/active_admin/views/components/index_list.rb +69 -0
  309. data/lib/active_admin/views/components/menu.rb +32 -0
  310. data/lib/active_admin/views/components/menu_item.rb +58 -0
  311. data/lib/active_admin/views/components/paginated_collection.rb +159 -0
  312. data/lib/active_admin/views/components/panel.rb +38 -0
  313. data/lib/active_admin/views/components/scopes.rb +72 -0
  314. data/lib/active_admin/views/components/sidebar.rb +13 -0
  315. data/lib/active_admin/views/components/sidebar_section.rb +34 -0
  316. data/lib/active_admin/views/components/site_title.rb +54 -0
  317. data/lib/active_admin/views/components/status_tag.rb +75 -0
  318. data/lib/active_admin/views/components/table_for.rb +209 -0
  319. data/lib/active_admin/views/components/tabs.rb +40 -0
  320. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  321. data/lib/active_admin/views/footer.rb +30 -0
  322. data/lib/active_admin/views/header.rb +19 -0
  323. data/lib/active_admin/views/index_as_block.rb +36 -0
  324. data/lib/active_admin/views/index_as_blog.rb +155 -0
  325. data/lib/active_admin/views/index_as_grid.rb +80 -0
  326. data/lib/active_admin/views/index_as_table.rb +399 -0
  327. data/lib/active_admin/views/pages/base.rb +126 -0
  328. data/lib/active_admin/views/pages/form.rb +64 -0
  329. data/lib/active_admin/views/pages/index.rb +163 -0
  330. data/lib/active_admin/views/pages/layout.rb +26 -0
  331. data/lib/active_admin/views/pages/page.rb +30 -0
  332. data/lib/active_admin/views/pages/show.rb +65 -0
  333. data/lib/active_admin/views/tabbed_navigation.rb +11 -0
  334. data/lib/active_admin/views/title_bar.rb +55 -0
  335. data/lib/activeadmin.rb +1 -0
  336. data/lib/generators/active_admin/assets/assets_generator.rb +14 -0
  337. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  338. data/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  339. data/lib/generators/active_admin/devise/devise_generator.rb +68 -0
  340. data/lib/generators/active_admin/install/install_generator.rb +49 -0
  341. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +328 -0
  342. data/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
  343. data/lib/generators/active_admin/install/templates/dashboard.rb +32 -0
  344. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
  345. data/lib/generators/active_admin/page/USAGE +8 -0
  346. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  347. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  348. data/lib/generators/active_admin/resource/resource_generator.rb +20 -0
  349. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  350. data/lib/ransack_ext.rb +20 -0
  351. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  352. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  353. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  354. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  355. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  356. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  357. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  358. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  359. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  360. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  361. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  362. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  363. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  364. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  365. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  366. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  367. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  368. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  369. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  370. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  371. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  372. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  373. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  374. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  375. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  376. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  377. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  378. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  379. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  380. metadata +624 -0
@@ -0,0 +1,14 @@
1
+ #footer {
2
+ padding: 30px 30px;
3
+ font-size: 0.8em;
4
+ clear: both;
5
+
6
+ p {
7
+ padding-top: 10px
8
+ }
9
+ }
10
+
11
+ // -------------------------------------- Index Footer (Under Table)
12
+ #index_footer { padding-top: 5px; text-align: right; font-size: 0.85em; }
13
+
14
+ .index_content { clear: both; }
@@ -0,0 +1,29 @@
1
+ #wrapper {
2
+ width: 100%;
3
+ }
4
+
5
+ .index #wrapper {
6
+ display: table;
7
+ }
8
+
9
+ #active_admin_content {
10
+ margin: 0;
11
+ padding: $horizontal-page-margin;
12
+
13
+ #main_content_wrapper {
14
+ float: left;
15
+ width: 100%;
16
+
17
+ #main_content{
18
+ margin-right: 300px;
19
+ }
20
+ }
21
+
22
+ &.without_sidebar #main_content_wrapper #main_content{ margin-right: 0; }
23
+
24
+ #sidebar {
25
+ float: left;
26
+ width: $sidebar-width;
27
+ margin-left: -$sidebar-width;
28
+ }
29
+ }
@@ -0,0 +1,41 @@
1
+ #title_bar {
2
+ @include section-header;
3
+ @include clearfix;
4
+ box-sizing: border-box;
5
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.37);
6
+ display: table;
7
+ border-bottom-color: #EEE;
8
+ width: 100%;
9
+ position: relative;
10
+ margin: 0;
11
+ padding: 10px $horizontal-page-margin;
12
+ z-index: 800;
13
+
14
+ #titlebar_left, #titlebar_right {
15
+ height: 50px;
16
+ vertical-align: middle;
17
+ display: table-cell;
18
+ }
19
+
20
+ #titlebar_right {
21
+ text-align: right;
22
+ }
23
+
24
+ h2 {
25
+ margin: 0;
26
+ padding: 0;
27
+ font-size: 2.6em;
28
+ line-height: 100%;
29
+ font-weight: bold;
30
+ }
31
+
32
+ .action_items {
33
+ span.action_item {
34
+ & > a, & > .dropdown_menu > a {
35
+ @include light-button;
36
+ padding: 12px 17px 10px;
37
+ margin: 0px;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,15 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.resend_confirmation_instructions.title') %></h2>
3
+
4
+ <%= render partial: "active_admin/devise/shared/error_messages", resource: resource %>
5
+ <%= active_admin_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
6
+ f.inputs do
7
+ f.input :email
8
+ end
9
+ f.actions do
10
+ f.action :submit, label: t('active_admin.devise.resend_confirmation_instructions.submit'), button_html: { value: t('active_admin.devise.resend_confirmation_instructions.submit') }
11
+ end
12
+ end %>
13
+
14
+ <%= render partial: "active_admin/devise/shared/links" %>
15
+ </div>
@@ -0,0 +1,8 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Someone has requested a link to change your password, and you can do this through the link below.</p>
4
+
5
+ <p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @resource.reset_password_token) %></p>
6
+
7
+ <p>If you didn't request this, please ignore this email.</p>
8
+ <p>Your password won't change until you access the link above and create a new one.</p>
@@ -0,0 +1,7 @@
1
+ <p>Hello <%= @resource.email %>!</p>
2
+
3
+ <p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
4
+
5
+ <p>Click the link below to unlock your account:</p>
6
+
7
+ <p><%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @resource.unlock_token) %></p>
@@ -0,0 +1,18 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.change_password.title') %></h2>
3
+
4
+ <%= render partial: "active_admin/devise/shared/error_messages", resource: resource %>
5
+ <%= active_admin_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
6
+ f.inputs do
7
+ f.input :password
8
+ f.input :password_confirmation
9
+ f.input :reset_password_token, as: :hidden, input_html: { value: resource.reset_password_token }
10
+ end
11
+ f.actions do
12
+ f.action :submit, label: t('active_admin.devise.change_password.submit'), button_html: { value: t('active_admin.devise.change_password.submit') }
13
+ end
14
+ end
15
+ %>
16
+
17
+ <%= render 'active_admin/devise/shared/links' %>
18
+ </div>
@@ -0,0 +1,15 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.reset_password.title') %></h2>
3
+
4
+ <%= render partial: "active_admin/devise/shared/error_messages", resource: resource %>
5
+ <%= active_admin_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
6
+ f.inputs do
7
+ f.input :email
8
+ end
9
+ f.actions do
10
+ f.action :submit, label: t('active_admin.devise.reset_password.submit'), button_html: { value: t('active_admin.devise.reset_password.submit') }
11
+ end
12
+ end %>
13
+
14
+ <%= render partial: "active_admin/devise/shared/links" %>
15
+ </div>
@@ -0,0 +1,21 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.sign_up.title') %></h2>
3
+
4
+ <% scope = Devise::Mapping.find_scope!(resource_name) %>
5
+ <%= render partial: "active_admin/devise/shared/error_messages", resource: resource %>
6
+ <%= active_admin_form_for(resource, as: resource_name, url: send(:"#{scope}_registration_path"), html: { id: "registration_new" }) do |f|
7
+ f.inputs do
8
+ resource.class.authentication_keys.each_with_index { |key, index|
9
+ f.input key, label: t('active_admin.devise.'+key.to_s+'.title'), input_html: { autofocus: index.zero? }
10
+ }
11
+ f.input :password, label: t('active_admin.devise.password.title')
12
+ f.input :password_confirmation, label: t('active_admin.devise.password_confirmation.title')
13
+ end
14
+ f.actions do
15
+ f.action :submit, label: t('active_admin.devise.login.submit'), button_html: { value: t('active_admin.devise.sign_up.submit') }
16
+ end
17
+ end
18
+ %>
19
+
20
+ <%= render partial: "active_admin/devise/shared/links" %>
21
+ </div>
@@ -0,0 +1,20 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.login.title') %></h2>
3
+
4
+ <% scope = Devise::Mapping.find_scope!(resource_name) %>
5
+ <%= active_admin_form_for(resource, as: resource_name, url: send(:"#{scope}_session_path"), html: { id: "session_new" }) do |f|
6
+ f.inputs do
7
+ resource.class.authentication_keys.each_with_index { |key, index|
8
+ f.input key, label: t("active_admin.devise.#{key}.title"), input_html: { autofocus: index.zero? }
9
+ }
10
+ f.input :password, label: t('active_admin.devise.password.title')
11
+ f.input :remember_me, label: t('active_admin.devise.login.remember_me'), as: :boolean if devise_mapping.rememberable?
12
+ end
13
+ f.actions do
14
+ f.action :submit, label: t('active_admin.devise.login.submit'), button_html: { value: t('active_admin.devise.login.submit') }
15
+ end
16
+ end
17
+ %>
18
+
19
+ <%= render partial: "active_admin/devise/shared/links" %>
20
+ </div>
@@ -0,0 +1,15 @@
1
+ <% if resource.errors.any? %>
2
+ <div id="error_explanation">
3
+ <h2>
4
+ <%= I18n.t("errors.messages.not_saved",
5
+ count: resource.errors.count,
6
+ resource: resource.class.model_name.human.downcase)
7
+ %>
8
+ </h2>
9
+ <ul>
10
+ <% resource.errors.full_messages.each do |message| %>
11
+ <li><%= message %></li>
12
+ <% end %>
13
+ </ul>
14
+ </div>
15
+ <% end %>
@@ -0,0 +1,33 @@
1
+ <%- if controller_name != 'sessions' %>
2
+ <% scope = Devise::Mapping.find_scope!(resource_name) %>
3
+ <%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path") %>
4
+ <br>
5
+ <% end -%>
6
+
7
+ <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
8
+ <%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name) %>
9
+ <br>
10
+ <% end -%>
11
+
12
+ <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
13
+ <%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name) %>
14
+ <br>
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
18
+ <%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name) %>
19
+ <br>
20
+ <% end -%>
21
+
22
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
23
+ <%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name) %>
24
+ <br>
25
+ <% end -%>
26
+
27
+ <%- if devise_mapping.omniauthable? %>
28
+ <%- resource_class.omniauth_providers.each do |provider| %>
29
+ <%= link_to t('active_admin.devise.links.sign_in_with_omniauth_provider', provider: provider.to_s.titleize),
30
+ omniauth_authorize_path(resource_name, provider) %>
31
+ <br>
32
+ <% end -%>
33
+ <% end -%>
@@ -0,0 +1,15 @@
1
+ <div id="login">
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.unlock.title') %></h2>
3
+
4
+ <%= render partial: "active_admin/devise/shared/error_messages", resource: resource %>
5
+ <%= active_admin_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
6
+ f.inputs do
7
+ f.input :email
8
+ end
9
+ f.actions do
10
+ f.action :submit, label: t('active_admin.devise.unlock.submit'), button_html: { value: t('active_admin.devise.unlock.submit') }
11
+ end
12
+ end %>
13
+
14
+ <%= render partial: "active_admin/devise/shared/links" %>
15
+ </div>
@@ -0,0 +1 @@
1
+ insert_tag active_admin_application.view_factory["page"]
@@ -0,0 +1 @@
1
+ insert_tag renderer_for(:edit)
@@ -0,0 +1 @@
1
+ insert_tag renderer_for(:index)
@@ -0,0 +1 @@
1
+ insert_tag renderer_for(:new)
@@ -0,0 +1 @@
1
+ insert_tag renderer_for(:show)
@@ -0,0 +1,11 @@
1
+ <%# Link to the "First" page
2
+ - available local variables
3
+ url: url to the first page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="first">
10
+ <%= link_to_unless current_page.first?, t('views.pagination.first').html_safe, url, remote: remote %>
11
+ </span>
@@ -0,0 +1,8 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <span class="page gap"><%= t('views.pagination.truncate').html_safe %></span>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Last" page
2
+ - available local variables
3
+ url: url to the last page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="last">
10
+ <%= link_to_unless current_page.last?, t('views.pagination.last').html_safe, url, remote: remote %>
11
+ </span>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Next" page
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="next">
10
+ <%= link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, rel: 'next', remote: remote %>
11
+ </span>
@@ -0,0 +1,12 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: a page object for "this" page
4
+ url: url to this page
5
+ current_page: a page object for the currently displayed page
6
+ total_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <span class="page<%= ' current' if page.current? %>">
11
+ <%= link_to_unless page.current?, page, url, {remote: remote, rel: page.rel} %>
12
+ </span>
@@ -0,0 +1,25 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ -%>
9
+ <%= paginator.render do -%>
10
+ <nav class="pagination">
11
+ <%= first_page_tag unless current_page.first? %>
12
+ <%= prev_page_tag unless current_page.first? %>
13
+ <% each_page do |page| -%>
14
+ <% if page.display_tag? -%>
15
+ <%= page_tag page %>
16
+ <% elsif !page.was_truncated? -%>
17
+ <%= gap_tag %>
18
+ <% end -%>
19
+ <% end -%>
20
+ <% unless current_page.out_of_range? %>
21
+ <%= next_page_tag unless current_page.last? %>
22
+ <%= last_page_tag unless current_page.last? %>
23
+ <% end %>
24
+ </nav>
25
+ <% end -%>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Previous" page
2
+ - available local variables
3
+ url: url to the previous page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="prev">
10
+ <%= link_to_unless current_page.first?, t('views.pagination.previous').html_safe, url, rel: 'prev', remote: remote %>
11
+ </span>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "First" page
2
+ - available local variables
3
+ url: url to the first page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="first">
10
+ <%= link_to_unless current_page.first?, t('views.pagination.first').html_safe, url, remote: remote %>
11
+ </span>
@@ -0,0 +1,8 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <span class="page gap"><%= t('views.pagination.truncate').html_safe %></span>
@@ -0,0 +1,11 @@
1
+ <%# Link to the "Next" page
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: a page object for the currently displayed page
5
+ total_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="next">
10
+ <%= link_to_unless current_page.last?, t('views.pagination.next').html_safe, url, rel: 'next', remote: remote %>
11
+ </span>
@@ -0,0 +1,12 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: a page object for "this" page
4
+ url: url to this page
5
+ current_page: a page object for the currently displayed page
6
+ total_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <span class="page<%= ' current' if page.current? %>">
11
+ <%= link_to_unless page.current?, page, url, {remote: remote, rel: page.rel} %>
12
+ </span>
@@ -0,0 +1,24 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ total_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ -%>
9
+ <%= paginator.render do -%>
10
+ <nav class="pagination">
11
+ <%= first_page_tag unless current_page.first? %>
12
+ <%= prev_page_tag unless current_page.first? %>
13
+ <% each_page do |page| -%>
14
+ <% if page.display_tag? -%>
15
+ <%= page_tag page %>
16
+ <% elsif !page.was_truncated? -%>
17
+ <%= gap_tag %>
18
+ <% end -%>
19
+ <% end -%>
20
+ <% unless current_page.out_of_range? %>
21
+ <%= next_page_tag unless current_page.last? %>
22
+ <% end %>
23
+ </nav>
24
+ <% end -%>