activeadmin 1.1.0 → 2.5.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 (486) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +492 -108
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +117 -49
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +509 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +29 -29
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  9. data/app/assets/stylesheets/active_admin/_header.scss +3 -5
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  12. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  13. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  14. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  15. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  16. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +5 -0
  18. data/app/assets/stylesheets/active_admin/print.scss +2 -2
  19. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  20. data/app/javascript/active_admin/base.js +19 -0
  21. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  22. data/app/javascript/active_admin/ext/jquery.js +9 -0
  23. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  24. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  25. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  26. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  27. data/app/javascript/active_admin/initializers/filters.js +10 -0
  28. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  29. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  30. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  31. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  32. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  33. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  34. data/app/javascript/active_admin/lib/filters.js +39 -0
  35. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  36. data/app/javascript/active_admin/lib/per-page.js +38 -0
  37. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  38. data/app/javascript/active_admin/lib/utils.js +40 -0
  39. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  40. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  41. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  42. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  43. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  44. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  45. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +3 -2
  54. data/config/locales/az.yml +138 -0
  55. data/config/locales/bg.yml +1 -1
  56. data/config/locales/bs.yml +1 -0
  57. data/config/locales/ca.yml +1 -1
  58. data/config/locales/cs.yml +1 -0
  59. data/config/locales/da.yml +1 -0
  60. data/config/locales/de-CH.yml +1 -0
  61. data/config/locales/de.yml +29 -0
  62. data/config/locales/el.yml +1 -0
  63. data/config/locales/en-CA.yml +1 -0
  64. data/config/locales/en-GB.yml +1 -0
  65. data/config/locales/en.yml +21 -1
  66. data/config/locales/eo.yml +145 -0
  67. data/config/locales/es-MX.yml +1 -0
  68. data/config/locales/es.yml +21 -1
  69. data/config/locales/fa.yml +1 -0
  70. data/config/locales/fi.yml +2 -1
  71. data/config/locales/fr.yml +2 -1
  72. data/config/locales/he.yml +1 -1
  73. data/config/locales/hr.yml +1 -0
  74. data/config/locales/hu.yml +5 -0
  75. data/config/locales/id.yml +1 -0
  76. data/config/locales/it.yml +13 -3
  77. data/config/locales/ja.yml +6 -0
  78. data/config/locales/ko.yml +1 -0
  79. data/config/locales/lt.yml +3 -2
  80. data/config/locales/lv.yml +1 -0
  81. data/config/locales/mk.yml +134 -0
  82. data/config/locales/nb.yml +16 -5
  83. data/config/locales/nl.yml +12 -0
  84. data/config/locales/pl.yml +72 -3
  85. data/config/locales/pt-BR.yml +9 -0
  86. data/config/locales/pt-PT.yml +1 -0
  87. data/config/locales/ro.yml +1 -0
  88. data/config/locales/ru.yml +3 -0
  89. data/config/locales/sk.yml +60 -0
  90. data/config/locales/sv-SE.yml +3 -0
  91. data/config/locales/tr.yml +10 -0
  92. data/config/locales/uk.yml +3 -0
  93. data/config/locales/vi.yml +48 -6
  94. data/config/locales/zh-CN.yml +34 -5
  95. data/config/locales/zh-TW.yml +1 -0
  96. data/docs/.gitignore +1 -0
  97. data/docs/0-installation.md +2 -2
  98. data/docs/1-general-configuration.md +36 -1
  99. data/docs/10-custom-pages.md +14 -0
  100. data/docs/12-arbre-components.md +41 -1
  101. data/docs/13-authorization-adapter.md +41 -22
  102. data/docs/2-resource-customization.md +10 -5
  103. data/docs/3-index-pages/custom-index.md +1 -1
  104. data/docs/3-index-pages/index-as-blog.md +1 -1
  105. data/docs/3-index-pages/index-as-table.md +12 -5
  106. data/docs/3-index-pages.md +17 -0
  107. data/docs/5-forms.md +16 -2
  108. data/docs/8-custom-actions.md +11 -0
  109. data/docs/CNAME +1 -1
  110. data/docs/Gemfile +2 -1
  111. data/docs/Gemfile.lock +249 -0
  112. data/docs/_config.yml +3 -1
  113. data/docs/_includes/toc.html +1 -1
  114. data/docs/_includes/top-menu.html +9 -1
  115. data/docs/documentation.md +1 -1
  116. data/docs/images/tidelift.svg +14 -0
  117. data/docs/index.html +109 -8
  118. data/docs/stylesheets/main.css +55 -2
  119. data/lib/active_admin/abstract_view_factory.rb +13 -51
  120. data/lib/active_admin/application.rb +53 -160
  121. data/lib/active_admin/application_settings.rb +42 -0
  122. data/lib/active_admin/asset_registration.rb +0 -8
  123. data/lib/active_admin/base_controller/authorization.rb +4 -6
  124. data/lib/active_admin/base_controller.rb +6 -6
  125. data/lib/active_admin/batch_actions/controller.rb +2 -2
  126. data/lib/active_admin/batch_actions/resource_extension.rb +9 -5
  127. data/lib/active_admin/callbacks.rb +1 -1
  128. data/lib/active_admin/controller_action.rb +2 -1
  129. data/lib/active_admin/csv_builder.rb +10 -7
  130. data/lib/active_admin/dependency.rb +3 -67
  131. data/lib/active_admin/deprecation.rb +0 -25
  132. data/lib/active_admin/dsl.rb +1 -8
  133. data/lib/active_admin/dynamic_setting.rb +38 -0
  134. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  135. data/lib/active_admin/engine.rb +5 -0
  136. data/lib/active_admin/error.rb +4 -2
  137. data/lib/active_admin/filters/active_filter.rb +49 -12
  138. data/lib/active_admin/filters/active_sidebar.rb +6 -2
  139. data/lib/active_admin/filters/forms.rb +7 -4
  140. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  141. data/lib/active_admin/filters/resource_extension.rb +28 -4
  142. data/lib/active_admin/form_builder.rb +98 -63
  143. data/lib/active_admin/generators/boilerplate.rb +12 -4
  144. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  145. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  146. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  147. data/lib/active_admin/inputs/filters/date_range_input.rb +4 -4
  148. data/lib/active_admin/inputs/filters/select_input.rb +5 -1
  149. data/lib/active_admin/menu.rb +2 -8
  150. data/lib/active_admin/menu_item.rb +4 -32
  151. data/lib/active_admin/namespace.rb +20 -8
  152. data/lib/active_admin/namespace_settings.rb +123 -0
  153. data/lib/active_admin/order_clause.rb +2 -2
  154. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  155. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +17 -7
  156. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  157. data/lib/active_admin/page_dsl.rb +1 -1
  158. data/lib/active_admin/page_presenter.rb +2 -1
  159. data/lib/active_admin/pundit_adapter.rb +18 -5
  160. data/lib/active_admin/resource/action_items.rb +7 -2
  161. data/lib/active_admin/resource/attributes.rb +7 -4
  162. data/lib/active_admin/resource/belongs_to.rb +6 -1
  163. data/lib/active_admin/resource/menu.rb +3 -3
  164. data/lib/active_admin/resource/model.rb +15 -0
  165. data/lib/active_admin/resource/naming.rb +3 -3
  166. data/lib/active_admin/resource/routes.rb +20 -7
  167. data/lib/active_admin/resource/scopes.rb +3 -3
  168. data/lib/active_admin/resource/sidebars.rb +1 -1
  169. data/lib/active_admin/resource.rb +18 -4
  170. data/lib/active_admin/resource_collection.rb +2 -2
  171. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  172. data/lib/active_admin/resource_controller/data_access.rb +5 -1
  173. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  174. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  175. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  176. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  177. data/lib/active_admin/resource_controller.rb +2 -0
  178. data/lib/active_admin/resource_dsl.rb +7 -3
  179. data/lib/active_admin/router.rb +90 -84
  180. data/lib/active_admin/scope.rb +16 -8
  181. data/lib/active_admin/settings_node.rb +19 -0
  182. data/lib/active_admin/sidebar_section.rb +3 -1
  183. data/lib/active_admin/version.rb +1 -1
  184. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  185. data/lib/active_admin/view_helpers/display_helper.rb +13 -4
  186. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  187. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  188. data/lib/active_admin/view_helpers.rb +1 -1
  189. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  190. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  191. data/lib/active_admin/views/components/menu.rb +32 -0
  192. data/lib/active_admin/views/components/menu_item.rb +58 -0
  193. data/lib/active_admin/views/components/paginated_collection.rb +4 -3
  194. data/lib/active_admin/views/components/scopes.rb +11 -4
  195. data/lib/active_admin/views/components/sidebar.rb +13 -0
  196. data/lib/active_admin/views/components/site_title.rb +5 -6
  197. data/lib/active_admin/views/components/status_tag.rb +6 -19
  198. data/lib/active_admin/views/components/table_for.rb +4 -12
  199. data/lib/active_admin/views/components/tabs.rb +15 -3
  200. data/lib/active_admin/views/footer.rb +3 -7
  201. data/lib/active_admin/views/header.rb +3 -15
  202. data/lib/active_admin/views/index_as_blog.rb +1 -1
  203. data/lib/active_admin/views/index_as_grid.rb +25 -25
  204. data/lib/active_admin/views/index_as_table.rb +18 -10
  205. data/lib/active_admin/views/pages/base.rb +31 -54
  206. data/lib/active_admin/views/pages/index.rb +1 -0
  207. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  208. data/lib/active_admin/views.rb +1 -1
  209. data/lib/active_admin.rb +9 -4
  210. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  211. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  212. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  213. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
  214. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  215. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  216. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  217. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  218. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  219. data/lib/ransack_ext.rb +3 -3
  220. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  221. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  222. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  223. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  224. metadata +115 -527
  225. data/.github/ISSUE_TEMPLATE.md +0 -20
  226. data/.gitignore +0 -49
  227. data/.mdlrc +0 -1
  228. data/.rubocop.yml +0 -76
  229. data/.simplecov +0 -13
  230. data/.travis.yml +0 -51
  231. data/.yardopts +0 -7
  232. data/Gemfile +0 -58
  233. data/Rakefile +0 -54
  234. data/activeadmin.gemspec +0 -32
  235. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  236. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  237. data/app/assets/images/active_admin/orderable.png +0 -0
  238. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  239. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  240. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  241. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  242. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  243. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  244. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  245. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  246. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  247. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  248. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  249. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  250. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  251. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  252. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  253. data/codecov.yml +0 -25
  254. data/config/i18n-tasks.yml +0 -26
  255. data/config/mdl_style.rb +0 -9
  256. data/cucumber.yml +0 -3
  257. data/features/action_item.feature +0 -73
  258. data/features/authorization.feature +0 -64
  259. data/features/authorization_cancan.feature +0 -52
  260. data/features/authorization_pundit.feature +0 -37
  261. data/features/belongs_to.feature +0 -124
  262. data/features/breadcrumb.feature +0 -75
  263. data/features/comments/commenting.feature +0 -178
  264. data/features/comments/viewing_index.feature +0 -19
  265. data/features/create_another.feature +0 -55
  266. data/features/dashboard.feature +0 -16
  267. data/features/decorators.feature +0 -43
  268. data/features/development_reloading.feature +0 -28
  269. data/features/edit_page.feature +0 -116
  270. data/features/favicon.feature +0 -20
  271. data/features/first_boot.feature +0 -16
  272. data/features/footer.feature +0 -28
  273. data/features/global_navigation.feature +0 -29
  274. data/features/i18n.feature +0 -55
  275. data/features/index/batch_actions.feature +0 -218
  276. data/features/index/filters.feature +0 -239
  277. data/features/index/format_as_csv.feature +0 -220
  278. data/features/index/formats.feature +0 -88
  279. data/features/index/index_as_block.feature +0 -15
  280. data/features/index/index_as_blog.feature +0 -69
  281. data/features/index/index_as_grid.feature +0 -45
  282. data/features/index/index_as_table.feature +0 -291
  283. data/features/index/index_blank_slate.feature +0 -83
  284. data/features/index/index_parameters.feature +0 -75
  285. data/features/index/index_scope_to.feature +0 -56
  286. data/features/index/index_scopes.feature +0 -285
  287. data/features/index/page_title.feature +0 -41
  288. data/features/index/pagination.feature +0 -63
  289. data/features/index/switch_index_view.feature +0 -73
  290. data/features/menu.feature +0 -72
  291. data/features/meta_tags.feature +0 -21
  292. data/features/new_page.feature +0 -107
  293. data/features/registering_assets.feature +0 -38
  294. data/features/registering_pages.feature +0 -237
  295. data/features/registering_resources.feature +0 -33
  296. data/features/renamed_resource.feature +0 -30
  297. data/features/root_to.feature +0 -17
  298. data/features/show/attributes_table_title.feature +0 -54
  299. data/features/show/columns.feature +0 -40
  300. data/features/show/default_content.feature +0 -44
  301. data/features/show/page_title.feature +0 -58
  302. data/features/show/tabs.feature +0 -33
  303. data/features/sidebar_sections.feature +0 -210
  304. data/features/site_title.feature +0 -47
  305. data/features/specifying_actions.feature +0 -118
  306. data/features/step_definitions/action_item_steps.rb +0 -7
  307. data/features/step_definitions/action_link_steps.rb +0 -19
  308. data/features/step_definitions/additional_web_steps.rb +0 -81
  309. data/features/step_definitions/asset_steps.rb +0 -15
  310. data/features/step_definitions/attribute_steps.rb +0 -18
  311. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  312. data/features/step_definitions/batch_action_steps.rb +0 -81
  313. data/features/step_definitions/blog_steps.rb +0 -3
  314. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  315. data/features/step_definitions/column_steps.rb +0 -8
  316. data/features/step_definitions/comment_steps.rb +0 -32
  317. data/features/step_definitions/configuration_steps.rb +0 -100
  318. data/features/step_definitions/dashboard_steps.rb +0 -15
  319. data/features/step_definitions/factory_steps.rb +0 -35
  320. data/features/step_definitions/filter_steps.rb +0 -48
  321. data/features/step_definitions/flash_steps.rb +0 -11
  322. data/features/step_definitions/footer_steps.rb +0 -11
  323. data/features/step_definitions/format_steps.rb +0 -56
  324. data/features/step_definitions/i18n_steps.rb +0 -11
  325. data/features/step_definitions/index_scope_steps.rb +0 -29
  326. data/features/step_definitions/index_views_steps.rb +0 -3
  327. data/features/step_definitions/layout_steps.rb +0 -3
  328. data/features/step_definitions/member_link_steps.rb +0 -7
  329. data/features/step_definitions/menu_steps.rb +0 -11
  330. data/features/step_definitions/meta_tag_steps.rb +0 -3
  331. data/features/step_definitions/pagination_steps.rb +0 -15
  332. data/features/step_definitions/sidebar_steps.rb +0 -11
  333. data/features/step_definitions/site_title_steps.rb +0 -17
  334. data/features/step_definitions/tab_steps.rb +0 -8
  335. data/features/step_definitions/table_steps.rb +0 -116
  336. data/features/step_definitions/user_steps.rb +0 -52
  337. data/features/step_definitions/web_steps.rb +0 -86
  338. data/features/sti_resource.feature +0 -65
  339. data/features/strong_parameters.feature +0 -69
  340. data/features/support/env.rb +0 -122
  341. data/features/support/paths.rb +0 -73
  342. data/features/support/regular_env.rb +0 -7
  343. data/features/support/reload_env.rb +0 -7
  344. data/features/support/selectors.rb +0 -45
  345. data/features/users/logging_in.feature +0 -36
  346. data/features/users/logging_out.feature +0 -13
  347. data/features/users/resetting_password.feature +0 -34
  348. data/gemfiles/rails_42.gemfile +0 -10
  349. data/gemfiles/rails_50.gemfile +0 -10
  350. data/gemfiles/rails_51.gemfile +0 -10
  351. data/lib/active_admin/event.rb +0 -24
  352. data/lib/active_admin/helpers/settings.rb +0 -114
  353. data/lib/active_admin/reloader.rb +0 -25
  354. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  355. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  356. data/spec/bug_report_templates_spec.rb +0 -26
  357. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  358. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  359. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  360. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  361. data/spec/javascripts/fixtures/flashes.html +0 -2
  362. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  363. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  364. data/spec/javascripts/support/jasmine.yml +0 -74
  365. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  366. data/spec/rails_helper.rb +0 -59
  367. data/spec/requests/default_namespace_spec.rb +0 -81
  368. data/spec/requests/memory_spec.rb +0 -25
  369. data/spec/requests/stylesheets_spec.rb +0 -18
  370. data/spec/spec_helper.rb +0 -1
  371. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  372. data/spec/support/active_admin_request_helpers.rb +0 -39
  373. data/spec/support/rails_template.rb +0 -150
  374. data/spec/support/rails_template_with_data.rb +0 -327
  375. data/spec/support/templates/admin/stores.rb +0 -7
  376. data/spec/support/templates/en.yml +0 -8
  377. data/spec/support/templates/manifest.js +0 -3
  378. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  379. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  380. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  381. data/spec/support/templates/policies/application_policy.rb +0 -44
  382. data/spec/support/templates/policies/category_policy.rb +0 -7
  383. data/spec/support/templates/policies/post_policy.rb +0 -15
  384. data/spec/support/templates/policies/store_policy.rb +0 -11
  385. data/spec/support/templates/policies/user_policy.rb +0 -11
  386. data/spec/support/templates/post_decorator.rb +0 -10
  387. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  388. data/spec/unit/action_builder_spec.rb +0 -125
  389. data/spec/unit/active_admin_spec.rb +0 -11
  390. data/spec/unit/application_spec.rb +0 -184
  391. data/spec/unit/asset_registration_spec.rb +0 -81
  392. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  393. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  394. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  395. data/spec/unit/auto_link_spec.rb +0 -93
  396. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  397. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  398. data/spec/unit/belongs_to_spec.rb +0 -76
  399. data/spec/unit/cancan_adapter_spec.rb +0 -43
  400. data/spec/unit/comments_spec.rb +0 -176
  401. data/spec/unit/component_spec.rb +0 -18
  402. data/spec/unit/config_shared_examples.rb +0 -59
  403. data/spec/unit/controller_filters_spec.rb +0 -41
  404. data/spec/unit/csv_builder_spec.rb +0 -304
  405. data/spec/unit/dependency_spec.rb +0 -135
  406. data/spec/unit/devise_spec.rb +0 -110
  407. data/spec/unit/dsl_spec.rb +0 -120
  408. data/spec/unit/filters/active_filter_spec.rb +0 -135
  409. data/spec/unit/filters/active_spec.rb +0 -24
  410. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  411. data/spec/unit/filters/resource_spec.rb +0 -128
  412. data/spec/unit/form_builder_spec.rb +0 -990
  413. data/spec/unit/generators/install_spec.rb +0 -31
  414. data/spec/unit/helpers/collection_spec.rb +0 -68
  415. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  416. data/spec/unit/helpers/settings_spec.rb +0 -30
  417. data/spec/unit/i18n_spec.rb +0 -29
  418. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  419. data/spec/unit/menu_collection_spec.rb +0 -62
  420. data/spec/unit/menu_item_spec.rb +0 -141
  421. data/spec/unit/menu_spec.rb +0 -71
  422. data/spec/unit/namespace/authorization_spec.rb +0 -27
  423. data/spec/unit/namespace/register_page_spec.rb +0 -99
  424. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  425. data/spec/unit/namespace_spec.rb +0 -124
  426. data/spec/unit/order_clause_spec.rb +0 -81
  427. data/spec/unit/page_controller_spec.rb +0 -5
  428. data/spec/unit/page_spec.rb +0 -128
  429. data/spec/unit/pretty_format_spec.rb +0 -82
  430. data/spec/unit/pundit_adapter_spec.rb +0 -98
  431. data/spec/unit/resource/action_items_spec.rb +0 -69
  432. data/spec/unit/resource/attributes_spec.rb +0 -49
  433. data/spec/unit/resource/includes_spec.rb +0 -21
  434. data/spec/unit/resource/menu_spec.rb +0 -18
  435. data/spec/unit/resource/naming_spec.rb +0 -122
  436. data/spec/unit/resource/ordering_spec.rb +0 -35
  437. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  438. data/spec/unit/resource/pagination_spec.rb +0 -38
  439. data/spec/unit/resource/routes_spec.rb +0 -125
  440. data/spec/unit/resource/scopes_spec.rb +0 -50
  441. data/spec/unit/resource/sidebars_spec.rb +0 -43
  442. data/spec/unit/resource_collection_spec.rb +0 -175
  443. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  444. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  445. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  446. data/spec/unit/resource_controller_spec.rb +0 -273
  447. data/spec/unit/resource_registration_spec.rb +0 -61
  448. data/spec/unit/resource_spec.rb +0 -320
  449. data/spec/unit/routing_spec.rb +0 -211
  450. data/spec/unit/scope_spec.rb +0 -209
  451. data/spec/unit/settings_spec.rb +0 -117
  452. data/spec/unit/view_factory_spec.rb +0 -19
  453. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  454. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  455. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  456. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  457. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  458. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  459. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  460. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  461. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  462. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  463. data/spec/unit/views/components/columns_spec.rb +0 -187
  464. data/spec/unit/views/components/index_list_spec.rb +0 -49
  465. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  466. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  467. data/spec/unit/views/components/panel_spec.rb +0 -58
  468. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  469. data/spec/unit/views/components/site_title_spec.rb +0 -76
  470. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  471. data/spec/unit/views/components/table_for_spec.rb +0 -436
  472. data/spec/unit/views/components/tabs_spec.rb +0 -67
  473. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  474. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  475. data/spec/unit/views/pages/form_spec.rb +0 -54
  476. data/spec/unit/views/pages/index_spec.rb +0 -60
  477. data/spec/unit/views/pages/layout_spec.rb +0 -59
  478. data/spec/unit/views/pages/show_spec.rb +0 -32
  479. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  480. data/tasks/docs.rake +0 -64
  481. data/tasks/lint.rake +0 -21
  482. data/tasks/local.rake +0 -25
  483. data/tasks/parallel_tests.rake +0 -66
  484. data/tasks/test.rake +0 -29
  485. /data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +0 -0
  486. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -0,0 +1,509 @@
