activeadmin 1.4.3 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (385) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +609 -26
  3. data/CONTRIBUTING.md +54 -76
  4. data/README.md +46 -13
  5. data/app/assets/javascripts/active_admin/base.js +521 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  8. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  9. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  10. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  11. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  12. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  14. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  15. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  16. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  17. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  18. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  19. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  21. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  22. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  24. data/app/javascript/active_admin/base.js +28 -0
  25. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  26. data/app/javascript/active_admin/ext/jquery.js +9 -0
  27. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  28. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  29. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  30. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  31. data/app/javascript/active_admin/initializers/filters.js +10 -0
  32. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  33. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  34. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  35. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  36. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  37. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  38. data/app/javascript/active_admin/lib/filters.js +39 -0
  39. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  40. data/app/javascript/active_admin/lib/per-page.js +38 -0
  41. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  42. data/app/javascript/active_admin/lib/utils.js +40 -0
  43. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  44. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  45. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  46. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  47. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  48. data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
  49. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  50. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  51. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  52. data/app/views/active_admin/page/index.html.arb +1 -0
  53. data/app/views/active_admin/resource/edit.html.arb +1 -0
  54. data/app/views/active_admin/resource/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/new.html.arb +1 -0
  56. data/app/views/active_admin/resource/show.html.arb +1 -0
  57. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  58. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  59. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  61. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  62. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  63. data/app/views/layouts/active_admin.html.arb +1 -0
  64. data/app/views/layouts/active_admin_logged_out.html.erb +19 -8
  65. data/config/locales/ar.yml +9 -15
  66. data/config/locales/az.yml +131 -0
  67. data/config/locales/bg.yml +1 -8
  68. data/config/locales/bs.yml +1 -7
  69. data/config/locales/ca.yml +1 -8
  70. data/config/locales/cs.yml +1 -7
  71. data/config/locales/da.yml +1 -7
  72. data/config/locales/de-CH.yml +1 -7
  73. data/config/locales/de.yml +19 -8
  74. data/config/locales/el.yml +1 -7
  75. data/config/locales/en-CA.yml +4 -10
  76. data/config/locales/en-GB.yml +4 -10
  77. data/config/locales/en.yml +4 -11
  78. data/config/locales/eo.yml +1 -8
  79. data/config/locales/es-MX.yml +3 -8
  80. data/config/locales/es.yml +6 -13
  81. data/config/locales/fa.yml +1 -7
  82. data/config/locales/fi.yml +1 -7
  83. data/config/locales/fr.yml +9 -16
  84. data/config/locales/he.yml +1 -10
  85. data/config/locales/hr.yml +1 -7
  86. data/config/locales/hu.yml +3 -6
  87. data/config/locales/id.yml +1 -7
  88. data/config/locales/it.yml +19 -8
  89. data/config/locales/ja.yml +3 -10
  90. data/config/locales/ko.yml +2 -8
  91. data/config/locales/lt.yml +3 -10
  92. data/config/locales/lv.yml +3 -9
  93. data/config/locales/mk.yml +126 -0
  94. data/config/locales/nb.yml +1 -8
  95. data/config/locales/nl.yml +2 -9
  96. data/config/locales/pl.yml +1 -8
  97. data/config/locales/pt-BR.yml +1 -8
  98. data/config/locales/pt-PT.yml +1 -7
  99. data/config/locales/ro.yml +4 -9
  100. data/config/locales/ru.yml +1 -6
  101. data/config/locales/sk.yml +58 -6
  102. data/config/locales/sv-SE.yml +59 -39
  103. data/config/locales/tr.yml +1 -11
  104. data/config/locales/uk.yml +3 -6
  105. data/config/locales/vi.yml +40 -19
  106. data/config/locales/zh-CN.yml +35 -23
  107. data/config/locales/zh-TW.yml +1 -7
  108. data/lib/active_admin/abstract_view_factory.rb +1 -0
  109. data/lib/active_admin/application.rb +26 -33
  110. data/lib/active_admin/application_settings.rb +7 -3
  111. data/lib/active_admin/asset_registration.rb +4 -11
  112. data/lib/active_admin/authorization_adapter.rb +6 -3
  113. data/lib/active_admin/base_controller/authorization.rb +17 -16
  114. data/lib/active_admin/base_controller/menu.rb +1 -0
  115. data/lib/active_admin/base_controller.rb +12 -11
  116. data/lib/active_admin/batch_actions/controller.rb +5 -4
  117. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  118. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  119. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  120. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  121. data/lib/active_admin/batch_actions.rb +1 -0
  122. data/lib/active_admin/callbacks.rb +2 -1
  123. data/lib/active_admin/cancan_adapter.rb +2 -1
  124. data/lib/active_admin/collection_decorator.rb +32 -0
  125. data/lib/active_admin/component.rb +1 -0
  126. data/lib/active_admin/controller_action.rb +3 -1
  127. data/lib/active_admin/csv_builder.rb +15 -23
  128. data/lib/active_admin/dependency.rb +12 -87
  129. data/lib/active_admin/deprecation.rb +1 -0
  130. data/lib/active_admin/devise.rb +16 -5
  131. data/lib/active_admin/dsl.rb +3 -9
  132. data/lib/active_admin/dynamic_setting.rb +1 -0
  133. data/lib/active_admin/dynamic_settings_node.rb +3 -2
  134. data/lib/active_admin/engine.rb +13 -9
  135. data/lib/active_admin/error.rb +5 -4
  136. data/lib/active_admin/filters/active.rb +2 -1
  137. data/lib/active_admin/filters/active_filter.rb +11 -10
  138. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  139. data/lib/active_admin/filters/dsl.rb +1 -0
  140. data/lib/active_admin/filters/forms.rb +9 -8
  141. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  142. data/lib/active_admin/filters/resource_extension.rb +33 -8
  143. data/lib/active_admin/filters.rb +8 -7
  144. data/lib/active_admin/form_builder.rb +27 -22
  145. data/lib/active_admin/generators/boilerplate.rb +13 -4
  146. data/lib/active_admin/helpers/collection.rb +2 -0
  147. data/lib/active_admin/helpers/i18n.rb +1 -0
  148. data/lib/active_admin/helpers/optional_display.rb +3 -2
  149. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  150. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  151. data/lib/active_admin/inputs/datepicker_input.rb +3 -2
  152. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -8
  153. data/lib/active_admin/inputs/filters/base.rb +2 -1
  154. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  155. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  156. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  157. data/lib/active_admin/inputs/filters/date_range_input.rb +18 -14
  158. data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
  159. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  160. data/lib/active_admin/inputs/filters/string_input.rb +2 -1
  161. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  162. data/lib/active_admin/inputs.rb +1 -0
  163. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  164. data/lib/active_admin/localizers.rb +2 -1
  165. data/lib/active_admin/menu.rb +7 -3
  166. data/lib/active_admin/menu_collection.rb +1 -0
  167. data/lib/active_admin/menu_item.rb +8 -7
  168. data/lib/active_admin/namespace.rb +15 -14
  169. data/lib/active_admin/namespace_settings.rb +28 -8
  170. data/lib/active_admin/order_clause.rb +3 -2
  171. data/lib/active_admin/orm/active_record/comments/comment.rb +13 -4
  172. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  173. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  174. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  175. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
  176. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  177. data/lib/active_admin/orm/active_record/comments.rb +30 -29
  178. data/lib/active_admin/orm/active_record.rb +2 -1
  179. data/lib/active_admin/orm/mongoid.rb +1 -0
  180. data/lib/active_admin/page.rb +2 -1
  181. data/lib/active_admin/page_controller.rb +1 -0
  182. data/lib/active_admin/page_dsl.rb +2 -1
  183. data/lib/active_admin/page_presenter.rb +3 -1
  184. data/lib/active_admin/pundit_adapter.rb +71 -16
  185. data/lib/active_admin/resource/action_items.rb +6 -5
  186. data/lib/active_admin/resource/attributes.rb +9 -5
  187. data/lib/active_admin/resource/belongs_to.rb +9 -3
  188. data/lib/active_admin/resource/controllers.rb +2 -1
  189. data/lib/active_admin/resource/includes.rb +1 -0
  190. data/lib/active_admin/resource/menu.rb +6 -5
  191. data/lib/active_admin/resource/model.rb +16 -0
  192. data/lib/active_admin/resource/naming.rb +6 -5
  193. data/lib/active_admin/resource/ordering.rb +1 -0
  194. data/lib/active_admin/resource/page_presenters.rb +1 -0
  195. data/lib/active_admin/resource/pagination.rb +1 -0
  196. data/lib/active_admin/resource/routes.rb +26 -14
  197. data/lib/active_admin/resource/scope_to.rb +8 -7
  198. data/lib/active_admin/resource/scopes.rb +4 -3
  199. data/lib/active_admin/resource/sidebars.rb +3 -2
  200. data/lib/active_admin/resource.rb +37 -22
  201. data/lib/active_admin/resource_collection.rb +3 -2
  202. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  203. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  204. data/lib/active_admin/resource_controller/decorators.rb +8 -29
  205. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  206. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  207. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  208. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  209. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  210. data/lib/active_admin/resource_controller.rb +14 -10
  211. data/lib/active_admin/resource_dsl.rb +16 -28
  212. data/lib/active_admin/router.rb +4 -2
  213. data/lib/active_admin/scope.rb +16 -11
  214. data/lib/active_admin/settings_node.rb +2 -1
  215. data/lib/active_admin/sidebar_section.rb +4 -1
  216. data/lib/active_admin/version.rb +2 -1
  217. data/lib/active_admin/view_factory.rb +18 -17
  218. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  219. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  220. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  221. data/lib/active_admin/view_helpers/display_helper.rb +32 -8
  222. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  223. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  224. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  225. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  226. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  227. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  228. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  229. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  230. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  231. data/lib/active_admin/view_helpers.rb +2 -1
  232. data/lib/active_admin/views/action_items.rb +1 -0
  233. data/lib/active_admin/views/components/active_admin_form.rb +14 -11
  234. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  235. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  236. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  237. data/lib/active_admin/views/components/columns.rb +1 -0
  238. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  239. data/lib/active_admin/views/components/index_list.rb +4 -3
  240. data/lib/active_admin/views/components/menu.rb +2 -1
  241. data/lib/active_admin/views/components/menu_item.rb +5 -4
  242. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  243. data/lib/active_admin/views/components/panel.rb +2 -1
  244. data/lib/active_admin/views/components/scopes.rb +8 -5
  245. data/lib/active_admin/views/components/sidebar.rb +1 -0
  246. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  247. data/lib/active_admin/views/components/site_title.rb +2 -1
  248. data/lib/active_admin/views/components/status_tag.rb +14 -26
  249. data/lib/active_admin/views/components/table_for.rb +21 -19
  250. data/lib/active_admin/views/components/tabs.rb +14 -4
  251. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  252. data/lib/active_admin/views/footer.rb +4 -2
  253. data/lib/active_admin/views/header.rb +3 -2
  254. data/lib/active_admin/views/index_as_block.rb +1 -0
  255. data/lib/active_admin/views/index_as_blog.rb +2 -1
  256. data/lib/active_admin/views/index_as_grid.rb +2 -1
  257. data/lib/active_admin/views/index_as_table.rb +27 -22
  258. data/lib/active_admin/views/pages/base.rb +25 -14
  259. data/lib/active_admin/views/pages/form.rb +1 -0
  260. data/lib/active_admin/views/pages/index.rb +16 -13
  261. data/lib/active_admin/views/pages/layout.rb +1 -0
  262. data/lib/active_admin/views/pages/page.rb +1 -0
  263. data/lib/active_admin/views/pages/show.rb +2 -7
  264. data/lib/active_admin/views/tabbed_navigation.rb +3 -2
  265. data/lib/active_admin/views/title_bar.rb +2 -1
  266. data/lib/active_admin/views.rb +2 -1
  267. data/lib/active_admin.rb +67 -63
  268. data/lib/activeadmin.rb +2 -1
  269. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  270. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  271. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  272. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  273. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  274. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +62 -3
  275. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  276. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  277. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  278. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  279. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  280. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  281. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  282. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  283. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  284. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  285. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  286. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  287. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  288. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  290. metadata +115 -173
  291. data/.circleci/config.yml +0 -572
  292. data/.github/ISSUE_TEMPLATE.md +0 -20
  293. data/.gitignore +0 -16
  294. data/.mdlrc +0 -1
  295. data/.rspec +0 -1
  296. data/.rspec_parallel +0 -2
  297. data/.rubocop.yml +0 -99
  298. data/.simplecov +0 -9
  299. data/.yardopts +0 -7
  300. data/Gemfile +0 -30
  301. data/Gemfile.common +0 -26
  302. data/Gemfile.lock +0 -433
  303. data/Rakefile +0 -24
  304. data/activeadmin.gemspec +0 -32
  305. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  306. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  307. data/app/assets/images/active_admin/orderable.png +0 -0
  308. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  309. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  310. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  311. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  312. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  313. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  314. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  315. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  316. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  317. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  318. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  319. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  320. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  321. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  322. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  323. data/bin/install_chromedriver.sh +0 -17
  324. data/config/i18n-tasks.yml +0 -26
  325. data/config/mdl_style.rb +0 -11
  326. data/cucumber.yml +0 -7
  327. data/docs/.gitignore +0 -1
  328. data/docs/0-installation.md +0 -118
  329. data/docs/1-general-configuration.md +0 -204
  330. data/docs/10-custom-pages.md +0 -150
  331. data/docs/11-decorators.md +0 -59
  332. data/docs/12-arbre-components.md +0 -201
  333. data/docs/13-authorization-adapter.md +0 -285
  334. data/docs/14-gotchas.md +0 -138
  335. data/docs/2-resource-customization.md +0 -466
  336. data/docs/3-index-pages/custom-index.md +0 -35
  337. data/docs/3-index-pages/index-as-block.md +0 -19
  338. data/docs/3-index-pages/index-as-blog.md +0 -69
  339. data/docs/3-index-pages/index-as-grid.md +0 -27
  340. data/docs/3-index-pages/index-as-table.md +0 -227
  341. data/docs/3-index-pages.md +0 -328
  342. data/docs/4-csv-format.md +0 -74
  343. data/docs/5-forms.md +0 -232
  344. data/docs/6-show-pages.md +0 -81
  345. data/docs/7-sidebars.md +0 -75
  346. data/docs/8-custom-actions.md +0 -177
  347. data/docs/9-batch-actions.md +0 -237
  348. data/docs/CNAME +0 -1
  349. data/docs/Gemfile +0 -4
  350. data/docs/Gemfile.lock +0 -249
  351. data/docs/README.md +0 -24
  352. data/docs/_config.yml +0 -2
  353. data/docs/_includes/footer.html +0 -8
  354. data/docs/_includes/google-analytics.html +0 -16
  355. data/docs/_includes/head.html +0 -7
  356. data/docs/_includes/toc.html +0 -98
  357. data/docs/_includes/top-menu.html +0 -17
  358. data/docs/_layouts/default.html +0 -21
  359. data/docs/documentation.md +0 -60
  360. data/docs/images/activeadmin.png +0 -0
  361. data/docs/images/code-header.png +0 -0
  362. data/docs/images/divider.png +0 -0
  363. data/docs/images/features.png +0 -0
  364. data/docs/images/tidelift.svg +0 -14
  365. data/docs/index.html +0 -125
  366. data/docs/stylesheets/main.css +0 -1176
  367. data/gemfiles/rails_42.gemfile +0 -10
  368. data/gemfiles/rails_42.gemfile.lock +0 -339
  369. data/gemfiles/rails_50.gemfile +0 -10
  370. data/gemfiles/rails_50.gemfile.lock +0 -353
  371. data/gemfiles/rails_51.gemfile +0 -10
  372. data/gemfiles/rails_51.gemfile.lock +0 -353
  373. data/lib/active_admin/event.rb +0 -24
  374. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  375. data/lib/active_admin/reloader.rb +0 -25
  376. data/lib/bug_report_templates/active_admin_master.rb +0 -111
  377. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  378. data/lib/ransack_ext.rb +0 -20
  379. data/tasks/application_generator.rb +0 -50
  380. data/tasks/docs.rake +0 -64
  381. data/tasks/gemfiles.rake +0 -8
  382. data/tasks/lint.rake +0 -110
  383. data/tasks/local.rake +0 -27
  384. data/tasks/release.rake +0 -6
  385. data/tasks/test.rake +0 -42
