activeadmin 1.3.0 → 2.0.0.rc1

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 (423) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +307 -123
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +90 -46
  5. data/README.md +66 -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 +55 -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/layouts/active_admin_logged_out.html.erb +2 -2
  33. data/config/locales/bg.yml +0 -1
  34. data/config/locales/de.yml +10 -0
  35. data/config/locales/en.yml +19 -1
  36. data/config/locales/es.yml +20 -1
  37. data/config/locales/fi.yml +1 -1
  38. data/config/locales/he.yml +0 -1
  39. data/config/locales/hu.yml +4 -0
  40. data/config/locales/it.yml +4 -0
  41. data/config/locales/lt.yml +2 -2
  42. data/config/locales/nb.yml +15 -5
  43. data/config/locales/nl.yml +11 -0
  44. data/config/locales/pl.yml +71 -3
  45. data/config/locales/ru.yml +2 -0
  46. data/config/locales/tr.yml +9 -0
  47. data/config/locales/uk.yml +2 -0
  48. data/config/locales/zh-CN.yml +33 -5
  49. data/docs/.gitignore +1 -0
  50. data/docs/0-installation.md +2 -2
  51. data/docs/1-general-configuration.md +16 -1
  52. data/docs/10-custom-pages.md +14 -0
  53. data/docs/12-arbre-components.md +28 -1
  54. data/docs/13-authorization-adapter.md +40 -21
  55. data/docs/2-resource-customization.md +8 -3
  56. data/docs/3-index-pages/custom-index.md +1 -1
  57. data/docs/3-index-pages/index-as-blog.md +1 -1
  58. data/docs/3-index-pages/index-as-table.md +5 -5
  59. data/docs/3-index-pages.md +17 -0
  60. data/docs/5-forms.md +16 -2
  61. data/docs/8-custom-actions.md +11 -0
  62. data/docs/CNAME +1 -1
  63. data/docs/Gemfile +2 -0
  64. data/docs/Gemfile.lock +249 -0
  65. data/docs/_config.yml +1 -1
  66. data/docs/_includes/toc.html +1 -1
  67. data/docs/_includes/top-menu.html +9 -1
  68. data/docs/documentation.md +1 -1
  69. data/docs/images/tidelift.svg +14 -0
  70. data/docs/index.html +2 -2
  71. data/docs/stylesheets/main.css +26 -2
  72. data/lib/active_admin/abstract_view_factory.rb +13 -51
  73. data/lib/active_admin/application.rb +49 -155
  74. data/lib/active_admin/application_settings.rb +42 -0
  75. data/lib/active_admin/asset_registration.rb +0 -8
  76. data/lib/active_admin/base_controller/authorization.rb +3 -6
  77. data/lib/active_admin/base_controller.rb +6 -6
  78. data/lib/active_admin/batch_actions/controller.rb +2 -2
  79. data/lib/active_admin/batch_actions/resource_extension.rb +4 -4
  80. data/lib/active_admin/callbacks.rb +1 -1
  81. data/lib/active_admin/csv_builder.rb +1 -1
  82. data/lib/active_admin/dependency.rb +1 -69
  83. data/lib/active_admin/deprecation.rb +0 -25
  84. data/lib/active_admin/dsl.rb +1 -8
  85. data/lib/active_admin/dynamic_setting.rb +38 -0
  86. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  87. data/lib/active_admin/engine.rb +5 -0
  88. data/lib/active_admin/error.rb +1 -1
  89. data/lib/active_admin/filters/active_filter.rb +4 -2
  90. data/lib/active_admin/filters/active_sidebar.rb +5 -1
  91. data/lib/active_admin/filters/forms.rb +7 -4
  92. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  93. data/lib/active_admin/filters/resource_extension.rb +4 -4
  94. data/lib/active_admin/form_builder.rb +97 -62
  95. data/lib/active_admin/generators/boilerplate.rb +1 -1
  96. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  97. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  98. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  99. data/lib/active_admin/menu.rb +2 -8
  100. data/lib/active_admin/menu_item.rb +4 -32
  101. data/lib/active_admin/namespace.rb +20 -8
  102. data/lib/active_admin/namespace_settings.rb +110 -0
  103. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  104. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
  105. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  106. data/lib/active_admin/page_dsl.rb +1 -1
  107. data/lib/active_admin/pundit_adapter.rb +13 -4
  108. data/lib/active_admin/resource/action_items.rb +7 -2
  109. data/lib/active_admin/resource/attributes.rb +7 -4
  110. data/lib/active_admin/resource/menu.rb +3 -3
  111. data/lib/active_admin/resource/naming.rb +3 -3
  112. data/lib/active_admin/resource/routes.rb +9 -4
  113. data/lib/active_admin/resource/scopes.rb +3 -3
  114. data/lib/active_admin/resource/sidebars.rb +1 -1
  115. data/lib/active_admin/resource.rb +2 -2
  116. data/lib/active_admin/resource_collection.rb +2 -2
  117. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  118. data/lib/active_admin/resource_controller/decorators.rb +3 -3
  119. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  120. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  121. data/lib/active_admin/resource_dsl.rb +5 -3
  122. data/lib/active_admin/router.rb +89 -84
  123. data/lib/active_admin/scope.rb +9 -5
  124. data/lib/active_admin/settings_node.rb +19 -0
  125. data/lib/active_admin/version.rb +1 -1
  126. data/lib/active_admin/view_helpers/display_helper.rb +10 -2
  127. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  128. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  129. data/lib/active_admin/view_helpers.rb +1 -1
  130. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  131. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  132. data/lib/active_admin/views/components/menu.rb +32 -0
  133. data/lib/active_admin/views/components/menu_item.rb +58 -0
  134. data/lib/active_admin/views/components/paginated_collection.rb +1 -1
  135. data/lib/active_admin/views/components/scopes.rb +11 -4
  136. data/lib/active_admin/views/components/sidebar.rb +13 -0
  137. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  138. data/lib/active_admin/views/components/site_title.rb +5 -6
  139. data/lib/active_admin/views/components/status_tag.rb +1 -18
  140. data/lib/active_admin/views/components/table_for.rb +3 -12
  141. data/lib/active_admin/views/components/tabs.rb +15 -3
  142. data/lib/active_admin/views/footer.rb +3 -7
  143. data/lib/active_admin/views/header.rb +3 -15
  144. data/lib/active_admin/views/index_as_blog.rb +1 -1
  145. data/lib/active_admin/views/index_as_grid.rb +25 -25
  146. data/lib/active_admin/views/index_as_table.rb +11 -10
  147. data/lib/active_admin/views/pages/base.rb +30 -53
  148. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  149. data/lib/active_admin/views.rb +1 -1
  150. data/lib/active_admin.rb +9 -4
  151. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  152. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  153. data/lib/generators/active_admin/install/install_generator.rb +6 -2
  154. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -1
  155. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  156. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  157. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  158. data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
  159. data/lib/ransack_ext.rb +3 -3
  160. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  161. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  162. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  163. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  164. metadata +120 -523
  165. data/.github/ISSUE_TEMPLATE.md +0 -20
  166. data/.gitignore +0 -49
  167. data/.mdlrc +0 -1
  168. data/.rubocop.yml +0 -76
  169. data/.simplecov +0 -13
  170. data/.travis.yml +0 -51
  171. data/.yardopts +0 -7
  172. data/Gemfile +0 -58
  173. data/Rakefile +0 -54
  174. data/activeadmin.gemspec +0 -32
  175. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  176. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  177. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  178. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  179. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  180. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  181. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  182. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  183. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  184. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  185. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  186. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  187. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  188. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  189. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  190. data/codecov.yml +0 -25
  191. data/config/i18n-tasks.yml +0 -26
  192. data/config/mdl_style.rb +0 -9
  193. data/cucumber.yml +0 -3
  194. data/features/action_item.feature +0 -73
  195. data/features/authorization.feature +0 -64
  196. data/features/authorization_cancan.feature +0 -52
  197. data/features/authorization_pundit.feature +0 -37
  198. data/features/belongs_to.feature +0 -124
  199. data/features/breadcrumb.feature +0 -75
  200. data/features/comments/commenting.feature +0 -178
  201. data/features/comments/viewing_index.feature +0 -19
  202. data/features/create_another.feature +0 -55
  203. data/features/dashboard.feature +0 -16
  204. data/features/decorators.feature +0 -43
  205. data/features/development_reloading.feature +0 -28
  206. data/features/edit_page.feature +0 -116
  207. data/features/favicon.feature +0 -20
  208. data/features/first_boot.feature +0 -16
  209. data/features/footer.feature +0 -28
  210. data/features/global_navigation.feature +0 -29
  211. data/features/i18n.feature +0 -55
  212. data/features/index/batch_actions.feature +0 -218
  213. data/features/index/filters.feature +0 -250
  214. data/features/index/format_as_csv.feature +0 -220
  215. data/features/index/formats.feature +0 -88
  216. data/features/index/index_as_block.feature +0 -15
  217. data/features/index/index_as_blog.feature +0 -69
  218. data/features/index/index_as_grid.feature +0 -45
  219. data/features/index/index_as_table.feature +0 -291
  220. data/features/index/index_blank_slate.feature +0 -83
  221. data/features/index/index_parameters.feature +0 -75
  222. data/features/index/index_scope_to.feature +0 -56
  223. data/features/index/index_scopes.feature +0 -285
  224. data/features/index/page_title.feature +0 -41
  225. data/features/index/pagination.feature +0 -63
  226. data/features/index/switch_index_view.feature +0 -73
  227. data/features/menu.feature +0 -72
  228. data/features/meta_tags.feature +0 -21
  229. data/features/new_page.feature +0 -136
  230. data/features/registering_assets.feature +0 -38
  231. data/features/registering_pages.feature +0 -237
  232. data/features/registering_resources.feature +0 -33
  233. data/features/renamed_resource.feature +0 -30
  234. data/features/root_to.feature +0 -17
  235. data/features/show/attributes_table_title.feature +0 -54
  236. data/features/show/columns.feature +0 -40
  237. data/features/show/default_content.feature +0 -44
  238. data/features/show/page_title.feature +0 -58
  239. data/features/show/tabs.feature +0 -33
  240. data/features/sidebar_sections.feature +0 -210
  241. data/features/site_title.feature +0 -47
  242. data/features/specifying_actions.feature +0 -118
  243. data/features/step_definitions/action_item_steps.rb +0 -7
  244. data/features/step_definitions/action_link_steps.rb +0 -19
  245. data/features/step_definitions/additional_web_steps.rb +0 -81
  246. data/features/step_definitions/asset_steps.rb +0 -15
  247. data/features/step_definitions/attribute_steps.rb +0 -18
  248. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  249. data/features/step_definitions/batch_action_steps.rb +0 -81
  250. data/features/step_definitions/blog_steps.rb +0 -3
  251. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  252. data/features/step_definitions/column_steps.rb +0 -8
  253. data/features/step_definitions/comment_steps.rb +0 -32
  254. data/features/step_definitions/configuration_steps.rb +0 -100
  255. data/features/step_definitions/dashboard_steps.rb +0 -15
  256. data/features/step_definitions/factory_steps.rb +0 -35
  257. data/features/step_definitions/filter_steps.rb +0 -47
  258. data/features/step_definitions/flash_steps.rb +0 -11
  259. data/features/step_definitions/footer_steps.rb +0 -11
  260. data/features/step_definitions/format_steps.rb +0 -56
  261. data/features/step_definitions/i18n_steps.rb +0 -11
  262. data/features/step_definitions/index_scope_steps.rb +0 -29
  263. data/features/step_definitions/index_views_steps.rb +0 -3
  264. data/features/step_definitions/layout_steps.rb +0 -3
  265. data/features/step_definitions/member_link_steps.rb +0 -7
  266. data/features/step_definitions/menu_steps.rb +0 -11
  267. data/features/step_definitions/meta_tag_steps.rb +0 -3
  268. data/features/step_definitions/pagination_steps.rb +0 -15
  269. data/features/step_definitions/sidebar_steps.rb +0 -11
  270. data/features/step_definitions/site_title_steps.rb +0 -17
  271. data/features/step_definitions/tab_steps.rb +0 -8
  272. data/features/step_definitions/table_steps.rb +0 -116
  273. data/features/step_definitions/user_steps.rb +0 -52
  274. data/features/step_definitions/web_steps.rb +0 -86
  275. data/features/sti_resource.feature +0 -65
  276. data/features/strong_parameters.feature +0 -69
  277. data/features/support/env.rb +0 -122
  278. data/features/support/paths.rb +0 -73
  279. data/features/support/regular_env.rb +0 -7
  280. data/features/support/reload_env.rb +0 -7
  281. data/features/support/selectors.rb +0 -45
  282. data/features/users/logging_in.feature +0 -36
  283. data/features/users/logging_out.feature +0 -13
  284. data/features/users/resetting_password.feature +0 -34
  285. data/gemfiles/rails_42.gemfile +0 -10
  286. data/gemfiles/rails_50.gemfile +0 -10
  287. data/gemfiles/rails_51.gemfile +0 -10
  288. data/gemfiles/rails_52.gemfile +0 -11
  289. data/lib/active_admin/event.rb +0 -24
  290. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  291. data/lib/active_admin/helpers/settings.rb +0 -114
  292. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  293. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  294. data/spec/bug_report_templates_spec.rb +0 -26
  295. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  296. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  297. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  298. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  299. data/spec/javascripts/fixtures/flashes.html +0 -2
  300. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  301. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  302. data/spec/javascripts/support/jasmine.yml +0 -74
  303. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  304. data/spec/rails_helper.rb +0 -59
  305. data/spec/requests/default_namespace_spec.rb +0 -81
  306. data/spec/requests/memory_spec.rb +0 -25
  307. data/spec/requests/stylesheets_spec.rb +0 -18
  308. data/spec/spec_helper.rb +0 -1
  309. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  310. data/spec/support/active_admin_request_helpers.rb +0 -39
  311. data/spec/support/rails_template.rb +0 -153
  312. data/spec/support/rails_template_with_data.rb +0 -327
  313. data/spec/support/templates/admin/stores.rb +0 -7
  314. data/spec/support/templates/en.yml +0 -8
  315. data/spec/support/templates/manifest.js +0 -3
  316. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  317. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  318. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  319. data/spec/support/templates/policies/application_policy.rb +0 -44
  320. data/spec/support/templates/policies/category_policy.rb +0 -7
  321. data/spec/support/templates/policies/post_policy.rb +0 -15
  322. data/spec/support/templates/policies/store_policy.rb +0 -11
  323. data/spec/support/templates/policies/user_policy.rb +0 -11
  324. data/spec/support/templates/post_decorator.rb +0 -24
  325. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  326. data/spec/unit/action_builder_spec.rb +0 -158
  327. data/spec/unit/active_admin_spec.rb +0 -11
  328. data/spec/unit/application_spec.rb +0 -184
  329. data/spec/unit/asset_registration_spec.rb +0 -81
  330. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  331. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  332. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  333. data/spec/unit/auto_link_spec.rb +0 -93
  334. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  335. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  336. data/spec/unit/belongs_to_spec.rb +0 -76
  337. data/spec/unit/cancan_adapter_spec.rb +0 -43
  338. data/spec/unit/comments_spec.rb +0 -176
  339. data/spec/unit/component_spec.rb +0 -18
  340. data/spec/unit/config_shared_examples.rb +0 -59
  341. data/spec/unit/controller_filters_spec.rb +0 -41
  342. data/spec/unit/csv_builder_spec.rb +0 -313
  343. data/spec/unit/dependency_spec.rb +0 -135
  344. data/spec/unit/devise_spec.rb +0 -110
  345. data/spec/unit/dsl_spec.rb +0 -120
  346. data/spec/unit/filters/active_filter_spec.rb +0 -189
  347. data/spec/unit/filters/active_spec.rb +0 -24
  348. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  349. data/spec/unit/filters/resource_spec.rb +0 -128
  350. data/spec/unit/form_builder_spec.rb +0 -990
  351. data/spec/unit/generators/install_spec.rb +0 -31
  352. data/spec/unit/helpers/collection_spec.rb +0 -68
  353. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  354. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  355. data/spec/unit/helpers/settings_spec.rb +0 -30
  356. data/spec/unit/i18n_spec.rb +0 -29
  357. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  358. data/spec/unit/menu_collection_spec.rb +0 -62
  359. data/spec/unit/menu_item_spec.rb +0 -141
  360. data/spec/unit/menu_spec.rb +0 -71
  361. data/spec/unit/namespace/authorization_spec.rb +0 -27
  362. data/spec/unit/namespace/register_page_spec.rb +0 -99
  363. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  364. data/spec/unit/namespace_spec.rb +0 -124
  365. data/spec/unit/order_clause_spec.rb +0 -81
  366. data/spec/unit/page_controller_spec.rb +0 -5
  367. data/spec/unit/page_spec.rb +0 -128
  368. data/spec/unit/pretty_format_spec.rb +0 -82
  369. data/spec/unit/pundit_adapter_spec.rb +0 -98
  370. data/spec/unit/resource/action_items_spec.rb +0 -69
  371. data/spec/unit/resource/attributes_spec.rb +0 -49
  372. data/spec/unit/resource/includes_spec.rb +0 -21
  373. data/spec/unit/resource/menu_spec.rb +0 -18
  374. data/spec/unit/resource/naming_spec.rb +0 -122
  375. data/spec/unit/resource/ordering_spec.rb +0 -35
  376. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  377. data/spec/unit/resource/pagination_spec.rb +0 -38
  378. data/spec/unit/resource/routes_spec.rb +0 -125
  379. data/spec/unit/resource/scopes_spec.rb +0 -50
  380. data/spec/unit/resource/sidebars_spec.rb +0 -43
  381. data/spec/unit/resource_collection_spec.rb +0 -175
  382. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  383. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  384. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  385. data/spec/unit/resource_controller_spec.rb +0 -273
  386. data/spec/unit/resource_registration_spec.rb +0 -61
  387. data/spec/unit/resource_spec.rb +0 -320
  388. data/spec/unit/routing_spec.rb +0 -211
  389. data/spec/unit/scope_spec.rb +0 -209
  390. data/spec/unit/settings_spec.rb +0 -117
  391. data/spec/unit/view_factory_spec.rb +0 -19
  392. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  393. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  394. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  395. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  396. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  397. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  398. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  399. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  400. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  401. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  402. data/spec/unit/views/components/columns_spec.rb +0 -187
  403. data/spec/unit/views/components/index_list_spec.rb +0 -49
  404. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  405. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  406. data/spec/unit/views/components/panel_spec.rb +0 -58
  407. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  408. data/spec/unit/views/components/site_title_spec.rb +0 -76
  409. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  410. data/spec/unit/views/components/table_for_spec.rb +0 -436
  411. data/spec/unit/views/components/tabs_spec.rb +0 -67
  412. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  413. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  414. data/spec/unit/views/pages/form_spec.rb +0 -54
  415. data/spec/unit/views/pages/index_spec.rb +0 -60
  416. data/spec/unit/views/pages/layout_spec.rb +0 -59
  417. data/spec/unit/views/pages/show_spec.rb +0 -32
  418. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  419. data/tasks/docs.rake +0 -64
  420. data/tasks/lint.rake +0 -21
  421. data/tasks/local.rake +0 -25
  422. data/tasks/parallel_tests.rake +0 -66
  423. data/tasks/test.rake +0 -29