1
+ /**
2
+ * Warning: This file is auto-generated, do not modify. Instead, make your changes in 'app/javascript/active_admin/' and run `yarn build`
3
+ */
4
+ //= require jquery3
5
+ //= require jquery-ui/widgets/datepicker
6
+ //= require jquery-ui/widgets/dialog
7
+ //= require jquery-ui/widgets/sortable
8
+ //= require jquery-ui/widgets/tabs
9
+ //= require jquery-ui/widget
10
+ //= require jquery_ujs
11
+ //= require_self
12
+
13
+ (function(factory) {
14
+ typeof define === "function" && define.amd ? define([ "jquery", "jquery-ui/ui/widgets/datepicker", "jquery-ui/ui/widgets/dialog", "jquery-ui/ui/widgets/sortable", "jquery-ui/ui/widgets/tabs", "jquery-ui/ui/widget", "jquery-ujs" ], factory) : factory();
15
+ })(function() {
16
+ "use strict";
17
+ $.fn.serializeObject = function() {
18
+ return this.serializeArray().reduce(function(obj, item) {
19
+ obj[item.name] = item.value;
20
+ return obj;
21
+ }, {});
22
+ };
23
+ $.ui.dialog.prototype._focusTabbable = function() {
24
+ this.uiDialog.focus();
25
+ };
26
+ function ModalDialog(message, inputs, callback) {
27
+ var html = '<form id="dialog_confirm" title="' + message + '"><ul>';
28
+ for (var name in inputs) {
29
+ var elem, opts, wrapper;
30
+ var type = inputs[name];
31
+ if (/^(datepicker|checkbox|text|number)$/.test(type)) {
32
+ wrapper = "input";
33
+ } else if (type === "textarea") {
34
+ wrapper = "textarea";
35
+ } else if ($.isArray(type)) {
36
+ var _ref = [ "select", "option", type, "" ];
37
+ wrapper = _ref[0];
38
+ elem = _ref[1];
39
+ opts = _ref[2];
40
+ type = _ref[3];
41
+ } else {
42
+ throw new Error("Unsupported input type: {" + name + ": " + type + "}");
43
+ }
44
+ var klass = type === "datepicker" ? type : "";
45
+ html += "<li>\n <label>" + (name.charAt(0).toUpperCase() + name.slice(1)) + "</label>\n <" + wrapper + ' name="' + name + '" class="' + klass + '" type="' + type + '">' + (opts ? function() {
46
+ var result = [];
47
+ opts.forEach(function(v) {
48
+ var $elem = $("<" + elem + "/>");
49
+ if ($.isArray(v)) {
50
+ $elem.text(v[0]).val(v[1]);
51
+ } else {
52
+ $elem.text(v);
53
+ }
54
+ result.push($elem.wrap("<div>").parent().html());
55
+ });
56
+ return result;
57
+ }().join("") : "") + ("</" + wrapper + ">") + "</li>";
58
+ var _ref2 = [];
59
+ wrapper = _ref2[0];
60
+ elem = _ref2[1];
61
+ opts = _ref2[2];
62
+ type = _ref2[3];
63
+ klass = _ref2[4];
64
+ }
65
+ html += "</ul></form>";
66
+ var form = $(html).appendTo("body");
67
+ $("body").trigger("modal_dialog:before_open", [ form ]);
68
+ form.dialog({
69
+ modal: true,
70
+ open: function open(event, ui) {
71
+ $("body").trigger("modal_dialog:after_open", [ form ]);
72
+ },
73
+ dialogClass: "active_admin_dialog",
74
+ buttons: {
75
+ OK: function OK() {
76
+ callback($(this).serializeObject());
77
+ $(this).dialog("close");
78
+ },
79
+ Cancel: function Cancel() {
80
+ $(this).dialog("close").remove();
81
+ }
82
+ }
83
+ });
84
+ }
85
+ var onDOMReady = function onDOMReady() {
86
+ $(".batch_actions_selector li a").off("click confirm:complete");
87
+ $(".batch_actions_selector li a").on("click", function(event) {
88
+ var _this = this;
89
+ var message;
90
+ event.stopPropagation();
91
+ event.preventDefault();
92
+ if (message = $(this).data("confirm")) {
93
+ ModalDialog(message, $(this).data("inputs"), function(inputs) {
94
+ $(_this).trigger("confirm:complete", inputs);
95
+ });
96
+ } else {
97
+ $(this).trigger("confirm:complete");
98
+ }
99
+ });
100
+ $(".batch_actions_selector li a").on("confirm:complete", function(event, inputs) {
101
+ var val;
102
+ if (val = JSON.stringify(inputs)) {
103
+ $("#batch_action_inputs").removeAttr("disabled").val(val);
104
+ } else {
105
+ $("#batch_action_inputs").attr("disabled", "disabled");
106
+ }
107
+ $("#batch_action").val($(this).data("action"));
108
+ $("#collection_selection").submit();
109
+ });
110
+ if ($(".batch_actions_selector").length && $(":checkbox.toggle_all").length) {
111
+ if ($(".paginated_collection table.index_table").length) {
112
+ $(".paginated_collection table.index_table").tableCheckboxToggler();
113
+ } else {
114
+ $(".paginated_collection").checkboxToggler();
115
+ }
116
+ $(document).on("change", ".paginated_collection :checkbox", function() {
117
+ if ($(".paginated_collection :checkbox:checked").length && $(".dropdown_menu_list").children().length) {
118
+ $(".batch_actions_selector").each(function() {
119
+ $(this).aaDropdownMenu("enable");
120
+ });
121
+ } else {
122
+ $(".batch_actions_selector").each(function() {
123
+ $(this).aaDropdownMenu("disable");
124
+ });
125
+ }
126
+ });
127
+ }
128
+ };
129
+ $(document).ready(onDOMReady).on("page:load turbolinks:load", onDOMReady);
130
+ var CheckboxToggler = function() {
131
+ function CheckboxToggler(options, container) {
132
+ this.options = options;
133
+ this.container = container;
134
+ this._init();
135
+ this._bind();
136
+ }
137
+ var _proto = CheckboxToggler.prototype;
138
+ _proto.option = function option(key, value) {};
139
+ _proto._init = function _init() {
140
+ if (!this.container) {
141
+ throw new Error("Container element not found");
142
+ } else {
143
+ this.$container = $(this.container);
144
+ }
145
+ if (!this.$container.find(".toggle_all").length) {
146
+ throw new Error('"toggle all" checkbox not found');
147
+ } else {
148
+ this.toggle_all_checkbox = this.$container.find(".toggle_all");
149
+ }
150
+ this.checkboxes = this.$container.find(":checkbox").not(this.toggle_all_checkbox);
151
+ };
152
+ _proto._bind = function _bind() {
153
+ var _this = this;
154
+ this.checkboxes.change(function(event) {
155
+ return _this._didChangeCheckbox(event.target);
156
+ });
157
+ this.toggle_all_checkbox.change(function() {
158
+ return _this._didChangeToggleAllCheckbox();
159
+ });
160
+ };
161
+ _proto._didChangeCheckbox = function _didChangeCheckbox(checkbox) {
162
+ var numChecked = this.checkboxes.filter(":checked").length;
163
+ var allChecked = numChecked === this.checkboxes.length;
164
+ var someChecked = numChecked > 0 && numChecked < this.checkboxes.length;
165
+ this.toggle_all_checkbox.prop({
166
+ checked: allChecked,
167
+ indeterminate: someChecked
168
+ });
169
+ };
170
+ _proto._didChangeToggleAllCheckbox = function _didChangeToggleAllCheckbox() {
171
+ var setting = this.toggle_all_checkbox.prop("checked");
172
+ this.checkboxes.prop({
173
+ checked: setting
174
+ });
175
+ return setting;
176
+ };
177
+ return CheckboxToggler;
178
+ }();
179
+ $.widget.bridge("checkboxToggler", CheckboxToggler);
180
+ (function($) {
181
+ $(document).on("focus", "input.datepicker:not(.hasDatepicker)", function() {
182
+ var input = $(this);
183
+ if (input[0].type === "date") {
184
+ return;
185
+ }
186
+ var defaults = {
187
+ dateFormat: "yy-mm-dd"
188
+ };
189
+ var options = input.data("datepicker-options");
190
+ input.datepicker($.extend(defaults, options));
191
+ });
192
+ })(jQuery);
193
+ var DropdownMenu = function() {
194
+ function DropdownMenu(options, element) {
195
+ this.options = options;
196
+ this.element = element;
197
+ this.$element = $(this.element);
198
+ var defaults = {
199
+ fadeInDuration: 20,
200
+ fadeOutDuration: 100,
201
+ onClickActionItemCallback: null
202
+ };
203
+ this.options = $.extend(defaults, this.options);
204
+ this.isOpen = false;
205
+ this.$menuButton = this.$element.find(".dropdown_menu_button");
206
+ this.$menuList = this.$element.find(".dropdown_menu_list_wrapper");
207
+ this._buildMenuList();
208
+ this._bind();
209
+ }
210
+ var _proto = DropdownMenu.prototype;
211
+ _proto.open = function open() {
212
+ this.isOpen = true;
213
+ this.$menuList.fadeIn(this.options.fadeInDuration);
214
+ this._position();
215
+ return this;
216
+ };
217
+ _proto.close = function close() {
218
+ this.isOpen = false;
219
+ this.$menuList.fadeOut(this.options.fadeOutDuration);
220
+ return this;
221
+ };
222
+ _proto.destroy = function destroy() {
223
+ this.$element = null;
224
+ return this;
225
+ };
226
+ _proto.isDisabled = function isDisabled() {
227
+ return this.$menuButton.hasClass("disabled");
228
+ };
229
+ _proto.disable = function disable() {
230
+ this.$menuButton.addClass("disabled");
231
+ };
232
+ _proto.enable = function enable() {
233
+ this.$menuButton.removeClass("disabled");
234
+ };
235
+ _proto.option = function option(key, value) {
236
+ if ($.isPlainObject(key)) {
237
+ return this.options = $.extend(true, this.options, key);
238
+ } else if (key != null) {
239
+ return this.options[key];
240
+ } else {
241
+ return this.options[key] = value;
242
+ }
243
+ };
244
+ _proto._buildMenuList = function _buildMenuList() {
245
+ this.$nipple = $('<div class="dropdown_menu_nipple"></div>');
246
+ this.$menuList.prepend(this.$nipple);
247
+ this.$menuList.hide();
248
+ };
249
+ _proto._bind = function _bind() {
250
+ var _this = this;
251
+ $("body").click(function() {
252
+ if (_this.isOpen) {
253
+ _this.close();
254
+ }
255
+ });
256
+ this.$menuButton.click(function() {
257
+ if (!_this.isDisabled()) {
258
+ if (_this.isOpen) {
259
+ _this.close();
260
+ } else {
261
+ _this.open();
262
+ }
263
+ }
264
+ return false;
265
+ });
266
+ };
267
+ _proto._position = function _position() {
268
+ this.$menuList.css("top", this.$menuButton.position().top + this.$menuButton.outerHeight() + 10);
269
+ var button_left = this.$menuButton.position().left;
270
+ var button_center = this.$menuButton.outerWidth() / 2;
271
+ var button_right = button_left + button_center * 2;
272
+ var menu_center = this.$menuList.outerWidth() / 2;
273
+ var nipple_center = this.$nipple.outerWidth() / 2;
274
+ var window_right = $(window).width();
275
+ var centered_menu_left = button_left + button_center - menu_center;
276
+ var centered_menu_right = button_left + button_center + menu_center;
277
+ if (centered_menu_left < 0) {
278
+ this.$menuList.css("left", button_left);
279
+ this.$nipple.css("left", button_center - nipple_center);
280
+ } else if (centered_menu_right > window_right) {
281
+ this.$menuList.css("right", window_right - button_right);
282
+ this.$nipple.css("right", button_center - nipple_center);
283
+ } else {
284
+ this.$menuList.css("left", centered_menu_left);
285
+ this.$nipple.css("left", menu_center - nipple_center);
286
+ }
287
+ };
288
+ return DropdownMenu;
289
+ }();
290
+ $.widget.bridge("aaDropdownMenu", DropdownMenu);
291
+ var onDOMReady$1 = function onDOMReady() {
292
+ return $(".dropdown_menu").aaDropdownMenu();
293
+ };
294
+ $(document).ready(onDOMReady$1).on("page:load turbolinks:load", onDOMReady$1);
295
+ function hasTurbolinks() {
296
+ return typeof Turbolinks !== "undefined" && Turbolinks.supported;
297
+ }
298
+ function turbolinksVisit(params) {
299
+ var path = [ window.location.pathname, "?", toQueryString(params) ].join("");
300
+ Turbolinks.visit(path);
301
+ }
302
+ function queryString() {
303
+ return (window.location.search || "").replace(/^\?/, "");
304
+ }
305
+ function queryStringToParams() {
306
+ var decode = function decode(value) {
307
+ return decodeURIComponent((value || "").replace(/\+/g, "%20"));
308
+ };
309
+ return queryString().split("&").map(function(pair) {
310
+ return pair.split("=");
311
+ }).map(function(_ref) {
312
+ var key = _ref[0], value = _ref[1];
313
+ return {
314
+ name: decode(key),
315
+ value: decode(value)
316
+ };
317
+ });
318
+ }
319
+ function toQueryString(params) {
320
+ var encode = function encode(value) {
321
+ return encodeURIComponent(value || "");
322
+ };
323
+ return params.map(function(_ref2) {
324
+ var name = _ref2.name, value = _ref2.value;
325
+ return [ encode(name), encode(value) ];
326
+ }).map(function(pair) {
327
+ return pair.join("=");
328
+ }).join("&");
329
+ }
330
+ var Filters = function() {
331
+ function Filters() {}
332
+ Filters._clearForm = function _clearForm(event) {
333
+ var regex = /^(q\[|q%5B|q%5b|page|utf8|commit)/;
334
+ var params = queryStringToParams().filter(function(_ref) {
335
+ var name = _ref.name;
336
+ return !name.match(regex);
337
+ });
338
+ event.preventDefault();
339
+ if (hasTurbolinks()) {
340
+ turbolinksVisit(params);
341
+ } else {
342
+ window.location.search = toQueryString(params);
343
+ }
344
+ };
345
+ Filters._disableEmptyInputFields = function _disableEmptyInputFields(event) {
346
+ var params = $(this).find(":input").filter(function(i, input) {
347
+ return input.value === "";
348
+ }).prop({
349
+ disabled: true
350
+ }).end().serializeArray();
351
+ if (hasTurbolinks()) {
352
+ event.preventDefault();
353
+ turbolinksVisit(params);
354
+ }
355
+ };
356
+ Filters._setSearchType = function _setSearchType() {
357
+ $(this).siblings("input").prop({
358
+ name: "q[" + this.value + "]"
359
+ });
360
+ };
361
+ return Filters;
362
+ }();
363
+ (function($) {
364
+ $(document).on("click", ".clear_filters_btn", Filters._clearForm).on("submit", ".filter_form", Filters._disableEmptyInputFields).on("change", ".filter_form_field.select_and_search select", Filters._setSearchType);
365
+ })(jQuery);
366
+ $(function() {
367
+ $(document).on("click", "a.button.has_many_remove", function(event) {
368
+ event.preventDefault();
369
+ var parent = $(this).closest(".has_many_container");
370
+ var to_remove = $(this).closest("fieldset");
371
+ recompute_positions(parent);
372
+ parent.trigger("has_many_remove:before", [ to_remove, parent ]);
373
+ to_remove.remove();
374
+ return parent.trigger("has_many_remove:after", [ to_remove, parent ]);
375
+ });
376
+ $(document).on("click", "a.button.has_many_add", function(event) {
377
+ var before_add;
378
+ event.preventDefault();
379
+ var parent = $(this).closest(".has_many_container");
380
+ parent.trigger(before_add = $.Event("has_many_add:before"), [ parent ]);
381
+ if (!before_add.isDefaultPrevented()) {
382
+ var index = parent.data("has_many_index") || parent.children("fieldset").length - 1;
383
+ parent.data({
384
+ has_many_index: ++index
385
+ });
386
+ var regex = new RegExp($(this).data("placeholder"), "g");
387
+ var html = $(this).data("html").replace(regex, index);
388
+ var fieldset = $(html).insertBefore(this);
389
+ recompute_positions(parent);
390
+ return parent.trigger("has_many_add:after", [ fieldset, parent ]);
391
+ }
392
+ });
393
+ $(document).on("change", '.has_many_container[data-sortable] :input[name$="[_destroy]"]', function() {
394
+ recompute_positions($(this).closest(".has_many"));
395
+ });
396
+ init_sortable();
397
+ $(document).on("has_many_add:after", ".has_many_container", init_sortable);
398
+ });
399
+ var init_sortable = function init_sortable() {
400
+ var elems = $(".has_many_container[data-sortable]:not(.ui-sortable)");
401
+ elems.sortable({
402
+ items: "> fieldset",
403
+ handle: "> ol > .handle",
404
+ start: function start(ev, ui) {
405
+ ui.item.css({
406
+ opacity: .3
407
+ });
408
+ },
409
+ stop: function stop(ev, ui) {
410
+ ui.item.css({
411
+ opacity: 1
412
+ });
413
+ recompute_positions($(this));
414
+ }
415
+ });
416
+ elems.each(recompute_positions);
417
+ };
418
+ var recompute_positions = function recompute_positions(parent) {
419
+ parent = parent instanceof jQuery ? parent : $(this);
420
+ var input_name = parent.data("sortable");
421
+ var position = parseInt(parent.data("sortable-start") || 0, 10);
422
+ parent.children("fieldset").each(function() {
423
+ var destroy_input = $(this).find("> ol > .input > :input[name$='[_destroy]']");
424
+ var sortable_input = $(this).find("> ol > .input > :input[name$='[" + input_name + "]']");
425
+ if (sortable_input.length) {
426
+ sortable_input.val(destroy_input.is(":checked") ? "" : position++);
427
+ }
428
+ });
429
+ };
430
+ var PerPage = function() {
431
+ function PerPage(element) {
432
+ this.element = element;
433
+ }
434
+ var _proto = PerPage.prototype;
435
+ _proto.update = function update() {
436
+ var params = queryStringToParams().filter(function(_ref) {
437
+ var name = _ref.name;
438
+ return name != "per_page" || name != "page";
439
+ });
440
+ params.push({
441
+ name: "per_page",
442
+ value: this.element.value
443
+ });
444
+ if (hasTurbolinks()) {
445
+ turbolinksVisit(params);
446
+ } else {
447
+ window.location.search = toQueryString(params);
448
+ }
449
+ };
450
+ PerPage._jQueryInterface = function _jQueryInterface(config) {
451
+ return this.each(function() {
452
+ var $this = $(this);
453
+ var data = $this.data("perPage");
454
+ if (!data) {
455
+ data = new PerPage(this);
456
+ $this.data("perPage", data);
457
+ }
458
+ if (config === "update") {
459
+ data[config]();
460
+ }
461
+ });
462
+ };
463
+ return PerPage;
464
+ }();
465
+ (function($) {
466
+ $(document).on("change", ".pagination_per_page > select", function(event) {
467
+ PerPage._jQueryInterface.call($(this), "update");
468
+ });
469
+ $.fn["perPage"] = PerPage._jQueryInterface;
470
+ $.fn["perPage"].Constructor = PerPage;
471
+ })(jQuery);
472
+ function _inheritsLoose(subClass, superClass) {
473
+ subClass.prototype = Object.create(superClass.prototype);
474
+ subClass.prototype.constructor = subClass;
475
+ subClass.__proto__ = superClass;
476
+ }
477
+ var TableCheckboxToggler = function(_CheckboxToggler) {
478
+ _inheritsLoose(TableCheckboxToggler, _CheckboxToggler);
479
+ function TableCheckboxToggler() {
480
+ return _CheckboxToggler.apply(this, arguments) || this;
481
+ }
482
+ var _proto = TableCheckboxToggler.prototype;
483
+ _proto._bind = function _bind() {
484
+ var _this = this;
485
+ _CheckboxToggler.prototype._bind.apply(this, arguments);
486
+ this.$container.find("tbody td").click(function(event) {
487
+ if (event.target.type !== "checkbox") {
488
+ _this._didClickCell(event.target);
489
+ }
490
+ });
491
+ };
492
+ _proto._didChangeCheckbox = function _didChangeCheckbox(checkbox) {
493
+ _CheckboxToggler.prototype._didChangeCheckbox.apply(this, arguments);
494
+ $(checkbox).parents("tr").toggleClass("selected", checkbox.checked);
495
+ };
496
+ _proto._didChangeToggleAllCheckbox = function _didChangeToggleAllCheckbox() {
497
+ this.$container.find("tbody tr").toggleClass("selected", _CheckboxToggler.prototype._didChangeToggleAllCheckbox.apply(this, arguments));
498
+ };
499
+ _proto._didClickCell = function _didClickCell(cell) {
500
+ $(cell).parent("tr").find(":checkbox").click();
501
+ };
502
+ return TableCheckboxToggler;
503
+ }(CheckboxToggler);
504
+ $.widget.bridge("tableCheckboxToggler", TableCheckboxToggler);
505
+ var onDOMReady$2 = function onDOMReady() {
506
+ return $("#active_admin_content .tabs").tabs();
507
+ };
508
+ $(document).ready(onDOMReady$2).on("page:load turbolinks:load", onDOMReady$2);
509
+ });
@@ -1,36 +1,36 @@
1
1
  /* Active Admin CSS */
2
2
  // Normalize
3
- @import "active_admin/normalize";
3
+ @import "./normalize";
4
4
 
5
5
  // Partials
6
- @import "active_admin/typography";
7
- @import "active_admin/header";
8
- @import "active_admin/forms";
9
- @import "active_admin/components/comments";
10
- @import "active_admin/components/flash_messages";
11
- @import "active_admin/components/date_picker";
12
- @import "active_admin/components/tables";
13
- @import "active_admin/components/batch_actions";
14
- @import "active_admin/components/modal_dialog";
15
- @import "active_admin/components/blank_slates";
16
- @import "active_admin/components/breadcrumbs";
17
- @import "active_admin/components/dropdown_menu";
18
- @import "active_admin/components/buttons";
19
- @import "active_admin/components/grid";
20
- @import "active_admin/components/links";
21
- @import "active_admin/components/pagination";
22
- @import "active_admin/components/panels";
23
- @import "active_admin/components/columns";
24
- @import "active_admin/components/scopes";
25
- @import "active_admin/components/status_tags";
26
- @import "active_admin/components/table_tools";
27
- @import "active_admin/components/index_list";
28
- @import "active_admin/components/unsupported_browser";
29
- @import "active_admin/components/tabs";
30
- @import "active_admin/pages/logged_out";
31
- @import "active_admin/structure/footer";
32
- @import "active_admin/structure/main_structure";
33
- @import "active_admin/structure/title_bar";
6
+ @import "./typography";
7
+ @import "./header";
8
+ @import "./forms";
9
+ @import "./components/comments";
10
+ @import "./components/flash_messages";
11
+ @import "./components/date_picker";
12
+ @import "./components/tables";
13
+ @import "./components/batch_actions";
14
+ @import "./components/modal_dialog";
15
+ @import "./components/blank_slates";
16
+ @import "./components/breadcrumbs";
17
+ @import "./components/dropdown_menu";
18
+ @import "./components/buttons";
19
+ @import "./components/grid";
20
+ @import "./components/links";
21
+ @import "./components/pagination";
22
+ @import "./components/panels";
23
+ @import "./components/columns";
24
+ @import "./components/scopes";
25
+ @import "./components/status_tags";
26
+ @import "./components/table_tools";
27
+ @import "./components/index_list";
28
+ @import "./components/unsupported_browser";
29
+ @import "./components/tabs";
30
+ @import "./pages/logged_out";
31
+ @import "./structure/footer";
32
+ @import "./structure/main_structure";
33
+ @import "./structure/title_bar";
34
34
 
35
35
  body {
36
36
  @include sans-family;
@@ -85,18 +85,7 @@ form {
85
85
  padding: 0;
86
86
  margin-bottom: 0;
87
87
 
88
- legend {
89
- position:absolute;
90
- width:95%;
91
- padding-top:0.1em;
92
- left: 0px;
93
- font-size: 100%;
94
- font-weight: normal;
95
- span { position:absolute; }
96
- &.label label { position:absolute; }
97
- }
98
-
99
- &:not(.has_many_fields) ol {
88
+ &:not(.inputs) ol {
100
89
  float: left;
101
90
  width: 74%;
102
91
  margin: 0;
@@ -108,7 +97,7 @@ form {
108
97
  }
109
98
  }
110
99
 
111
- &.has_many_fields ol {
100
+ &.inputs ol {
112
101
  float: left;
113
102
  width: 100%;
114
103
  margin: 0;
@@ -241,7 +230,7 @@ form {
241
230
  input[type=submit], input[type=button], button { margin-right: 10px; }
242
231
  }
243
232
 
244
- .buttons .actions .create_another {
233
+ .actions .create_another {
245
234
  float: none;
246
235
  margin-bottom: 10px;
247
236
 
@@ -335,4 +324,3 @@ form.filter_form {
335
324
  }
336
325
  a.clear_filters_btn { @include light-button; }
337
326
  }
338
-
@@ -1,5 +1,3 @@
1
- //= depend_on_asset "active_admin/nested_menu_arrow.gif"
2
- //= depend_on_asset "active_admin/nested_menu_arrow_dark.gif"
3
1
  // ----------------------------------- Header
4
2
  #header {
5
3
  @include primary-gradient;
@@ -75,12 +73,12 @@
75
73
  }
76
74
 
77
75
  &.has_nested > a {
78
- background: image-url('active_admin/nested_menu_arrow.gif') no-repeat calc(100% - 7px) 50%;
76
+ background: url($menu-arrow-light-icon-url) no-repeat calc(100% - 7px) 50%;
79
77
  padding-right: 20px;
80
78
  }
81
79
 
82
80
  &.has_nested.current > a {
83
- background: $current-menu-item-background image-url('active_admin/nested_menu_arrow_dark.gif') no-repeat calc(100% - 7px) 50%;
81
+ background: $current-menu-item-background url($menu-arrow-dark-icon-url) no-repeat calc(100% - 7px) 50%;
84
82
  padding-right: 20px;
85
83
  }
86
84
 
@@ -92,7 +90,7 @@
92
90
  &.has_nested:hover > a {
93
91
  @include rounded-top(10px);
94
92
  border-bottom: 5px solid $hover-menu-item-background;
95
- background: $hover-menu-item-background image-url('active_admin/nested_menu_arrow_dark.gif') no-repeat calc(100% - 7px) 50%;
93
+ background: $hover-menu-item-background url($menu-arrow-dark-icon-url) no-repeat calc(100% - 7px) 50%;
96
94
  z-index: 1020;
97
95
  }
98
96
 
@@ -1 +1 @@
1
- @import "active_admin/mixins/all";
1
+ @import "./mixins/all";
@@ -6,5 +6,8 @@
6
6
  font-size: 0.9em;
7
7
  line-height: 10px;
8
8
  }
9
+ &:first-child a {
10
+ margin-left: 10px;
11
+ }
9
12
  }
10
13
  }
@@ -6,11 +6,6 @@
6
6
  padding: 3px 5px 2px 5px;
7
7
  font-size: 0.8em;
8
8
 
9
- // TODO: deprecated, remove in a v2 release
10
- &.ok, &.published, &.complete, &.completed, &.green { background: #8daa92; }
11
- &.warn, &.warning, &.orange { background: #e29b20; }
12
- &.error, &.errored, &.red { background: #d45f53; }
13
-
14
9
  &.yes { background: #6090DB }
15
10
  &.no { background: grey }
16
11
 
@@ -1,4 +1,3 @@
1
- //= depend_on_asset "active_admin/orderable.png"
2
1
  // ----------------------------------- Tables
3
2
 
4
3
  table tr {
@@ -33,7 +32,7 @@ table.index_table {
33
32
  }
34
33
 
35
34
  &.sortable a {
36
- background: image-url('active_admin/orderable.png') no-repeat 0 4px; padding-left: 13px;
35
+ background: url($orderable-icon-url) no-repeat 0 4px; padding-left: 13px;
37
36
  }
38
37
 
39
38
  &.sorted-asc a { background-position: 0 -27px; }