@@ -1,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;
@@ -54,6 +52,11 @@
54
52
  margin: 0;
55
53
  padding: 0;
56
54
 
55
+ li {
56
+ /* Hover on li, display the ul */
57
+ &:hover > ul { display: block;}
58
+ }
59
+
57
60
  & > li {
58
61
  display: inline-block;
59
62
  margin-right: 4px;
@@ -75,12 +78,12 @@
75
78
  }
76
79
 
77
80
  &.has_nested > a {
78
- background: image-url('active_admin/nested_menu_arrow.gif') no-repeat calc(100% - 7px) 50%;
81
+ background: url($menu-arrow-light-icon-url) no-repeat calc(100% - 7px) 50%;
79
82
  padding-right: 20px;
80
83
  }
81
84
 
82
85
  &.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%;
86
+ background: $current-menu-item-background url($menu-arrow-dark-icon-url) no-repeat calc(100% - 7px) 50%;
84
87
  padding-right: 20px;
85
88
  }
86
89
 
@@ -92,13 +95,11 @@
92
95
  &.has_nested:hover > a {
93
96
  @include rounded-top(10px);
94
97
  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%;
98
+ background: $hover-menu-item-background url($menu-arrow-dark-icon-url) no-repeat calc(100% - 7px) 50%;
96
99
  z-index: 1020;
97
100
  }
