activeadmin 1.4.3 → 3.0.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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +609 -26
  3. data/CONTRIBUTING.md +54 -76
  4. data/README.md +46 -13
  5. data/app/assets/javascripts/active_admin/base.js +521 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  8. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  9. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  10. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  11. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  14. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  15. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  16. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  17. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  18. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  19. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  21. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  22. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  24. data/app/javascript/active_admin/base.js +28 -0
  25. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  26. data/app/javascript/active_admin/ext/jquery.js +9 -0
  27. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  28. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  29. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  30. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  31. data/app/javascript/active_admin/initializers/filters.js +10 -0
  32. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  33. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  34. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  35. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  36. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  37. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  38. data/app/javascript/active_admin/lib/filters.js +39 -0
  39. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  40. data/app/javascript/active_admin/lib/per-page.js +38 -0
  41. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  42. data/app/javascript/active_admin/lib/utils.js +40 -0
  43. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  44. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  45. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  46. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  47. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  48. data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
  49. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  50. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  51. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  52. data/app/views/active_admin/page/index.html.arb +1 -0
  53. data/app/views/active_admin/resource/edit.html.arb +1 -0
  54. data/app/views/active_admin/resource/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/new.html.arb +1 -0
  56. data/app/views/active_admin/resource/show.html.arb +1 -0
  57. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  58. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  59. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  61. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  62. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  63. data/app/views/layouts/active_admin.html.arb +1 -0
  64. data/app/views/layouts/active_admin_logged_out.html.erb +19 -8
  65. data/config/locales/ar.yml +9 -15
  66. data/config/locales/az.yml +131 -0
  67. data/config/locales/bg.yml +1 -8
  68. data/config/locales/bs.yml +1 -7
  69. data/config/locales/ca.yml +1 -8
  70. data/config/locales/cs.yml +1 -7
  71. data/config/locales/da.yml +1 -7
  72. data/config/locales/de-CH.yml +1 -7
  73. data/config/locales/de.yml +19 -8
  74. data/config/locales/el.yml +1 -7
  75. data/config/locales/en-CA.yml +4 -10
  76. data/config/locales/en-GB.yml +4 -10
  77. data/config/locales/en.yml +4 -11
  78. data/config/locales/eo.yml +1 -8
  79. data/config/locales/es-MX.yml +3 -8
  80. data/config/locales/es.yml +6 -13
  81. data/config/locales/fa.yml +1 -7
  82. data/config/locales/fi.yml +1 -7
  83. data/config/locales/fr.yml +9 -16
  84. data/config/locales/he.yml +1 -10
  85. data/config/locales/hr.yml +1 -7
  86. data/config/locales/hu.yml +3 -6
  87. data/config/locales/id.yml +1 -7
  88. data/config/locales/it.yml +19 -8
  89. data/config/locales/ja.yml +3 -10
  90. data/config/locales/ko.yml +2 -8
  91. data/config/locales/lt.yml +3 -10
  92. data/config/locales/lv.yml +3 -9
  93. data/config/locales/mk.yml +126 -0
  94. data/config/locales/nb.yml +1 -8
  95. data/config/locales/nl.yml +2 -9
  96. data/config/locales/pl.yml +1 -8
  97. data/config/locales/pt-BR.yml +1 -8
  98. data/config/locales/pt-PT.yml +1 -7
  99. data/config/locales/ro.yml +4 -9
  100. data/config/locales/ru.yml +1 -6
  101. data/config/locales/sk.yml +58 -6
  102. data/config/locales/sv-SE.yml +59 -39
  103. data/config/locales/tr.yml +1 -11
  104. data/config/locales/uk.yml +3 -6
  105. data/config/locales/vi.yml +40 -19
  106. data/config/locales/zh-CN.yml +35 -23
  107. data/config/locales/zh-TW.yml +1 -7
  108. data/lib/active_admin/abstract_view_factory.rb +1 -0
  109. data/lib/active_admin/application.rb +26 -33
  110. data/lib/active_admin/application_settings.rb +7 -3
  111. data/lib/active_admin/asset_registration.rb +4 -11
  112. data/lib/active_admin/authorization_adapter.rb +6 -3
  113. data/lib/active_admin/base_controller/authorization.rb +17 -16
  114. data/lib/active_admin/base_controller/menu.rb +1 -0
  115. data/lib/active_admin/base_controller.rb +12 -11
  116. data/lib/active_admin/batch_actions/controller.rb +5 -4
  117. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  118. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  119. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  120. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  121. data/lib/active_admin/batch_actions.rb +1 -0
  122. data/lib/active_admin/callbacks.rb +2 -1
  123. data/lib/active_admin/cancan_adapter.rb +2 -1
  124. data/lib/active_admin/collection_decorator.rb +32 -0
  125. data/lib/active_admin/component.rb +1 -0
  126. data/lib/active_admin/controller_action.rb +3 -1
  127. data/lib/active_admin/csv_builder.rb +15 -23
  128. data/lib/active_admin/dependency.rb +12 -87
  129. data/lib/active_admin/deprecation.rb +1 -0
  130. data/lib/active_admin/devise.rb +16 -5
  131. data/lib/active_admin/dsl.rb +3 -9
  132. data/lib/active_admin/dynamic_setting.rb +1 -0
  133. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  134. data/lib/active_admin/engine.rb +13 -9
  135. data/lib/active_admin/error.rb +5 -4
  136. data/lib/active_admin/filters/active.rb +2 -1
  137. data/lib/active_admin/filters/active_filter.rb +11 -10
  138. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  139. data/lib/active_admin/filters/dsl.rb +1 -0
  140. data/lib/active_admin/filters/forms.rb +9 -8
  141. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  142. data/lib/active_admin/filters/resource_extension.rb +33 -8
  143. data/lib/active_admin/filters.rb +8 -7
  144. data/lib/active_admin/form_builder.rb +27 -22
  145. data/lib/active_admin/generators/boilerplate.rb +13 -4
  146. data/lib/active_admin/helpers/collection.rb +2 -0
  147. data/lib/active_admin/helpers/i18n.rb +1 -0
  148. data/lib/active_admin/helpers/optional_display.rb +3 -2
  149. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  150. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  151. data/lib/active_admin/inputs/datepicker_input.rb +3 -2
  152. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -8
  153. data/lib/active_admin/inputs/filters/base.rb +2 -1
  154. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  155. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  156. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  157. data/lib/active_admin/inputs/filters/date_range_input.rb +18 -14
  158. data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
  159. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  160. data/lib/active_admin/inputs/filters/string_input.rb +2 -1
  161. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  162. data/lib/active_admin/inputs.rb +1 -0
  163. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  164. data/lib/active_admin/localizers.rb +2 -1
  165. data/lib/active_admin/menu.rb +7 -3
  166. data/lib/active_admin/menu_collection.rb +1 -0
  167. data/lib/active_admin/menu_item.rb +8 -7
  168. data/lib/active_admin/namespace.rb +15 -14
  169. data/lib/active_admin/namespace_settings.rb +28 -8
  170. data/lib/active_admin/order_clause.rb +3 -2
  171. data/lib/active_admin/orm/active_record/comments/comment.rb +13 -4
  172. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  173. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  174. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  175. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
  176. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  177. data/lib/active_admin/orm/active_record/comments.rb +30 -29
  178. data/lib/active_admin/orm/active_record.rb +2 -1
  179. data/lib/active_admin/orm/mongoid.rb +1 -0
  180. data/lib/active_admin/page.rb +2 -1
  181. data/lib/active_admin/page_controller.rb +1 -0
  182. data/lib/active_admin/page_dsl.rb +2 -1
  183. data/lib/active_admin/page_presenter.rb +3 -1
  184. data/lib/active_admin/pundit_adapter.rb +71 -16
  185. data/lib/active_admin/resource/action_items.rb +6 -5
  186. data/lib/active_admin/resource/attributes.rb +9 -5
  187. data/lib/active_admin/resource/belongs_to.rb +9 -3
  188. data/lib/active_admin/resource/controllers.rb +2 -1
  189. data/lib/active_admin/resource/includes.rb +1 -0
  190. data/lib/active_admin/resource/menu.rb +6 -5
  191. data/lib/active_admin/resource/model.rb +16 -0
  192. data/lib/active_admin/resource/naming.rb +6 -5
  193. data/lib/active_admin/resource/ordering.rb +1 -0
  194. data/lib/active_admin/resource/page_presenters.rb +1 -0
  195. data/lib/active_admin/resource/pagination.rb +1 -0
  196. data/lib/active_admin/resource/routes.rb +26 -14
  197. data/lib/active_admin/resource/scope_to.rb +8 -7
  198. data/lib/active_admin/resource/scopes.rb +4 -3
  199. data/lib/active_admin/resource/sidebars.rb +3 -2
  200. data/lib/active_admin/resource.rb +37 -22
  201. data/lib/active_admin/resource_collection.rb +3 -2
  202. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  203. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  204. data/lib/active_admin/resource_controller/decorators.rb +8 -29
  205. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  206. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  207. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  208. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  209. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  210. data/lib/active_admin/resource_controller.rb +14 -10
  211. data/lib/active_admin/resource_dsl.rb +16 -28
  212. data/lib/active_admin/router.rb +4 -2
  213. data/lib/active_admin/scope.rb +16 -11
  214. data/lib/active_admin/settings_node.rb +2 -1
  215. data/lib/active_admin/sidebar_section.rb +4 -1
  216. data/lib/active_admin/version.rb +2 -1
  217. data/lib/active_admin/view_factory.rb +18 -17
  218. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  219. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  220. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  221. data/lib/active_admin/view_helpers/display_helper.rb +32 -8
  222. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  223. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  224. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  225. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  226. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  227. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  228. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  229. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  230. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  231. data/lib/active_admin/view_helpers.rb +2 -1
  232. data/lib/active_admin/views/action_items.rb +1 -0
  233. data/lib/active_admin/views/components/active_admin_form.rb +14 -11
  234. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  235. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  236. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  237. data/lib/active_admin/views/components/columns.rb +1 -0
  238. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  239. data/lib/active_admin/views/components/index_list.rb +4 -3
  240. data/lib/active_admin/views/components/menu.rb +2 -1
  241. data/lib/active_admin/views/components/menu_item.rb +5 -4
  242. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  243. data/lib/active_admin/views/components/panel.rb +2 -1
  244. data/lib/active_admin/views/components/scopes.rb +8 -5
  245. data/lib/active_admin/views/components/sidebar.rb +1 -0
  246. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  247. data/lib/active_admin/views/components/site_title.rb +2 -1
  248. data/lib/active_admin/views/components/status_tag.rb +14 -26
  249. data/lib/active_admin/views/components/table_for.rb +21 -19
  250. data/lib/active_admin/views/components/tabs.rb +14 -4
  251. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  252. data/lib/active_admin/views/footer.rb +4 -2
  253. data/lib/active_admin/views/header.rb +3 -2
  254. data/lib/active_admin/views/index_as_block.rb +1 -0
  255. data/lib/active_admin/views/index_as_blog.rb +2 -1
  256. data/lib/active_admin/views/index_as_grid.rb +2 -1
  257. data/lib/active_admin/views/index_as_table.rb +27 -22
  258. data/lib/active_admin/views/pages/base.rb +25 -14
  259. data/lib/active_admin/views/pages/form.rb +1 -0
  260. data/lib/active_admin/views/pages/index.rb +16 -13
  261. data/lib/active_admin/views/pages/layout.rb +1 -0
  262. data/lib/active_admin/views/pages/page.rb +1 -0
  263. data/lib/active_admin/views/pages/show.rb +2 -7
  264. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  265. data/lib/active_admin/views/title_bar.rb +2 -1
  266. data/lib/active_admin/views.rb +2 -1
  267. data/lib/active_admin.rb +67 -63
  268. data/lib/activeadmin.rb +2 -1
  269. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  270. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  271. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  272. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  273. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  274. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +62 -3
  275. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  276. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  277. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  278. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  279. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  280. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  281. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  282. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  283. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  284. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  285. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  286. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  287. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  288. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  290. metadata +115 -173
  291. data/.circleci/config.yml +0 -572
  292. data/.github/ISSUE_TEMPLATE.md +0 -20
  293. data/.gitignore +0 -16
  294. data/.mdlrc +0 -1
  295. data/.rspec +0 -1
  296. data/.rspec_parallel +0 -2
  297. data/.rubocop.yml +0 -99
  298. data/.simplecov +0 -9
  299. data/.yardopts +0 -7
  300. data/Gemfile +0 -30
  301. data/Gemfile.common +0 -26
  302. data/Gemfile.lock +0 -433
  303. data/Rakefile +0 -24
  304. data/activeadmin.gemspec +0 -32
  305. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  306. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  307. data/app/assets/images/active_admin/orderable.png +0 -0
  308. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  309. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  310. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  311. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  312. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  313. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  314. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  315. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  316. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  317. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  318. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  319. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  320. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  321. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  322. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  323. data/bin/install_chromedriver.sh +0 -17
  324. data/config/i18n-tasks.yml +0 -26
  325. data/config/mdl_style.rb +0 -11
  326. data/cucumber.yml +0 -7
  327. data/docs/.gitignore +0 -1
  328. data/docs/0-installation.md +0 -118
  329. data/docs/1-general-configuration.md +0 -204
  330. data/docs/10-custom-pages.md +0 -150
  331. data/docs/11-decorators.md +0 -59
  332. data/docs/12-arbre-components.md +0 -201
  333. data/docs/13-authorization-adapter.md +0 -285
  334. data/docs/14-gotchas.md +0 -138
  335. data/docs/2-resource-customization.md +0 -466
  336. data/docs/3-index-pages/custom-index.md +0 -35
  337. data/docs/3-index-pages/index-as-block.md +0 -19
  338. data/docs/3-index-pages/index-as-blog.md +0 -69
  339. data/docs/3-index-pages/index-as-grid.md +0 -27
  340. data/docs/3-index-pages/index-as-table.md +0 -227
  341. data/docs/3-index-pages.md +0 -328
  342. data/docs/4-csv-format.md +0 -74
  343. data/docs/5-forms.md +0 -232
  344. data/docs/6-show-pages.md +0 -81
  345. data/docs/7-sidebars.md +0 -75
  346. data/docs/8-custom-actions.md +0 -177
  347. data/docs/9-batch-actions.md +0 -237
  348. data/docs/CNAME +0 -1
  349. data/docs/Gemfile +0 -4
  350. data/docs/Gemfile.lock +0 -249
  351. data/docs/README.md +0 -24
  352. data/docs/_config.yml +0 -2
  353. data/docs/_includes/footer.html +0 -8
  354. data/docs/_includes/google-analytics.html +0 -16
  355. data/docs/_includes/head.html +0 -7
  356. data/docs/_includes/toc.html +0 -98
  357. data/docs/_includes/top-menu.html +0 -17
  358. data/docs/_layouts/default.html +0 -21
  359. data/docs/documentation.md +0 -60
  360. data/docs/images/activeadmin.png +0 -0
  361. data/docs/images/code-header.png +0 -0
  362. data/docs/images/divider.png +0 -0
  363. data/docs/images/features.png +0 -0
  364. data/docs/images/tidelift.svg +0 -14
  365. data/docs/index.html +0 -125
  366. data/docs/stylesheets/main.css +0 -1176
  367. data/gemfiles/rails_42.gemfile +0 -10
  368. data/gemfiles/rails_42.gemfile.lock +0 -339
  369. data/gemfiles/rails_50.gemfile +0 -10
  370. data/gemfiles/rails_50.gemfile.lock +0 -353
  371. data/gemfiles/rails_51.gemfile +0 -10
  372. data/gemfiles/rails_51.gemfile.lock +0 -353
  373. data/lib/active_admin/event.rb +0 -24
  374. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  375. data/lib/active_admin/reloader.rb +0 -25
  376. data/lib/bug_report_templates/active_admin_master.rb +0 -111
  377. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  378. data/lib/ransack_ext.rb +0 -20
  379. data/tasks/application_generator.rb +0 -50
  380. data/tasks/docs.rake +0 -64
  381. data/tasks/gemfiles.rake +0 -8
  382. data/tasks/lint.rake +0 -110
  383. data/tasks/local.rake +0 -27
  384. data/tasks/release.rake +0 -6
  385. data/tasks/test.rake +0 -42
