rails_admin 2.0.2 → 3.1.0.beta

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 (520) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -16
  3. data/README.md +42 -44
  4. data/Rakefile +15 -2
  5. data/app/assets/javascripts/rails_admin/application.js +21 -0
  6. data/app/assets/stylesheets/rails_admin/application.scss +31 -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 +54 -50
  11. data/app/helpers/rails_admin/application_helper.rb +102 -60
  12. data/app/helpers/rails_admin/form_builder.rb +25 -13
  13. data/app/helpers/rails_admin/main_helper.rb +28 -41
  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 +24 -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 +7 -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 +196 -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 +28 -1
  61. data/config/initializers/mongoid_extensions.rb +3 -1
  62. data/config/locales/rails_admin.en.yml +6 -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 +114 -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 +30 -1
  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 +67 -29
  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 +5 -1
  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 +32 -22
  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/fields/association.rb +21 -11
  99. data/lib/rails_admin/config/fields/base.rb +70 -30
  100. data/lib/rails_admin/config/fields/factories/action_text.rb +2 -0
  101. data/lib/rails_admin/config/fields/factories/active_storage.rb +5 -1
  102. data/lib/rails_admin/config/fields/factories/association.rb +12 -13
  103. data/lib/rails_admin/config/fields/factories/carrierwave.rb +6 -2
  104. data/lib/rails_admin/config/fields/factories/devise.rb +6 -2
  105. data/lib/rails_admin/config/fields/factories/dragonfly.rb +6 -2
  106. data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
  107. data/lib/rails_admin/config/fields/factories/paperclip.rb +6 -2
  108. data/lib/rails_admin/config/fields/factories/password.rb +2 -0
  109. data/lib/rails_admin/config/fields/factories/shrine.rb +3 -1
  110. data/lib/rails_admin/config/fields/group.rb +3 -2
  111. data/lib/rails_admin/config/fields/types/action_text.rb +3 -1
  112. data/lib/rails_admin/config/fields/types/active_record_enum.rb +4 -0
  113. data/lib/rails_admin/config/fields/types/active_storage.rb +11 -3
  114. data/lib/rails_admin/config/fields/types/all.rb +4 -0
  115. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +5 -15
  116. data/lib/rails_admin/config/fields/types/boolean.rb +34 -8
  117. data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
  118. data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -0
  119. data/lib/rails_admin/config/fields/types/citext.rb +15 -0
  120. data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -0
  121. data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -0
  122. data/lib/rails_admin/config/fields/types/color.rb +8 -2
  123. data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
  124. data/lib/rails_admin/config/fields/types/date.rb +12 -6
  125. data/lib/rails_admin/config/fields/types/datetime.rb +28 -23
  126. data/lib/rails_admin/config/fields/types/decimal.rb +11 -2
  127. data/lib/rails_admin/config/fields/types/dragonfly.rb +5 -1
  128. data/lib/rails_admin/config/fields/types/enum.rb +3 -1
  129. data/lib/rails_admin/config/fields/types/file_upload.rb +11 -4
  130. data/lib/rails_admin/config/fields/types/float.rb +11 -2
  131. data/lib/rails_admin/config/fields/types/froala.rb +2 -0
  132. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
  133. data/lib/rails_admin/config/fields/types/has_many_association.rb +7 -5
  134. data/lib/rails_admin/config/fields/types/has_one_association.rb +8 -14
  135. data/lib/rails_admin/config/fields/types/hidden.rb +2 -0
  136. data/lib/rails_admin/config/fields/types/inet.rb +2 -0
  137. data/lib/rails_admin/config/fields/types/integer.rb +4 -6
  138. data/lib/rails_admin/config/fields/types/json.rb +2 -0
  139. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +18 -2
  140. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +3 -0
  141. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +8 -4
  142. data/lib/rails_admin/config/fields/types/numeric.rb +20 -0
  143. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
  144. data/lib/rails_admin/config/fields/types/password.rb +2 -0
  145. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +5 -2
  146. data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
  147. data/lib/rails_admin/config/fields/types/shrine.rb +15 -11
  148. data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -0
  149. data/lib/rails_admin/config/fields/types/string.rb +3 -1
  150. data/lib/rails_admin/config/fields/types/string_like.rb +2 -0
  151. data/lib/rails_admin/config/fields/types/text.rb +2 -0
  152. data/lib/rails_admin/config/fields/types/time.rb +12 -4
  153. data/lib/rails_admin/config/fields/types/timestamp.rb +2 -4
  154. data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
  155. data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -0
  156. data/lib/rails_admin/config/fields/types.rb +3 -1
  157. data/lib/rails_admin/config/fields.rb +6 -2
  158. data/lib/rails_admin/config/groupable.rb +2 -0
  159. data/lib/rails_admin/config/has_description.rb +2 -0
  160. data/lib/rails_admin/config/has_fields.rb +12 -7
  161. data/lib/rails_admin/config/has_groups.rb +2 -0
  162. data/lib/rails_admin/config/hideable.rb +3 -1
  163. data/lib/rails_admin/config/inspectable.rb +3 -3
  164. data/lib/rails_admin/config/model.rb +20 -10
  165. data/lib/rails_admin/config/proxyable/proxy.rb +2 -0
  166. data/lib/rails_admin/config/proxyable.rb +2 -0
  167. data/lib/rails_admin/config/sections/base.rb +4 -3
  168. data/lib/rails_admin/config/sections/create.rb +2 -0
  169. data/lib/rails_admin/config/sections/edit.rb +2 -0
  170. data/lib/rails_admin/config/sections/export.rb +2 -0
  171. data/lib/rails_admin/config/sections/list.rb +10 -19
  172. data/lib/rails_admin/config/sections/modal.rb +2 -0
  173. data/lib/rails_admin/config/sections/nested.rb +2 -0
  174. data/lib/rails_admin/config/sections/show.rb +2 -0
  175. data/lib/rails_admin/config/sections/update.rb +2 -0
  176. data/lib/rails_admin/config/sections.rb +3 -1
  177. data/lib/rails_admin/config.rb +93 -42
  178. data/lib/rails_admin/engine.rb +52 -32
  179. data/lib/rails_admin/extension.rb +8 -14
  180. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +6 -2
  181. data/lib/rails_admin/extensions/cancancan.rb +2 -0
  182. data/lib/rails_admin/extensions/controller_extension.rb +2 -0
  183. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +17 -10
  184. data/lib/rails_admin/extensions/paper_trail.rb +2 -0
  185. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +8 -7
  186. data/lib/rails_admin/extensions/pundit.rb +2 -0
  187. data/lib/rails_admin/support/csv_converter.rb +14 -14
  188. data/lib/rails_admin/support/datetime.rb +50 -85
  189. data/lib/rails_admin/support/esmodule_preprocessor.rb +37 -0
  190. data/lib/rails_admin/support/hash_helper.rb +8 -5
  191. data/lib/rails_admin/version.rb +43 -4
  192. data/lib/rails_admin.rb +4 -5
  193. data/lib/tasks/rails_admin.rake +19 -8
  194. data/package.json +30 -0
  195. data/src/rails_admin/base.js +30 -0
  196. data/src/rails_admin/filter-box.js +404 -0
  197. data/src/rails_admin/filtering-multiselect.js +389 -0
  198. data/src/rails_admin/filtering-select.js +299 -0
  199. data/src/rails_admin/i18n.js +16 -0
  200. data/src/rails_admin/nested-form-hooks.js +108 -0
  201. data/src/rails_admin/remote-form.js +192 -0
  202. data/src/rails_admin/sidescroll.js +20 -0
  203. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/theming.scss +135 -141
  204. data/src/rails_admin/styles/base/variables.scss +3 -0
  205. data/src/rails_admin/styles/base.scss +27 -0
  206. data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
  207. data/src/rails_admin/styles/filtering-select.scss +70 -0
  208. data/src/rails_admin/styles/widgets.scss +26 -0
  209. data/src/rails_admin/ui.js +143 -0
  210. data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
  211. data/src/rails_admin/widgets.js +502 -0
  212. data/vendor/assets/fonts/rails_admin/fa-solid-900.eot +0 -0
  213. data/vendor/assets/fonts/rails_admin/fa-solid-900.svg +5034 -0
  214. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  215. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff +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 +4476 -2216
  319. metadata +185 -331
  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/ra.filter-box.js +0 -226
  339. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
  340. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -294
  341. data/app/assets/javascripts/rails_admin/ra.i18n.js +0 -28
  342. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +0 -59
  343. data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
  344. data/app/assets/javascripts/rails_admin/ra.sidescroll.js +0 -31
  345. data/app/assets/javascripts/rails_admin/ra.widgets.js +0 -379
  346. data/app/assets/javascripts/rails_admin/rails_admin.js +0 -20
  347. data/app/assets/javascripts/rails_admin/ui.js +0 -135
  348. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  349. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  350. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  351. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  352. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  353. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  354. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
  355. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
  356. data/app/assets/stylesheets/rails_admin/base/variables.scss +0 -1
  357. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
  358. data/app/assets/stylesheets/rails_admin/ra.sidescroll.scss +0 -29
  359. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -17
  360. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -110
  361. data/app/assets/stylesheets/rails_admin/themes/cerulean/mixins.scss +0 -0
  362. data/app/assets/stylesheets/rails_admin/themes/cerulean/theming.scss +0 -133
  363. data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
  364. data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +0 -8
  365. data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +0 -11
  366. data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +0 -12
  367. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
  368. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
  369. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
  370. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
  371. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
  372. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
  373. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
  374. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
  375. data/app/views/layouts/rails_admin/_head.html.haml +0 -7
  376. data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
  377. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
  378. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -3
  379. data/app/views/layouts/rails_admin/application.html.haml +0 -16
  380. data/app/views/layouts/rails_admin/pjax.html.haml +0 -12
  381. data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
  382. data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
  383. data/app/views/rails_admin/main/_form_action_text.html.haml +0 -7
  384. data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
  385. data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
  386. data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
  387. data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
  388. data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -18
  389. data/app/views/rails_admin/main/_form_field.html.haml +0 -1
  390. data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
  391. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +0 -48
  392. data/app/views/rails_admin/main/_form_filtering_select.html.haml +0 -37
  393. data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
  394. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -16
  395. data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
  396. data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
  397. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -26
  398. data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
  399. data/app/views/rails_admin/main/_form_text.html.haml +0 -1
  400. data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
  401. data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
  402. data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
  403. data/app/views/rails_admin/main/dashboard.html.haml +0 -34
  404. data/app/views/rails_admin/main/delete.html.haml +0 -18
  405. data/app/views/rails_admin/main/edit.html.haml +0 -2
  406. data/app/views/rails_admin/main/export.html.haml +0 -92
  407. data/app/views/rails_admin/main/history.html.haml +0 -51
  408. data/app/views/rails_admin/main/index.html.haml +0 -126
  409. data/app/views/rails_admin/main/new.html.haml +0 -2
  410. data/app/views/rails_admin/main/show.html.haml +0 -15
  411. data/config/initializers/devise_patch.rb +0 -9
  412. data/config/initializers/haml.rb +0 -5
  413. data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -32
  414. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
  415. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
  416. data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -16
  417. data/lib/rails_admin/bootstrap-sass.rb +0 -49
  418. data/lib/rails_admin/config/lazy_model.rb +0 -68
  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/colorpicker/colorpicker_background.png +0 -0
  430. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  431. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  432. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  433. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  434. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  435. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  436. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  437. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  438. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  439. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  440. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  441. data/vendor/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  442. data/vendor/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  443. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  444. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  445. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  446. data/vendor/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  447. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  448. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  449. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  450. data/vendor/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  451. data/vendor/assets/images/rails_admin/colorpicker/select.png +0 -0
  452. data/vendor/assets/images/rails_admin/colorpicker/select2.png +0 -0
  453. data/vendor/assets/images/rails_admin/colorpicker/slider.png +0 -0
  454. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -142
  455. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -92
  456. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -110
  457. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -223
  458. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -170
  459. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -151
  460. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -280
  461. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -113
  462. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -170
  463. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -128
  464. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -457
  465. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
  466. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
  467. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
  468. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2444
  469. data/vendor/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
  470. data/vendor/assets/javascripts/rails_admin/jquery.pjax.js +0 -741
  471. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -16165
  472. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
  473. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
  474. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
  475. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
  476. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
  477. data/vendor/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
  478. data/vendor/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
  479. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
  480. data/vendor/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
  481. data/vendor/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
  482. data/vendor/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
  483. data/vendor/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
  484. data/vendor/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
  485. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
  486. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
  487. data/vendor/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
  488. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
  489. data/vendor/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
  490. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
  491. data/vendor/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
  492. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
  493. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
  494. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
  495. data/vendor/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
  496. data/vendor/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
  497. data/vendor/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
  498. data/vendor/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
  499. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
  500. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
  501. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
  502. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
  503. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
  504. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
  505. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
  506. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  507. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
  508. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
  509. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
  510. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  511. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
  512. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
  513. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
  514. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
  515. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
  516. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
  517. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
  518. data/vendor/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
  519. /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
  520. /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 = true