98
101
 
99
102
 
100
- /* Hover on li, display the ul */
101
- &:hover ul { display: block;}
102
103
  /* Drop down menus */
103
104
  ul {
104
105
  background: $hover-menu-item-background;
@@ -116,6 +117,7 @@
116
117
  z-index: 1010;
117
118
 
118
119
  li {
120
+ position: relative;
119
121
  margin: 0px;
120
122
  a {
121
123
  background: none;
@@ -126,10 +128,40 @@
126
128
  &.current {
127
129
  a { @include rounded(0) }
128
130
  }
131
+
132
+ &.has_nested > a {
133
+ background: url($menu-arrow-right-light-icon-url) no-repeat calc(100% - 7px) 55%;
134
+ padding-right: 20px;
135
+ }
136
+
137
+ &.has_nested:hover > a {
138
+ background: url($menu-arrow-right-dark-icon-url) no-repeat calc(100% - 7px) 55%;
139
+ color: #fff;
140
+ }
141
+
142
+ ul {
143
+ @include rounded-all(10px,10px,10px,10px);
144
+ margin-top: 0;
145
+ top: -3px;
146
+ left: 100%;
147
+
148
+ /* Create an invisible backdrop that adds 8px margin around the dropdown menu or submenu
149
+ that maintains the hover. This makes it much easier to navigate to submenus in
150
+ particular without losing hover accientally, especially near rounded corners. */
151
+ &:after {
152
+ content: "";
153
+ display: block;
154
+ position: absolute;
155
+ top: -8px;
156
+ left: -8px;
157
+ height: calc(100% + 16px);
158
+ width: calc(100% + 16px);
159
+ z-index: -2;
160
+ }
161
+ }
129
162
  }
130
163
  }
131
164
  }
