rails_admin 2.2.1 → 3.1.2

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 (522) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +12 -11
  3. data/README.md +42 -43
  4. data/Rakefile +15 -2
  5. data/app/assets/javascripts/rails_admin/application.js.erb +29 -0
  6. data/app/assets/stylesheets/rails_admin/application.scss.erb +35 -0
  7. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +1 -1
  8. data/app/assets/stylesheets/rails_admin/custom/variables.scss +1 -1
  9. data/app/controllers/rails_admin/application_controller.rb +6 -3
  10. data/app/controllers/rails_admin/main_controller.rb +55 -50
  11. data/app/helpers/rails_admin/application_helper.rb +129 -63
  12. data/app/helpers/rails_admin/form_builder.rb +17 -6
  13. data/app/helpers/rails_admin/main_helper.rb +18 -42
  14. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
  15. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
  16. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
  17. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +15 -0
  18. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
  19. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
  20. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +8 -0
  21. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
  22. data/app/views/layouts/rails_admin/_head.html.erb +29 -0
  23. data/app/views/layouts/rails_admin/_navigation.html.erb +17 -0
  24. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +26 -0
  25. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -0
  26. data/app/views/layouts/rails_admin/application.html.erb +27 -0
  27. data/app/views/layouts/rails_admin/content.html.erb +22 -0
  28. data/app/views/layouts/rails_admin/modal.js.erb +7 -0
  29. data/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
  30. data/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
  31. data/app/views/rails_admin/main/_form_action_text.html.erb +8 -0
  32. data/app/views/rails_admin/main/_form_boolean.html.erb +14 -0
  33. data/app/views/rails_admin/main/{_form_ck_editor.html.haml → _form_ck_editor.html.erb} +3 -3
  34. data/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
  35. data/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -0
  36. data/app/views/rails_admin/main/_form_datetime.html.erb +10 -0
  37. data/app/views/rails_admin/main/_form_enumeration.html.erb +25 -0
  38. data/app/views/rails_admin/main/_form_field.html.erb +1 -0
  39. data/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
  40. data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +49 -0
  41. data/app/views/rails_admin/main/_form_filtering_select.html.erb +33 -0
  42. data/app/views/rails_admin/main/_form_froala.html.erb +8 -0
  43. data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
  44. data/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
  45. data/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
  46. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +32 -0
  47. data/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
  48. data/app/views/rails_admin/main/_form_text.html.erb +1 -0
  49. data/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
  50. data/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
  51. data/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
  52. data/app/views/rails_admin/main/dashboard.html.erb +64 -0
  53. data/app/views/rails_admin/main/delete.html.erb +21 -0
  54. data/app/views/rails_admin/main/edit.html.erb +3 -0
  55. data/app/views/rails_admin/main/export.html.erb +149 -0
  56. data/app/views/rails_admin/main/history.html.erb +80 -0
  57. data/app/views/rails_admin/main/index.html.erb +184 -0
  58. data/app/views/rails_admin/main/new.html.erb +3 -0
  59. data/app/views/rails_admin/main/show.html.erb +30 -0
  60. data/config/initializers/active_record_extensions.rb +25 -0
  61. data/config/initializers/mongoid_extensions.rb +3 -1
  62. data/config/locales/rails_admin.en.yml +8 -3
  63. data/config/routes.rb +2 -0
  64. data/lib/generators/rails_admin/importmap_formatter.rb +28 -0
  65. data/lib/generators/rails_admin/install_generator.rb +117 -5
  66. data/lib/generators/rails_admin/templates/initializer.erb +2 -1
  67. data/lib/generators/rails_admin/templates/rails_admin.js +1 -0
  68. data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
  69. data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
  70. data/lib/generators/rails_admin/utils.rb +2 -0
  71. data/lib/rails_admin/abstract_model.rb +35 -15
  72. data/lib/rails_admin/adapters/active_record/association.rb +31 -2
  73. data/lib/rails_admin/adapters/active_record/object_extension.rb +31 -0
  74. data/lib/rails_admin/adapters/active_record/property.rb +4 -2
  75. data/lib/rails_admin/adapters/active_record.rb +60 -28
  76. data/lib/rails_admin/adapters/composite_primary_keys/association.rb +45 -0
  77. data/lib/rails_admin/adapters/composite_primary_keys.rb +40 -0
  78. data/lib/rails_admin/adapters/mongoid/association.rb +52 -13
  79. data/lib/rails_admin/adapters/mongoid/bson.rb +6 -5
  80. data/lib/rails_admin/adapters/mongoid/extension.rb +2 -0
  81. data/lib/rails_admin/adapters/mongoid/object_extension.rb +34 -0
  82. data/lib/rails_admin/adapters/mongoid/property.rb +7 -5
  83. data/lib/rails_admin/adapters/mongoid.rb +33 -23
  84. data/lib/rails_admin/config/actions/base.rb +11 -4
  85. data/lib/rails_admin/config/actions/bulk_delete.rb +4 -2
  86. data/lib/rails_admin/config/actions/dashboard.rb +16 -9
  87. data/lib/rails_admin/config/actions/delete.rb +11 -9
  88. data/lib/rails_admin/config/actions/edit.rb +13 -7
  89. data/lib/rails_admin/config/actions/export.rb +6 -3
  90. data/lib/rails_admin/config/actions/history_index.rb +4 -2
  91. data/lib/rails_admin/config/actions/history_show.rb +4 -2
  92. data/lib/rails_admin/config/actions/index.rb +9 -8
  93. data/lib/rails_admin/config/actions/new.rb +18 -10
  94. data/lib/rails_admin/config/actions/show.rb +3 -1
  95. data/lib/rails_admin/config/actions/show_in_app.rb +9 -3
  96. data/lib/rails_admin/config/actions.rb +6 -4
  97. data/lib/rails_admin/config/configurable.rb +4 -2
  98. data/lib/rails_admin/config/const_load_suppressor.rb +78 -0
  99. data/lib/rails_admin/config/fields/association.rb +21 -11
  100. data/lib/rails_admin/config/fields/base.rb +86 -36
  101. data/lib/rails_admin/config/fields/factories/action_text.rb +2 -0
  102. data/lib/rails_admin/config/fields/factories/active_storage.rb +5 -1
  103. data/lib/rails_admin/config/fields/factories/association.rb +12 -13
  104. data/lib/rails_admin/config/fields/factories/carrierwave.rb +6 -2
  105. data/lib/rails_admin/config/fields/factories/devise.rb +6 -2
  106. data/lib/rails_admin/config/fields/factories/dragonfly.rb +6 -2
  107. data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
  108. data/lib/rails_admin/config/fields/factories/paperclip.rb +6 -2
  109. data/lib/rails_admin/config/fields/factories/password.rb +2 -0
  110. data/lib/rails_admin/config/fields/factories/shrine.rb +3 -1
  111. data/lib/rails_admin/config/fields/group.rb +3 -2
  112. data/lib/rails_admin/config/fields/types/action_text.rb +7 -1
  113. data/lib/rails_admin/config/fields/types/active_record_enum.rb +4 -0
  114. data/lib/rails_admin/config/fields/types/active_storage.rb +23 -7
  115. data/lib/rails_admin/config/fields/types/all.rb +4 -0
  116. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +9 -15
  117. data/lib/rails_admin/config/fields/types/boolean.rb +38 -8
  118. data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
  119. data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -0
  120. data/lib/rails_admin/config/fields/types/citext.rb +15 -0
  121. data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -0
  122. data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -0
  123. data/lib/rails_admin/config/fields/types/color.rb +8 -2
  124. data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
  125. data/lib/rails_admin/config/fields/types/date.rb +12 -6
  126. data/lib/rails_admin/config/fields/types/datetime.rb +36 -21
  127. data/lib/rails_admin/config/fields/types/decimal.rb +11 -2
  128. data/lib/rails_admin/config/fields/types/dragonfly.rb +5 -1
  129. data/lib/rails_admin/config/fields/types/enum.rb +16 -3
  130. data/lib/rails_admin/config/fields/types/file_upload.rb +6 -3
  131. data/lib/rails_admin/config/fields/types/float.rb +11 -2
  132. data/lib/rails_admin/config/fields/types/froala.rb +2 -0
  133. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
  134. data/lib/rails_admin/config/fields/types/has_many_association.rb +7 -5
  135. data/lib/rails_admin/config/fields/types/has_one_association.rb +12 -14
  136. data/lib/rails_admin/config/fields/types/hidden.rb +2 -0
  137. data/lib/rails_admin/config/fields/types/inet.rb +2 -0
  138. data/lib/rails_admin/config/fields/types/integer.rb +4 -6
  139. data/lib/rails_admin/config/fields/types/json.rb +2 -0
  140. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +30 -6
  141. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +3 -0
  142. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +6 -3
  143. data/lib/rails_admin/config/fields/types/numeric.rb +24 -0
  144. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
  145. data/lib/rails_admin/config/fields/types/password.rb +2 -0
  146. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +5 -2
  147. data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
  148. data/lib/rails_admin/config/fields/types/shrine.rb +2 -0
  149. data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -0
  150. data/lib/rails_admin/config/fields/types/string.rb +3 -1
  151. data/lib/rails_admin/config/fields/types/string_like.rb +6 -0
  152. data/lib/rails_admin/config/fields/types/text.rb +2 -0
  153. data/lib/rails_admin/config/fields/types/time.rb +16 -4
  154. data/lib/rails_admin/config/fields/types/timestamp.rb +2 -4
  155. data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
  156. data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -0
  157. data/lib/rails_admin/config/fields/types.rb +3 -1
  158. data/lib/rails_admin/config/fields.rb +6 -2
  159. data/lib/rails_admin/config/groupable.rb +2 -0
  160. data/lib/rails_admin/config/has_description.rb +2 -0
  161. data/lib/rails_admin/config/has_fields.rb +12 -7
  162. data/lib/rails_admin/config/has_groups.rb +2 -0
  163. data/lib/rails_admin/config/hideable.rb +3 -1
  164. data/lib/rails_admin/config/inspectable.rb +3 -3
  165. data/lib/rails_admin/config/lazy_model.rb +13 -7
  166. data/lib/rails_admin/config/model.rb +22 -10
  167. data/lib/rails_admin/config/proxyable/proxy.rb +2 -0
  168. data/lib/rails_admin/config/proxyable.rb +2 -0
  169. data/lib/rails_admin/config/sections/base.rb +4 -3
  170. data/lib/rails_admin/config/sections/create.rb +2 -0
  171. data/lib/rails_admin/config/sections/edit.rb +2 -0
  172. data/lib/rails_admin/config/sections/export.rb +2 -0
  173. data/lib/rails_admin/config/sections/list.rb +14 -19
  174. data/lib/rails_admin/config/sections/modal.rb +2 -0
  175. data/lib/rails_admin/config/sections/nested.rb +2 -0
  176. data/lib/rails_admin/config/sections/show.rb +2 -0
  177. data/lib/rails_admin/config/sections/update.rb +2 -0
  178. data/lib/rails_admin/config/sections.rb +3 -1
  179. data/lib/rails_admin/config.rb +81 -44
  180. data/lib/rails_admin/engine.rb +43 -32
  181. data/lib/rails_admin/extension.rb +8 -14
  182. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +25 -6
  183. data/lib/rails_admin/extensions/cancancan.rb +2 -0
  184. data/lib/rails_admin/extensions/controller_extension.rb +2 -0
  185. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +61 -34
  186. data/lib/rails_admin/extensions/paper_trail.rb +2 -0
  187. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +8 -7
  188. data/lib/rails_admin/extensions/pundit.rb +2 -0
  189. data/lib/rails_admin/support/csv_converter.rb +14 -15
  190. data/lib/rails_admin/support/datetime.rb +50 -85
  191. data/lib/rails_admin/support/es_module_processor.rb +23 -0
  192. data/lib/rails_admin/support/hash_helper.rb +8 -5
  193. data/lib/rails_admin/version.rb +42 -3
  194. data/lib/rails_admin.rb +7 -5
  195. data/lib/tasks/rails_admin.rake +5 -3
  196. data/package.json +30 -0
  197. data/src/rails_admin/base.js +29 -0
  198. data/src/rails_admin/filter-box.js +360 -0
  199. data/src/rails_admin/filtering-multiselect.js +389 -0
  200. data/src/rails_admin/filtering-select.js +308 -0
  201. data/src/rails_admin/i18n.js +18 -0
  202. data/src/rails_admin/jquery.js +3 -0
  203. data/src/rails_admin/nested-form-hooks.js +110 -0
  204. data/src/rails_admin/remote-form.js +193 -0
  205. data/src/rails_admin/sidescroll.js +20 -0
  206. data/src/rails_admin/styles/base/theming.scss +342 -0
  207. data/src/rails_admin/styles/base/variables.scss +3 -0
  208. data/src/rails_admin/styles/base.scss +27 -0
  209. data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
  210. data/src/rails_admin/styles/filtering-select.scss +70 -0
  211. data/src/rails_admin/styles/widgets.scss +26 -0
  212. data/src/rails_admin/ui.js +176 -0
  213. data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
  214. data/src/rails_admin/widgets.js +507 -0
  215. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  216. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
  217. data/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
  218. data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +11246 -0
  219. data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
  220. data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
  221. data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
  222. data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
  223. data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
  224. data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
  225. data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
  226. data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
  227. data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
  228. data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
  229. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
  230. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
  231. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
  232. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
  233. data/vendor/assets/javascripts/rails_admin/jquery3.js +10881 -0
  234. data/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
  235. data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
  236. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
  237. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
  238. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
  239. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
  240. data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +64 -110
  241. data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
  242. data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +162 -176
  243. data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +31 -26
  244. data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
  245. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
  246. data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -538
  247. data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
  248. data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +18 -69
  249. data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
  250. data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
  251. data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +127 -84
  252. data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +26 -22
  253. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
  254. data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
  255. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +218 -542
  256. data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
  257. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +46 -70
  258. data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
  259. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
  260. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
  261. data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
  262. data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
  263. data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
  264. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +100 -178
  265. data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
  266. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +97 -77
  267. data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
  268. data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +54 -254
  269. data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +628 -55
  270. data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1572 -781
  271. data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +38 -35
  272. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
  273. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
  274. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
  275. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
  276. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
  277. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
  278. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
  279. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
  280. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
  281. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
  282. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
  283. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
  284. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
  285. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
  286. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
  287. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
  288. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
  289. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
  290. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
  291. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
  292. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +72 -12
  293. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
  294. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
  295. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +113 -30
  296. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
  297. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +5 -18
  298. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
  299. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
  300. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
  301. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +130 -70
  302. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +27 -38
  303. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +127 -98
  304. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +6 -24
  305. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +13 -20
  306. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
  307. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +24 -16
  308. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
  309. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +1 -1
  310. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
  311. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  312. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +26 -0
  313. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +89 -0
  314. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +29 -0
  315. data/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +47 -0
  316. data/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +354 -0
  317. data/vendor/assets/stylesheets/rails_admin/flatpickr.css +791 -0
  318. data/vendor/assets/stylesheets/rails_admin/font-awesome.scss +6291 -2282
  319. metadata +180 -328
  320. data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
  321. data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
  322. data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
  323. data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
  324. data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  325. data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  326. data/app/assets/images/rails_admin/bullet_black.png +0 -0
  327. data/app/assets/images/rails_admin/bullet_white.png +0 -0
  328. data/app/assets/images/rails_admin/calendar.png +0 -0
  329. data/app/assets/images/rails_admin/clock.png +0 -0
  330. data/app/assets/images/rails_admin/logo.png +0 -0
  331. data/app/assets/images/rails_admin/magnifier.png +0 -0
  332. data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
  333. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
  334. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
  335. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
  336. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
  337. data/app/assets/javascripts/rails_admin/jquery-ui.js.erb +0 -8
  338. data/app/assets/javascripts/rails_admin/jquery.migrate.js +0 -3
  339. data/app/assets/javascripts/rails_admin/ra.filter-box.js +0 -246
  340. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
  341. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -294
  342. data/app/assets/javascripts/rails_admin/ra.i18n.js +0 -28
  343. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +0 -59
  344. data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
  345. data/app/assets/javascripts/rails_admin/ra.sidescroll.js +0 -31
  346. data/app/assets/javascripts/rails_admin/ra.widgets.js +0 -379
  347. data/app/assets/javascripts/rails_admin/rails_admin.js +0 -21
  348. data/app/assets/javascripts/rails_admin/ui.js +0 -135
  349. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  350. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  351. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  352. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  353. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  354. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  355. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
  356. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
  357. data/app/assets/stylesheets/rails_admin/base/theming.scss +0 -341
  358. data/app/assets/stylesheets/rails_admin/base/variables.scss +0 -1
  359. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
  360. data/app/assets/stylesheets/rails_admin/ra.sidescroll.scss +0 -29
  361. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -17
  362. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -110
  363. data/app/assets/stylesheets/rails_admin/themes/cerulean/mixins.scss +0 -0
  364. data/app/assets/stylesheets/rails_admin/themes/cerulean/theming.scss +0 -133
  365. data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
  366. data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +0 -8
  367. data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +0 -11
  368. data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +0 -12
  369. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
  370. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
  371. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
  372. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
  373. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
  374. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
  375. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
  376. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
  377. data/app/views/layouts/rails_admin/_head.html.haml +0 -7
  378. data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
  379. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
  380. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -3
  381. data/app/views/layouts/rails_admin/application.html.haml +0 -16
  382. data/app/views/layouts/rails_admin/pjax.html.haml +0 -12
  383. data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
  384. data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
  385. data/app/views/rails_admin/main/_form_action_text.html.haml +0 -7
  386. data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
  387. data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
  388. data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
  389. data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
  390. data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -19
  391. data/app/views/rails_admin/main/_form_field.html.haml +0 -1
  392. data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
  393. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +0 -49
  394. data/app/views/rails_admin/main/_form_filtering_select.html.haml +0 -37
  395. data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
  396. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -16
  397. data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
  398. data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
  399. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -26
  400. data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
  401. data/app/views/rails_admin/main/_form_text.html.haml +0 -1
  402. data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
  403. data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
  404. data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
  405. data/app/views/rails_admin/main/dashboard.html.haml +0 -34
  406. data/app/views/rails_admin/main/delete.html.haml +0 -18
  407. data/app/views/rails_admin/main/edit.html.haml +0 -2
  408. data/app/views/rails_admin/main/export.html.haml +0 -92
  409. data/app/views/rails_admin/main/history.html.haml +0 -51
  410. data/app/views/rails_admin/main/index.html.haml +0 -126
  411. data/app/views/rails_admin/main/new.html.haml +0 -2
  412. data/app/views/rails_admin/main/show.html.haml +0 -15
  413. data/config/initializers/haml.rb +0 -5
  414. data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -38
  415. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
  416. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
  417. data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -16
  418. data/lib/rails_admin/bootstrap-sass.rb +0 -49
  419. data/lib/rails_admin/extensions/history/auditing_adapter.rb +0 -37
  420. data/lib/rails_admin/extensions/history/history.rb +0 -44
  421. data/lib/rails_admin/extensions/history.rb +0 -3
  422. data/lib/rails_admin/support/i18n.rb +0 -43
  423. data/vendor/assets/fonts/rails_admin/FontAwesome.otf +0 -0
  424. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.eot +0 -0
  425. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.svg +0 -2671
  426. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.ttf +0 -0
  427. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff +0 -0
  428. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff2 +0 -0
  429. data/vendor/assets/images/rails_admin/bootstrap/glyphicons-halflings-white.png +0 -0
  430. data/vendor/assets/images/rails_admin/bootstrap/glyphicons-halflings.png +0 -0
  431. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  432. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  433. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  434. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  435. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  436. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  437. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  438. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  439. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  440. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  441. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  442. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  443. data/vendor/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  444. data/vendor/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  445. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  446. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  447. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  448. data/vendor/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  449. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  450. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  451. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  452. data/vendor/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  453. data/vendor/assets/images/rails_admin/colorpicker/select.png +0 -0
  454. data/vendor/assets/images/rails_admin/colorpicker/select2.png +0 -0
  455. data/vendor/assets/images/rails_admin/colorpicker/slider.png +0 -0
  456. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -164
  457. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -95
  458. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -125
  459. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -246
  460. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -212
  461. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -165
  462. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -358
  463. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -123
  464. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -172
  465. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -155
  466. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -677
  467. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
  468. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
  469. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
  470. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2611
  471. data/vendor/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
  472. data/vendor/assets/javascripts/rails_admin/jquery.pjax.js +0 -898
  473. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -18085
  474. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
  475. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
  476. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
  477. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
  478. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
  479. data/vendor/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
  480. data/vendor/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
  481. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
  482. data/vendor/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
  483. data/vendor/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
  484. data/vendor/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
  485. data/vendor/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
  486. data/vendor/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
  487. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
  488. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
  489. data/vendor/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
  490. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
  491. data/vendor/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
  492. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
  493. data/vendor/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
  494. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
  495. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
  496. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
  497. data/vendor/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
  498. data/vendor/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
  499. data/vendor/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
  500. data/vendor/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
  501. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
  502. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
  503. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
  504. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
  505. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
  506. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
  507. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
  508. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  509. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
  510. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
  511. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
  512. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  513. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
  514. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
  515. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
  516. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
  517. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
  518. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
  519. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
  520. data/vendor/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
  521. /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
  522. /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/mixins.scss +0 -0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Actions