22
- @history = @auditing_adapter && @auditing_adapter.listing_for_model(@abstract_model, params[:query], params[:sort], params[:sort_reverse], params[:all], params[:page]) || []
24
+ @history = @auditing_adapter&.listing_for_model(@abstract_model, 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
  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
@@ -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,10 +52,28 @@ 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
@@ -78,7 +97,7 @@ module RailsAdmin
78
97
 
79
98
  # list of columns I should search for that field [{ column: 'table_name.column', type: field.type }, {..}]
80
99
  register_instance_option :searchable_columns do
81
- @searchable_columns ||= begin
100
+ @searchable_columns ||=
82
101
  case searchable
83
102
  when true
84
103
  [{column: "#{abstract_model.table_name}.#{name}", type: type}]
@@ -93,22 +112,21 @@ module RailsAdmin
93
112
  table_name, column = f.split '.'
94
113
  type = nil
95
114
  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
115
+ am = AbstractModel.new(f.keys.first) if f.keys.first.is_a?(Class)
116
+ table_name = am&.table_name || f.keys.first
98
117
  column = f.values.first
99
- property = am && am.properties.detect { |p| p.name == f.values.first.to_sym }
100
- type = property && property.type
118
+ property = am&.properties&.detect { |p| p.name == f.values.first.to_sym }
119
+ type = property&.type
101
120
  else # <attribute|column>
102
121
  am = (association? ? associated_model_config.abstract_model : abstract_model)
103
122
  table_name = am.table_name
104
123
  column = f
105
124
  property = am.properties.detect { |p| p.name == f.to_sym }
106
- type = property && property.type
125
+ type = property&.type
107
126
  end
108
127
  {column: "#{table_name}.#{column}", type: (type || :string)}
109
128
  end
110
129
  end
111
- end
112
130
  end
113
131
 
114
132
  register_instance_option :formatted_value do
@@ -155,7 +173,7 @@ module RailsAdmin
155
173
  #
156
174
  # @see RailsAdmin::AbstractModel.properties
157
175
  register_instance_option :length do
158
- @length ||= properties && properties.length
176
+ @length ||= properties&.length
159
177
  end
160
178
 
161
179
  # Accessor for field's length restrictions per validations
@@ -172,17 +190,17 @@ module RailsAdmin
172
190
  #
173
191
  # @see RailsAdmin::AbstractModel.properties
174
192
  register_instance_option :required? do
175
- context = begin
193
+ context =
176
194
  if bindings && bindings[:object]
177
195
  bindings[:object].persisted? ? :update : :create
178
196
  else
179
197
  :nil
180
198
  end
181
- end
199
+
182
200
  (@required ||= {})[context] ||= !!([name] + children_fields).uniq.detect do |column_name|
183
201
  abstract_model.model.validators_on(column_name).detect do |v|
184
202
  !(v.options[:allow_nil] || v.options[:allow_blank]) &&
185
- [:presence, :numericality, :attachment_presence].include?(v.kind) &&
203
+ %i[presence numericality attachment_presence].include?(v.kind) &&
186
204
  (v.options[:on] == context || v.options[:on].blank?) &&
187
205
  (v.options[:if].blank? && v.options[:unless].blank?)
188
206
  end
@@ -193,7 +211,7 @@ module RailsAdmin
193
211
  #
194
212
  # @see RailsAdmin::AbstractModel.properties
195
213
  register_instance_option :serial? do
196
- properties && properties.serial?
214
+ properties&.serial?
197
215
  end
198
216
 
199
217
  register_instance_option :view_helper do
@@ -213,6 +231,7 @@ module RailsAdmin
213
231
  returned = true
214
232
  (RailsAdmin.config.default_hidden_fields || {}).each do |section, fields|
215
233
  next unless self.section.is_a?("RailsAdmin::Config::Sections::#{section.to_s.camelize}".constantize)
234
+
216
235
  returned = false if fields.include?(name)
217
236
  end
218
237
  returned
@@ -223,12 +242,33 @@ module RailsAdmin
223
242
  []
224
243
  end
225
244
 
245
+ register_instance_option :default_filter_operator do
246
+ nil
247
+ end
248
+
249
+ register_instance_option :eager_load do
250
+ false
251
+ end
252
+
253
+ register_deprecated_instance_option :eager_load?, :eager_load
254
+
255
+ def eager_load_values
256
+ case eager_load
257
+ when true
258
+ [name]
259
+ when false, nil
260
+ []
261
+ else
262
+ Array.wrap(eager_load)
263
+ end
264
+ end
265
+
226
266
  register_instance_option :render do
227
267
  bindings[:view].render partial: "rails_admin/main/#{partial}", locals: {field: self, form: bindings[:form]}
228
268
  end
229
269
 
230
270
  def editable?
231
- !(@properties && @properties.read_only?)
271
+ !((@properties && @properties.read_only?) || (bindings[:object] && bindings[:object].readonly?))
232
272
  end
233
273
 
234
274
  # Is this an association
@@ -255,7 +295,7 @@ module RailsAdmin
255
295
  # @see RailsAdmin::Config::Fields::Base.register_instance_option :required?
256
296
  def optional(state = nil, &block)
257
297
  if !state.nil? || block
258
- required state.nil? ? proc { false == instance_eval(&block) } : false == state
298
+ required state.nil? ? proc { instance_eval(&block) == false } : state == false
259
299
  else
260
300
  optional?
261
301
  end
@@ -277,14 +317,14 @@ module RailsAdmin
277
317
  def value
278
318
  bindings[:object].safe_send(name)
279
319
  rescue NoMethodError => e
280
- raise e.exception <<-EOM.gsub(/^\s{10}/, '')
281
- #{e.message}
282
- If you want to use a RailsAdmin virtual field(= a field without corresponding instance method),
283
- you should declare 'formatted_value' in the field definition.
284
- field :#{name} do
285
- formatted_value{ bindings[:object].call_some_method }
286
- end
287
- EOM
320
+ raise e.exception <<~ERROR
321
+ #{e.message}
322
+ If you want to use a RailsAdmin virtual field(= a field without corresponding instance method),
323
+ you should declare 'formatted_value' in the field definition.
324
+ field :#{name} do
325
+ formatted_value{ bindings[:object].call_some_method }
326
+ end
327
+ ERROR
288
328
  end
289
329
 
290
330
  # Reader for nested attributes
@@ -298,7 +338,7 @@ module RailsAdmin
298
338
  end
299
339
 
300
340
  def generic_help
301
- (required? ? I18n.translate('admin.form.required') : I18n.translate('admin.form.optional')) + '. '
341
+ "#{required? ? I18n.translate('admin.form.required') : I18n.translate('admin.form.optional')}. "
302
342
  end
303
343
 
304
344
  def generic_field_help
@@ -313,7 +353,7 @@ module RailsAdmin
313
353
  end
314
354
 
315
355
  def parse_input(_params)
316
- # overriden
356
+ # overridden
317
357
  end
318
358
 
319
359
  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
 
@@ -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
  require 'rails_admin/config/fields/types/file_upload'
@@ -16,7 +18,9 @@ RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
16
18
  ["#{name}_attachment".to_sym, "#{name}_blob".to_sym]
17
19
  end
18
20
  children_fields = associations.map do |child_name|
19
- next unless child_association = parent.abstract_model.associations.detect { |p| p.name.to_sym == child_name }
21
+ child_association = parent.abstract_model.associations.detect { |p| p.name.to_sym == child_name }
22
+ next unless child_association
23
+
20
24
  child_field = fields.detect { |f| f.name == child_name } || RailsAdmin::Config::Fields.default_factory.call(parent, child_association, fields)
21
25
  child_field.hide unless field == child_field
22
26
  child_field.filterable(false) unless field == child_field
@@ -1,25 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields'
2
4
  require 'rails_admin/config/fields/types'
3
5
  require 'rails_admin/config/fields/types/belongs_to_association'
4
6
 
5
7
  RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
6
- if association = parent.abstract_model.associations.detect { |a| a.foreign_key == properties.name && [:belongs_to, :has_and_belongs_to_many].include?(a.type) }
7
- field = RailsAdmin::Config::Fields::Types.load("#{association.polymorphic? ? :polymorphic : association.type}_association").new(parent, association.name, association)
8
+ parent.abstract_model.associations.filter { |a| Array(a.foreign_key).include?(properties.name) && %i[belongs_to has_and_belongs_to_many].include?(a.type) }.each do |association|
9
+ field = RailsAdmin::Config::Fields::Types.load(association.field_type).new(parent, association.name, association)
8
10
  fields << field
9
11
 
10
12
  child_columns = []
11
- possible_field_names = begin
12
- if association.polymorphic?
13
- [:foreign_key, :foreign_type, :foreign_inverse_of]
14
- else
15
- [:foreign_key]
16
- end.collect { |k| association.send(k) }.compact
17
- end
13
+ possible_field_names = if association.polymorphic?
14
+ %i[foreign_key foreign_type foreign_inverse_of]
15
+ else
16
+ [:foreign_key]
17
+ end.flat_map { |k| Array(association.send(k)) }.compact
18
18
 
19
19
  parent.abstract_model.properties.select { |p| possible_field_names.include? p.name }.each do |column|
20
- unless child_field = fields.detect { |f| f.name.to_s == column.name.to_s }
21
- child_field = RailsAdmin::Config::Fields.default_factory.call(parent, column, fields)
22
- end
20
+ child_field = fields.detect { |f| f.name.to_s == column.name.to_s }
21
+ child_field ||= RailsAdmin::Config::Fields.default_factory.call(parent, column, fields)
23
22
  child_columns << child_field
24
23
  end
25
24
 
@@ -29,5 +28,5 @@ RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
29
28
  end
30
29
 
31
30
  field.children_fields child_columns.collect(&:name)
32
- end
31
+ end.any?
33
32
  end