@@ -1,42 +0,0 @@
1
- onDOMReady = ->
2
- #
3
- # Use ActiveAdmin.modal_dialog to prompt user if confirmation is required for current Batch Action
4
- #
5
- $('.batch_actions_selector li a').click (e)->
6
- e.stopPropagation() # prevent Rails UJS click event
7
- e.preventDefault()
8
- if message = $(@).data 'confirm'
9
- ActiveAdmin.modal_dialog message, $(@).data('inputs'), (inputs)=>
10
- $(@).trigger 'confirm:complete', inputs
11
- else
12
- $(@).trigger 'confirm:complete'
13
-
14
- $('.batch_actions_selector li a').on 'confirm:complete', (e, inputs)->
15
- if val = JSON.stringify inputs
16
- $('#batch_action_inputs').removeAttr('disabled').val val
17
- else
18
- $('#batch_action_inputs').attr 'disabled', 'disabled'
19
-
20
- $('#batch_action').val $(@).data 'action'
21
- $('#collection_selection').submit()
22
-
23
- #
24
- # Add checkbox selection to resource tables and lists if batch actions are enabled
25
- #
26
-
27
- if $(".batch_actions_selector").length && $(":checkbox.toggle_all").length
28
-
29
- if $(".paginated_collection table.index_table").length
30
- $(".paginated_collection table.index_table").tableCheckboxToggler()
31
- else
32
- $(".paginated_collection").checkboxToggler()
33
-
34
- $(document).on 'change', '.paginated_collection :checkbox', ->
35
- if $(".paginated_collection :checkbox:checked").length
36
- $(".batch_actions_selector").each -> $(@).aaDropdownMenu("enable")
37
- else
38
- $(".batch_actions_selector").each -> $(@).aaDropdownMenu("disable")
39
-
40
- $(document).
41
- ready(onDOMReady).
42
- on 'page:load turbolinks:load', onDOMReady
@@ -1,46 +0,0 @@
1
- class ActiveAdmin.CheckboxToggler
2
- constructor: (@options, @container)->
3
- defaults = {}
4
- @options = $.extend defaults, @options
5
- @_init()
6
- @_bind()
7
-
8
- _init: ->
9
- if not @container
10
- throw new Error('Container element not found')
11
- else
12
- @$container = $(@container)
13
-
14
- if not @$container.find('.toggle_all').length
15
- throw new Error('"toggle all" checkbox not found')
16
- else
17
- @toggle_all_checkbox = @$container.find '.toggle_all'
18
-
19
- @checkboxes = @$container.find(':checkbox').not @toggle_all_checkbox
20
-
21
- _bind: ->
22
- @checkboxes.change (e)=> @_didChangeCheckbox e.target
23
- @toggle_all_checkbox.change => @_didChangeToggleAllCheckbox()
24
-
25
- _didChangeCheckbox: (checkbox)->
26
- numChecked = @checkboxes.filter(':checked').length
27
-
28
- allChecked = numChecked == @checkboxes.length
29
- someChecked = numChecked > 0 && numChecked < @checkboxes.length
30
-
31
- @toggle_all_checkbox.prop checked: allChecked, indeterminate: someChecked
32
-
33
- _didChangeToggleAllCheckbox: ->
34
- setting = @toggle_all_checkbox.prop 'checked'
35
- @checkboxes.prop checked: setting
36
- setting
37
-
38
- option: (key, value) ->
39
- if $.isPlainObject(key)
40
- @options = $.extend(true, @options, key)
41
- else if key?
42
- @options[key]
43
- else
44
- @options[key] = value
45
-
46
- $.widget.bridge 'checkboxToggler', ActiveAdmin.CheckboxToggler
@@ -1,104 +0,0 @@
1
- class ActiveAdmin.DropdownMenu
2
-
3
- constructor: (@options, @element) ->
4
- @$element = $(@element)
5
-
6
- defaults = {
7
- fadeInDuration: 20,
8
- fadeOutDuration: 100,
9
- onClickActionItemCallback: null
10
- }
11
-
12
- @options = $.extend defaults, @options
13
- @isOpen = false
14
-
15
- @$menuButton = @$element.find '.dropdown_menu_button'
16
- @$menuList = @$element.find '.dropdown_menu_list_wrapper'
17
-
18
- @_buildMenuList()
19
- @_bind()
20
-
21
- open: ->
22
- @isOpen = true
23
- @$menuList.fadeIn @options.fadeInDuration
24
-
25
- @_position()
26
- @
27
-
28
-
29
- close: ->
30
- @isOpen = false
31
- @$menuList.fadeOut this.options.fadeOutDuration
32
- @
33
-
34
- destroy: ->
35
- @$element = null
36
- @
37
-
38
- isDisabled: ->
39
- @$menuButton.hasClass 'disabled'
40
-
41
- disable: ->
42
- @$menuButton.addClass 'disabled'
43
-
44
- enable: ->
45
- @$menuButton.removeClass 'disabled'
46
-
47
- option: (key, value) ->
48
- if $.isPlainObject(key)
49
- @options = $.extend(true, @options, key)
50
- else if key?
51
- @options[key]
52
- else
53
- @options[key] = value
54
-
55
- # Private
56
-
57
- _buildMenuList: ->
58
- @$nipple = $('<div class="dropdown_menu_nipple"></div>')
59
- @$menuList.prepend @$nipple
60
- @$menuList.hide()
61
-
62
- _bind: ->
63
- $('body').click =>
64
- @close() if @isOpen
65
-
66
- @$menuButton.click =>
67
- unless @isDisabled()
68
- if @isOpen then @close() else @open()
69
- false
70
-
71
- _position: ->
72
- @$menuList.css 'top', @$menuButton.position().top + @$menuButton.outerHeight() + 10
73
-
74
- button_left = @$menuButton.position().left
75
- button_center = @$menuButton.outerWidth() / 2
76
- button_right = button_left + button_center * 2
77
- menu_center = @$menuList.outerWidth() / 2
78
- nipple_center = @$nipple.outerWidth() / 2
79
- window_right = $(window).width()
80
-
81
- centered_menu_left = button_left + button_center - menu_center
82
- centered_menu_right = button_left + button_center + menu_center
83
-
84
- if centered_menu_left < 0
85
- # Left align with button
86
- @$menuList.css 'left', button_left
87
- @$nipple.css 'left', button_center - nipple_center
88
- else if centered_menu_right > window_right
89
- # Right align with button
90
- @$menuList.css 'right', window_right - button_right
91
- @$nipple.css 'right', button_center - nipple_center
92
- else
93
- # Center align under button
94
- @$menuList.css 'left', centered_menu_left
95
- @$nipple.css 'left', menu_center - nipple_center
96
-
97
- $.widget.bridge 'aaDropdownMenu', ActiveAdmin.DropdownMenu
98
-
99
- onDOMReady = ->
100
- $('.dropdown_menu').aaDropdownMenu()
101
-
102
- $(document).
103
- ready(onDOMReady).
104
- on 'page:load turbolinks:load', onDOMReady
@@ -1,19 +0,0 @@
1
- ActiveAdmin.flash =
2
- class Flash
3
- @error: (message, close_after) ->
4
- new @ message, "error", close_after
5
- @notice: (message, close_after) ->
6
- new @ message, "notice", close_after
7
- reference: ->
8
- @reference
9
- constructor: (@message, @type = "notice", close_after) ->
10
- @reference = jQuery("<div>").addClass("flash flash_#{@type}").text(@message)
11
- jQuery ".flashes"
12
- .append @reference
13
- @close_after close_after if close_after?
14
- close_after: (close_after) ->
15
- setTimeout =>
16
- @close()
17
- , close_after * 1000
18
- close: ->
19
- @reference.remove()
@@ -1,79 +0,0 @@
1
- $ ->
2
- # Provides a before-removal hook:
3
- # $ ->
4
- # # This is a good place to tear down JS plugins to prevent memory leaks.
5
- # $(document).on 'has_many_remove:before', '.has_many_container', (e, fieldset, container)->
6
- # fieldset.find('.select2').select2 'destroy'
7
- #
8
- # # If you need to do anything after removing the items you can use the
9
- # has_many_remove:after hook
10
- # $(document).on 'has_many_remove:after', '.has_many_container', (e, fieldset, container)->
11
- # list_item_count = container.find('.has_many_fields').length
12
- # alert("There are now #{list_item_count} items in the list")
13
- #
14
- $(document).on 'click', 'a.button.has_many_remove', (e)->
15
- e.preventDefault()
16
- parent = $(@).closest '.has_many_container'
17
- to_remove = $(@).closest 'fieldset'
18
- recompute_positions parent
19
-
20
- parent.trigger 'has_many_remove:before', [to_remove, parent]
21
- to_remove.remove()
22
- parent.trigger 'has_many_remove:after', [to_remove, parent]
23
-
24
- # Provides before and after creation hooks:
25
- # $ ->
26
- # # The before hook allows you to prevent the creation of new records.
27
- # $(document).on 'has_many_add:before', '.has_many_container', (e, container)->
28
- # if $(@).children('fieldset').length >= 3
29
- # alert "you've reached the maximum number of items"
30
- # e.preventDefault()
31
- #
32
- # # The after hook is a good place to initialize JS plugins and the like.
33
- # $(document).on 'has_many_add:after', '.has_many_container', (e, fieldset, container)->
34
- # fieldset.find('select').chosen()
35
- #
36
- $(document).on 'click', 'a.button.has_many_add', (e)->
37
- e.preventDefault()
38
- parent = $(@).closest '.has_many_container'
39
- parent.trigger before_add = $.Event('has_many_add:before'), [parent]
40
-
41
- unless before_add.isDefaultPrevented()
42
- index = parent.data('has_many_index') || parent.children('fieldset').length - 1
43
- parent.data has_many_index: ++index
44
-
45
- regex = new RegExp $(@).data('placeholder'), 'g'
46
- html = $(@).data('html').replace regex, index
47
-
48
- fieldset = $(html).insertBefore(@)
49
- recompute_positions parent
50
- parent.trigger 'has_many_add:after', [fieldset, parent]
51
-
52
- $(document).on 'change','.has_many_container[data-sortable] :input[name$="[_destroy]"]', ->
53
- recompute_positions $(@).closest '.has_many'
54
-
55
- init_sortable()
56
- $(document).on 'has_many_add:after', '.has_many_container', init_sortable
57
-
58
-
59
- init_sortable = ->
60
- elems = $('.has_many_container[data-sortable]:not(.ui-sortable)')
61
- elems.sortable \
62
- items: '> fieldset',
63
- handle: '> ol > .handle',
64
- stop: recompute_positions
65
- elems.each recompute_positions
66
-
67
- recompute_positions = (parent)->
68
- parent = if parent instanceof jQuery then parent else $(@)
69
- input_name = parent.data 'sortable'
70
- position = parseInt(parent.data('sortable-start') || 0, 10)
71
-
72
- parent.children('fieldset').each ->
73
- # We ignore nested inputs, so when defining your has_many, be sure to keep
74
- # your sortable input at the root of the has_many block.
75
- destroy_input = $(@).find "> ol > .input > :input[name$='[_destroy]']"
76
- sortable_input = $(@).find "> ol > .input > :input[name$='[#{input_name}]']"
77
-
78
- if sortable_input.length
79
- sortable_input.val if destroy_input.is ':checked' then '' else position++
@@ -1,45 +0,0 @@
1
- ActiveAdmin.modal_dialog = (message, inputs, callback)->
2
- html = """<form id="dialog_confirm" title="#{message}"><ul>"""
3
- for name, type of inputs
4
- if /^(datepicker|checkbox|text|number)$/.test type
5
- wrapper = 'input'
6
- else if type is 'textarea'
7
- wrapper = 'textarea'
8
- else if $.isArray type
9
- [wrapper, elem, opts, type] = ['select', 'option', type, '']
10
- else
11
- throw new Error "Unsupported input type: {#{name}: #{type}}"
12
-
13
- klass = if type is 'datepicker' then type else ''
14
- html += """<li>
15
- <label>#{name.charAt(0).toUpperCase() + name.slice(1)}</label>
16
- <#{wrapper} name="#{name}" class="#{klass}" type="#{type}">""" +
17
- (if opts then (
18
- for v in opts
19
- $elem = $("<#{elem}/>")
20
- if $.isArray v
21
- $elem.text(v[0]).val(v[1])
22
- else
23
- $elem.text(v)
24
- $elem.wrap('<div>').parent().html()
25
- ).join '' else '') +
26
- "</#{wrapper}>" +
27
- "</li>"
28
- [wrapper, elem, opts, type, klass] = [] # unset any temporary variables
29
-
30
- html += "</ul></form>"
31
-
32
- form = $(html).appendTo('body')
33
- $('body').trigger 'modal_dialog:before_open', [form]
34
-
35
- form.dialog
36
- modal: true
37
- open: (event, ui) ->
38
- $('body').trigger 'modal_dialog:after_open', [form]
39
- dialogClass: 'active_admin_dialog'
40
- buttons:
41
- OK: ->
42
- callback $(@).serializeObject()
43
- $(@).dialog('close')
44
- Cancel: ->
45
- $(@).dialog('close').remove()
@@ -1,46 +0,0 @@
1
- class ActiveAdmin.PerPage
2
- constructor: (@options, @element)->
3
- @$element = $(@element)
4
- @_init()
5
- @_bind()
6
-
7
- _init: ->
8
- @$params = @_queryParams()
9
-
10
- _bind: ->
11
- @$element.change =>
12
- @$params['per_page'] = @$element.val()
13
- delete @$params['page']
14
- if typeof Turbolinks != 'undefined'
15
- Turbolinks.visit(window.location.href.split('?')[0] + '?' + $.param(@$params))
16
- else
17
- location.search = $.param(@$params)
18
-
19
- _queryParams: ->
20
- query = window.location.search.substring(1)
21
- params = {}
22
- re = /([^&=]+)=([^&]*)/g
23
- while m = re.exec(query)
24
- params[@_decode(m[1])] = @_decode(m[2])
25
- params
26
-
27
- _decode: (value) ->
28
- #replace "+" before decodeURIComponent
29
- decodeURIComponent(value.replace(/\+/g, '%20'))
30
-
31
- option: (key, value) ->
32
- if $.isPlainObject(key)
33
- @options = $.extend(true, @options, key)
34
- else if key?
35
- @options[key]
36
- else
37
- @options[key] = value
38
-
39
- $.widget.bridge 'perPage', ActiveAdmin.PerPage
40
-
41
- onDOMReady = ->
42
- $('.pagination_per_page select').perPage()
43
-
44
- $(document).
45
- ready(onDOMReady).
46
- on 'page:load turbolinks:load', onDOMReady
@@ -1,22 +0,0 @@
1
- class ActiveAdmin.TableCheckboxToggler extends ActiveAdmin.CheckboxToggler
2
- _init: ->
3
- super
4
-
5
- _bind: ->
6
- super
7
-
8
- @$container.find('tbody td').click (e)=>
9
- @_didClickCell(e.target) if e.target.type isnt 'checkbox'
10
-
11
- _didChangeCheckbox: (checkbox) ->
12
- super
13
-
14
- $(checkbox).parents('tr').toggleClass 'selected', checkbox.checked
15
-
16
- _didChangeToggleAllCheckbox: ->
17
- @$container.find('tbody tr').toggleClass 'selected', super
18
-
19
- _didClickCell: (cell) ->
20
- $(cell).parent('tr').find(':checkbox').click()
21
-
22
- $.widget.bridge 'tableCheckboxToggler', ActiveAdmin.TableCheckboxToggler
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -euo pipefail
4
-
5
- curl --silent \
6
- --show-error \
7
- --location \
8
- --fail \
9
- --retry 3 \
10
- --output /tmp/chromedriver_linux64.zip \
11
- https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
12
-
13
- unzip /tmp/chromedriver_linux64.zip chromedriver -d ~/.local/bin
14
-
15
- rm /tmp/chromedriver_linux64.zip
16
-
17
- chromedriver --version
@@ -1,26 +0,0 @@
1
- ---
2
-
3
- # The "main" locale
4
- base_locale: en
5
-
6
- # Read and write translations
7
- data:
8
- yaml:
9
- write:
10
- # Do not wrap lines at 80 characters
11
- line_width: -1
12
-
13
- # Find translate calls
14
- search:
15
- # Paths or `File.find` patterns to search in
16
- paths:
17
- - app
18
- - lib
19
-
20
- # Files or `File.fnmatch` patterns to exclude from search
21
- exclude:
22
- - app/assets/images
23
- - lib/bug_report_templates/tmp
24
-
25
- # Guess usages such as t("categories.#{category}.title")
26
- strict: false
data/config/mdl_style.rb DELETED
@@ -1,11 +0,0 @@
1
- all
2
-
3
- exclude_rule "first-header-h1"
4
-
5
- exclude_rule "line-length"
6
-
7
- exclude_rule "no-duplicate-header"
8
-
9
- rule "no-trailing-punctuation", punctuation: ".,;:!"
10
-
11
- exclude_rule "first-line-h1"
data/cucumber.yml DELETED
@@ -1,7 +0,0 @@
1
- <%
2
- std_opts = "--format progress --order random"
3
- default_opts = std_opts + " --format ParallelTests::Gherkin::RuntimeLogger --out tmp/parallel_runtime_cucumber.log"
4
- %>
5
-
6
- default: <%= default_opts %> --require features/support/regular_env.rb features --tags 'not @requires-reloading' --tags 'not @wip'
7
- class-reloading: CLASS_RELOADING=true <%= std_opts %> --require features/support/reload_env.rb features --tags @requires-reloading
data/docs/.gitignore DELETED
@@ -1 +0,0 @@
1
- _site/
@@ -1,118 +0,0 @@
1
- ---
2
- redirect_from: /docs/0-installation.html
3
- ---
4
-
5
- # Installation
6
-
7
- Active Admin is a Ruby Gem.
8
-
9
- ```ruby
10
- gem 'activeadmin'
11
-
12
- # Plus integrations with:
13
- gem 'devise'
14
- gem 'cancan' # or cancancan
15
- gem 'draper'
16
- gem 'pundit'
17
- ```
18
-
19
- More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
20
- that can be injected into your existing Ruby on Rails application.
21
-
22
- ## Setting up Active Admin
23
-
24
- After installing the gem, you need to run the generator. Here are your options:
25
-
26
- * If you don't want to use Devise, run it with `--skip-users`:
27
-
28
- ```sh
29
- rails g active_admin:install --skip-users
30
- ```
31
-
32
- * If you want to use an existing user class, provide it as an argument:
33
-
34
- ```sh
35
- rails g active_admin:install User
36
- ```
37
-
38
- * Otherwise, with no arguments we will create an `AdminUser` class to use with Devise:
39
-
40
- ```sh
41
- rails g active_admin:install
42
- ```
43
-
44
- The generator adds these core files, among others:
45
-
46
- * `app/admin/dashboard.rb`
47
- * `app/assets/javascripts/active_admin.js.coffee`
48
- * `app/assets/stylesheets/active_admin.scss`
49
- * `config/initializers/active_admin.rb`
50
-
51
- Now, migrate and seed your database before starting the server:
52
-
53
- ```sh
54
- rake db:migrate
55
- rake db:seed
56
- rails server
57
- ```
58
-
59
- Visit `http://localhost:3000/admin` and log in as the default user:
60
-
61
- * __User__: admin@example.com
62
- * __Password__: password
63
-
64
- Voila! You're on your brand new Active Admin dashboard.
65
-
66
- To register an existing model with Active Admin:
67
-
68
- ```sh
69
- rails generate active_admin:resource MyModel
70
- ```
71
-
72
- This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your
73
- browser to see it.
74
-
75
- # Upgrading
76
-
77
- When upgrading to a new version, it's a good idea to check the [CHANGELOG].
78
-
79
- To update the JS & CSS assets:
80
-
81
- ```sh
82
- rails generate active_admin:assets
83
- ```
84
-
85
- You should also sync these files with their counterparts in the AA source code:
86
-
87
- * app/admin/dashboard.rb [~>][dashboard.rb]
88
- * config/initializers/active_admin.rb [~>][active_admin.rb]
89
-
90
- # Gem compatibility
91
-
92
- ## will_paginate
93
-
94
- If you use `will_paginate` in your app, you need to configure an initializer for
95
- Kaminari to avoid conflicts.
96
-
97
- ```ruby
98
- # config/initializers/kaminari.rb
99
- Kaminari.configure do |config|
100
- config.page_method_name = :per_page_kaminari
101
- end
102
- ```
103
-
104
- If you are also using [Draper](https://github.com/drapergem/draper), you may
105
- want to make sure `per_page_kaminari` is delegated correctly:
106
-
107
- ```ruby
108
- Draper::CollectionDecorator.send :delegate, :per_page_kaminari
109
- ```
110
-
111
- ## simple_form
112
-
113
- If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
114
-
115
- [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
116
- [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
117
- [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
118
- [read #2703]: https://github.com/activeadmin/activeadmin/issues/2703#issuecomment-38140864