@@ -19,7 +21,7 @@ module RailsAdmin
19
21
  register_instance_option :controller do
20
22
  proc do
21
23
  @general = false
22
- @history = @auditing_adapter && @auditing_adapter.listing_for_object(@abstract_model, @object, params[:query], params[:sort], params[:sort_reverse], params[:all], params[:page]) || []
24
+ @history = @auditing_adapter&.listing_for_object(@abstract_model, @object, params[:query], params[:sort], params[:sort_reverse], params[:all], params[Kaminari.config.param_name]) || []
23
25
 
24
26
  render @action.template_name
25
27
  end
@@ -30,7 +32,7 @@ module RailsAdmin
30
32
  end
31
33
 
32
34
  register_instance_option :link_icon do
33
- 'icon-book'
35
+ 'fas fa-book'
34
36
  end
35
37
  end
36
38
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'activemodel-serializers-xml'
2
4
 
3
5
  module RailsAdmin
@@ -11,7 +13,7 @@ module RailsAdmin
11
13
  end
12
14
 
13
15
  register_instance_option :http_methods do
14
- [:get, :post]
16
+ %i[get post]
15
17
  end
16
18
 
17
19
  register_instance_option :route_fragment do
@@ -20,7 +22,8 @@ module RailsAdmin
20
22
 
