rails_admin 1.4.2 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,18 @@
1
+ var I18n = {
2
+ locale: null,
3
+ translations: null,
4
+ init(locale, translations) {
5
+ this.locale = locale;
6
+ this.translations = translations;
7
+ if (typeof this.translations === "string") {
8
+ this.translations = JSON.parse(this.translations);
9
+ }
10
+ },
11
+ t(key) {
12
+ var humanize;
13
+ humanize = key.charAt(0).toUpperCase() + key.replace(/_/g, " ").slice(1);
14
+ return this.translations[key] || humanize;
15
+ },
16
+ };
17
+
18
+ export { I18n as default };
@@ -0,0 +1,3 @@
1
+ import jQuery from "jquery";
2
+
3
+ window.$ = window.jQuery = jQuery;
@@ -0,0 +1,110 @@
1
+ import jQuery from "jquery";
2
+ import * as bootstrap from "bootstrap";
3
+
4
+ (function ($) {
5
+ $(document).ready(function () {
6
+ return (window.nestedFormEvents.insertFields = function (
7
+ content,
8
+ assoc,
9
+ link
10
+ ) {
11
+ var tab_content;
12
+ tab_content = $(link).closest(".controls").siblings(".tab-content");
13
+ tab_content.append(content);
14
+ return tab_content.children().last();
15
+ });
16
+ });
17
+
18
+ $(document).on("nested:fieldAdded", "form", function (content) {
19
+ var controls, field, nav, new_tab, one_to_one, parent_group, toggler;
20
+ field = content.field
21
+ .addClass("tab-pane")
22
+ .attr("id", "unique-id-" + new Date().getTime());
23
+ new_tab = $("<li></li>")
24
+ .append(
25
+ $("<a></a>")
26
+ .addClass("nav-link")
27
+ .attr("data-bs-toggle", "tab")
28
+ .attr("href", "#" + field.attr("id"))
29
+ .text(field.children(".object-infos").data("object-label"))
30
+ )
31
+ .addClass("nav-item");
32
+ parent_group = field.closest(".control-group");
33
+ controls = parent_group.children(".controls");
34
+ one_to_one = controls.data("nestedone") !== void 0;
35
+ nav = controls.children(".nav");
36
+ content = parent_group.children(".tab-content");
37
+ toggler = controls.find(".toggler");
38
+ nav.append(new_tab);
39
+
40
+ const event = new CustomEvent("rails_admin.dom_ready", { detail: field });
41
+ document.dispatchEvent(event);
42
+
43
+ new_tab.children("a").each(function (index, element) {
44
+ bootstrap.Tab.getOrCreateInstance(element).show();
45
+ });
46
+ if (!one_to_one) {
47
+ new bootstrap.Collapse(nav[0], { toggle: false }).show();
48
+ }
49
+ new bootstrap.Collapse(content[0], { toggle: false }).show();
50
+ toggler
51
+ .addClass("active")
52
+ .removeClass("disabled")
53
+ .children("i")
54
+ .addClass("fa-chevron-down")
55
+ .removeClass("fa-chevron-right");
56
+ if (one_to_one) {
57
+ controls
58
+ .find(".add_nested_fields")
59
+ .removeClass("add_nested_fields")
60
+ .text(field.children(".object-infos").data("object-label"));
61
+ }
62
+ });
63
+
64
+ $(document).on("nested:fieldRemoved", "form", function (content) {
65
+ var add_button,
66
+ controls,
67
+ current_li,
68
+ field,
69
+ nav,
70
+ one_to_one,
71
+ parent_group,
72
+ toggler;
73
+ field = content.field;
74
+ nav = field
75
+ .closest(".control-group")
76
+ .children(".controls")
77
+ .children(".nav");
78
+ current_li = nav.children("li").has('a[href="#' + field.attr("id") + '"]');
79
+ parent_group = field.closest(".control-group");
80
+ controls = parent_group.children(".controls");
81
+ one_to_one = controls.data("nestedone") !== void 0;
82
+ toggler = controls.find(".toggler");
83
+ (current_li.next().length ? current_li.next() : current_li.prev())
84
+ .children("a:first")
85
+ .each(function (index, element) {
86
+ bootstrap.Tab.getOrCreateInstance(element).show();
87
+ });
88
+ current_li.remove();
89
+ if (nav.children().length === 0) {
90
+ new bootstrap.Collapse(controls.siblings(".tab-content")[0], {
91
+ toggle: false,
92
+ }).hide();
93
+ toggler
94
+ .removeClass("active")
95
+ .addClass("disabled")
96
+ .children("i")
97
+ .removeClass("fa-chevron-down")
98
+ .addClass("fa-chevron-right");
99
+ }
100
+ if (one_to_one) {
101
+ add_button = toggler.next();
102
+ add_button
103
+ .addClass("add_nested_fields")
104
+ .html(add_button.data("add-label"));
105
+ }
106
+ field.find("[required]").each(function () {
107
+ $(this).prop("required", false);
108
+ });
109
+ });
110
+ })(jQuery);
@@ -0,0 +1,193 @@
1
+ import Rails from "@rails/ujs";
2
+ import jQuery from "jquery";
3
+ import "jquery-ui/ui/widget.js";
4
+ import * as bootstrap from "bootstrap";
5
+
6
+ (function ($) {
7
+ $.widget("ra.remoteForm", {
8
+ _create: function () {
9
+ var widget = this;
10
+ var dom_widget = widget.element;
11
+
12
+ var edit_url =
13
+ dom_widget.find("select").first().data("options") &&
14
+ dom_widget.find("select").first().data("options")["edit-url"];
15
+ if (typeof edit_url != "undefined" && edit_url.length) {
16
+ dom_widget.on(
17
+ "dblclick",
18
+ ".ra-multiselect option:not(:disabled)",
19
+ function (e) {
20
+ widget._bindModalOpening(e, edit_url.replace("__ID__", this.value));
21
+ }
22
+ );
23
+ }
24
+
25
+ dom_widget
26
+ .find(".create")
27
+ .unbind()
28
+ .bind("click", function (e) {
29
+ widget._bindModalOpening(e, $(this).data("link"));
30
+ });
31
+
32
+ dom_widget
33
+ .find(".update")
34
+ .unbind()
35
+ .bind("click", function (e) {
36
+ var value = dom_widget.find("select").val();
37
+ if (value) {
38
+ widget._bindModalOpening(
39
+ e,
40
+ $(this).data("link").replace("__ID__", value)
41
+ );
42
+ } else {
43
+ e.preventDefault();
44
+ }
45
+ });
46
+ },
47
+
48
+ _bindModalOpening: function (e, url) {
49
+ e.preventDefault();
50
+ var widget = this;
51
+ if ($("#modal").length) return false;
52
+
53
+ var dialog = this._getModal();
54
+
55
+ setTimeout(function () {
56
+ // fix race condition with modal insertion in the dom (Chrome => Team/add a new fan => #modal not found when it should have). Somehow .on('show') is too early, tried it too.
57
+ $.ajax({
58
+ url: url,
59
+ beforeSend: function (xhr) {
60
+ xhr.setRequestHeader("Accept", "text/javascript");
61
+ },
62
+ success: function (data, status, xhr) {
63
+ dialog.find(".modal-body").html(data);
64
+ widget._bindFormEvents();
65
+ },
66
+ error: function (xhr, status, error) {
67
+ dialog.find(".modal-body").html(xhr.responseText);
68
+ },
69
+ dataType: "text",
70
+ });
71
+ }, 200);
72
+ },
73
+
74
+ _bindFormEvents: function () {
75
+ var widget = this,
76
+ dialog = this._getModal(),
77
+ form = dialog.find("form"),
78
+ saveButtonText = dialog.find(":submit[name=_save]").html(),
79
+ cancelButtonText = dialog.find(":submit[name=_continue]").html();
80
+ dialog.find(".form-actions").remove();
81
+
82
+ form.attr("data-remote", true).attr("data-type", "json");
83
+ dialog.find(".modal-header-title").text(form.data("title"));
84
+ dialog
85
+ .find(".cancel-action")
86
+ .unbind()
87
+ .click(function () {
88
+ dialog.each(function (index, element) {
89
+ bootstrap.Modal.getInstance(element).hide();
90
+ });
91
+ return false;
92
+ })
93
+ .html(cancelButtonText);
94
+
95
+ dialog
96
+ .find(".save-action")
97
+ .unbind()
98
+ .click(function () {
99
+ Rails.fire(form[0], "submit");
100
+ return false;
101
+ })
102
+ .html(saveButtonText);
103
+
104
+ const event = new CustomEvent("rails_admin.dom_ready", { detail: form });
105
+ document.dispatchEvent(event);
106
+
107
+ form.bind("ajax:complete", function (event) {
108
+ var data = event.detail[0];
109
+ if (data.status == 200) {
110
+ var json = $.parseJSON(data.responseText);
111
+ var option =
112
+ '<option value="' +
113
+ json.id +
114
+ '" selected>' +
115
+ json.label +
116
+ "</option>";
117
+ var select = widget.element.find("select").filter(":hidden");
118
+
119
+ if (widget.element.find(".filtering-select").length) {
120
+ // select input
121
+ var input = widget.element
122
+ .find(".filtering-select")
123
+ .children(".ra-filtering-select-input");
124
+ input.val(json.label);
125
+ if (!select.find("option[value=" + json.id + "]").length) {
126
+ // not a replace
127
+ select.html(option).val(json.id);
128
+ widget.element.find(".update").removeClass("disabled");
129
+ }
130
+ } else {
131
+ // multi-select input
132
+ var multiselect = widget.element.find(".ra-multiselect");
133
+ if (multiselect.find("option[value=" + json.id + "]").length) {
134
+ // replace
135
+ select.find("option[value=" + json.id + "]").text(json.label);
136
+ multiselect
137
+ .find("option[value= " + json.id + "]")
138
+ .text(json.label);
139
+ } else {
140
+ // add
141
+ select.append(option);
142
+ multiselect
143
+ .find("select.ra-multiselect-selection")
144
+ .append(option);
145
+ }
146
+ }
147
+ widget._trigger("success");
148
+ dialog.each(function (index, element) {
149
+ bootstrap.Modal.getInstance(element).hide();
150
+ });
151
+ } else {
152
+ dialog.find(".modal-body").html(data.responseText);
153
+ widget._bindFormEvents();
154
+ }
155
+ });
156
+ },
157
+
158
+ _getModal: function () {
159
+ var widget = this;
160
+ if (!widget.dialog) {
161
+ widget.dialog = $(
162
+ '<div id="modal" class="modal fade">\
163
+ <div class="modal-dialog modal-lg">\
164
+ <div class="modal-content">\
165
+ <div class="modal-header">\
166
+ <h3 class="modal-header-title">...</h3>\
167
+ <button type="button" class="btn-close" data-bs-dismiss="modal"></button>\
168
+ </div>\
169
+ <div class="modal-body">\
170
+ ...\
171
+ </div>\
172
+ <div class="modal-footer">\
173
+ <a href="#" class="btn cancel-action">...</a>\
174
+ <a href="#" class="btn btn-primary save-action">...</a>\
175
+ </div>\
176
+ </div>\
177
+ </div>\
178
+ </div>'
179
+ ).on("hidden.bs.modal", function () {
180
+ widget.dialog.remove(); // We don't want to reuse closed modals
181
+ widget.dialog = null;
182
+ });
183
+ new bootstrap.Modal(widget.dialog[0], {
184
+ keyboard: true,
185
+ backdrop: true,
186
+ focus: false,
187
+ show: true,
188
+ }).show();
189
+ }
190
+ return this.dialog;
191
+ },
192
+ });
193
+ })(jQuery);
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ {
4
+ document.addEventListener("rails_admin.dom_ready", () => {
5
+ const scroller = document.getElementById("sidescroll");
6
+ if (!scroller) {
7
+ return;
8
+ }
9
+
10
+ scroller.querySelectorAll("tr").forEach((tr, index) => {
11
+ let firstPosition;
12
+ tr.querySelectorAll("th.sticky, td.sticky").forEach((td, idx) => {
13
+ if (idx === 0) {
14
+ firstPosition = td.offsetLeft;
15
+ }
16
+ td.style.left = `${td.offsetLeft - firstPosition}px`;
17
+ });
18
+ });
19
+ });
20
+ }
@@ -0,0 +1,342 @@
1
+ /*
2
+ RailsAdmin main CSS
3
+ Keep it clean, people
4
+ */
5
+
6
+ $avatar-size: 30px;
7
+
8
+ body.rails_admin {
9
+ .thumbnail {
10
+ display: inline-block;
11
+ }
12
+
13
+ /* Top navigation */
14
+ padding-top: $nav-link-height + $navbar-padding-y * 2;
15
+
16
+ .navbar {
17
+ .edit_user_root_link {
18
+ position: relative;
19
+
20
+ img {
21
+ position: absolute;
22
+ top: calc((40px - $avatar-size) / 2);
23
+
24
+ & + span {
25
+ margin-left: ($avatar-size + 5px);
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ /* Sidebar navigation */
32
+ .sidebar.btn-toggle-nav {
33
+ padding: 0;
34
+
35
+ .btn-toggle {
36
+ margin-top: calc(#{$grid-gutter-width} / 2);
37
+ padding: 3px calc(#{$grid-gutter-width} / 2);
38
+ font-weight: bold;
39
+ color: $gray-600;
40
+ }
41
+
42
+ .btn-toggle[aria-expanded="true"] {
43
+ color: $gray-700;
44
+ }
45
+
46
+ .btn-toggle-nav > li > a {
47
+ padding: calc(#{$navbar-padding-y} / 2) calc(#{$grid-gutter-width} / 2);
48
+
49
+ &.active {
50
+ background-color: map-get($theme-colors, primary);
51
+ color: color-contrast(map-get($theme-colors, primary));
52
+ }
53
+
54
+ &:hover {
55
+ background-color: map-get($theme-colors, primary);
56
+ color: color-contrast(map-get($theme-colors, primary));
57
+ }
58
+
59
+ &.nav-level-1 {
60
+ padding-left: $grid-gutter-width;
61
+ }
62
+
63
+ &.nav-level-2 {
64
+ padding-left: ($grid-gutter-width * 1.5);
65
+ }
66
+
67
+ &.nav-level-3 {
68
+ padding-left: ($grid-gutter-width * 2);
69
+ }
70
+ }
71
+ }
72
+
73
+ /* Main form */
74
+ form.main {
75
+ /* hide hidden fields controls by default */
76
+ .control-group .hidden_type {
77
+ display: none;
78
+ }
79
+
80
+ /* nested forms */
81
+ .tab-content {
82
+ .tab-pane {
83
+ border-left: 5px solid map-get($theme-colors, primary);
84
+ position: relative;
85
+
86
+ fieldset {
87
+ padding-top: 30px;
88
+ }
89
+
90
+ .form-group {
91
+ margin-right: 0;
92
+ margin-left: -5px; /* Balance border-left */
93
+ }
94
+
95
+ & > .remove_nested_fields,
96
+ & > .remove_nested_one_fields {
97
+ display: block;
98
+ opacity: 0;
99
+ position: absolute;
100
+ top: 0px;
101
+ left: 5px;
102
+ transition: opacity 0.15s ease;
103
+ }
104
+ &:hover > .remove_nested_fields,
105
+ &:hover > .remove_nested_one_fields,
106
+ & > .remove_nested_one_fields.active {
107
+ opacity: 1;
108
+ }
109
+ }
110
+ }
111
+
112
+ /* double nesting, guys. Easy. */
113
+ .tab-content .tab-content .tab-pane {
114
+ border-color: lighten(map-get($theme-colors, info), 20%);
115
+ margin-left: 10px;
116
+
117
+ .form-group {
118
+ margin-left: -15px; /* Balance border-left */
119
+ }
120
+ }
121
+
122
+ /* triple nesting!*/
123
+ .tab-content .tab-content .tab-content .tab-pane {
124
+ border-color: lighten(map-get($theme-colors, warning), 30%);
125
+ margin-left: 20px;
126
+
127
+ .form-group {
128
+ margin-left: -25px; /* Balance border-left */
129
+ }
130
+ }
131
+
132
+ /* totally awesome! nesting on 4 levels! */
133
+ .tab-content .tab-content .tab-content .tab-content .tab-pane {
134
+ border-color: lighten(map-get($theme-colors, success), 40%);
135
+ margin-left: 30px;
136
+
137
+ .form-group {
138
+ margin-left: -35px; /* Balance border-left */
139
+ }
140
+ }
141
+ }
142
+
143
+ /* Action tabs */
144
+ .nav.nav-tabs {
145
+ li.nav-item.icon + li.nav-item.dropdown {
146
+ margin-left: auto;
147
+ }
148
+ /* To silence Popper's warning: 'CSS "margin" styles cannot be used...' */
149
+ .dropdown-menu {
150
+ margin: 0;
151
+ }
152
+ }
153
+
154
+ /* Table cells behaviour */
155
+ .table {
156
+ height: 100%;
157
+
158
+ // Cells
159
+ > thead,
160
+ > tbody,
161
+ > tfoot {
162
+ > tr {
163
+ > th {
164
+ border-bottom: 0px;
165
+ }
166
+ }
167
+ }
168
+ .thumbnail {
169
+ float: left;
170
+ & + * {
171
+ clear: left;
172
+ }
173
+ }
174
+ /* backport of Bootstrap 1.4 table headers */
175
+ .header {
176
+ cursor: pointer;
177
+ padding-right: 18px;
178
+ &:after {
179
+ content: "";
180
+ float: right;
181
+ margin-top: 7px;
182
+ margin-left: 8px;
183
+ margin-right: -16px;
184
+ border-width: 0 4px 4px;
185
+ border-style: solid;
186
+ border-color: $dark transparent;
187
+ visibility: hidden;
188
+ }
189
+ }
190
+ .headerSortUp,
191
+ .headerSortDown {
192
+ background-color: rgba($info, 0.25);
193
+ text-shadow: 0 1px 1px rgba($light, 0.75);
194
+ }
195
+ .header:hover {
196
+ &:after {
197
+ visibility: visible;
198
+ }
199
+ }
200
+ .headerSortDown,
201
+ .headerSortDown:hover {
202
+ &:after {
203
+ visibility: visible;
204
+ opacity: 60;
205
+ }
206
+ }
207
+ .headerSortUp {
208
+ &:after {
209
+ border-bottom: none;
210
+ border-left: 4px solid transparent;
211
+ border-right: 4px solid transparent;
212
+ border-top: 4px solid $dark;
213
+ visibility: visible;
214
+ @include box-shadow(none);
215
+ opacity: 60;
216
+ }
217
+ }
218
+
219
+ th {
220
+ white-space: nowrap;
221
+ }
222
+
223
+ /* text-overflow when cell content > 150px */
224
+ td {
225
+ white-space: nowrap;
226
+ overflow: hidden;
227
+ text-overflow: ellipsis;
228
+ max-width: 150px;
229
+ }
230
+
231
+ th,
232
+ td {
233
+ padding: 5px 10px;
234
+ }
235
+
236
+ .sticky {
237
+ position: sticky;
238
+ }
239
+
240
+ th.last,
241
+ td.last {
242
+ position: sticky;
243
+ right: 0px;
244
+ }
245
+
246
+ /* icons */
247
+ td.links {
248
+ max-width: none;
249
+ .list-inline {
250
+ margin-bottom: 0;
251
+ li {
252
+ display: inline-block;
253
+ padding: 0 3px;
254
+ .nav-link {
255
+ padding: 0 0.1em;
256
+ }
257
+ }
258
+ }
259
+ }
260
+
261
+ /* Shrink to content width */
262
+ .shrink {
263
+ width: 1px;
264
+ white-space: nowrap;
265
+ }
266
+
267
+ /* History */
268
+ th.created_at {
269
+ width: 160px;
270
+ }
271
+ th.username {
272
+ width: 140px;
273
+ }
274
+ th.item {
275
+ width: 60px;
276
+ }
277
+ }
278
+
279
+ /* Dashboard */
280
+ .table {
281
+ .progress {
282
+ height: 100%;
283
+ }
284
+ }
285
+
286
+ /* Index */
287
+ #filters_box {
288
+ .form-control {
289
+ display: inline-block;
290
+ vertical-align: middle;
291
+ width: auto;
292
+ }
293
+ }
294
+ #sidescroll {
295
+ margin-bottom: 20px;
296
+ overflow-x: auto;
297
+ .table {
298
+ margin-bottom: 0;
299
+ }
300
+
301
+ // Remove transparency on sticky cells.
302
+ $table-bg-default: if(
303
+ $table-bg == transparent,
304
+ if($body-bg == transparent, #fff, $body-bg),
305
+ $table-bg
306
+ ) !default;
307
+ .table-striped > tbody > tr > td,
308
+ .table-striped > thead > tr > th {
309
+ background-color: $table-bg-default;
310
+ }
311
+ $table-bg-header-sort: #e2eff6 !default;
312
+ .table .sticky,
313
+ .table .last {
314
+ &.headerSortUp,
315
+ &.headerSortDown {
316
+ background-color: $table-bg-header-sort;
317
+ }
318
+ }
319
+ }
320
+ .pagination .page-item {
321
+ white-space: nowrap;
322
+ }
323
+ }
324
+
325
+ @media screen and (min-width: map-get($grid-breakpoints, "sm")) {
326
+ body.rails_admin {
327
+ .sidebar.btn-toggle-nav {
328
+ position: fixed;
329
+ top: $nav-link-height + $navbar-padding-y * 2;
330
+ bottom: 0;
331
+ overflow-y: auto;
332
+ }
333
+ }
334
+ }
335
+
336
+ @media screen and (max-width: map-get($grid-breakpoints, "sm")) {
337
+ body.rails_admin {
338
+ .container {
339
+ padding: 0;
340
+ }
341
+ }
342
+ }
@@ -0,0 +1,3 @@
1
+ /* RailsAdmin SASS variables */
2
+
3
+ $font-size-base: 0.85rem !default;