132
-
133
165
  }
134
166
 
135
167
  #tabs {
@@ -1 +1 @@
1
- @import "active_admin/mixins/all";
1
+ @import "./mixins/all";
@@ -1,17 +1,15 @@
1
- /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
1
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2
2
 
3
3
  /* Document
4
4
  ========================================================================== */
5
5
 
6
6
  /**
7
7
  * 1. Correct the line height in all browsers.
8
- * 2. Prevent adjustments of font size after orientation changes in
9
- * IE on Windows Phone and in iOS.
8
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
10
9
  */
11
10
 
12
11
  html {
13
12
  line-height: 1.15; /* 1 */
14
- -ms-text-size-adjust: 100%; /* 2 */
15
13
  -webkit-text-size-adjust: 100%; /* 2 */
16
14
  }
17
15
 
@@ -19,7 +17,7 @@ html {
19
17
  ========================================================================== */
20
18
 
21
19
  /**
22
- * Remove the margin in all browsers (opinionated).
20
+ * Remove the margin in all browsers.
23
21
  */
24
22
 
25
23
  body {
@@ -27,15 +25,10 @@ body {
27
25
  }
28
26
 
29
27
  /**
30
- * Add the correct display in IE 9-.
28
+ * Render the `main` element consistently in IE.
31
29
  */
32
30
 
33
- article,
34
- aside,
35
- footer,
36
- header,
37
- nav,
38
- section {
31
+ main {
39
32
  display: block;
40
33
  }
41
34
 
@@ -52,25 +45,6 @@ h1 {
52
45
  /* Grouping content
53
46
  ========================================================================== */
54
47
 
55
- /**
56
- * Add the correct display in IE 9-.
57
- * 1. Add the correct display in IE.
58
- */
59
-
60
- figcaption,
61
- figure,
62
- main { /* 1 */
63
- display: block;
64
- }
65
-
66
- /**
67
- * Add the correct margin in IE 8.
68
- */
69
-
70
- figure {
71
- margin: 1em 40px;
72
- }
73
-
74
48
  /**
75
49
  * 1. Add the correct box sizing in Firefox.
76
50
  * 2. Show the overflow in Edge and IE.
@@ -96,17 +70,15 @@ pre {
96
70
  ========================================================================== */
97
71
 
98
72
  /**
99
- * 1. Remove the gray background on active links in IE 10.
100
- * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
73
+ * Remove the gray background on active links in IE 10.
101
74
  */
102
75
 
103
76
  a {
104
- background-color: transparent; /* 1 */
105
- -webkit-text-decoration-skip: objects; /* 2 */
77
+ background-color: transparent;
106
78
  }
107
79
 
108
80
  /**
109
- * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
81
+ * 1. Remove the bottom border in Chrome 57-
110
82
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
111
83
  */
112
84
 
@@ -116,15 +88,6 @@ abbr[title] {
116
88
  text-decoration: underline dotted; /* 2 */
117
89
  }
118
90
 
119
- /**
120
- * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
121
- */
122
-
123
- b,
124
- strong {
125
- font-weight: inherit;
126
- }
127
-
128
91
  /**
129
92
  * Add the correct font weight in Chrome, Edge, and Safari.
130
93
  */
@@ -146,23 +109,6 @@ samp {
146
109
  font-size: 1em; /* 2 */
147
110
  }
148
111
 
149
- /**
150
- * Add the correct font style in Android 4.3-.
151
- */
152
-
153
- dfn {
154
- font-style: italic;
155
- }
156
-
157
- /**
158
- * Add the correct background and color in IE 9-.
159
- */
160
-
161
- mark {
162
- background-color: #ff0;
163
- color: #000;
164
- }
165
-
166
112
  /**
167
113
  * Add the correct font size in all browsers.
168
114
  */
@@ -196,44 +142,18 @@ sup {
196
142
  ========================================================================== */
197
143
 
198
144
  /**
199
- * Add the correct display in IE 9-.
200
- */
201
-
202
- audio,
203
- video {
204
- display: inline-block;
205
- }
206
-
207
- /**
208
- * Add the correct display in iOS 4-7.
209
- */
210
-
211
- audio:not([controls]) {
212
- display: none;
213
- height: 0;
214
- }
215
-
216
- /**
217
- * Remove the border on images inside links in IE 10-.
145
+ * Remove the border on images inside links in IE 10.
218
146
  */
219
147
 
220
148
  img {
221
149
  border-style: none;
222
150
  }
223
151
 
224
- /**
225
- * Hide the overflow in IE.
226
- */
227
-
228
- svg:not(:root) {
229
- overflow: hidden;
230
- }
231
-
232
152
  /* Forms
233
153
  ========================================================================== */
234
154
 
235
155
  /**
236
- * 1. Change the font styles in all browsers (opinionated).
156
+ * 1. Change the font styles in all browsers.
237
157
  * 2. Remove the margin in Firefox and Safari.
238
158
  */
239
159
 
@@ -242,7 +162,7 @@ input,
242
162
  optgroup,
243
163
  select,
244
164
  textarea {
245
- font-family: sans-serif; /* 1 */
165
+ font-family: inherit; /* 1 */
246
166
  font-size: 100%; /* 1 */
247
167
  line-height: 1.15; /* 1 */
248
168
  margin: 0; /* 2 */
@@ -269,16 +189,14 @@ select { /* 1 */
269
189
  }
270
190
 
271
191
  /**
272
- * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
273
- * controls in Android 4.
274
- * 2. Correct the inability to style clickable types in iOS and Safari.
192
+ * Correct the inability to style clickable types in iOS and Safari.
275
193
  */
276
194
 
277
195
  button,
278
- html [type="button"], /* 1 */
196
+ [type="button"],
279
197
  [type="reset"],
280
198
  [type="submit"] {
281
- -webkit-appearance: button; /* 2 */
199
+ -webkit-appearance: button;
282
200
  }
283
201
 
284
202
  /**
@@ -329,17 +247,15 @@ legend {
329
247
  }
330
248
 
331
249
  /**
332
- * 1. Add the correct display in IE 9-.
333
- * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
250
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
334
251
  */
335
252
 
336
253
  progress {
337
- display: inline-block; /* 1 */
338
- vertical-align: baseline; /* 2 */
254
+ vertical-align: baseline;
339
255
  }
340
256
 
341
257
  /**
342
- * Remove the default vertical scrollbar in IE.
258
+ * Remove the default vertical scrollbar in IE 10+.
343
259
  */
344
260
 
345
261
  textarea {
@@ -347,8 +263,8 @@ textarea {
347
263
  }
348
264
 
349
265
  /**
350
- * 1. Add the correct box sizing in IE 10-.
351
- * 2. Remove the padding in IE 10-.
266
+ * 1. Add the correct box sizing in IE 10.
267
+ * 2. Remove the padding in IE 10.
352
268
  */
353
269
 
354
270
  [type="checkbox"],
@@ -377,10 +293,9 @@ textarea {
377
293
  }
378
294
 
379
295
  /**
380
- * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
296
+ * Remove the inner padding in Chrome and Safari on macOS.
381
297
  */
382
298
 
383
- [type="search"]::-webkit-search-cancel-button,
384
299
  [type="search"]::-webkit-search-decoration {
385
300
  -webkit-appearance: none;
386
301
  }
@@ -399,12 +314,10 @@ textarea {
399
314
  ========================================================================== */
400
315
 
401
316
  /*
402
- * Add the correct display in IE 9-.
403
- * 1. Add the correct display in Edge, IE, and Firefox.
317
+ * Add the correct display in Edge, IE 10+, and Firefox.
404
318
  */
405
319
 
406
- details, /* 1 */
407
- menu {
320
+ details {
408
321
  display: block;
409
322
  }
410
323
 
@@ -416,30 +329,19 @@ summary {
416
329
  display: list-item;
417
330
  }
418
331
 
419
- /* Scripting
332
+ /* Misc
420
333
  ========================================================================== */
421
334
 
422
335
  /**
423
- * Add the correct display in IE 9-.
424
- */
425
-
426
- canvas {
427
- display: inline-block;
428
- }
429
-
430
- /**
431
- * Add the correct display in IE.
336
+ * Add the correct display in IE 10+.
432
337
  */
433
338
 
434
339
  template {
435
340
  display: none;
436
341
  }
437
342
 
438
- /* Hidden
439
- ========================================================================== */
440
-
441
343
  /**
442
- * Add the correct display in IE 10-.
344
+ * Add the correct display in IE 10.
443
345
  */
444
346
 
445
347
  [hidden] {
@@ -5,10 +5,10 @@ $primary-color: black;
5
5
  $text-color: black;
6
6
 
7
7
  // Normalize
8
- @import "active_admin/normalize";
8
+ @import "./normalize";
9
9
 
10
10
  // Partials
11
- @import "active_admin/typography";
11
+ @import "./typography";
12
12
 
13
13
  body {
14
14
  font-family: Helvetica, Arial, sans-serif;
@@ -2,9 +2,9 @@
2
2
  .comments {
3
3
 
4
4
  .active_admin_comment {
5
- clear: both;
5
+ @include clearfix;
6
6
  margin-top: 10px;
7
- margin-bottom: 40px;
7
+ margin-bottom: 20px;
8
8
  max-width: 700px;
9
9
 
10
10
  .active_admin_comment_meta {
@@ -17,11 +17,10 @@
17
17
  }
18
18
 
19
19
  .ui-datepicker-header {
20
- height: 14px;
21
20
  @include primary-gradient;
22
21
  padding: 12px 5px 7px 4px;
23
22
  margin: 0px 0px 2px 2px;
24
- width: 147px;
23
+ width: 156px;
25
24
  border-top-left-radius: 7px;
26
25
  border-top-right-radius: 7px;
27
26
  position: relative;
@@ -106,7 +106,6 @@
106
106
  li {
107
107
  display: block;
108
108
  border-bottom: solid 1px #ebebeb;
109
- box-sizing: border-box;
110
109
 
111
110
  a {
112
111
  display: block;
@@ -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; }
@@ -62,4 +62,4 @@
62
62
  padding: 15px;
63
63
  padding-top: 30px;
64
64
  text-align: left;
65
- }
65
+ }
@@ -1,8 +1,8 @@
1
- @import "active_admin/mixins/variables";
2
- @import "active_admin/mixins/gradients";
3
- @import "active_admin/mixins/shadows";
4
- @import "active_admin/mixins/rounded";
5
- @import "active_admin/mixins/buttons";
6
- @import "active_admin/mixins/sections";
7
- @import "active_admin/mixins/utilities";
8
- @import "active_admin/mixins/typography";
1
+ @import "./variables";
2
+ @import "./gradients";
3
+ @import "./shadows";
4
+ @import "./rounded";
5
+ @import "./buttons";
6
+ @import "./sections";
7
+ @import "./utilities";
8
+ @import "./typography";
@@ -24,5 +24,5 @@ $secondary-gradient-stop: #dfe1e2 !default;
24
24
  }
25
25
 
26
26
  @mixin no-gradient {
27
- background-color: none;
27
+ background: none;
28
28
  }
@@ -2,6 +2,14 @@
2
2
  // They can be overridden by prepending your own
3
3
  // to 'app/assets/stylesheets/active_admin.scss'.
4
4
 
5
+ // Images
6
+ $menu-arrow-light-icon-url: 'data:image/png;base64,R0lGODlhBwAEAKIAAL6+vry8vIiIiJWVlf///3t7ewAAAAAAACH5BAEAAAUALAAAAAAHAAQAAAMLWLol80MoF5mQKgEAOw==' !default;
7
+ $menu-arrow-dark-icon-url: 'data:image/png;base64,R0lGODlhBwAEAKIAAG1tbWxsbElJSVBQUP///0JCQgAAAAAAACH5BAEAAAUALAAAAAAHAAQAAAMLWLol80MoF5mQKgEAOw==' !default;
8
+ $menu-arrow-right-light-icon-url: 'data:image/gif;base64,R0lGODlhBAAHAKECAKqqqszMzPkVFfkVFSH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAAIALAAAAAAEAAcAAAIJlA0XKbH9nmAFADs=' !default;
9
+ $menu-arrow-right-dark-icon-url: 'data:image/gif;base64,R0lGODlhBAAHAMIEAG1tbWxsbElJSVBQUPkVFfkVFfkVFfkVFSH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAAEALAAAAAAEAAcAAAMKGKqy02G8OGeACQA7' !default;
10
+
11
+ $orderable-icon-url: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAABGCAYAAAAAVo4aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAH5JREFUeNpi3LhlOwMU1AExGxDXwARYoHQLEFdD2cxAXAliMKFJgEAFEHfBJEHGMKLhMpgkTsAEdch/NNwCk2xCdiEQtML4LEgCf6EubUX3Cgh0oNvJ+P//f7wOGpUclRwYSZb41CyidNbB8giNM+9oXhmVHHm5bJjUSAABBgDKKiwMMUxPwgAAAABJRU5ErkJggg==' !default;
12
+
5
13
  // Colors
6
14
  $body-background-color: #FFF !default;
7
15
  $primary-color: #5E6469 !default;
@@ -32,3 +40,12 @@ $text-input-horizontal-padding: 10px !default;
32
40
  $text-input-total-padding: $text-input-horizontal-padding * 2 + $border-width * 2;
33
41
 
34
42
  $blank-slate-border: 1px dashed #DADADA !default;
43
+
44
+ // Sidebar Forms
45
+ $sidebar-inner-content-width: $sidebar-width - ($section-padding * 2);
46
+
47
+ // Filter Forms
48
+ $filter-field-seperator-width: 12px !default;
49
+ $side-by-side-filter-input-width: ($sidebar-inner-content-width * 0.5) - ($text-input-horizontal-padding * 2) - $filter-field-seperator-width;
50
+ $side-by-side-filter-select-width: ($sidebar-inner-content-width * 0.5) - $filter-field-seperator-width;
51
+ $date-range-filter-input-width: ($sidebar-inner-content-width * 0.5) - ($filter-field-seperator-width * 0.5);
@@ -9,6 +9,11 @@
9
9
  }
10
10
 
11
11
  // -------------------------------------- Index Footer (Under Table)
12
- #index_footer { padding-top: 5px; text-align: right; font-size: 0.85em; }
12
+ #index_footer {
13
+ @include clearfix;
14
+ padding-top: 5px;
15
+ text-align: right;
16
+ font-size: 0.85em;
17
+ }
13
18
 
14
19
  .index_content { clear: both; }
@@ -15,7 +15,7 @@
15
15
  width: 100%;
16
16
 
17
17
  #main_content{
18
- margin-right: 300px;
18
+ margin-right: $sidebar-width + ($section-padding * 2);
19
19
  }
20
20
  }
21
21
 
@@ -1,7 +1,6 @@
1
1
  #title_bar {
2
2
  @include section-header;
3
3
  @include clearfix;
4
- box-sizing: border-box;
5
4
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.37);
6
5
  display: table;
7
6
  border-bottom-color: #EEE;
@@ -0,0 +1,28 @@
1
+ import "jquery"
2
+ import "jquery-ui/ui/widgets/datepicker"
3
+ import "jquery-ui/ui/widgets/dialog"
4
+ import "jquery-ui/ui/widgets/sortable"
5
+ import "jquery-ui/ui/widgets/tabs"
6
+ import "jquery-ui/ui/widget"
7
+ import "jquery-ujs"
8
+
9
+ import "./ext/jquery"
10
+ import "./ext/jquery-ui"
11
+ import "./initializers/batch-actions"
12
+ import "./initializers/checkbox-toggler"
13
+ import "./initializers/datepicker"
14
+ import "./initializers/dropdown-menu"
15
+ import "./initializers/filters"
16
+ import "./initializers/has-many"
17
+ import "./initializers/per-page"
18
+ import "./initializers/table-checkbox-toggler"
19
+ import "./initializers/tabs"
20
+
21
+ import ModalDialog from "./lib/modal-dialog";
22
+
23
+ function modal_dialog(message, inputs, callback) {
24
+ console.warn("ActiveAdmin.modal_dialog is deprecated in favor of ActiveAdmin.ModalDialog, please update usage.");
25
+ return ModalDialog(message, inputs, callback);
26
+ }
27
+
28
+ export { ModalDialog, modal_dialog };
@@ -0,0 +1,7 @@
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 = function() {
6
+ this.uiDialog.focus();
7
+ };
@@ -0,0 +1,9 @@
1
+ // `serializeArray` generates => [{ name: 'foo', value: 'bar' }]
2
+ // This function remaps it to => { foo: 'bar' }
3
+ $.fn.serializeObject = function() {
4
+ return this.serializeArray()
5
+ .reduce((obj, item) => {
6
+ obj[item.name] = item.value
7
+ return obj
8
+ }, {});
9
+ };
@@ -0,0 +1,61 @@
1
+ import ModalDialog from "../lib/modal-dialog";
2
+
3
+ const onDOMReady = function() {
4
+ // Detach any previously attached handlers before re-attaching them.
5
+ // This avoids double-registered handlers when Turbolinks is enabled
6
+ $('.batch_actions_selector li a').off('click confirm:complete');
7
+
8
+ //
9
+ // Use ModalDialog to prompt user if
10
+ // confirmation is required for current Batch Action
11
+ //
12
+ $('.batch_actions_selector li a').on('click', function(event){
13
+ let message;
14
+ event.stopPropagation(); // prevent Rails UJS click event
15
+ event.preventDefault();
16
+ if ((message = $(this).data('confirm'))) {
17
+ ModalDialog(message, $(this).data('inputs'), inputs => {
18
+ $(this).trigger('confirm:complete', inputs);
19
+ });
20
+ } else {
21
+ $(this).trigger('confirm:complete');
22
+ }
23
+ });
24
+
25
+ $('.batch_actions_selector li a').on('confirm:complete', function(event, inputs){
26
+ let val;
27
+ if ((val = JSON.stringify(inputs))) {
28
+ $('#batch_action_inputs').removeAttr('disabled').val(val);
29
+ } else {
30
+ $('#batch_action_inputs').attr('disabled', 'disabled');
31
+ }
32
+
33
+ $('#batch_action').val($(this).data('action'));
34
+ $('#collection_selection').submit();
35
+ });
36
+
37
+ //
38
+ // Add checkbox selection to resource tables and lists if batch actions are enabled
39
+ //
40
+
41
+ if ($(".batch_actions_selector").length && $(":checkbox.toggle_all").length) {
42
+
43
+ if ($(".paginated_collection table.index_table").length) {
44
+ $(".paginated_collection table.index_table").tableCheckboxToggler();
45
+ } else {
46
+ $(".paginated_collection").checkboxToggler();
47
+ }
48
+
49
+ $(document).on('change', '.paginated_collection :checkbox', function() {
50
+ if ($(".paginated_collection :checkbox:checked").length && $(".dropdown_menu_list").children().length) {
51
+ $(".batch_actions_selector").each(function() { $(this).aaDropdownMenu("enable"); });
52
+ } else {
53
+ $(".batch_actions_selector").each(function() { $(this).aaDropdownMenu("disable"); });
54
+ }
55
+ });
56
+ }
57
+ };
58
+
59
+ $(document).
60
+ ready(onDOMReady).
61
+ on('page:load turbolinks:load', onDOMReady);
@@ -0,0 +1,3 @@
1
+ import CheckboxToggler from "../lib/checkbox-toggler";
2
+
3
+ $.widget.bridge('checkboxToggler', CheckboxToggler);