21
23
  register_instance_option :breadcrumb_parent do
22
24
  parent_model = bindings[:abstract_model].try(:config).try(:parent)
23
- if am = parent_model && RailsAdmin.config(parent_model).try(:abstract_model)
25
+ am = parent_model && RailsAdmin.config(parent_model).try(:abstract_model)
26
+ if am
24
27
  [:index, am]
25
28
  else
26
29
  [:dashboard]
@@ -33,9 +36,7 @@ module RailsAdmin
33
36
 
34
37
  unless @model_config.list.scopes.empty?
35
38
  if params[:scope].blank?
36
- unless @model_config.list.scopes.first.nil?
37
- @objects = @objects.send(@model_config.list.scopes.first)
38
- end
39
+ @objects = @objects.send(@model_config.list.scopes.first) unless @model_config.list.scopes.first.nil?
39
40
  elsif @model_config.list.scopes.collect(&:to_s).include?(params[:scope])
40
41
  @objects = @objects.send(params[:scope].to_sym)
41
42
  end
@@ -47,7 +48,7 @@ module RailsAdmin
47
48
  end
48
49
 
49
50
  format.json do
50
- output = begin
51
+ output =
51
52
  if params[:compact]
52
53
  primary_key_method = @association ? @association.associated_primary_key : @model_config.abstract_model.primary_key
