rails_admin 1.4.2 → 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 (542) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +19 -12
  3. data/README.md +46 -50
  4. data/Rakefile +15 -2
  5. data/app/assets/javascripts/rails_admin/application.js.erb +29 -0
  6. data/app/assets/javascripts/rails_admin/custom/ui.js +1 -0
  7. data/app/assets/stylesheets/rails_admin/application.scss.erb +35 -0
  8. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +1 -1
  9. data/app/assets/stylesheets/rails_admin/custom/variables.scss +1 -1
  10. data/app/controllers/rails_admin/application_controller.rb +8 -3
  11. data/app/controllers/rails_admin/main_controller.rb +55 -50
  12. data/app/helpers/rails_admin/application_helper.rb +143 -62
  13. data/app/helpers/rails_admin/form_builder.rb +25 -13
  14. data/app/helpers/rails_admin/main_helper.rb +19 -42
  15. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
  16. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
  17. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
  18. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +15 -0
  19. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
  20. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
  21. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +8 -0
  22. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
  23. data/app/views/layouts/rails_admin/_head.html.erb +29 -0
  24. data/app/views/layouts/rails_admin/_navigation.html.erb +17 -0
  25. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +26 -0
  26. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -0
  27. data/app/views/layouts/rails_admin/application.html.erb +27 -0
  28. data/app/views/layouts/rails_admin/content.html.erb +22 -0
  29. data/app/views/layouts/rails_admin/modal.js.erb +7 -0
  30. data/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
  31. data/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
  32. data/app/views/rails_admin/main/_form_action_text.html.erb +8 -0
  33. data/app/views/rails_admin/main/_form_boolean.html.erb +14 -0
  34. data/app/views/rails_admin/main/{_form_ck_editor.html.haml → _form_ck_editor.html.erb} +3 -3
  35. data/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
  36. data/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -0
  37. data/app/views/rails_admin/main/_form_datetime.html.erb +10 -0
  38. data/app/views/rails_admin/main/_form_enumeration.html.erb +25 -0
  39. data/app/views/rails_admin/main/_form_field.html.erb +1 -0
  40. data/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
  41. data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +49 -0
  42. data/app/views/rails_admin/main/_form_filtering_select.html.erb +33 -0
  43. data/app/views/rails_admin/main/_form_froala.html.erb +8 -0
  44. data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
  45. data/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
  46. data/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
  47. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +32 -0
  48. data/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
  49. data/app/views/rails_admin/main/_form_text.html.erb +1 -0
  50. data/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
  51. data/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
  52. data/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
  53. data/app/views/rails_admin/main/dashboard.html.erb +64 -0
  54. data/app/views/rails_admin/main/delete.html.erb +21 -0
  55. data/app/views/rails_admin/main/edit.html.erb +3 -0
  56. data/app/views/rails_admin/main/export.html.erb +149 -0
  57. data/app/views/rails_admin/main/history.html.erb +80 -0
  58. data/app/views/rails_admin/main/index.html.erb +184 -0
  59. data/app/views/rails_admin/main/new.html.erb +3 -0
  60. data/app/views/rails_admin/main/show.html.erb +30 -0
  61. data/config/initializers/active_record_extensions.rb +25 -0
  62. data/config/initializers/mongoid_extensions.rb +3 -1
  63. data/config/locales/rails_admin.en.yml +11 -4
  64. data/config/routes.rb +2 -0
  65. data/lib/generators/rails_admin/importmap_formatter.rb +28 -0
  66. data/lib/generators/rails_admin/install_generator.rb +117 -5
  67. data/lib/generators/rails_admin/templates/initializer.erb +4 -3
  68. data/lib/generators/rails_admin/templates/rails_admin.js +1 -0
  69. data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
  70. data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
  71. data/lib/generators/rails_admin/utils.rb +2 -0
  72. data/lib/rails_admin/abstract_model.rb +36 -16
  73. data/lib/rails_admin/adapters/active_record/association.rb +31 -2
  74. data/lib/rails_admin/adapters/active_record/object_extension.rb +31 -0
  75. data/lib/rails_admin/adapters/active_record/property.rb +4 -6
  76. data/lib/rails_admin/adapters/active_record.rb +92 -41
  77. data/lib/rails_admin/adapters/composite_primary_keys/association.rb +45 -0
  78. data/lib/rails_admin/adapters/composite_primary_keys.rb +40 -0
  79. data/lib/rails_admin/adapters/mongoid/association.rb +52 -13
  80. data/lib/rails_admin/adapters/mongoid/bson.rb +6 -5
  81. data/lib/rails_admin/adapters/mongoid/extension.rb +2 -0
  82. data/lib/rails_admin/adapters/mongoid/object_extension.rb +34 -0
  83. data/lib/rails_admin/adapters/mongoid/property.rb +7 -5
  84. data/lib/rails_admin/adapters/mongoid.rb +60 -33
  85. data/lib/rails_admin/config/actions/base.rb +28 -5
  86. data/lib/rails_admin/config/actions/bulk_delete.rb +4 -2
  87. data/lib/rails_admin/config/actions/dashboard.rb +16 -9
  88. data/lib/rails_admin/config/actions/delete.rb +11 -9
  89. data/lib/rails_admin/config/actions/edit.rb +13 -9
  90. data/lib/rails_admin/config/actions/export.rb +6 -3
  91. data/lib/rails_admin/config/actions/history_index.rb +4 -2
  92. data/lib/rails_admin/config/actions/history_show.rb +4 -2
  93. data/lib/rails_admin/config/actions/index.rb +12 -11
  94. data/lib/rails_admin/config/actions/new.rb +18 -12
  95. data/lib/rails_admin/config/actions/show.rb +3 -1
  96. data/lib/rails_admin/config/actions/show_in_app.rb +9 -3
  97. data/lib/rails_admin/config/actions.rb +6 -4
  98. data/lib/rails_admin/config/configurable.rb +25 -14
  99. data/lib/rails_admin/config/const_load_suppressor.rb +78 -0
  100. data/lib/rails_admin/config/fields/association.rb +21 -11
  101. data/lib/rails_admin/config/fields/base.rb +87 -33
  102. data/lib/rails_admin/config/fields/factories/action_text.rb +14 -0
  103. data/lib/rails_admin/config/fields/factories/active_storage.rb +6 -2
  104. data/lib/rails_admin/config/fields/factories/association.rb +12 -13
  105. data/lib/rails_admin/config/fields/factories/carrierwave.rb +6 -2
  106. data/lib/rails_admin/config/fields/factories/devise.rb +6 -2
  107. data/lib/rails_admin/config/fields/factories/dragonfly.rb +7 -3
  108. data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
  109. data/lib/rails_admin/config/fields/factories/paperclip.rb +6 -2
  110. data/lib/rails_admin/config/fields/factories/password.rb +2 -0
  111. data/lib/rails_admin/config/fields/factories/shrine.rb +29 -0
  112. data/lib/rails_admin/config/fields/group.rb +3 -2
  113. data/lib/rails_admin/config/fields/types/action_text.rb +36 -0
  114. data/lib/rails_admin/config/fields/types/active_record_enum.rb +7 -19
  115. data/lib/rails_admin/config/fields/types/active_storage.rb +24 -3
  116. data/lib/rails_admin/config/fields/types/all.rb +6 -1
  117. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +9 -11
  118. data/lib/rails_admin/config/fields/types/boolean.rb +38 -8
  119. data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
  120. data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -0
  121. data/lib/rails_admin/config/fields/types/citext.rb +15 -0
  122. data/lib/rails_admin/config/fields/types/ck_editor.rb +9 -7
  123. data/lib/rails_admin/config/fields/types/code_mirror.rb +12 -12
  124. data/lib/rails_admin/config/fields/types/color.rb +10 -4
  125. data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
  126. data/lib/rails_admin/config/fields/types/date.rb +12 -6
  127. data/lib/rails_admin/config/fields/types/datetime.rb +36 -21
  128. data/lib/rails_admin/config/fields/types/decimal.rb +11 -2
  129. data/lib/rails_admin/config/fields/types/dragonfly.rb +5 -1
  130. data/lib/rails_admin/config/fields/types/enum.rb +16 -3
  131. data/lib/rails_admin/config/fields/types/file_upload.rb +15 -4
  132. data/lib/rails_admin/config/fields/types/float.rb +11 -2
  133. data/lib/rails_admin/config/fields/types/froala.rb +11 -11
  134. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
  135. data/lib/rails_admin/config/fields/types/has_many_association.rb +7 -5
  136. data/lib/rails_admin/config/fields/types/has_one_association.rb +12 -14
  137. data/lib/rails_admin/config/fields/types/hidden.rb +4 -2
  138. data/lib/rails_admin/config/fields/types/inet.rb +2 -0
  139. data/lib/rails_admin/config/fields/types/integer.rb +4 -6
  140. data/lib/rails_admin/config/fields/types/json.rb +2 -0
  141. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +31 -3
  142. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +18 -3
  143. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +23 -5
  144. data/lib/rails_admin/config/fields/types/numeric.rb +24 -0
  145. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
  146. data/lib/rails_admin/config/fields/types/password.rb +7 -1
  147. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +12 -2
  148. data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
  149. data/lib/rails_admin/config/fields/types/shrine.rb +56 -0
  150. data/lib/rails_admin/config/fields/types/simple_mde.rb +10 -5
  151. data/lib/rails_admin/config/fields/types/string.rb +5 -3
  152. data/lib/rails_admin/config/fields/types/string_like.rb +25 -0
  153. data/lib/rails_admin/config/fields/types/text.rb +4 -20
  154. data/lib/rails_admin/config/fields/types/time.rb +16 -4
  155. data/lib/rails_admin/config/fields/types/timestamp.rb +2 -4
  156. data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
  157. data/lib/rails_admin/config/fields/types/wysihtml5.rb +16 -10
  158. data/lib/rails_admin/config/fields/types.rb +3 -1
  159. data/lib/rails_admin/config/fields.rb +8 -3
  160. data/lib/rails_admin/config/groupable.rb +2 -0
  161. data/lib/rails_admin/config/has_description.rb +2 -0
  162. data/lib/rails_admin/config/has_fields.rb +12 -7
  163. data/lib/rails_admin/config/has_groups.rb +3 -1
  164. data/lib/rails_admin/config/hideable.rb +3 -1
  165. data/lib/rails_admin/config/inspectable.rb +3 -3
  166. data/lib/rails_admin/config/lazy_model.rb +16 -10
  167. data/lib/rails_admin/config/model.rb +27 -14
  168. data/lib/rails_admin/config/proxyable/proxy.rb +9 -9
  169. data/lib/rails_admin/config/proxyable.rb +15 -1
  170. data/lib/rails_admin/config/sections/base.rb +4 -3
  171. data/lib/rails_admin/config/sections/create.rb +2 -0
  172. data/lib/rails_admin/config/sections/edit.rb +2 -0
  173. data/lib/rails_admin/config/sections/export.rb +2 -0
  174. data/lib/rails_admin/config/sections/list.rb +22 -4
  175. data/lib/rails_admin/config/sections/modal.rb +2 -0
  176. data/lib/rails_admin/config/sections/nested.rb +2 -0
  177. data/lib/rails_admin/config/sections/show.rb +2 -0
  178. data/lib/rails_admin/config/sections/update.rb +2 -0
  179. data/lib/rails_admin/config/sections.rb +3 -1
  180. data/lib/rails_admin/config.rb +85 -50
  181. data/lib/rails_admin/engine.rb +48 -35
  182. data/lib/rails_admin/extension.rb +18 -12
  183. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +64 -21
  184. data/lib/rails_admin/extensions/cancancan.rb +2 -0
  185. data/lib/rails_admin/extensions/controller_extension.rb +8 -0
  186. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +88 -42
  187. data/lib/rails_admin/extensions/paper_trail.rb +2 -0
  188. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +8 -9
  189. data/lib/rails_admin/extensions/pundit.rb +2 -0
  190. data/lib/rails_admin/support/csv_converter.rb +20 -15
  191. data/lib/rails_admin/support/datetime.rb +50 -85
  192. data/lib/rails_admin/support/es_module_processor.rb +23 -0
  193. data/lib/rails_admin/support/hash_helper.rb +8 -5
  194. data/lib/rails_admin/version.rb +41 -2
  195. data/lib/rails_admin.rb +7 -6
  196. data/lib/tasks/rails_admin.rake +19 -8
  197. data/package.json +30 -0
  198. data/src/rails_admin/base.js +29 -0
  199. data/src/rails_admin/filter-box.js +360 -0
  200. data/src/rails_admin/filtering-multiselect.js +389 -0
  201. data/src/rails_admin/filtering-select.js +308 -0
  202. data/src/rails_admin/i18n.js +18 -0
  203. data/src/rails_admin/jquery.js +3 -0
  204. data/src/rails_admin/nested-form-hooks.js +110 -0
  205. data/src/rails_admin/remote-form.js +193 -0
  206. data/src/rails_admin/sidescroll.js +20 -0
  207. data/src/rails_admin/styles/base/theming.scss +342 -0
  208. data/src/rails_admin/styles/base/variables.scss +3 -0
  209. data/src/rails_admin/styles/base.scss +27 -0
  210. data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
  211. data/src/rails_admin/styles/filtering-select.scss +70 -0
  212. data/src/rails_admin/styles/widgets.scss +26 -0
  213. data/src/rails_admin/ui.js +176 -0
  214. data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
  215. data/src/rails_admin/widgets.js +507 -0
  216. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  217. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
  218. data/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
  219. data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +11246 -0
  220. data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
  221. data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
  222. data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
  223. data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
  224. data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
  225. data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
  226. data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
  227. data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
  228. data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
  229. data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
  230. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
  231. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
  232. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
  233. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
  234. data/vendor/assets/javascripts/rails_admin/jquery3.js +10881 -0
  235. data/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
  236. data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
  237. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
  238. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
  239. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
  240. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
  241. data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +111 -0
  242. data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
  243. data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +229 -0
  244. data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +40 -0
  245. data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
  246. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
  247. data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -0
  248. data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
  249. data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +33 -0
  250. data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
  251. data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
  252. data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +174 -0
  253. data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +43 -0
  254. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
  255. data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
  256. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +335 -0
  257. data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
  258. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +64 -0
  259. data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
  260. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
  261. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
  262. data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
  263. data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
  264. data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
  265. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +155 -0
  266. data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
  267. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +115 -0
  268. data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
  269. data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +104 -0
  270. data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +630 -0
  271. data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1641 -0
  272. data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +53 -0
  273. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
  274. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
  275. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
  276. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
  277. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
  278. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
  279. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
  280. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
  281. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
  282. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
  283. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
  284. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
  285. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
  286. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
  287. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
  288. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
  289. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
  290. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
  291. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
  292. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
  293. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +78 -0
  294. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
  295. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
  296. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +133 -0
  297. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
  298. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +9 -0
  299. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
  300. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
  301. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
  302. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +144 -0
  303. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +47 -0
  304. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +151 -0
  305. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +16 -0
  306. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +24 -0
  307. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
  308. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +31 -0
  309. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
  310. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
  311. data/{app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss → vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_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 +6351 -0
  319. metadata +218 -374
  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/bootstrap/glyphicons-halflings-white.png +0 -0
  327. data/app/assets/images/rails_admin/bootstrap/glyphicons-halflings.png +0 -0
  328. data/app/assets/images/rails_admin/bullet_black.png +0 -0
  329. data/app/assets/images/rails_admin/bullet_white.png +0 -0
  330. data/app/assets/images/rails_admin/calendar.png +0 -0
  331. data/app/assets/images/rails_admin/clock.png +0 -0
  332. data/app/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  333. data/app/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  334. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  335. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  336. data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  337. data/app/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  338. data/app/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  339. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  340. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  341. data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  342. data/app/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  343. data/app/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  344. data/app/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  345. data/app/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  346. data/app/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  347. data/app/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  348. data/app/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  349. data/app/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  350. data/app/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  351. data/app/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  352. data/app/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  353. data/app/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  354. data/app/assets/images/rails_admin/colorpicker/select.png +0 -0
  355. data/app/assets/images/rails_admin/colorpicker/select2.png +0 -0
  356. data/app/assets/images/rails_admin/colorpicker/slider.png +0 -0
  357. data/app/assets/images/rails_admin/logo.png +0 -0
  358. data/app/assets/images/rails_admin/magnifier.png +0 -0
  359. data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
  360. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
  361. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
  362. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
  363. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
  364. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -142
  365. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -92
  366. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -110
  367. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -223
  368. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -170
  369. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -151
  370. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -280
  371. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -113
  372. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -170
  373. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -128
  374. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -457
  375. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
  376. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
  377. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
  378. data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
  379. data/app/assets/javascripts/rails_admin/jquery-ui.js.erb +0 -8
  380. data/app/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
  381. data/app/assets/javascripts/rails_admin/jquery.pjax.js +0 -743
  382. data/app/assets/javascripts/rails_admin/ra.filter-box.js +0 -226
  383. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
  384. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -292
  385. data/app/assets/javascripts/rails_admin/ra.i18n.coffee +0 -10
  386. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.coffee +0 -55
  387. data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
  388. data/app/assets/javascripts/rails_admin/ra.widgets.coffee +0 -350
  389. data/app/assets/javascripts/rails_admin/rails_admin.js +0 -19
  390. data/app/assets/javascripts/rails_admin/ui.coffee +0 -102
  391. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  392. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  393. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  394. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  395. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  396. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  397. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
  398. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
  399. data/app/assets/stylesheets/rails_admin/base/theming.scss +0 -341
  400. data/app/assets/stylesheets/rails_admin/base/variables.scss +0 -1
  401. data/app/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
  402. data/app/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
  403. data/app/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
  404. data/app/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
  405. data/app/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +0 -157
  406. data/app/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +0 -243
  407. data/app/assets/stylesheets/rails_admin/bootstrap/_close.scss +0 -35
  408. data/app/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
  409. data/app/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
  410. data/app/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
  411. data/app/assets/stylesheets/rails_admin/bootstrap/_forms.scss +0 -538
  412. data/app/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
  413. data/app/assets/stylesheets/rails_admin/bootstrap/_grid.scss +0 -84
  414. data/app/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
  415. data/app/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
  416. data/app/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
  417. data/app/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +0 -131
  418. data/app/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
  419. data/app/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +0 -39
  420. data/app/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
  421. data/app/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +0 -659
  422. data/app/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
  423. data/app/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
  424. data/app/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
  425. data/app/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +0 -88
  426. data/app/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
  427. data/app/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
  428. data/app/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
  429. data/app/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
  430. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
  431. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
  432. data/app/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
  433. data/app/assets/stylesheets/rails_admin/bootstrap/_tables.scss +0 -233
  434. data/app/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
  435. data/app/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
  436. data/app/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +0 -95
  437. data/app/assets/stylesheets/rails_admin/bootstrap/_type.scss +0 -304
  438. data/app/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +0 -57
  439. data/app/assets/stylesheets/rails_admin/bootstrap/_variables.scss +0 -850
  440. data/app/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
  441. data/app/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +0 -50
  442. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
  443. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
  444. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +0 -18
  445. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +0 -50
  446. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
  447. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +0 -22
  448. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +0 -84
  449. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +0 -58
  450. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
  451. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +0 -122
  452. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
  453. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +0 -34
  454. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
  455. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +0 -31
  456. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
  457. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  458. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
  459. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +0 -23
  460. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
  461. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
  462. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  463. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
  464. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
  465. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
  466. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
  467. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
  468. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
  469. data/app/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
  470. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
  471. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -13
  472. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -109
  473. data/app/assets/stylesheets/rails_admin/themes/cerulean/mixins.scss +0 -0
  474. data/app/assets/stylesheets/rails_admin/themes/cerulean/theming.scss +0 -133
  475. data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
  476. data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +0 -8
  477. data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +0 -11
  478. data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +0 -12
  479. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
  480. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
  481. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
  482. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
  483. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
  484. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
  485. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
  486. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
  487. data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
  488. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
  489. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -2
  490. data/app/views/layouts/rails_admin/application.html.haml +0 -24
  491. data/app/views/layouts/rails_admin/pjax.html.haml +0 -16
  492. data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
  493. data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
  494. data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
  495. data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
  496. data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
  497. data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
  498. data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -18
  499. data/app/views/rails_admin/main/_form_field.html.haml +0 -1
  500. data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
  501. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +0 -48
  502. data/app/views/rails_admin/main/_form_filtering_select.html.haml +0 -37
  503. data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
  504. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -14
  505. data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
  506. data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
  507. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -11
  508. data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
  509. data/app/views/rails_admin/main/_form_text.html.haml +0 -1
  510. data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
  511. data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
  512. data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
  513. data/app/views/rails_admin/main/dashboard.html.haml +0 -35
  514. data/app/views/rails_admin/main/delete.html.haml +0 -18
  515. data/app/views/rails_admin/main/edit.html.haml +0 -2
  516. data/app/views/rails_admin/main/export.html.haml +0 -92
  517. data/app/views/rails_admin/main/history.html.haml +0 -51
  518. data/app/views/rails_admin/main/index.html.haml +0 -122
  519. data/app/views/rails_admin/main/new.html.haml +0 -2
  520. data/app/views/rails_admin/main/show.html.haml +0 -16
  521. data/config/initializers/devise_patch.rb +0 -9
  522. data/config/initializers/haml.rb +0 -5
  523. data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -32
  524. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
  525. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
  526. data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -18
  527. data/lib/rails_admin/bootstrap-sass.rb +0 -45
  528. data/lib/rails_admin/config/fields/factories/refile.rb +0 -25
  529. data/lib/rails_admin/config/fields/types/refile.rb +0 -27
  530. data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +0 -57
  531. data/lib/rails_admin/extensions/cancan.rb +0 -3
  532. data/lib/rails_admin/extensions/history/auditing_adapter.rb +0 -37
  533. data/lib/rails_admin/extensions/history/history.rb +0 -44
  534. data/lib/rails_admin/extensions/history.rb +0 -3
  535. data/lib/rails_admin/support/i18n.rb +0 -43
  536. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2444
  537. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -9977
  538. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
  539. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
  540. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
  541. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/mixins.scss +0 -0
  542. data/{app → vendor}/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +1 -1
@@ -1,10 +1,12 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/string_like'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Color < RailsAdmin::Config::Fields::Base
9
+ class Color < StringLike
8
10
  RailsAdmin::Config::Fields::Types.register(self)
9
11
 
10
12
  register_instance_option :pretty_value do
@@ -15,10 +17,14 @@ module RailsAdmin
15
17
  :form_colorpicker
16
18
  end
17
19
 
20
+ register_instance_option :view_helper do
21
+ :color_field
22
+ end
23
+
18
24
  register_instance_option :color do
19
25
  if value.present?
20
- if value =~ /^[0-9a-fA-F]{3,6}$/
21
- '#' + value
26
+ if /^[0-9a-fA-F]{3,6}$/.match?(value)
27
+ "##{value}"
22
28
  else
23
29
  value
24
30
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/belongs_to_association'
4
+
5
+ module RailsAdmin
6
+ module Config
7
+ module Fields
8
+ module Types
9
+ class CompositeKeysBelongsToAssociation < RailsAdmin::Config::Fields::Types::BelongsToAssociation
10
+ RailsAdmin::Config::Fields::Types.register(self)
11
+
12
+ register_instance_option :allowed_methods do
13
+ nested_form ? [method_name] : Array(association.foreign_key)
14
+ end
15
+
16
+ def selected_id
17
+ association.foreign_key.map { |attribute| bindings[:object].safe_send(attribute) }.to_composite_keys.to_s
18
+ end
19
+
20
+ def parse_input(params)
21
+ return unless params[method_name].present? && association.foreign_key.is_a?(Array) && !nested_form
22
+
23
+ association.foreign_key.zip(CompositePrimaryKeys::CompositeKeys.parse(params.delete(method_name))).each do |key, value|
24
+ params[key] = value
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/datetime'
2
4
 
3
5
  module RailsAdmin
@@ -7,21 +9,25 @@ module RailsAdmin
7
9
  class Date < RailsAdmin::Config::Fields::Types::Datetime
8
10
  RailsAdmin::Config::Fields::Types.register(self)
9
11
 
10
- register_instance_option :date_format do
11
- :long
12
+ def parse_value(value)
13
+ ::Date.parse(value) if value.present?
12
14
  end
13
15
 
14
- register_instance_option :i18n_scope do
15
- [:date, :formats]
16
+ register_instance_option :date_format do
17
+ :long
16
18
  end
17
19
 
18
20
  register_instance_option :datepicker_options do
19
21
  {
20
- showTodayButton: true,
21
- format: parser.to_momentjs,
22
+ allowInput: true,
23
+ altFormat: flatpickr_format,
22
24
  }
23
25
  end
24
26
 
27
+ register_instance_option :i18n_scope do
28
+ %i[date formats]
29
+ end
30
+
25
31
  register_instance_option :html_attributes do
26
32
  {
27
33
  required: required?,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/base'
2
4
  require 'rails_admin/support/datetime'
3
5
 
@@ -8,25 +10,22 @@ module RailsAdmin
8
10
  class Datetime < RailsAdmin::Config::Fields::Base
9
11
  RailsAdmin::Config::Fields::Types.register(self)
10
12
 
11
- def parser
12
- RailsAdmin::Support::Datetime.new(strftime_format)
13
- end
14
-
15
13
  def parse_value(value)
16
- parser.parse_string(value)
14
+ ::Time.zone.parse(value)
17
15
  end
18
16
 
19
17
  def parse_input(params)
20
18
  params[name] = parse_value(params[name]) if params[name]
21
19
  end
22
20
 
23
- def value
24
- parent_value = super
25
- if %w(DateTime Date Time).include?(parent_value.class.name)
26
- parent_value.in_time_zone
27
- else
28
- parent_value
29
- end
21
+ register_instance_option :filter_operators do
22
+ %w[default between today yesterday this_week last_week] + (required? ? [] : %w[_separator _not_null _null])
23
+ end
24
+
25
+ def filter_options
26
+ super.merge(
27
+ datetimepicker_options: datepicker_options,
28
+ )
30
29
  end
31
30
 
32
31
  register_instance_option :date_format do
@@ -34,21 +33,24 @@ module RailsAdmin
34
33
  end
35
34
 
36
35
  register_instance_option :i18n_scope do
37
- [:time, :formats]
36
+ %i[time formats]
38
37
  end
39
38
 
40
39
  register_instance_option :strftime_format do
41
- begin
42
- ::I18n.t(date_format, scope: i18n_scope, raise: true)
43
- rescue ::I18n::ArgumentError
44
- "%B %d, %Y %H:%M"
45
- end
40
+ ::I18n.t(date_format, scope: i18n_scope, raise: true)
41
+ rescue ::I18n::ArgumentError
42
+ '%B %d, %Y %H:%M'
43
+ end
44
+
45
+ register_instance_option :flatpickr_format do
46
+ RailsAdmin::Support::Datetime.to_flatpickr_format(strftime_format)
46
47
  end
47
48
 
48
49
  register_instance_option :datepicker_options do
49
50
  {
50
- showTodayButton: true,
51
- format: parser.to_momentjs,
51
+ allowInput: true,
52
+ enableTime: true,
53
+ altFormat: flatpickr_format,
52
54
  }
53
55
  end
54
56
 
@@ -63,8 +65,13 @@ module RailsAdmin
63
65
  true
64
66
  end
65
67
 
68
+ register_instance_option :queryable? do
69
+ false
70
+ end
71
+
66
72
  register_instance_option :formatted_value do
67
- if time = (value || default_value)
73
+ time = (value || default_value)
74
+ if time
68
75
  ::I18n.l(time, format: strftime_format)
69
76
  else
70
77
  ''.html_safe
@@ -74,6 +81,14 @@ module RailsAdmin
74
81
  register_instance_option :partial do
75
82
  :form_datetime
76
83
  end
84
+
85
+ register_deprecated_instance_option :momentjs_format do
86
+ ActiveSupport::Deprecation.warn('The momentjs_format configuration option is deprecated, please use flatpickr_format with corresponding values here: https://flatpickr.js.org/formatting/')
87
+ end
88
+
89
+ def form_value
90
+ value&.in_time_zone&.strftime('%FT%T') || form_default_value
91
+ end
77
92
  end
78
93
  end
79
94
  end
@@ -1,12 +1,21 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/numeric'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Decimal < RailsAdmin::Config::Fields::Base
9
+ class Decimal < RailsAdmin::Config::Fields::Types::Numeric
8
10
  # Register field type for the type loader
9
11
  RailsAdmin::Config::Fields::Types.register(self)
12
+
13
+ register_instance_option :html_attributes do
14
+ {
15
+ required: required?,
16
+ step: 'any',
17
+ }
18
+ end
10
19
  end
11
20
  end
12
21
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/base'
2
4
  require 'rails_admin/config/fields/types/file_upload'
3
5
 
@@ -12,7 +14,8 @@ module RailsAdmin
12
14
  register_instance_option :image? do
13
15
  false unless value
14
16
  if abstract_model.model.new.respond_to?("#{name}_name")
15
- bindings[:object].send("#{name}_name").to_s.split('.').last =~ /jpg|jpeg|png|gif/i
17
+ mime_type = Mime::Type.lookup_by_extension(bindings[:object].send("#{name}_name").to_s.split('.').last)
18
+ mime_type.to_s.match?(/^image/)
16
19
  else
17
20
  true # Dragonfly really is image oriented
18
21
  end
@@ -32,6 +35,7 @@ module RailsAdmin
32
35
 
33
36
  def resource_url(thumb = false)
34
37
  return nil unless (v = value)
38
+
35
39
  thumb ? v.thumb(thumb).try(:url) : v.url
36
40
  end
37
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/string'
2
4
 
3
5
  module RailsAdmin
@@ -7,21 +9,32 @@ module RailsAdmin
7
9
  class Enum < RailsAdmin::Config::Fields::Base
8
10
  RailsAdmin::Config::Fields::Types.register(self)
9
11
 
12
+ register_instance_option :filter_operators do
13
+ %w[_discard] +
14
+ enum.map do |label, value|
15
+ {label: label, value: value || label}
16
+ end + (required? ? [] : %w[_separator _present _blank])
17
+ end
18
+
10
19
  register_instance_option :partial do
11
20
  :form_enumeration
12
21
  end
13
22
 
14
23
  register_instance_option :enum_method do
15
- @enum_method ||= bindings[:object].class.respond_to?("#{name}_enum") || bindings[:object].respond_to?("#{name}_enum") ? "#{name}_enum" : name
24
+ @enum_method ||= bindings[:object].class.respond_to?("#{name}_enum") || (bindings[:object] || abstract_model.model.new).respond_to?("#{name}_enum") ? "#{name}_enum" : name
16
25
  end
17
26
 
18
27
  register_instance_option :enum do
19
- bindings[:object].class.respond_to?(enum_method) ? bindings[:object].class.send(enum_method) : bindings[:object].send(enum_method)
28
+ if abstract_model.model.respond_to?(enum_method)
29
+ abstract_model.model.send(enum_method)
30
+ else
31
+ (bindings[:object] || abstract_model.model.new).send(enum_method)
32
+ end
20
33
  end
21
34
 
22
35
  register_instance_option :pretty_value do
23
36
  if enum.is_a?(::Hash)
24
- enum.reject { |_k, v| v.to_s != value.to_s }.keys.first.to_s.presence || value.presence || ' - '
37
+ enum.select { |_k, v| v.to_s == value.to_s }.keys.first.to_s.presence || value.presence || ' - '
25
38
  elsif enum.is_a?(::Array) && enum.first.is_a?(::Array)
26
39
  enum.detect { |e| e[1].to_s == value.to_s }.try(:first).to_s.presence || value.presence || ' - '
27
40
  else
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/string'
2
4
 
3
5
  module RailsAdmin
@@ -23,10 +25,18 @@ module RailsAdmin
23
25
  nil
24
26
  end
25
27
 
28
+ register_instance_option :cache_value do
29
+ bindings[:object].public_send(cache_method) if cache_method
30
+ end
31
+
26
32
  register_instance_option :export_value do
27
33
  resource_url.to_s
28
34
  end
29
35
 
36
+ register_instance_option :link_name do
37
+ value
38
+ end
39
+
30
40
  register_instance_option :pretty_value do
31
41
  if value.presence
32
42
  v = bindings[:view]
@@ -34,15 +44,16 @@ module RailsAdmin
34
44
  if image
35
45
  thumb_url = resource_url(thumb_method)
36
46
  image_html = v.image_tag(thumb_url, class: 'img-thumbnail')
37
- url != thumb_url ? v.link_to(image_html, url, target: '_blank') : image_html
47
+ url == thumb_url ? image_html : v.link_to(image_html, url, target: '_blank', rel: 'noopener noreferrer')
38
48
  else
39
- v.link_to(value, url, target: '_blank')
49
+ v.link_to(link_name, url, target: '_blank', rel: 'noopener noreferrer')
40
50
  end
41
51
  end
42
52
  end
43
53
 
44
54
  register_instance_option :image? do
45
- (url = resource_url.to_s) && url.split('.').last =~ /jpg|jpeg|png|gif|svg/i
55
+ mime_type = Mime::Type.lookup_by_extension(resource_url.to_s.split('.').last)
56
+ mime_type.to_s.match?(/^image/)
46
57
  end
47
58
 
48
59
  register_instance_option :allowed_methods do
@@ -57,7 +68,7 @@ module RailsAdmin
57
68
 
58
69
  # virtual class
59
70
  def resource_url
60
- raise('not implemented')
71
+ raise 'not implemented'
61
72
  end
62
73
 
63
74
  def virtual?
@@ -1,12 +1,21 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/numeric'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Float < RailsAdmin::Config::Fields::Base
9
+ class Float < RailsAdmin::Config::Fields::Types::Numeric
8
10
  # Register field type for the type loader
9
11
  RailsAdmin::Config::Fields::Types.register(self)
12
+
13
+ register_instance_option :html_attributes do
14
+ {
15
+ required: required?,
16
+ step: 'any',
17
+ }
18
+ end
10
19
  end
11
20
  end
12
21
  end
@@ -1,35 +1,35 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/text'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Froala < RailsAdmin::Config::Fields::Types::Text
9
+ class Froala < Text
8
10
  # Register field type for the type loader
9
11
  RailsAdmin::Config::Fields::Types.register(self)
10
12
 
11
- # If you want to have a different toolbar configuration for wysihtml5
12
- # you can use a Ruby hash to configure these options:
13
- # https://github.com/jhollingworth/bootstrap-wysihtml5/#advanced
13
+ # See https://www.froala.com/wysiwyg-editor/docs/options
14
14
  register_instance_option :config_options do
15
15
  nil
16
16
  end
17
17
 
18
+ register_instance_option :version do
19
+ '2.9.5'
20
+ end
21
+
18
22
  register_instance_option :css_location do
19
- ActionController::Base.helpers.asset_path('froala_editor.min.css')
23
+ "https://cdnjs.cloudflare.com/ajax/libs/froala-editor/#{version}/css/froala_editor.min.css"
20
24
  end
21
25
 
22
26
  register_instance_option :js_location do
23
- ActionController::Base.helpers.asset_path('froala_editor.min.js')
27
+ "https://cdnjs.cloudflare.com/ajax/libs/froala-editor/#{version}/js/froala_editor.min.js"
24
28
  end
25
29
 
26
30
  register_instance_option :partial do
27
31
  :form_froala
28
32
  end
29
-
30
- [:config_options, :css_location, :js_location].each do |key|
31
- register_deprecated_instance_option :"froala_#{key}", key
32
- end
33
33
  end
34
34
  end
35
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/has_many_association'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/association'
2
4
 
3
5
  module RailsAdmin
@@ -17,18 +19,18 @@ module RailsAdmin
17
19
  false
18
20
  end
19
21
 
20
- register_instance_option :inline_add do
21
- true
22
- end
23
-
24
22
  def method_name
25
- nested_form ? "#{super}_attributes".to_sym : "#{super.to_s.singularize}_ids".to_sym # name_ids
23
+ nested_form ? "#{name}_attributes".to_sym : super
26
24
  end
27
25
 
28
26
  # Reader for validation errors of the bound object
29
27
  def errors
30
28
  bindings[:object].errors[name]
31
29
  end
30
+
31
+ def associated_prepopulate_params
32
+ {associated_model_config.abstract_model.param_key => {association.foreign_key => bindings[:object].try(:id)}}
33
+ end
32
34
  end
33
35
  end
34
36
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/association'
2
4
 
3
5
  module RailsAdmin
@@ -8,6 +10,10 @@ module RailsAdmin
8
10
  # Register field type for the type loader
9
11
  RailsAdmin::Config::Fields::Types.register(self)
10
12
 
13
+ register_instance_option :filter_operators do
14
+ %w[_discard like not_like is starts_with ends_with] + (required? ? [] : %w[_separator _present _blank])
15
+ end
16
+
11
17
  register_instance_option :partial do
12
18
  nested_form ? :form_nested_one : :form_filtering_select
13
19
  end
@@ -17,29 +23,21 @@ module RailsAdmin
17
23
  (o = value) && o.send(associated_model_config.object_label_method)
18
24
  end
19
25
 
20
- register_instance_option :inline_add do
21
- true
22
- end
23
-
24
- register_instance_option :inline_edit do
25
- true
26
- end
27
-
28
- def editable?
29
- (nested_form || abstract_model.model.new.respond_to?("#{name}_id=")) && super
30
- end
31
-
32
26
  def selected_id
33
- value.try :id
27
+ value.try(:id).try(:to_s)
34
28
  end
35
29
 
36
30
  def method_name
37
- nested_form ? "#{name}_attributes".to_sym : "#{name}_id".to_sym
31
+ nested_form ? "#{name}_attributes".to_sym : super
38
32
  end
39
33
 
40
34
  def multiple?
41
35
  false
42
36
  end
37
+
38
+ def associated_prepopulate_params
39
+ {associated_model_config.abstract_model.param_key => {association.foreign_key => bindings[:object].try(:id)}}
40
+ end
43
41
  end
44
42
  end
45
43
  end
@@ -1,10 +1,12 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/string_like'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Hidden < RailsAdmin::Config::Fields::Base
9
+ class Hidden < StringLike
8
10
  RailsAdmin::Config::Fields::Types.register(self)
9
11
 
10
12
  register_instance_option :view_helper do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,17 +1,15 @@
1
- require 'rails_admin/config/fields/base'
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_admin/config/fields/types/numeric'
2
4
 
3
5
  module RailsAdmin
4
6
  module Config
5
7
  module Fields
6
8
  module Types
7
- class Integer < RailsAdmin::Config::Fields::Base
9
+ class Integer < RailsAdmin::Config::Fields::Types::Numeric
8
10
  # Register field type for the type loader
9
11
  RailsAdmin::Config::Fields::Types.register(self)
10
12
 
11
- register_instance_option :view_helper do
12
- :number_field
13
- end
14
-
15
13
  register_instance_option :sort_reverse? do
16
14
  serial?
17
15
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/text'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/multiple_file_upload'
2
4
 
3
5
  module RailsAdmin
@@ -9,21 +11,27 @@ module RailsAdmin
9
11
 
10
12
  class ActiveStorageAttachment < RailsAdmin::Config::Fields::Types::MultipleFileUpload::AbstractAttachment
11
13
  register_instance_option :thumb_method do
12
- {resize: '100x100>'}
14
+ {resize_to_limit: [100, 100]}
15
+ end
16
+
17
+ register_instance_option :keep_value do
18
+ value.signed_id
13
19
  end
14
20
 
15
- register_instance_option :delete_key do
21
+ register_instance_option :delete_value do
16
22
  value.id
17
23
  end
18
24
 
19
25
  register_instance_option :image? do
20
26
  if value
21
- value.filename.to_s.split('.').last =~ /jpg|jpeg|png|gif|svg/i
27
+ mime_type = Mime::Type.lookup_by_extension(value.filename.extension_without_delimiter)
28
+ mime_type.to_s.match?(/^image/)
22
29
  end
23
30
  end
24
31
 
25
32
  def resource_url(thumb = false)
26
33
  return nil unless value
34
+
27
35
  if thumb && value.variable?
28
36
  variant = value.variant(thumb_method)
29
37
  Rails.application.routes.url_helpers.rails_blob_representation_path(
@@ -39,9 +47,29 @@ module RailsAdmin
39
47
  ActiveStorageAttachment
40
48
  end
41
49
 
50
+ register_instance_option :keep_method do
51
+ method_name if ::ActiveStorage.replace_on_assign_to_many
52
+ end
53
+
42
54
  register_instance_option :delete_method do
43
55
  "remove_#{name}" if bindings[:object].respond_to?("remove_#{name}")
44
56
  end
57
+
58
+ register_instance_option :eager_load do
59
+ {"#{name}_attachments": :blob}
60
+ end
61
+
62
+ register_instance_option :direct? do
63
+ false
64
+ end
65
+
66
+ register_instance_option :html_attributes do
67
+ {
68
+ required: required? && !value.present?,
69
+ }.merge(
70
+ direct? && {data: {direct_upload_url: bindings[:view].main_app.rails_direct_uploads_url}} || {},
71
+ )
72
+ end
45
73
  end
46
74
  end
47
75
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/multiple_file_upload'
2
4
 
3
5
  module RailsAdmin
@@ -12,12 +14,17 @@ module RailsAdmin
12
14
  @thumb_method ||= ((versions = value.versions.keys).detect { |k| k.in?([:thumb, :thumbnail, 'thumb', 'thumbnail']) } || versions.first.to_s)
13
15
  end
14
16
 
15
- register_instance_option :delete_key do
16
- value.file.identifier
17
+ register_instance_option :keep_value do
18
+ value.cache_name || value.identifier
19
+ end
20
+
21
+ register_instance_option :delete_value do
22
+ value.file.filename
17
23
  end
18
24
 
19
25
  def resource_url(thumb = false)
20
26
  return nil unless value
27
+
21
28
  thumb.present? ? value.send(thumb).url : value.url
22
29
  end
23
30
  end
@@ -27,7 +34,15 @@ module RailsAdmin
27
34
  end
28
35
 
29
36
  register_instance_option :cache_method do
30
- "#{name}_cache"
37
+ "#{name}_cache" unless ::CarrierWave::VERSION >= '2'
38
+ end
39
+
40
+ register_instance_option :keep_method do
41
+ name if ::CarrierWave::VERSION >= '2'
42
+ end
43
+
44
+ register_instance_option :reorderable? do
45
+ ::CarrierWave::VERSION >= '2'
31
46
  end
32
47
 
33
48
  register_instance_option :delete_method do