@@ -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
- cache: bundler
12
-
13
- before_install:
14
- - PATH=$(npm bin):$PATH # needed to install phantomjs via npm
15
- - if [ $(phantomjs --version) != '2.1.1' ]; then npm install phantomjs-prebuilt@2.1; fi
16
- - gem update --system # use the very latest Rubygems
17
- - gem install bundler # use the very latest Bundler
18
-
19
- script:
20
- - bundle exec rake
21
- - bundle exec rake docs:build
22
-
23
- rvm:
24
- - jruby-9.1.15.0
25
- - 2.2.8
26
- - 2.3.5
27
- - 2.4.2
28
-
29
- gemfile:
30
- - gemfiles/rails_42.gemfile
31
- - gemfiles/rails_50.gemfile
32
- - gemfiles/rails_51.gemfile
33
- - gemfiles/rails_52.gemfile
34
-
35
- env:
36
- global:
37
- - JRUBY_OPTS="-J-Xmx1024m --dev --debug"
38
- - COVERAGE=true
39
-
40
- matrix:
41
- fast_finish: true
42
-
43
- allow_failures:
44
- - rvm: jruby-9.1.15.0
45
- gemfile: gemfiles/rails_42.gemfile
46
- - rvm: jruby-9.1.15.0
47
- gemfile: gemfiles/rails_50.gemfile
48
- - rvm: jruby-9.1.15.0
49
- gemfile: gemfiles/rails_51.gemfile
50
- - rvm: jruby-9.1.15.0
51
- gemfile: gemfiles/rails_52.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', '< 3.0'
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', '~> 1.5', 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.0'
26
- s.add_dependency 'jquery-rails', '>= 4.2.0'
27
- s.add_dependency 'kaminari', '>= 0.15'
28
- s.add_dependency 'railties', '>= 4.2', '< 5.3'
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()