53
54
  label_method = @model_config.object_label_method
@@ -55,7 +56,7 @@ module RailsAdmin
55
56
  else
56
57
  @objects.to_json(@schema)
57
58
  end
58
- end
59
+
59
60
  if params[:send_data]
60
61
  send_data output, filename: "#{params[:model_name]}_#{DateTime.now.strftime('%Y-%m-%d_%Hh%Mm%S')}.json"
61
62
  else
@@ -87,7 +88,7 @@ module RailsAdmin
87
88
  end
88
89
 
89
90
  register_instance_option :link_icon do
90
- 'icon-th-list'
91
+ 'fas fa-th-list'
91
92
  end
92
93
  end
93
94
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Actions
@@ -9,7 +11,7 @@ module RailsAdmin
9
11
  end
10
12
 
11
13
  register_instance_option :http_methods do
12
- [:get, :post] # NEW / CREATE
14
+ %i[get post] # NEW / CREATE
13
15
  end
14
16
 
15
17
  register_instance_option :controller do
@@ -17,16 +19,18 @@ module RailsAdmin
17
19
  if request.get? # NEW
18
20
 
19
21
  @object = @abstract_model.new
20
- @authorization_adapter && @authorization_adapter.attributes_for(:new, @abstract_model).each do |name, value|
22
+ @action = @action.with(@action.bindings.merge(object: @object))
23
+ @authorization_adapter&.attributes_for(:new, @abstract_model)&.each do |name, value|
21
24
  @object.send("#{name}=", value)
