activeadmin 1.1.0 → 2.4.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 (465) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +469 -100
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +89 -47
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  21. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  22. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  25. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  26. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  27. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  28. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  29. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  30. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  31. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  32. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  33. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  34. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  35. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  36. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  37. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  38. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  39. data/config/locales/ar.yml +3 -2
  40. data/config/locales/bg.yml +1 -1
  41. data/config/locales/bs.yml +1 -0
  42. data/config/locales/ca.yml +1 -1
  43. data/config/locales/cs.yml +1 -0
  44. data/config/locales/da.yml +1 -0
  45. data/config/locales/de-CH.yml +1 -0
  46. data/config/locales/de.yml +29 -0
  47. data/config/locales/el.yml +1 -0
  48. data/config/locales/en-CA.yml +1 -0
  49. data/config/locales/en-GB.yml +1 -0
  50. data/config/locales/en.yml +21 -1
  51. data/config/locales/eo.yml +145 -0
  52. data/config/locales/es-MX.yml +1 -0
  53. data/config/locales/es.yml +21 -1
  54. data/config/locales/fa.yml +1 -0
  55. data/config/locales/fi.yml +2 -1
  56. data/config/locales/fr.yml +2 -1
  57. data/config/locales/he.yml +1 -1
  58. data/config/locales/hr.yml +1 -0
  59. data/config/locales/hu.yml +5 -0
  60. data/config/locales/id.yml +1 -0
  61. data/config/locales/it.yml +13 -3
  62. data/config/locales/ja.yml +6 -0
  63. data/config/locales/ko.yml +1 -0
  64. data/config/locales/lt.yml +3 -2
  65. data/config/locales/lv.yml +1 -0
  66. data/config/locales/mk.yml +134 -0
  67. data/config/locales/nb.yml +16 -5
  68. data/config/locales/nl.yml +12 -0
  69. data/config/locales/pl.yml +72 -3
  70. data/config/locales/pt-BR.yml +9 -0
  71. data/config/locales/pt-PT.yml +1 -0
  72. data/config/locales/ro.yml +1 -0
  73. data/config/locales/ru.yml +3 -0
  74. data/config/locales/sk.yml +60 -0
  75. data/config/locales/sv-SE.yml +3 -0
  76. data/config/locales/tr.yml +10 -0
  77. data/config/locales/uk.yml +3 -0
  78. data/config/locales/vi.yml +48 -6
  79. data/config/locales/zh-CN.yml +34 -5
  80. data/config/locales/zh-TW.yml +1 -0
  81. data/docs/.gitignore +1 -0
  82. data/docs/0-installation.md +2 -2
  83. data/docs/1-general-configuration.md +16 -1
  84. data/docs/10-custom-pages.md +14 -0
  85. data/docs/12-arbre-components.md +41 -1
  86. data/docs/13-authorization-adapter.md +41 -22
  87. data/docs/2-resource-customization.md +10 -5
  88. data/docs/3-index-pages/custom-index.md +1 -1
  89. data/docs/3-index-pages/index-as-blog.md +1 -1
  90. data/docs/3-index-pages/index-as-table.md +12 -5
  91. data/docs/3-index-pages.md +17 -0
  92. data/docs/5-forms.md +16 -2
  93. data/docs/8-custom-actions.md +11 -0
  94. data/docs/CNAME +1 -1
  95. data/docs/Gemfile +2 -1
  96. data/docs/Gemfile.lock +248 -0
  97. data/docs/_config.yml +3 -1
  98. data/docs/_includes/toc.html +1 -1
  99. data/docs/_includes/top-menu.html +9 -1
  100. data/docs/documentation.md +1 -1
  101. data/docs/images/tidelift.svg +14 -0
  102. data/docs/index.html +109 -8
  103. data/docs/stylesheets/main.css +55 -2
  104. data/lib/active_admin/abstract_view_factory.rb +13 -51
  105. data/lib/active_admin/application.rb +52 -159
  106. data/lib/active_admin/application_settings.rb +42 -0
  107. data/lib/active_admin/asset_registration.rb +0 -8
  108. data/lib/active_admin/base_controller/authorization.rb +4 -6
  109. data/lib/active_admin/base_controller.rb +6 -6
  110. data/lib/active_admin/batch_actions/controller.rb +2 -2
  111. data/lib/active_admin/batch_actions/resource_extension.rb +9 -5
  112. data/lib/active_admin/callbacks.rb +1 -1
  113. data/lib/active_admin/controller_action.rb +2 -1
  114. data/lib/active_admin/csv_builder.rb +10 -7
  115. data/lib/active_admin/dependency.rb +3 -67
  116. data/lib/active_admin/deprecation.rb +0 -25
  117. data/lib/active_admin/dsl.rb +1 -8
  118. data/lib/active_admin/dynamic_setting.rb +38 -0
  119. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  120. data/lib/active_admin/engine.rb +5 -0
  121. data/lib/active_admin/error.rb +4 -2
  122. data/lib/active_admin/filters/active_filter.rb +49 -12
  123. data/lib/active_admin/filters/active_sidebar.rb +6 -2
  124. data/lib/active_admin/filters/forms.rb +7 -4
  125. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  126. data/lib/active_admin/filters/resource_extension.rb +28 -4
  127. data/lib/active_admin/form_builder.rb +98 -63
  128. data/lib/active_admin/generators/boilerplate.rb +12 -4
  129. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  130. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  131. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  132. data/lib/active_admin/inputs/filters/select_input.rb +5 -1
  133. data/lib/active_admin/menu.rb +2 -8
  134. data/lib/active_admin/menu_item.rb +4 -32
  135. data/lib/active_admin/namespace.rb +20 -8
  136. data/lib/active_admin/namespace_settings.rb +123 -0
  137. data/lib/active_admin/order_clause.rb +2 -2
  138. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  139. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +17 -7
  140. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  141. data/lib/active_admin/page_dsl.rb +1 -1
  142. data/lib/active_admin/page_presenter.rb +2 -1
  143. data/lib/active_admin/pundit_adapter.rb +18 -5
  144. data/lib/active_admin/resource/action_items.rb +7 -2
  145. data/lib/active_admin/resource/attributes.rb +7 -4
  146. data/lib/active_admin/resource/belongs_to.rb +6 -1
  147. data/lib/active_admin/resource/menu.rb +3 -3
  148. data/lib/active_admin/resource/model.rb +15 -0
  149. data/lib/active_admin/resource/naming.rb +3 -3
  150. data/lib/active_admin/resource/routes.rb +20 -7
  151. data/lib/active_admin/resource/scopes.rb +3 -3
  152. data/lib/active_admin/resource/sidebars.rb +1 -1
  153. data/lib/active_admin/resource.rb +17 -3
  154. data/lib/active_admin/resource_collection.rb +2 -2
  155. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  156. data/lib/active_admin/resource_controller/data_access.rb +5 -1
  157. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  158. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  159. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  160. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  161. data/lib/active_admin/resource_controller.rb +2 -0
  162. data/lib/active_admin/resource_dsl.rb +7 -3
  163. data/lib/active_admin/router.rb +90 -84
  164. data/lib/active_admin/scope.rb +16 -8
  165. data/lib/active_admin/settings_node.rb +19 -0
  166. data/lib/active_admin/sidebar_section.rb +3 -1
  167. data/lib/active_admin/version.rb +1 -1
  168. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  169. data/lib/active_admin/view_helpers/display_helper.rb +13 -4
  170. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  171. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  172. data/lib/active_admin/view_helpers.rb +1 -1
  173. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  174. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  175. data/lib/active_admin/views/components/menu.rb +32 -0
  176. data/lib/active_admin/views/components/menu_item.rb +58 -0
  177. data/lib/active_admin/views/components/paginated_collection.rb +3 -3
  178. data/lib/active_admin/views/components/scopes.rb +11 -4
  179. data/lib/active_admin/views/components/sidebar.rb +13 -0
  180. data/lib/active_admin/views/components/site_title.rb +5 -6
  181. data/lib/active_admin/views/components/status_tag.rb +6 -19
  182. data/lib/active_admin/views/components/table_for.rb +3 -12
  183. data/lib/active_admin/views/components/tabs.rb +15 -3
  184. data/lib/active_admin/views/footer.rb +3 -7
  185. data/lib/active_admin/views/header.rb +3 -15
  186. data/lib/active_admin/views/index_as_blog.rb +1 -1
  187. data/lib/active_admin/views/index_as_grid.rb +25 -25
  188. data/lib/active_admin/views/index_as_table.rb +18 -10
  189. data/lib/active_admin/views/pages/base.rb +30 -53
  190. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  191. data/lib/active_admin/views.rb +1 -1
  192. data/lib/active_admin.rb +10 -4
  193. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  194. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  195. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  196. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
  197. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  198. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  199. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  200. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  201. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  202. data/lib/ransack_ext.rb +3 -3
  203. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  204. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  205. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  206. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  207. metadata +127 -523
  208. data/.github/ISSUE_TEMPLATE.md +0 -20
  209. data/.gitignore +0 -49
  210. data/.mdlrc +0 -1
  211. data/.rubocop.yml +0 -76
  212. data/.simplecov +0 -13
  213. data/.travis.yml +0 -51
  214. data/.yardopts +0 -7
  215. data/Gemfile +0 -58
  216. data/Rakefile +0 -54
  217. data/activeadmin.gemspec +0 -32
  218. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  219. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  220. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  221. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  222. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  223. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  224. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  225. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  226. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  227. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  228. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  229. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  230. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  231. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  232. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  233. data/codecov.yml +0 -25
  234. data/config/i18n-tasks.yml +0 -26
  235. data/config/mdl_style.rb +0 -9
  236. data/cucumber.yml +0 -3
  237. data/features/action_item.feature +0 -73
  238. data/features/authorization.feature +0 -64
  239. data/features/authorization_cancan.feature +0 -52
  240. data/features/authorization_pundit.feature +0 -37
  241. data/features/belongs_to.feature +0 -124
  242. data/features/breadcrumb.feature +0 -75
  243. data/features/comments/commenting.feature +0 -178
  244. data/features/comments/viewing_index.feature +0 -19
  245. data/features/create_another.feature +0 -55
  246. data/features/dashboard.feature +0 -16
  247. data/features/decorators.feature +0 -43
  248. data/features/development_reloading.feature +0 -28
  249. data/features/edit_page.feature +0 -116
  250. data/features/favicon.feature +0 -20
  251. data/features/first_boot.feature +0 -16
  252. data/features/footer.feature +0 -28
  253. data/features/global_navigation.feature +0 -29
  254. data/features/i18n.feature +0 -55
  255. data/features/index/batch_actions.feature +0 -218
  256. data/features/index/filters.feature +0 -239
  257. data/features/index/format_as_csv.feature +0 -220
  258. data/features/index/formats.feature +0 -88
  259. data/features/index/index_as_block.feature +0 -15
  260. data/features/index/index_as_blog.feature +0 -69
  261. data/features/index/index_as_grid.feature +0 -45
  262. data/features/index/index_as_table.feature +0 -291
  263. data/features/index/index_blank_slate.feature +0 -83
  264. data/features/index/index_parameters.feature +0 -75
  265. data/features/index/index_scope_to.feature +0 -56
  266. data/features/index/index_scopes.feature +0 -285
  267. data/features/index/page_title.feature +0 -41
  268. data/features/index/pagination.feature +0 -63
  269. data/features/index/switch_index_view.feature +0 -73
  270. data/features/menu.feature +0 -72
  271. data/features/meta_tags.feature +0 -21
  272. data/features/new_page.feature +0 -107
  273. data/features/registering_assets.feature +0 -38
  274. data/features/registering_pages.feature +0 -237
  275. data/features/registering_resources.feature +0 -33
  276. data/features/renamed_resource.feature +0 -30
  277. data/features/root_to.feature +0 -17
  278. data/features/show/attributes_table_title.feature +0 -54
  279. data/features/show/columns.feature +0 -40
  280. data/features/show/default_content.feature +0 -44
  281. data/features/show/page_title.feature +0 -58
  282. data/features/show/tabs.feature +0 -33
  283. data/features/sidebar_sections.feature +0 -210
  284. data/features/site_title.feature +0 -47
  285. data/features/specifying_actions.feature +0 -118
  286. data/features/step_definitions/action_item_steps.rb +0 -7
  287. data/features/step_definitions/action_link_steps.rb +0 -19
  288. data/features/step_definitions/additional_web_steps.rb +0 -81
  289. data/features/step_definitions/asset_steps.rb +0 -15
  290. data/features/step_definitions/attribute_steps.rb +0 -18
  291. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  292. data/features/step_definitions/batch_action_steps.rb +0 -81
  293. data/features/step_definitions/blog_steps.rb +0 -3
  294. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  295. data/features/step_definitions/column_steps.rb +0 -8
  296. data/features/step_definitions/comment_steps.rb +0 -32
  297. data/features/step_definitions/configuration_steps.rb +0 -100
  298. data/features/step_definitions/dashboard_steps.rb +0 -15
  299. data/features/step_definitions/factory_steps.rb +0 -35
  300. data/features/step_definitions/filter_steps.rb +0 -48
  301. data/features/step_definitions/flash_steps.rb +0 -11
  302. data/features/step_definitions/footer_steps.rb +0 -11
  303. data/features/step_definitions/format_steps.rb +0 -56
  304. data/features/step_definitions/i18n_steps.rb +0 -11
  305. data/features/step_definitions/index_scope_steps.rb +0 -29
  306. data/features/step_definitions/index_views_steps.rb +0 -3
  307. data/features/step_definitions/layout_steps.rb +0 -3
  308. data/features/step_definitions/member_link_steps.rb +0 -7
  309. data/features/step_definitions/menu_steps.rb +0 -11
  310. data/features/step_definitions/meta_tag_steps.rb +0 -3
  311. data/features/step_definitions/pagination_steps.rb +0 -15
  312. data/features/step_definitions/sidebar_steps.rb +0 -11
  313. data/features/step_definitions/site_title_steps.rb +0 -17
  314. data/features/step_definitions/tab_steps.rb +0 -8
  315. data/features/step_definitions/table_steps.rb +0 -116
  316. data/features/step_definitions/user_steps.rb +0 -52
  317. data/features/step_definitions/web_steps.rb +0 -86
  318. data/features/sti_resource.feature +0 -65
  319. data/features/strong_parameters.feature +0 -69
  320. data/features/support/env.rb +0 -122
  321. data/features/support/paths.rb +0 -73
  322. data/features/support/regular_env.rb +0 -7
  323. data/features/support/reload_env.rb +0 -7
  324. data/features/support/selectors.rb +0 -45
  325. data/features/users/logging_in.feature +0 -36
  326. data/features/users/logging_out.feature +0 -13
  327. data/features/users/resetting_password.feature +0 -34
  328. data/gemfiles/rails_42.gemfile +0 -10
  329. data/gemfiles/rails_50.gemfile +0 -10
  330. data/gemfiles/rails_51.gemfile +0 -10
  331. data/lib/active_admin/event.rb +0 -24
  332. data/lib/active_admin/helpers/settings.rb +0 -114
  333. data/lib/active_admin/reloader.rb +0 -25
  334. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  335. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  336. data/spec/bug_report_templates_spec.rb +0 -26
  337. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  338. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  339. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  340. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  341. data/spec/javascripts/fixtures/flashes.html +0 -2
  342. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  343. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  344. data/spec/javascripts/support/jasmine.yml +0 -74
  345. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  346. data/spec/rails_helper.rb +0 -59
  347. data/spec/requests/default_namespace_spec.rb +0 -81
  348. data/spec/requests/memory_spec.rb +0 -25
  349. data/spec/requests/stylesheets_spec.rb +0 -18
  350. data/spec/spec_helper.rb +0 -1
  351. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  352. data/spec/support/active_admin_request_helpers.rb +0 -39
  353. data/spec/support/rails_template.rb +0 -150
  354. data/spec/support/rails_template_with_data.rb +0 -327
  355. data/spec/support/templates/admin/stores.rb +0 -7
  356. data/spec/support/templates/en.yml +0 -8
  357. data/spec/support/templates/manifest.js +0 -3
  358. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  359. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  360. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  361. data/spec/support/templates/policies/application_policy.rb +0 -44
  362. data/spec/support/templates/policies/category_policy.rb +0 -7
  363. data/spec/support/templates/policies/post_policy.rb +0 -15
  364. data/spec/support/templates/policies/store_policy.rb +0 -11
  365. data/spec/support/templates/policies/user_policy.rb +0 -11
  366. data/spec/support/templates/post_decorator.rb +0 -10
  367. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  368. data/spec/unit/action_builder_spec.rb +0 -125
  369. data/spec/unit/active_admin_spec.rb +0 -11
  370. data/spec/unit/application_spec.rb +0 -184
  371. data/spec/unit/asset_registration_spec.rb +0 -81
  372. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  373. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  374. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  375. data/spec/unit/auto_link_spec.rb +0 -93
  376. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  377. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  378. data/spec/unit/belongs_to_spec.rb +0 -76
  379. data/spec/unit/cancan_adapter_spec.rb +0 -43
  380. data/spec/unit/comments_spec.rb +0 -176
  381. data/spec/unit/component_spec.rb +0 -18
  382. data/spec/unit/config_shared_examples.rb +0 -59
  383. data/spec/unit/controller_filters_spec.rb +0 -41
  384. data/spec/unit/csv_builder_spec.rb +0 -304
  385. data/spec/unit/dependency_spec.rb +0 -135
  386. data/spec/unit/devise_spec.rb +0 -110
  387. data/spec/unit/dsl_spec.rb +0 -120
  388. data/spec/unit/filters/active_filter_spec.rb +0 -135
  389. data/spec/unit/filters/active_spec.rb +0 -24
  390. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  391. data/spec/unit/filters/resource_spec.rb +0 -128
  392. data/spec/unit/form_builder_spec.rb +0 -990
  393. data/spec/unit/generators/install_spec.rb +0 -31
  394. data/spec/unit/helpers/collection_spec.rb +0 -68
  395. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  396. data/spec/unit/helpers/settings_spec.rb +0 -30
  397. data/spec/unit/i18n_spec.rb +0 -29
  398. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  399. data/spec/unit/menu_collection_spec.rb +0 -62
  400. data/spec/unit/menu_item_spec.rb +0 -141
  401. data/spec/unit/menu_spec.rb +0 -71
  402. data/spec/unit/namespace/authorization_spec.rb +0 -27
  403. data/spec/unit/namespace/register_page_spec.rb +0 -99
  404. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  405. data/spec/unit/namespace_spec.rb +0 -124
  406. data/spec/unit/order_clause_spec.rb +0 -81
  407. data/spec/unit/page_controller_spec.rb +0 -5
  408. data/spec/unit/page_spec.rb +0 -128
  409. data/spec/unit/pretty_format_spec.rb +0 -82
  410. data/spec/unit/pundit_adapter_spec.rb +0 -98
  411. data/spec/unit/resource/action_items_spec.rb +0 -69
  412. data/spec/unit/resource/attributes_spec.rb +0 -49
  413. data/spec/unit/resource/includes_spec.rb +0 -21
  414. data/spec/unit/resource/menu_spec.rb +0 -18
  415. data/spec/unit/resource/naming_spec.rb +0 -122
  416. data/spec/unit/resource/ordering_spec.rb +0 -35
  417. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  418. data/spec/unit/resource/pagination_spec.rb +0 -38
  419. data/spec/unit/resource/routes_spec.rb +0 -125
  420. data/spec/unit/resource/scopes_spec.rb +0 -50
  421. data/spec/unit/resource/sidebars_spec.rb +0 -43
  422. data/spec/unit/resource_collection_spec.rb +0 -175
  423. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  424. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  425. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  426. data/spec/unit/resource_controller_spec.rb +0 -273
  427. data/spec/unit/resource_registration_spec.rb +0 -61
  428. data/spec/unit/resource_spec.rb +0 -320
  429. data/spec/unit/routing_spec.rb +0 -211
  430. data/spec/unit/scope_spec.rb +0 -209
  431. data/spec/unit/settings_spec.rb +0 -117
  432. data/spec/unit/view_factory_spec.rb +0 -19
  433. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  434. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  435. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  436. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  437. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  438. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  439. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  440. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  441. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  442. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  443. data/spec/unit/views/components/columns_spec.rb +0 -187
  444. data/spec/unit/views/components/index_list_spec.rb +0 -49
  445. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  446. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  447. data/spec/unit/views/components/panel_spec.rb +0 -58
  448. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  449. data/spec/unit/views/components/site_title_spec.rb +0 -76
  450. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  451. data/spec/unit/views/components/table_for_spec.rb +0 -436
  452. data/spec/unit/views/components/tabs_spec.rb +0 -67
  453. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  454. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  455. data/spec/unit/views/pages/form_spec.rb +0 -54
  456. data/spec/unit/views/pages/index_spec.rb +0 -60
  457. data/spec/unit/views/pages/layout_spec.rb +0 -59
  458. data/spec/unit/views/pages/show_spec.rb +0 -32
  459. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  460. data/tasks/docs.rake +0 -64
  461. data/tasks/lint.rake +0 -21
  462. data/tasks/local.rake +0 -25
  463. data/tasks/parallel_tests.rake +0 -66
  464. data/tasks/test.rake +0 -29
  465. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,20 +0,0 @@
