activeadmin 1.4.2 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +501 -157
  3. data/CONTRIBUTING.md +57 -72
  4. data/README.md +47 -14
  5. data/app/assets/javascripts/active_admin/base.js +517 -0
  6. data/app/assets/stylesheets/active_admin/_base.scss +29 -29
  7. data/app/assets/stylesheets/active_admin/_forms.scss +2 -14
  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 +0 -0
  11. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  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 +8 -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 +28 -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 +1 -1
  40. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  41. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  42. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  43. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  44. data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
  45. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  46. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  47. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  48. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  49. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  50. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  51. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  52. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  53. data/app/views/layouts/active_admin_logged_out.html.erb +16 -6
  54. data/config/locales/ar.yml +9 -8
  55. data/config/locales/az.yml +138 -0
  56. data/config/locales/bg.yml +1 -1
  57. data/config/locales/bs.yml +1 -0
  58. data/config/locales/ca.yml +1 -1
  59. data/config/locales/cs.yml +1 -0
  60. data/config/locales/da.yml +1 -0
  61. data/config/locales/de-CH.yml +1 -0
  62. data/config/locales/de.yml +19 -0
  63. data/config/locales/el.yml +1 -0
  64. data/config/locales/en-CA.yml +4 -3
  65. data/config/locales/en-GB.yml +4 -3
  66. data/config/locales/en.yml +4 -3
  67. data/config/locales/eo.yml +1 -0
  68. data/config/locales/es-MX.yml +3 -1
  69. data/config/locales/es.yml +6 -5
  70. data/config/locales/fa.yml +1 -0
  71. data/config/locales/fi.yml +1 -0
  72. data/config/locales/fr.yml +6 -5
  73. data/config/locales/he.yml +1 -1
  74. data/config/locales/hr.yml +1 -0
  75. data/config/locales/hu.yml +5 -0
  76. data/config/locales/id.yml +1 -0
  77. data/config/locales/it.yml +19 -0
  78. data/config/locales/ja.yml +4 -3
  79. data/config/locales/ko.yml +1 -0
  80. data/config/locales/lt.yml +3 -2
  81. data/config/locales/lv.yml +3 -2
  82. data/config/locales/mk.yml +134 -0
  83. data/config/locales/nb.yml +1 -0
  84. data/config/locales/nl.yml +1 -0
  85. data/config/locales/pl.yml +1 -0
  86. data/config/locales/pt-BR.yml +1 -0
  87. data/config/locales/pt-PT.yml +1 -0
  88. data/config/locales/ro.yml +1 -0
  89. data/config/locales/ru.yml +1 -0
  90. data/config/locales/sk.yml +60 -0
  91. data/config/locales/sv-SE.yml +1 -0
  92. data/config/locales/tr.yml +1 -0
  93. data/config/locales/uk.yml +3 -0
  94. data/config/locales/vi.yml +7 -5
  95. data/config/locales/zh-CN.yml +1 -0
  96. data/config/locales/zh-TW.yml +1 -0
  97. data/docs/0-installation.md +28 -4
  98. data/docs/1-general-configuration.md +20 -0
  99. data/docs/11-decorators.md +16 -5
  100. data/docs/12-arbre-components.md +13 -0
  101. data/docs/13-authorization-adapter.md +6 -6
  102. data/docs/2-resource-customization.md +11 -2
  103. data/docs/3-index-pages.md +1 -1
  104. data/docs/3-index-pages/index-as-table.md +7 -0
  105. data/docs/5-forms.md +6 -1
  106. data/docs/6-show-pages.md +12 -0
  107. data/docs/9-batch-actions.md +2 -2
  108. data/docs/CNAME +1 -1
  109. data/docs/Gemfile +2 -3
  110. data/docs/Gemfile.lock +126 -116
  111. data/docs/_config.yml +2 -0
  112. data/docs/_includes/top-menu.html +2 -2
  113. data/docs/documentation.md +1 -1
  114. data/docs/index.html +110 -9
  115. data/docs/stylesheets/main.css +29 -0
  116. data/lib/active_admin.rb +67 -63
  117. data/lib/active_admin/application.rb +20 -27
  118. data/lib/active_admin/application_settings.rb +6 -3
  119. data/lib/active_admin/asset_registration.rb +0 -8
  120. data/lib/active_admin/authorization_adapter.rb +3 -3
  121. data/lib/active_admin/base_controller.rb +10 -10
  122. data/lib/active_admin/base_controller/authorization.rb +15 -15
  123. data/lib/active_admin/batch_actions/controller.rb +5 -5
  124. data/lib/active_admin/batch_actions/resource_extension.rb +15 -10
  125. data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
  126. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
  127. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  128. data/lib/active_admin/callbacks.rb +1 -1
  129. data/lib/active_admin/cancan_adapter.rb +1 -1
  130. data/lib/active_admin/collection_decorator.rb +31 -0
  131. data/lib/active_admin/controller_action.rb +2 -1
  132. data/lib/active_admin/csv_builder.rb +14 -9
  133. data/lib/active_admin/dependency.rb +13 -85
  134. data/lib/active_admin/devise.rb +5 -5
  135. data/lib/active_admin/dsl.rb +2 -9
  136. data/lib/active_admin/dynamic_settings_node.rb +2 -2
  137. data/lib/active_admin/engine.rb +10 -8
  138. data/lib/active_admin/error.rb +4 -4
  139. data/lib/active_admin/filters.rb +7 -7
  140. data/lib/active_admin/filters/active.rb +1 -1
  141. data/lib/active_admin/filters/active_filter.rb +10 -10
  142. data/lib/active_admin/filters/active_sidebar.rb +9 -5
  143. data/lib/active_admin/filters/forms.rb +7 -7
  144. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  145. data/lib/active_admin/filters/resource_extension.rb +28 -4
  146. data/lib/active_admin/form_builder.rb +26 -22
  147. data/lib/active_admin/generators/boilerplate.rb +12 -4
  148. data/lib/active_admin/helpers/optional_display.rb +2 -2
  149. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  150. data/lib/active_admin/inputs/datepicker_input.rb +2 -2
  151. data/lib/active_admin/inputs/filters/base.rb +1 -1
  152. data/lib/active_admin/inputs/filters/base/search_method_select.rb +6 -6
  153. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  154. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  155. data/lib/active_admin/inputs/filters/date_range_input.rb +15 -12
  156. data/lib/active_admin/inputs/filters/select_input.rb +2 -2
  157. data/lib/active_admin/localizers.rb +1 -1
  158. data/lib/active_admin/localizers/resource_localizer.rb +3 -3
  159. data/lib/active_admin/menu.rb +6 -3
  160. data/lib/active_admin/menu_item.rb +7 -7
  161. data/lib/active_admin/namespace.rb +12 -12
  162. data/lib/active_admin/namespace_settings.rb +27 -8
  163. data/lib/active_admin/order_clause.rb +2 -2
  164. data/lib/active_admin/orm/active_record.rb +1 -1
  165. data/lib/active_admin/orm/active_record/comments.rb +23 -23
  166. data/lib/active_admin/orm/active_record/comments/comment.rb +4 -4
  167. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  168. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +29 -24
  169. data/lib/active_admin/page.rb +1 -1
  170. data/lib/active_admin/page_dsl.rb +1 -1
  171. data/lib/active_admin/page_presenter.rb +2 -1
  172. data/lib/active_admin/pundit_adapter.rb +22 -9
  173. data/lib/active_admin/resource.rb +34 -20
  174. data/lib/active_admin/resource/action_items.rb +5 -5
  175. data/lib/active_admin/resource/attributes.rb +8 -5
  176. data/lib/active_admin/resource/belongs_to.rb +8 -3
  177. data/lib/active_admin/resource/controllers.rb +1 -1
  178. data/lib/active_admin/resource/menu.rb +5 -5
  179. data/lib/active_admin/resource/model.rb +15 -0
  180. data/lib/active_admin/resource/naming.rb +5 -5
  181. data/lib/active_admin/resource/routes.rb +25 -14
  182. data/lib/active_admin/resource/scope_to.rb +7 -7
  183. data/lib/active_admin/resource/scopes.rb +3 -3
  184. data/lib/active_admin/resource/sidebars.rb +2 -2
  185. data/lib/active_admin/resource_collection.rb +2 -2
  186. data/lib/active_admin/resource_controller.rb +13 -10
  187. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  188. data/lib/active_admin/resource_controller/data_access.rb +1 -1
  189. data/lib/active_admin/resource_controller/decorators.rb +7 -29
  190. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  191. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  192. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  193. data/lib/active_admin/resource_controller/streaming.rb +7 -6
  194. data/lib/active_admin/resource_dsl.rb +11 -9
  195. data/lib/active_admin/router.rb +3 -2
  196. data/lib/active_admin/scope.rb +15 -11
  197. data/lib/active_admin/settings_node.rb +1 -1
  198. data/lib/active_admin/sidebar_section.rb +3 -1
  199. data/lib/active_admin/version.rb +1 -1
  200. data/lib/active_admin/view_factory.rb +17 -17
  201. data/lib/active_admin/view_helpers.rb +1 -1
  202. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  203. data/lib/active_admin/view_helpers/display_helper.rb +16 -7
  204. data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
  205. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  206. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  207. data/lib/active_admin/views.rb +1 -1
  208. data/lib/active_admin/views/components/active_admin_form.rb +12 -6
  209. data/lib/active_admin/views/components/attributes_table.rb +8 -8
  210. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  211. data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
  212. data/lib/active_admin/views/components/index_list.rb +3 -3
  213. data/lib/active_admin/views/components/menu.rb +1 -1
  214. data/lib/active_admin/views/components/menu_item.rb +4 -4
  215. data/lib/active_admin/views/components/paginated_collection.rb +21 -20
  216. data/lib/active_admin/views/components/panel.rb +1 -1
  217. data/lib/active_admin/views/components/scopes.rb +7 -5
  218. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  219. data/lib/active_admin/views/components/site_title.rb +1 -1
  220. data/lib/active_admin/views/components/status_tag.rb +13 -26
  221. data/lib/active_admin/views/components/table_for.rb +20 -19
  222. data/lib/active_admin/views/components/tabs.rb +13 -4
  223. data/lib/active_admin/views/footer.rb +3 -2
  224. data/lib/active_admin/views/header.rb +2 -2
  225. data/lib/active_admin/views/index_as_blog.rb +1 -1
  226. data/lib/active_admin/views/index_as_grid.rb +1 -1
  227. data/lib/active_admin/views/index_as_table.rb +27 -19
  228. data/lib/active_admin/views/pages/base.rb +18 -11
  229. data/lib/active_admin/views/pages/index.rb +15 -13
  230. data/lib/active_admin/views/tabbed_navigation.rb +2 -2
  231. data/lib/active_admin/views/title_bar.rb +1 -1
  232. data/lib/activeadmin.rb +1 -1
  233. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  234. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  235. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  236. data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
  237. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  238. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  239. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  240. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  241. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  242. data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
  243. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  244. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  245. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  246. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  247. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  248. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  249. data/lib/ransack_ext.rb +9 -9
  250. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  251. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  252. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  253. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  254. metadata +108 -127
  255. data/.circleci/config.yml +0 -467
  256. data/.github/ISSUE_TEMPLATE.md +0 -20
  257. data/.gitignore +0 -46
  258. data/.mdlrc +0 -1
  259. data/.rspec +0 -1
  260. data/.rspec_parallel +0 -2
  261. data/.rubocop.yml +0 -94
  262. data/.simplecov +0 -11
  263. data/.yardopts +0 -7
  264. data/Gemfile +0 -10
  265. data/Gemfile.common +0 -53
  266. data/Gemfile.lock +0 -431
  267. data/Rakefile +0 -23
  268. data/activeadmin.gemspec +0 -32
  269. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  270. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  271. data/app/assets/images/active_admin/orderable.png +0 -0
  272. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  273. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  274. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  275. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  276. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  277. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  278. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  279. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  280. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  281. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  282. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  283. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  284. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  285. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  286. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  287. data/bin/install_chromedriver.sh +0 -17
  288. data/codecov.yml +0 -25
  289. data/config/i18n-tasks.yml +0 -26
  290. data/config/mdl_style.rb +0 -11
  291. data/cucumber.yml +0 -7
  292. data/gemfiles/rails_42.gemfile +0 -10
  293. data/gemfiles/rails_42.gemfile.lock +0 -410
  294. data/gemfiles/rails_50.gemfile +0 -10
  295. data/gemfiles/rails_50.gemfile.lock +0 -424
  296. data/gemfiles/rails_51.gemfile +0 -10
  297. data/gemfiles/rails_51.gemfile.lock +0 -423
  298. data/lib/active_admin/event.rb +0 -24
  299. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  300. data/lib/active_admin/reloader.rb +0 -25
  301. data/lib/bug_report_templates/active_admin_master.rb +0 -111
  302. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  303. data/tasks/application_generator.rb +0 -48
  304. data/tasks/docs.rake +0 -64
  305. data/tasks/gemfiles.rake +0 -8
  306. data/tasks/lint.rake +0 -110
  307. data/tasks/local.rake +0 -27
  308. data/tasks/test.rake +0 -43
@@ -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;
@@ -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;
@@ -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";
@@ -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 {
@@ -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;
@@ -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;
@@ -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
 
@@ -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);
@@ -0,0 +1,16 @@
1
+ (($) => {
2
+
3
+ $(document)
4
+ .on('focus', 'input.datepicker:not(.hasDatepicker)', function() {
5
+ const input = $(this);
6
+
7
+ // Only create datepickers in compatible browsers
8
+ if (input[0].type === 'date') { return; }
9
+
10
+ const defaults = { dateFormat: 'yy-mm-dd' };
11
+ const options = input.data('datepicker-options');
12
+
13
+ input.datepicker($.extend(defaults, options));
14
+ });
15
+
16
+ })(jQuery);