22
25
  end
23
- if object_params = params[@abstract_model.param_key]
26
+ object_params = params[@abstract_model.param_key]
27
+ if object_params
24
28
  sanitize_params_for!(request.xhr? ? :modal : :create)
25
- @object.set_attributes(@object.attributes.merge(object_params.to_h))
29
+ @object.assign_attributes(@object.attributes.merge(object_params.to_h))
26
30
  end
27
31
  respond_to do |format|
28
32
  format.html { render @action.template_name }
29
- format.js { render @action.template_name, layout: false }
33
+ format.js { render @action.template_name, layout: 'rails_admin/modal', content_type: Mime[:html].to_s }
30
34
  end
31
35
 
32
36
  elsif request.post? # CREATE
@@ -35,14 +39,14 @@ module RailsAdmin
35
39
  @object = @abstract_model.new
36
40
  sanitize_params_for!(request.xhr? ? :modal : :create)
37
41
 
38
- @object.set_attributes(params[@abstract_model.param_key])
39
- @authorization_adapter && @authorization_adapter.authorize(:create, @abstract_model, @object)
42
+ @object.assign_attributes(params[@abstract_model.param_key])
43
+ @authorization_adapter&.authorize(:create, @abstract_model, @object)
40
44
 
41
45
  if @object.save
42
- @auditing_adapter && @auditing_adapter.create_object(@object, @abstract_model, _current_user)
46
+ @auditing_adapter&.create_object(@object, @abstract_model, _current_user)
43
47
  respond_to do |format|
44
48
  format.html { redirect_to_on_success }
45
- format.js { render json: {id: @object.id.to_s, label: @model_config.with(object: @object).object_label} }
49
+ format.json { render json: {id: @object.id.to_s, label: @model_config.with(object: @object).object_label} }
46
50
  end
47
51
  else
48
52
  handle_save_error
@@ -53,7 +57,11 @@ module RailsAdmin
53
57
  end
54
58
 
55
59
  register_instance_option :link_icon do
56
- 'icon-plus'
60
+ 'fas fa-plus'
61
+ end
62
+
63
+ register_instance_option :writable? do
64
+ !(bindings[:object] && bindings[:object].readonly?)
57
65
  end
58
66
  end
59
67
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Actions
@@ -26,7 +28,7 @@ module RailsAdmin
26
28
  end
27
29
 
28
30
  register_instance_option :link_icon do
29
- 'icon-info-sign'
31
+ 'fas fa-info-circle'
30
32
  end
31
33
  end
32
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Actions
@@ -9,7 +11,11 @@ module RailsAdmin
9
11
  end
10
12
 
11
13
  register_instance_option :visible? do
12
- authorized? && (bindings[:controller].main_app.url_for(bindings[:object]) rescue false)
14
+ authorized? && begin
15
+ bindings[:controller].main_app.url_for(bindings[:object])
16
+ rescue StandardError
17
+ false
18
+ end
13
19
  end
14
20
 
15
21
  register_instance_option :controller do