1
- [Please follow the guidelines for creating a bug report](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md#4-did-you-find-a-bug).
2
-
3
- The issue tracker is only for bugs and feature requests. If you need general
4
- help please post to
5
- [StackOverflow](http://stackoverflow.com/questions/tagged/activeadmin).
6
-
7
- ### Expected behavior
8
-
9
- What do you think should happen?
10
-
11
- ### Actual behavior
12
-
13
- What actually happens?
14
-
15
- ### How to reproduce
16
-
17
- Your best chance of getting this bug looked at quickly is to provide an
18
- **executable test case** demonstrating the expected behavior that is not
19
- occurring. [Please follow the guidelines for creating a bug
20
- report](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md#4-did-you-find-a-bug).
data/.gitignore DELETED
@@ -1,49 +0,0 @@
1
- ## Mac
2
- .DS_Store
3
-
4
- ## Windows
5
- .Thumbs.db
6
-
7
- ## TextMate
8
- *.tm_project
9
- *.tmproj
10
- tmtags
11
-
12
- ## Emacs
13
- *~
14
- \#*
15
- .\#*
16
-
17
- ## Vim
18
- *.swp
19
- # IDEA / RUBYMINE
20
- .idea
21
-
22
- ## RVM
23
- .rvmrc
24
- .ruby-version
25
- .ruby-gemset
26
-
27
- ## Project (general)
28
- tags
29
- coverage
30
- rdoc
31
- doc
32
- .yardoc
33
- pkg
34
-
35
- ## Project (specific)
36
- .bundle
37
- spec/rails
38
- *.sqlite3-journal
39
- Gemfile.lock
40
- gemfiles/rails_[3-5][0-9].gemfile.lock
41
- capybara*
42
- viewcumber
43
- .test-rails-apps
44
- public
45
- .rspec
46
- .rails-version
47
- .rbenv-version
48
- .localeapp/*
49
- lib/bug_report_templates/tmp
data/.mdlrc DELETED
@@ -1 +0,0 @@
1
- style "config/mdl_style.rb"
data/.rubocop.yml DELETED
@@ -1,76 +0,0 @@
1
- ---
2
-
3
- AllCops:
4
- DisabledByDefault: true
5
- TargetRubyVersion: 2.2
6
-
7
- Exclude:
8
- - spec/rails/**/*
9
- - gemfiles/vendor/bundle/**/*
10
-
11
- Include:
12
- - "**/*.rake"
13
- - "**/Gemfile"
14
- - "gemfiles/*.gemfile"
15
- - "**/Rakefile"
16
-
17
- DisplayCopNames: true
18
-
19
- StyleGuideCopsOnly: false
20
-
21
- Lint/EndAlignment:
22
- Enabled: true
23
-
24
- Layout/CaseIndentation:
25
- Enabled: true
26
-
27
- Layout/ElseAlignment:
28
- Enabled: true
29
-
30
- Layout/EmptyLines:
31
- Enabled: true
32
-
33
- Layout/EndOfLine:
34
- Enabled: true
35
-
36
- Layout/ExtraSpacing:
37
- Enabled: true
38
-
39
- Style/Encoding:
40
- EnforcedStyle: never
41
- Enabled: true
42
-
43
- Style/HashSyntax:
44
- Enabled: true
45
-
46
- Layout/IndentationConsistency:
47
- Enabled: true
48
-
49
- Layout/IndentationWidth:
50
- Enabled: true
51
-
52
- Style/PredicateName:
53
- Enabled: true
54
-
55
- NamePrefixBlacklist:
56
- - is_
57
- - have_
58
-
59
- NameWhitelist:
60
- - has_many
61
- - has_many_actions
62
-
63
- Layout/TrailingBlankLines:
64
- Enabled: true
65
-
66
- Layout/TrailingWhitespace:
67
- Enabled: true
68
-
69
- Layout/SpaceAfterComma:
70
- Enabled: true
71
-
72
- Layout/SpaceAroundEqualsInParameterDefault:
73
- Enabled: true
74
-
75
- Layout/SpaceInsideParens:
76
- Enabled: true
data/.simplecov DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # TODO: Always run simplecov again once
4
- # https://github.com/colszowka/simplecov/issues/404,
5
- # https://github.com/glebm/i18n-tasks/issues/221 are fixed
6
- SimpleCov.start do
7
- add_filter 'spec/rails/'
8
- end
9
-
10
- if ENV['CI'] == 'true'
11
- require 'codecov'
12
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
13
- end
data/.travis.yml DELETED
@@ -1,51 +0,0 @@
1
- ---
2
-
3
- language: ruby
4
-
5
- sudo: false
6
-
7
- dist: trusty
8
-
9
- bundler_args: --without development
10
-
11
- branches:
12
- only:
13
- - master
14
-
15
- cache: bundler
16
-
17
- before_install:
18
- - PATH=$(npm bin):$PATH # needed to install phantomjs via npm
19
- - if [ $(phantomjs --version) != '2.1.1' ]; then npm install phantomjs-prebuilt@2.1; fi
20
- - gem update --system # use the very latest Rubygems
21
- - gem install bundler # use the very latest Bundler
22
-
23
- script:
24
- - bundle exec rake
25
- - bundle exec rake docs:build
26
-
27
- rvm:
28
- - jruby-9.1.12.0
29
- - 2.2.7
30
- - 2.3.4
31
- - 2.4.1
32
-
33
- gemfile:
34
- - gemfiles/rails_42.gemfile
35
- - gemfiles/rails_50.gemfile
36
- - gemfiles/rails_51.gemfile
37
-
38
- env:
39
- global:
40
- - JRUBY_OPTS="-J-Xmx1024m --dev --debug"
41
- - JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
42
- - COVERAGE=true
43
-
44
- matrix:
45
- fast_finish: true
46
-
47
- allow_failures:
48
- - rvm: jruby-9.1.12.0
49
- gemfile: gemfiles/rails_50.gemfile
50
- - rvm: jruby-9.1.12.0
51
- gemfile: gemfiles/rails_51.gemfile
data/.yardopts DELETED
@@ -1,7 +0,0 @@
1
- lib/**/*.rb
2
- --protected
3
- --no-private
4
- -
5
- README.md
6
- CHANGELOG.md
7
- docs/**/*.md
data/Gemfile DELETED
@@ -1,58 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Trick to use https without warnings and without having to specify full URLs
4
- # TODO: Can be removed when Bundler 2.x is released.
5
- git_source(:github) do |repo_name|
6
- repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
7
- "https://github.com/#{repo_name}.git"
8
- end
9
-
10
- # Optional dependencies
11
- gem 'cancan'
12
- gem 'pundit'
13
-
14
- # Utility gems used in both development & test environments
15
- gem 'rake'
16
- gem 'parallel_tests'
17
-
18
- # Debugging
19
- gem 'pry' # Easily debug from your console with `binding.pry`
20
-
21
- # Code style
22
- gem 'rubocop', '0.49.1'
23
- gem 'mdl', '0.4.0'
24
-
25
- # Translations
26
- gem 'i18n-tasks'
27
-
28
- # Documentation
29
- gem 'yard' # Documentation generator
30
- gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
31
- gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
32
-
33
- group :development do
34
- # Debugging
35
- gem 'better_errors' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
36
-
37
- gem 'binding_of_caller', platforms: :mri # Retrieve the binding of a method's caller
38
-
39
- # Performance
40
- gem 'rack-mini-profiler' # Inline app profiler. See ?pp=help for options.
41
- end
42
-
43
- group :test do
44
- gem 'capybara'
45
- gem 'simplecov', require: false # Test coverage generator. Go to /coverage/ after running tests
46
- gem 'codecov', require: false # Test coverage website. Go to https://codecov.io
47
- gem 'cucumber-rails', require: false
48
- gem 'cucumber'
49
- gem 'database_cleaner'
50
- gem 'jasmine'
51
- gem 'launchy'
52
- gem 'rails-i18n' # Provides default i18n for many languages
53
- gem 'rspec-rails'
54
- gem 'i18n-spec'
55
- gem 'shoulda-matchers', '<= 2.8.0'
56
- gem 'sqlite3', platforms: :mri
57
- gem 'poltergeist'
58
- end
data/Rakefile DELETED
@@ -1,54 +0,0 @@
1
- require 'bundler/gem_tasks'
2
-
3
- desc 'Creates a test rails app for the specs to run against'
4
- task :setup, [:parallel, :dir, :template] do |_t, opts|
5
- require 'rails/version'
6
-
7
- base_dir = opts[:dir] || 'spec/rails'
8
- app_dir = "#{base_dir}/rails-#{Rails::VERSION::STRING}"
9
- template = opts[:template] || 'rails_template'
10
-
11
- if File.exist? app_dir
12
- puts "test app #{app_dir} already exists; skipping"
13
- else
14
- system "mkdir -p #{base_dir}"
15
- args = %W(
16
- -m spec/support/#{template}.rb
17
- --skip-bundle
18
- --skip-listen
19
- --skip-turbolinks
20
- --skip-test-unit
21
- )
22
-
23
- command = ['bundle', 'exec', 'rails', 'new', app_dir, *args].join(' ')
24
-
25
- env = { 'BUNDLE_GEMFILE' => ENV['BUNDLE_GEMFILE'] }
26
- env['INSTALL_PARALLEL'] = 'yes' if opts[:parallel]
27
-
28
- Bundler.with_clean_env { Kernel.exec(env, command) }
29
-
30
- Rake::Task['parallel:after_setup_hook'].invoke if opts[:parallel]
31
- end
32
- end
33
-
34
- # Import all our rake tasks
35
- FileList['tasks/**/*.rake'].each { |task| import task }
36
-
37
- task default: [:test, :lint]
38
-
39
- begin
40
- require 'jasmine'
41
- load 'jasmine/tasks/jasmine.rake'
42
- rescue LoadError
43
- task :jasmine do
44
- abort 'Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine'
45
- end
46
- end
47
-
48
- task :console do
49
- require 'irb'
50
- require 'irb/completion'
51
-
52
- ARGV.clear
53
- IRB.start
54
- end
data/activeadmin.gemspec DELETED
@@ -1,32 +0,0 @@
1
- require File.join(File.dirname(__FILE__), "lib", "active_admin", "version")
2
-
3
- Gem::Specification.new do |s|
4
- s.name = 'activeadmin'
5
- s.license = 'MIT'
6
- s.version = ActiveAdmin::VERSION
7
- s.homepage = 'http://activeadmin.info'
8
- s.authors = ['Greg Bell']
9
- s.email = ['gregdbell@gmail.com']
10
- s.description = 'The administration framework for Ruby on Rails.'
11
- s.summary = 'The administration framework for Ruby on Rails.'
12
-
13
- s.files = `git ls-files -z`.split("\x0").reject do |f|
14
- f.match(%r{^(spec|features)/})
15
- end
16
-
17
- s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
18
-
19
- s.required_ruby_version = '>= 2.2'
20
-
21
- s.add_dependency 'arbre', '>= 1.1.1'
22
- s.add_dependency 'coffee-rails'
23
- s.add_dependency 'formtastic', '~> 3.1'
24
- s.add_dependency 'formtastic_i18n'
25
- s.add_dependency 'inherited_resources', '~> 1.7'
26
- s.add_dependency 'jquery-rails'
27
- s.add_dependency 'kaminari', '>= 0.15', '< 2.0'
28
- s.add_dependency 'railties', '>= 4.2', '< 5.2'
29
- s.add_dependency 'ransack', '~> 1.3'
30
- s.add_dependency 'sass', '~> 3.1'
31
- s.add_dependency 'sprockets', '< 4.1'
32
- end
@@ -1,13 +0,0 @@
1
- #= require jquery3
2
- #= require jquery-ui/widgets/datepicker
3
- #= require jquery-ui/widgets/dialog
4
- #= require jquery-ui/widgets/sortable
5
- #= require jquery-ui/widgets/tabs
6
- #= require jquery-ui/widget
7
- #= require jquery_ujs
8
- #= require_self
9
- #= require_tree ./lib
10
- #= require_tree ./ext
11
- #= require_tree ./initializers
12
-
13
- window.ActiveAdmin = {}
@@ -1,6 +0,0 @@
1
- # Short-circuits `_focusTabbable` to focus on the modal itself instead of
2
- # elements inside the modal. Without this, if a datepicker is the first input,
3
- # it'll immediately pop up when the modal opens.
4
- # See this ticket for more info: http://bugs.jqueryui.com/ticket/4731
5
- $.ui.dialog.prototype._focusTabbable = ->
6
- @uiDialog.focus()
@@ -1,7 +0,0 @@
1
- # `serializeArray` generates => [{ name: 'foo', value: 'bar' }]
2
- # This function remaps it to => { foo: 'bar' }
3
- $.fn.serializeObject = ->
4
- obj = {}
5
- for o in @serializeArray()
6
- obj[o.name] = o.value
7
- obj
@@ -1,11 +0,0 @@
1
- onDOMReady = ->
2
- # In order for index scopes to overflow properly onto the next line, we have
3
- # to manually set its width based on the width of the batch action button.
4
- if (batch_actions_selector = $('.table_tools .batch_actions_selector')).length
5
- batch_actions_selector.next().css
6
- width: "calc(100% - 10px - #{batch_actions_selector.outerWidth()}px)"
7
- 'float': 'right'
8
-
9
- $(document).
10
- ready(onDOMReady).
11
- on 'page:load turbolinks:load', onDOMReady
@@ -1,14 +0,0 @@
1
- onDOMReady = ->
2
- $(document).on 'focus', 'input.datepicker:not(.hasDatepicker)', ->
3
- input = $(@)
4
-
5
- # Only create datepickers in compatible browsers
6
- return if input[0].type is 'date'
7
-
8
- defaults = dateFormat: 'yy-mm-dd'
9
- options = input.data 'datepicker-options'
10
- input.datepicker $.extend(defaults, options)
11
-
12
- $(document).
13
- ready(onDOMReady).
14
- on 'page:load turbolinks:load', onDOMReady
@@ -1,26 +0,0 @@
1
- onDOMReady = ->
2
- # Clear Filters button
3
- $('.clear_filters_btn').click (e) ->
4
- params = window.location.search.slice(1).split('&')
5
- regex = /^(q\[|q%5B|q%5b|page|commit)/
6
- if typeof Turbolinks != 'undefined'
7
- Turbolinks.visit(window.location.href.split('?')[0] + '?' + (param for param in params when not param.match(regex)).join('&'))
8
- e.preventDefault()
9
- else
10
- window.location.search = (param for param in params when not param.match(regex)).join('&')
11
-
12
- # Filter form: don't send any inputs that are empty
13
- $('.filter_form').submit (e) ->
14
- $(@).find(':input').filter(-> @value is '').prop 'disabled', true
15
- if typeof Turbolinks != 'undefined'
16
- Turbolinks.visit(window.location.href.split('?')[0] + '?' + $( this ).serialize())
17
- e.preventDefault()
18
-
19
- # Filter form: for filters that let you choose the query method from
20
- # a dropdown, apply that choice to the filter input field.
21
- $('.filter_form_field.select_and_search select').change ->
22
- $(@).siblings('input').prop name: "q[#{@value}]"
23
-
24
- $(document).
25
- ready(onDOMReady).
26
- on 'page:load turbolinks:load', onDOMReady
@@ -1,7 +0,0 @@
1
- onDOMReady = ->
2
- # Tab navigation
3
- $('#active_admin_content .tabs').tabs()
4
-
5
- $(document).
6
- ready(onDOMReady).
7
- on 'page:load turbolinks:load', onDOMReady
@@ -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()