@@ -19,10 +25,10 @@ module RailsAdmin
19
25
  end
20
26
 
21
27
  register_instance_option :link_icon do
22
- 'icon-eye-open'
28
+ 'fas fa-eye'
23
29
  end
24
30
 
25
- register_instance_option :pjax? do
31
+ register_instance_option :turbo? do
26
32
  false
27
33
  end
28
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Actions
@@ -9,7 +11,7 @@ module RailsAdmin
9
11
  end
10
12
  scope ||= :all
11
13
  init_actions!
12
- actions = begin
14
+ actions =
13
15
  case scope
14
16
  when :all
15
17
  @@actions
@@ -22,7 +24,7 @@ module RailsAdmin
22
24
  when :member
23
25
  @@actions.select(&:member?)
24
26
  end
25
- end
27
+
26
28
  actions = actions.collect { |action| action.with(bindings) }
27
29
  bindings[:controller] ? actions.select(&:visible?) : actions
28
30
  end
@@ -52,7 +54,7 @@ module RailsAdmin
52
54
  def key
53
55
  :#{key}
54
56
  end
55
- ))
57
+ ), __FILE__, __LINE__ - 5)
56
58
  add_action_custom_key(a, &block)
57
59
  end
58
60
 
@@ -71,7 +73,7 @@ module RailsAdmin
71
73
  action = #{klass}.new
72
74
  add_action_custom_key(action, &block)
73
75
  end
74
- }
76
+ }, __FILE__, __LINE__ - 5
75
77
  end
76
78
 
77
79
  private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  # A module for all configurables.
@@ -9,7 +11,7 @@ module RailsAdmin
9
11
 
10
12
  def has_option?(name) # rubocop:disable Naming/PredicateName
11
13
  options = self.class.instance_variable_get('@config_options')
12
- options && options.key?(name)
14
+ options&.key?(name)
13
15
  end
14
16
 
15
17
  # Register an instance option for this object only
@@ -87,7 +89,7 @@ module RailsAdmin
87
89
  elsif block_given?
88
90
  yield
89
91
  else
90
- raise("The #{option_name} configuration option is removed without replacement.")
92
+ raise "The #{option_name} configuration option is removed without replacement."
91
93
  end
92
94
  end
93
95
  end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAdmin
4
+ module Config
5
+ module ConstLoadSuppressor
6
+ class << self
7
+ @original_const_missing = nil
8
+
9
+ def suppressing
10
+ raise 'Constant Loading is already suppressed' if @original_const_missing
11
+
12
+ begin
13
+ @original_const_missing = Object.method(:const_missing)
14
+ intercept_const_missing
15
+ yield
16
+ ensure
17
+ Object.define_singleton_method(:const_missing, @original_const_missing)
18
+ @original_const_missing = nil
19
+ end
20
+ end
21
+
22
+ def allowing
23
+ if @original_const_missing
24
+ begin
25
+ Object.define_singleton_method(:const_missing, @original_const_missing)
26
+ yield
27
+ ensure
28
+ intercept_const_missing
29
+ end
30
+ else
31
+ yield
32
+ end
33
+ end
34
+
35
+ private
36
+
37
+ def intercept_const_missing
38
+ Object.define_singleton_method(:const_missing) do |name|
39
+ ConstProxy.new(name.to_s)
40
+ end
41
+ end
42
+ end
43
+
44
+ class ConstProxy < BasicObject
45
+ attr_reader :name
46
+
47
+ def initialize(name)
48
+ @name = name
49
+ end
50
+
51
+ def klass
52
+ @klass ||=
53
+ begin
54
+ unless ::Object.const_defined?(name)
55
+ ::Kernel.raise <<~MESSAGE
56
+ The constant #{name} is not loaded yet upon the execution of the RailsAdmin initializer.
57
+ We don't recommend to do this and may lead to issues, but if you really have to do so you can explicitly require it by adding:
58
+
59
+ require '#{name.underscore}'
60
+
61
+ on top of config/initializers/rails_admin.rb.
62
+ MESSAGE
63
+ end
64
+ name.constantize
65
+ end
66
+ end
67
+
68
+ def method_missing(method_name, *args, &block)
69
+ klass.send(method_name, *args, &block)
70
+ end
71
+
72
+ def respond_to_missing?(method_name, include_private = false)
73
+ super || klass.respond_to?(method_name, include_private)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config'
2
4
  require 'rails_admin/config/fields/base'
3
5
 
@@ -5,15 +7,15 @@ module RailsAdmin
5
7
  module Config
6
8
  module Fields
7
9
  class Association < RailsAdmin::Config::Fields::Base
8
- def self.inherited(klass)
9
- super(klass)
10
- end
11
-
12
10
  # Reader for the association information hash
13
11
  def association
14
12
  @properties
15
13
  end
16
14
 
15
+ def method_name
16
+ association.key_accessor
17
+ end
18
+
17
19
  register_instance_option :pretty_value do
18
20
  v = bindings[:view]
19
21
  [value].flatten.select(&:present?).collect do |associated|
@@ -21,8 +23,8 @@ module RailsAdmin
21
23
  am = amc.abstract_model
22
24
  wording = associated.send(amc.object_label_method)
23
25
  can_see = !am.embedded? && (show_action = v.action(:show, am, associated))
24
- can_see ? v.link_to(wording, v.url_for(action: show_action.action_name, model_name: am.to_param, id: associated.id), class: 'pjax') : ERB::Util.html_escape(wording)
25
- end.to_sentence.html_safe
26
+ can_see ? v.link_to(wording, v.url_for(action: show_action.action_name, model_name: am.to_param, id: associated.id)) : ERB::Util.html_escape(wording)
27
+ end.to_sentence.html_safe.presence || '-'
26
28
  end
27
29
 
28
30
  # Accessor whether association is visible or not. By default
@@ -62,10 +64,18 @@ module RailsAdmin
62
64
  association.foreign_key_nullable?
63
65
  end
64
66
 
65
- register_instance_option :eager_load? do
67
+ register_instance_option :eager_load do
66
68
  !!searchable
67
69
  end
68
70
 
71
+ register_instance_option :inline_add do
72
+ true
73
+ end
74
+
75
+ register_instance_option :inline_edit do
76
+ true
77
+ end
78
+
69
79
  # Reader for the association's child model's configuration
70
80
  def associated_model_config
71
81
  @associated_model_config ||= RailsAdmin.config(association.klass)
@@ -78,12 +88,12 @@ module RailsAdmin
78
88
 
79
89
  # Reader for associated primary key
80
90
  def associated_primary_key
81
- @associated_primary_key ||= associated_model_config.abstract_model.primary_key
91
+ association.primary_key
82
92
  end
83
93
 
84
- # Reader for the association's key
85
- def foreign_key
86
- association.foreign_key
94
+ # Returns params which are to be set in modals
95
+ def associated_prepopulate_params
96
+ {}
87
97
  end
88
98
 
89
99
  # Reader whether this is a polymorphic association
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/proxyable'
2
4
  require 'rails_admin/config/configurable'
3
5
  require 'rails_admin/config/hideable'
@@ -14,13 +16,12 @@ module RailsAdmin
14
16
  include RailsAdmin::Config::Groupable
15
17
  include RailsAdmin::Config::Inspectable
16
18
 
17
- attr_reader :name, :properties, :abstract_model
19
+ attr_reader :name, :properties, :abstract_model, :parent, :root
18
20
  attr_accessor :defined, :order, :section
19
- attr_reader :parent, :root
20
21
 
21
- NAMED_INSTANCE_VARIABLES = [
22
- :@parent, :@root, :@section, :@children_fields_registered,
23
- :@associated_model_config, :@group
22
+ NAMED_INSTANCE_VARIABLES = %i[
23
+ @parent @root @section @children_fields_registered
24
+ @associated_model_config @group
24
25
  ].freeze
25
26
 
26
27
  def initialize(parent, name, properties)
@@ -36,7 +37,7 @@ module RailsAdmin
36
37
  end
37
38
 
38
39
  register_instance_option :css_class do
39
- "#{self.name}_field"
40
+ "#{name}_field"
40
41
  end
41
42
 
42
43
  def type_css_class
@@ -51,14 +52,36 @@ module RailsAdmin
51
52
  nil
52
53
  end
53
54
 
55
+ register_instance_option :sticky? do
56
+ false
57
+ end
58
+
54
59
  register_instance_option :sortable do
55
60
  !virtual? || children_fields.first || false
56
61
  end
57
62
 
63
+ def sort_column
64
+ if sortable == true
65
+ "#{abstract_model.table_name}.#{name}"
66
+ elsif (sortable.is_a?(String) || sortable.is_a?(Symbol)) && sortable.to_s.include?('.') # just provide sortable, don't do anything smart
67
+ sortable
68
+ elsif sortable.is_a?(Hash) # just join sortable hash, don't do anything smart
69
+ "#{sortable.keys.first}.#{sortable.values.first}"
70
+ elsif association # use column on target table
71
+ "#{associated_model_config.abstract_model.table_name}.#{sortable}"
72
+ else # use described column in the field conf.
73
+ "#{abstract_model.table_name}.#{sortable}"
74
+ end
75
+ end
76
+
58
77
  register_instance_option :searchable do
59
78
  !virtual? || children_fields.first || false
60
79
  end
61
80
 
81
+ register_instance_option :search_operator do
82
+ RailsAdmin::Config.default_search_operator
83
+ end
84
+
62
85
  register_instance_option :queryable? do
63
86
  !virtual?
64
87
  end
@@ -67,8 +90,22 @@ module RailsAdmin
67
90
  !!searchable
68
91
  end
69
92
 
70
- register_instance_option :search_operator do
71
- @search_operator ||= RailsAdmin::Config.default_search_operator
93
+ register_instance_option :filter_operators do
94
+ []
95
+ end
96
+
97
+ register_instance_option :default_filter_operator do
98
+ nil
99
+ end
100
+
101
+ def filter_options
102
+ {
103
+ label: label,
104
+ name: name,
105
+ operator: default_filter_operator,
106
+ operators: filter_operators,
107
+ type: type,
108
+ }
72
109
  end
73
110
 
74
111
  # serials and dates are reversed in list, which is more natural (last modified items first).
@@ -78,7 +115,7 @@ module RailsAdmin
78
115
 
79
116
  # list of columns I should search for that field [{ column: 'table_name.column', type: field.type }, {..}]
80
117
  register_instance_option :searchable_columns do
81
- @searchable_columns ||= begin
118
+ @searchable_columns ||=
82
119
  case searchable
83
120
  when true
84
121
  [{column: "#{abstract_model.table_name}.#{name}", type: type}]
@@ -93,22 +130,21 @@ module RailsAdmin
93
130
  table_name, column = f.split '.'
94
131
  type = nil
95
132
  elsif f.is_a?(Hash) # <Model|table_name> => <attribute|column>
96
- am = f.keys.first.is_a?(Class) && AbstractModel.new(f.keys.first)
97
- table_name = am && am.table_name || f.keys.first
133
+ am = AbstractModel.new(f.keys.first) if f.keys.first.is_a?(Class)
134
+ table_name = am&.table_name || f.keys.first
98
135
  column = f.values.first
99
- property = am && am.properties.detect { |p| p.name == f.values.first.to_sym }
100
- type = property && property.type
136
+ property = am&.properties&.detect { |p| p.name == f.values.first.to_sym }
137
+ type = property&.type
101
138
  else # <attribute|column>
102
139
  am = (association? ? associated_model_config.abstract_model : abstract_model)
103
140
  table_name = am.table_name
104
141
  column = f
105
142
  property = am.properties.detect { |p| p.name == f.to_sym }
106
- type = property && property.type
143
+ type = property&.type
107
144
  end
108
145
  {column: "#{table_name}.#{column}", type: (type || :string)}
109
146
  end
110
147
  end
111
- end
112
148
  end
113
149
 
114
150
  register_instance_option :formatted_value do
@@ -155,7 +191,7 @@ module RailsAdmin
155
191
  #
156
192
  # @see RailsAdmin::AbstractModel.properties
157
193
  register_instance_option :length do
158
- @length ||= properties && properties.length
194
+ @length ||= properties&.length
159
195
  end
160
196
 
161
197
  # Accessor for field's length restrictions per validations
@@ -172,17 +208,17 @@ module RailsAdmin
172
208
  #
173
209
  # @see RailsAdmin::AbstractModel.properties
174
210
  register_instance_option :required? do
175
- context = begin
211
+ context =
176
212
  if bindings && bindings[:object]
177
213
  bindings[:object].persisted? ? :update : :create
178
214
  else
179
215
  :nil
180
216
  end
181
- end
217
+
182
218
  (@required ||= {})[context] ||= !!([name] + children_fields).uniq.detect do |column_name|
183
219
  abstract_model.model.validators_on(column_name).detect do |v|
184
220
  !(v.options[:allow_nil] || v.options[:allow_blank]) &&
185
- [:presence, :numericality, :attachment_presence].include?(v.kind) &&
221
+ %i[presence numericality attachment_presence].include?(v.kind) &&
186
222
  (v.options[:on] == context || v.options[:on].blank?) &&
187
223
  (v.options[:if].blank? && v.options[:unless].blank?)
188
224
  end
@@ -193,7 +229,7 @@ module RailsAdmin
193
229
  #
194
230
  # @see RailsAdmin::AbstractModel.properties
195
231
  register_instance_option :serial? do
196
- properties && properties.serial?
232
+ properties&.serial?
197
233
  end
198
234
 
199
235
  register_instance_option :view_helper do
@@ -213,6 +249,7 @@ module RailsAdmin
213
249
  returned = true
214
250
  (RailsAdmin.config.default_hidden_fields || {}).each do |section, fields|
215
251
  next unless self.section.is_a?("RailsAdmin::Config::Sections::#{section.to_s.camelize}".constantize)
252
+
216
253
  returned = false if fields.include?(name)
217
254
  end
218
255
  returned
@@ -223,16 +260,29 @@ module RailsAdmin
223
260
  []
224
261
  end
225
262
 
226
- register_instance_option :render do
227
- bindings[:view].render partial: "rails_admin/main/#{partial}", locals: {field: self, form: bindings[:form]}
263
+ register_instance_option :eager_load do
264
+ false
228
265
  end
229
266
 
230
- register_instance_option :default_filter_operator do
231
- nil
267
+ register_deprecated_instance_option :eager_load?, :eager_load
268
+
269
+ def eager_load_values
270
+ case eager_load
271
+ when true
272
+ [name]
273
+ when false, nil
274
+ []
275
+ else
276
+ Array.wrap(eager_load)
277
+ end
278
+ end
279
+
280
+ register_instance_option :render do
281
+ bindings[:view].render partial: "rails_admin/main/#{partial}", locals: {field: self, form: bindings[:form]}
232
282
  end
233
283
 
234
284
  def editable?
235
- !(@properties && @properties.read_only?)
285
+ !((@properties && @properties.read_only?) || (bindings[:object] && bindings[:object].readonly?))
236
286
  end
237
287
 
238
288
  # Is this an association
@@ -259,7 +309,7 @@ module RailsAdmin
259
309
  # @see RailsAdmin::Config::Fields::Base.register_instance_option :required?
260
310
  def optional(state = nil, &block)
261
311
  if !state.nil? || block
262
- required state.nil? ? proc { false == instance_eval(&block) } : false == state
312
+ required state.nil? ? proc { instance_eval(&block) == false } : state == false
263
313
  else
264
314
  optional?
265
315
  end
@@ -281,14 +331,14 @@ module RailsAdmin
281
331
  def value
282
332
  bindings[:object].safe_send(name)
283
333
  rescue NoMethodError => e
284
- raise e.exception <<-EOM.gsub(/^\s{10}/, '')
285
- #{e.message}
286
- If you want to use a RailsAdmin virtual field(= a field without corresponding instance method),
287
- you should declare 'formatted_value' in the field definition.
288
- field :#{name} do
289
- formatted_value{ bindings[:object].call_some_method }
290
- end
291
- EOM
334
+ raise e.exception <<~ERROR
335
+ #{e.message}
336
+ If you want to use a RailsAdmin virtual field(= a field without corresponding instance method),
337
+ you should declare 'formatted_value' in the field definition.
338
+ field :#{name} do
339
+ formatted_value{ bindings[:object].call_some_method }
340
+ end
341
+ ERROR
292
342
  end
293
343
 
294
344
  # Reader for nested attributes
@@ -302,7 +352,7 @@ module RailsAdmin
302
352
  end
303
353
 
304
354
  def generic_help
305
- (required? ? I18n.translate('admin.form.required') : I18n.translate('admin.form.optional')) + '. '
355
+ "#{required? ? I18n.translate('admin.form.required') : I18n.translate('admin.form.optional')}. "
306
356
  end
307
357
 
308
358
  def generic_field_help
@@ -317,7 +367,7 @@ module RailsAdmin
317
367
  end
318
368
 
319
369
  def parse_input(_params)
320
- # overriden
370
+ # overridden
321
371
  end
322
372
 
323
373
  def inverse_of
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields'
2
4
  require 'rails_admin/config/fields/types'
3
5