rails_admin 3.3.1 → 4.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -3
  3. data/README.md +11 -11
  4. data/Rakefile +3 -11
  5. data/app/assets/builds/rails_admin.css +10 -0
  6. data/app/assets/builds/rails_admin.js +34 -0
  7. data/app/controllers/rails_admin/main_controller.rb +3 -14
  8. data/app/helpers/rails_admin/application_helper.rb +3 -15
  9. data/app/helpers/rails_admin/form_builder.rb +6 -6
  10. data/app/views/layouts/rails_admin/_head.html.erb +10 -27
  11. data/app/views/layouts/rails_admin/_head_custom.html.erb +3 -0
  12. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +1 -1
  13. data/app/views/rails_admin/main/_dashboard_history.html.erb +1 -1
  14. data/app/views/rails_admin/main/_delete_notice.html.erb +3 -3
  15. data/app/views/rails_admin/main/_form_boolean.html.erb +9 -13
  16. data/app/views/rails_admin/main/_submit_buttons.html.erb +4 -4
  17. data/app/views/rails_admin/main/bulk_delete.html.erb +2 -2
  18. data/app/views/rails_admin/main/dashboard.html.erb +3 -3
  19. data/app/views/rails_admin/main/delete.html.erb +2 -2
  20. data/app/views/rails_admin/main/export.html.erb +2 -2
  21. data/app/views/rails_admin/main/history.html.erb +2 -2
  22. data/app/views/rails_admin/main/index.html.erb +3 -3
  23. data/config/initializers/active_record_extensions.rb +1 -4
  24. data/lib/generators/rails_admin/install_generator.rb +37 -92
  25. data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -1
  26. data/lib/rails_admin/abstract_model.rb +69 -191
  27. data/lib/rails_admin/adapters/active_record/property.rb +7 -0
  28. data/lib/rails_admin/adapters/active_record/reflection.rb +87 -0
  29. data/lib/rails_admin/adapters/active_record/repository.rb +216 -0
  30. data/lib/rails_admin/adapters/active_record/statement_builder.rb +148 -0
  31. data/lib/rails_admin/adapters/active_record/where_builder.rb +40 -0
  32. data/lib/rails_admin/adapters/active_record.rb +7 -360
  33. data/lib/rails_admin/adapters/mongoid/extension.rb +16 -6
  34. data/lib/rails_admin/adapters/mongoid/property.rb +7 -0
  35. data/lib/rails_admin/adapters/mongoid/reflection.rb +58 -0
  36. data/lib/rails_admin/adapters/mongoid/repository.rb +237 -0
  37. data/lib/rails_admin/adapters/mongoid/statement_builder.rb +93 -0
  38. data/lib/rails_admin/adapters/mongoid.rb +7 -305
  39. data/lib/rails_admin/adapters/reflection.rb +105 -0
  40. data/lib/rails_admin/adapters/repository.rb +169 -0
  41. data/lib/rails_admin/adapters/statement_builder.rb +109 -0
  42. data/lib/rails_admin/adapters.rb +94 -0
  43. data/lib/rails_admin/config/actions/base.rb +8 -0
  44. data/lib/rails_admin/config/actions/bulk_delete.rb +4 -4
  45. data/lib/rails_admin/config/actions/dashboard.rb +1 -1
  46. data/lib/rails_admin/config/actions/edit.rb +3 -2
  47. data/lib/rails_admin/config/actions/export.rb +1 -2
  48. data/lib/rails_admin/config/actions/index.rb +3 -3
  49. data/lib/rails_admin/config/actions/new.rb +3 -2
  50. data/lib/rails_admin/config/actions/show.rb +1 -1
  51. data/lib/rails_admin/config/configurable.rb +3 -2
  52. data/lib/rails_admin/config/fields/association.rb +9 -8
  53. data/lib/rails_admin/config/fields/base.rb +55 -37
  54. data/lib/rails_admin/config/fields/collection_association.rb +2 -2
  55. data/lib/rails_admin/config/fields/factories/carrierwave.rb +35 -20
  56. data/lib/rails_admin/config/fields/factories/dragonfly.rb +30 -18
  57. data/lib/rails_admin/config/fields/factories/enum.rb +14 -8
  58. data/lib/rails_admin/config/fields/factories/paperclip.rb +29 -19
  59. data/lib/rails_admin/config/fields/factories/shrine.rb +19 -8
  60. data/lib/rails_admin/config/fields/singular_association.rb +6 -1
  61. data/lib/rails_admin/config/fields/types/active_record_enum.rb +3 -7
  62. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +8 -4
  63. data/lib/rails_admin/config/fields/types/bson_object_id.rb +1 -1
  64. data/lib/rails_admin/config/fields/types/datetime.rb +0 -4
  65. data/lib/rails_admin/config/fields/types/dragonfly.rb +1 -1
  66. data/lib/rails_admin/config/fields/types/enum.rb +11 -2
  67. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +0 -2
  68. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +4 -4
  69. data/lib/rails_admin/config/fields/types/time.rb +1 -1
  70. data/lib/rails_admin/config/model.rb +27 -5
  71. data/lib/rails_admin/config/sections/list.rb +0 -8
  72. data/lib/rails_admin/config.rb +7 -21
  73. data/lib/rails_admin/criteria/path.rb +66 -0
  74. data/lib/rails_admin/criteria/period.rb +67 -0
  75. data/lib/rails_admin/engine.rb +11 -15
  76. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +2 -3
  77. data/lib/rails_admin/extensions/url_for_extension.rb +8 -0
  78. data/lib/rails_admin/support/asset_source.rb +42 -0
  79. data/lib/rails_admin/support/composite_keys_serializer.rb +28 -2
  80. data/lib/rails_admin/support/csv_converter.rb +3 -10
  81. data/lib/rails_admin/version.rb +8 -7
  82. data/lib/rails_admin.rb +7 -1
  83. data/lib/tasks/assets.rake +23 -0
  84. data/package.json +12 -7
  85. data/src/rails_admin/base.js +18 -15
  86. data/src/rails_admin/filter-box.js +7 -4
  87. data/src/rails_admin/filtering-multiselect.js +1 -1
  88. data/src/rails_admin/filtering-select.js +8 -8
  89. data/src/rails_admin/flatpickr.js +14 -0
  90. data/src/rails_admin/remote-form.js +74 -48
  91. data/src/rails_admin/styles/base/theming.scss +48 -25
  92. data/src/rails_admin/styles/base.scss +25 -1
  93. data/src/rails_admin/styles/filtering-select.scss +23 -62
  94. data/src/rails_admin/ui.js +1 -1
  95. data/src/rails_admin/vendor/jquery_nested_form.js +4 -4
  96. data/src/rails_admin/widgets.js +44 -11
  97. metadata +30 -124
  98. data/app/assets/javascripts/rails_admin/application.js.erb +0 -30
  99. data/app/assets/javascripts/rails_admin/custom/ui.js +0 -1
  100. data/app/assets/stylesheets/rails_admin/application.scss.erb +0 -35
  101. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +0 -11
  102. data/app/assets/stylesheets/rails_admin/custom/theming.scss +0 -13
  103. data/app/assets/stylesheets/rails_admin/custom/variables.scss +0 -15
  104. data/lib/generators/rails_admin/importmap_formatter.rb +0 -29
  105. data/lib/generators/rails_admin/templates/rails_admin.vite.js +0 -2
  106. data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +0 -2
  107. data/lib/rails_admin/adapters/active_record/object_extension.rb +0 -13
  108. data/lib/rails_admin/adapters/mongoid/object_extension.rb +0 -29
  109. data/lib/rails_admin/support/es_module_processor.rb +0 -23
  110. data/lib/rails_admin/support/serialization_schema.rb +0 -72
  111. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  112. data/vendor/assets/javascripts/rails_admin/bootstrap.js +0 -5046
  113. data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +0 -11246
  114. data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +0 -41
  115. data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +0 -1637
  116. data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +0 -17
  117. data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +0 -47
  118. data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +0 -500
  119. data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +0 -42
  120. data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +0 -47
  121. data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +0 -51
  122. data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +0 -17
  123. data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +0 -735
  124. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +0 -689
  125. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +0 -680
  126. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +0 -230
  127. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +0 -1561
  128. data/vendor/assets/javascripts/rails_admin/jquery3.js +0 -10881
  129. data/vendor/assets/javascripts/rails_admin/popper.js +0 -1974
  130. data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +0 -118
  131. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +0 -57
  132. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +0 -29
  133. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +0 -28
  134. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +0 -139
  135. data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +0 -111
  136. data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +0 -216
  137. data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +0 -229
  138. data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +0 -40
  139. data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +0 -41
  140. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +0 -240
  141. data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +0 -9
  142. data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +0 -302
  143. data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +0 -33
  144. data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +0 -9
  145. data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +0 -42
  146. data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +0 -174
  147. data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +0 -43
  148. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +0 -209
  149. data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +0 -139
  150. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +0 -335
  151. data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +0 -83
  152. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +0 -64
  153. data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +0 -51
  154. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +0 -158
  155. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +0 -48
  156. data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +0 -625
  157. data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +0 -54
  158. data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +0 -69
  159. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +0 -155
  160. data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +0 -51
  161. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +0 -115
  162. data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +0 -27
  163. data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +0 -104
  164. data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +0 -630
  165. data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +0 -1641
  166. data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +0 -53
  167. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +0 -63
  168. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +0 -152
  169. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +0 -219
  170. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +0 -91
  171. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +0 -72
  172. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +0 -11
  173. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +0 -121
  174. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +0 -36
  175. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +0 -12
  176. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +0 -3
  177. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +0 -12
  178. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +0 -30
  179. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +0 -26
  180. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +0 -15
  181. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +0 -15
  182. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +0 -7
  183. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +0 -8
  184. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +0 -8
  185. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +0 -11
  186. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +0 -14
  187. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +0 -78
  188. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +0 -18
  189. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +0 -127
  190. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +0 -133
  191. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +0 -64
  192. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +0 -9
  193. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +0 -7
  194. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +0 -9
  195. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +0 -10
  196. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +0 -144
  197. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +0 -47
  198. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +0 -151
  199. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +0 -16
  200. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +0 -24
  201. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +0 -7
  202. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +0 -31
  203. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +0 -17
  204. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +0 -6
  205. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +0 -21
  206. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-truncate.scss +0 -8
  207. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +0 -26
  208. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +0 -89
  209. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +0 -29
  210. data/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +0 -47
  211. data/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +0 -354
  212. data/vendor/assets/stylesheets/rails_admin/flatpickr.css +0 -791
  213. data/vendor/assets/stylesheets/rails_admin/font-awesome.scss +0 -6351
@@ -1,10 +1,18 @@
1
1
  import jQuery from "jquery";
2
2
  import "jquery-ui/ui/widgets/sortable.js";
3
3
  import * as bootstrap from "bootstrap";
4
- import flatpickr from "flatpickr";
5
- import I18n from "./i18n";
4
+ import flatpickr from "./flatpickr.js";
5
+ import I18n from "./i18n.js";
6
6
 
7
7
  (function ($) {
8
+ // Editors write back to their textarea on native submit, which modals skip.
9
+ function flushBeforeRemoteSubmit(element, flush) {
10
+ var form = element.closest("form");
11
+ if (form) {
12
+ form.addEventListener("rails_admin.before_remote_submit", flush);
13
+ }
14
+ }
15
+
8
16
  document.addEventListener("rails_admin.dom_ready", function (event) {
9
17
  var $editors,
10
18
  array,
@@ -267,10 +275,10 @@ import I18n from "./i18n";
267
275
  .find("[data-richtext=simplemde]")
268
276
  .not(".simplemded")
269
277
  .each(function (index, domEle) {
270
- var instance_config, options;
278
+ var instance_config, options, editor;
271
279
  options = $(this).data("options");
272
280
  instance_config = options.instance_config;
273
- new window.SimpleMDE(
281
+ editor = new window.SimpleMDE(
274
282
  $.extend(
275
283
  true,
276
284
  {
@@ -282,7 +290,14 @@ import I18n from "./i18n";
282
290
  instance_config
283
291
  )
284
292
  );
293
+ flushBeforeRemoteSubmit(this, function () {
294
+ editor.codemirror.save();
295
+ });
285
296
  $(this).addClass("simplemded");
297
+ // CodeMirror mismeasures itself while hidden; refresh() once it's actually laid out.
298
+ new ResizeObserver(function () {
299
+ editor.codemirror.refresh();
300
+ }).observe(editor.codemirror.getWrapperElement());
286
301
  });
287
302
  };
288
303
  $editors = content.find("[data-richtext=simplemde]").not(".simplemded");
@@ -315,7 +330,13 @@ import I18n from "./i18n";
315
330
  instance.destroy(true);
316
331
  }
317
332
  } catch (error1) {}
318
- window.CKEDITOR.replace(this, $(this).data("options").options);
333
+ var editor = window.CKEDITOR.replace(
334
+ this,
335
+ $(this).data("options").options
336
+ );
337
+ flushBeforeRemoteSubmit(this, function () {
338
+ editor.updateElement();
339
+ });
319
340
  $(this).addClass("ckeditored");
320
341
  });
321
342
  };
@@ -351,7 +372,13 @@ import I18n from "./i18n";
351
372
  options["locations"]["theme"] +
352
373
  '" rel="stylesheet" media="all" type="text/css">'
353
374
  );
354
- CodeMirror.fromTextArea(textarea, options["options"]);
375
+ var editor = CodeMirror.fromTextArea(
376
+ textarea,
377
+ options["options"]
378
+ );
379
+ flushBeforeRemoteSubmit(textarea, function () {
380
+ editor.save();
381
+ });
355
382
  return $(textarea).addClass("codemirrored");
356
383
  }
357
384
  );
@@ -385,7 +412,10 @@ import I18n from "./i18n";
385
412
  return array.each(function () {
386
413
  $(this).addClass("bootstrap-wysihtml5ed");
387
414
  $(this).closest(".controls").addClass("well");
388
- $(this).wysihtml5(config_options);
415
+ var $textarea = $(this).wysihtml5(config_options);
416
+ flushBeforeRemoteSubmit(this, function () {
417
+ $textarea.val($textarea.data("wysihtml5").editor.getValue());
418
+ });
389
419
  });
390
420
  };
391
421
  })(this);
@@ -395,7 +425,7 @@ import I18n from "./i18n";
395
425
  if (array.length) {
396
426
  this.array = array;
397
427
  options = $(array[0]).data("options");
398
- config_options = $.parseJSON(options["config_options"]);
428
+ config_options = JSON.parse(options["config_options"]);
399
429
  if (!window.wysihtml5) {
400
430
  $("head").append(
401
431
  '<link href="' +
@@ -419,7 +449,7 @@ import I18n from "./i18n";
419
449
  return array.each(function () {
420
450
  var uploadEnabled;
421
451
  options = $(this).data("options");
422
- config_options = $.parseJSON(options["config_options"]);
452
+ config_options = JSON.parse(options["config_options"]);
423
453
  if (config_options) {
424
454
  if (!config_options["inlineMode"]) {
425
455
  config_options["inlineMode"] = false;
@@ -437,7 +467,10 @@ import I18n from "./i18n";
437
467
  })
438
468
  : void 0;
439
469
  $(this).addClass("froala-wysiwyged");
440
- $(this).froalaEditor(config_options);
470
+ var $textarea = $(this).froalaEditor(config_options);
471
+ flushBeforeRemoteSubmit(this, function () {
472
+ $textarea.val($textarea.froalaEditor("html.get"));
473
+ });
441
474
  if (uploadEnabled) {
442
475
  $(this)
443
476
  .on("froalaEditor.image.error", function (e, editor, error) {
@@ -468,7 +501,7 @@ import I18n from "./i18n";
468
501
  .not(".froala-wysiwyged");
469
502
  if (array.length) {
470
503
  options = $(array[0]).data("options");
471
- if (!$.isFunction($.fn.editable)) {
504
+ if (typeof $.fn.editable !== "function") {
472
505
  $("head").append(
473
506
  '<link href="' +
474
507
  options["csspath"] +
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 4.0.0.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober
@@ -81,7 +81,7 @@ dependencies:
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '6.0'
84
+ version: '7.0'
85
85
  - - "<"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '9'
@@ -91,7 +91,7 @@ dependencies:
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: '6.0'
94
+ version: '7.0'
95
95
  - - "<"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '9'
@@ -143,12 +143,8 @@ files:
143
143
  - LICENSE.md
144
144
  - README.md
145
145
  - Rakefile
146
- - app/assets/javascripts/rails_admin/application.js.erb
147
- - app/assets/javascripts/rails_admin/custom/ui.js
148
- - app/assets/stylesheets/rails_admin/application.scss.erb
149
- - app/assets/stylesheets/rails_admin/custom/mixins.scss
150
- - app/assets/stylesheets/rails_admin/custom/theming.scss
151
- - app/assets/stylesheets/rails_admin/custom/variables.scss
146
+ - app/assets/builds/rails_admin.css
147
+ - app/assets/builds/rails_admin.js
152
148
  - app/controllers/rails_admin/application_controller.rb
153
149
  - app/controllers/rails_admin/main_controller.rb
154
150
  - app/helpers/rails_admin/application_helper.rb
@@ -163,6 +159,7 @@ files:
163
159
  - app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb
164
160
  - app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb
165
161
  - app/views/layouts/rails_admin/_head.html.erb
162
+ - app/views/layouts/rails_admin/_head_custom.html.erb
166
163
  - app/views/layouts/rails_admin/_navigation.html.erb
167
164
  - app/views/layouts/rails_admin/_secondary_navigation.html.erb
168
165
  - app/views/layouts/rails_admin/_sidebar_navigation.html.erb
@@ -204,26 +201,32 @@ files:
204
201
  - config/initializers/mongoid_extensions.rb
205
202
  - config/locales/rails_admin.en.yml
206
203
  - config/routes.rb
207
- - lib/generators/rails_admin/importmap_formatter.rb
208
204
  - lib/generators/rails_admin/install_generator.rb
209
205
  - lib/generators/rails_admin/templates/initializer.erb
210
206
  - lib/generators/rails_admin/templates/rails_admin.js
211
207
  - lib/generators/rails_admin/templates/rails_admin.scss.erb
212
- - lib/generators/rails_admin/templates/rails_admin.vite.js
213
- - lib/generators/rails_admin/templates/rails_admin.webpacker.js
214
208
  - lib/generators/rails_admin/utils.rb
215
209
  - lib/rails_admin.rb
216
210
  - lib/rails_admin/abstract_model.rb
211
+ - lib/rails_admin/adapters.rb
217
212
  - lib/rails_admin/adapters/active_record.rb
218
213
  - lib/rails_admin/adapters/active_record/association.rb
219
- - lib/rails_admin/adapters/active_record/object_extension.rb
220
214
  - lib/rails_admin/adapters/active_record/property.rb
215
+ - lib/rails_admin/adapters/active_record/reflection.rb
216
+ - lib/rails_admin/adapters/active_record/repository.rb
217
+ - lib/rails_admin/adapters/active_record/statement_builder.rb
218
+ - lib/rails_admin/adapters/active_record/where_builder.rb
221
219
  - lib/rails_admin/adapters/mongoid.rb
222
220
  - lib/rails_admin/adapters/mongoid/association.rb
223
221
  - lib/rails_admin/adapters/mongoid/bson.rb
224
222
  - lib/rails_admin/adapters/mongoid/extension.rb
225
- - lib/rails_admin/adapters/mongoid/object_extension.rb
226
223
  - lib/rails_admin/adapters/mongoid/property.rb
224
+ - lib/rails_admin/adapters/mongoid/reflection.rb
225
+ - lib/rails_admin/adapters/mongoid/repository.rb
226
+ - lib/rails_admin/adapters/mongoid/statement_builder.rb
227
+ - lib/rails_admin/adapters/reflection.rb
228
+ - lib/rails_admin/adapters/repository.rb
229
+ - lib/rails_admin/adapters/statement_builder.rb
227
230
  - lib/rails_admin/config.rb
228
231
  - lib/rails_admin/config/actions.rb
229
232
  - lib/rails_admin/config/actions/base.rb
@@ -321,6 +324,8 @@ files:
321
324
  - lib/rails_admin/config/sections/nested.rb
322
325
  - lib/rails_admin/config/sections/show.rb
323
326
  - lib/rails_admin/config/sections/update.rb
327
+ - lib/rails_admin/criteria/path.rb
328
+ - lib/rails_admin/criteria/period.rb
324
329
  - lib/rails_admin/engine.rb
325
330
  - lib/rails_admin/extension.rb
326
331
  - lib/rails_admin/extensions/cancancan.rb
@@ -331,13 +336,13 @@ files:
331
336
  - lib/rails_admin/extensions/pundit.rb
332
337
  - lib/rails_admin/extensions/pundit/authorization_adapter.rb
333
338
  - lib/rails_admin/extensions/url_for_extension.rb
339
+ - lib/rails_admin/support/asset_source.rb
334
340
  - lib/rails_admin/support/composite_keys_serializer.rb
335
341
  - lib/rails_admin/support/csv_converter.rb
336
342
  - lib/rails_admin/support/datetime.rb
337
- - lib/rails_admin/support/es_module_processor.rb
338
343
  - lib/rails_admin/support/hash_helper.rb
339
- - lib/rails_admin/support/serialization_schema.rb
340
344
  - lib/rails_admin/version.rb
345
+ - lib/tasks/assets.rake
341
346
  - lib/tasks/rails_admin.rake
342
347
  - package.json
343
348
  - src/rails_admin/abstract-select.js
@@ -345,6 +350,7 @@ files:
345
350
  - src/rails_admin/filter-box.js
346
351
  - src/rails_admin/filtering-multiselect.js
347
352
  - src/rails_admin/filtering-select.js
353
+ - src/rails_admin/flatpickr.js
348
354
  - src/rails_admin/i18n.js
349
355
  - src/rails_admin/jquery.js
350
356
  - src/rails_admin/nested-form-hooks.js
@@ -361,121 +367,21 @@ files:
361
367
  - src/rails_admin/ui.js
362
368
  - src/rails_admin/vendor/jquery_nested_form.js
363
369
  - src/rails_admin/widgets.js
364
- - vendor/assets/fonts/rails_admin/fa-solid-900.ttf
365
370
  - vendor/assets/fonts/rails_admin/fa-solid-900.woff2
366
- - vendor/assets/javascripts/rails_admin/bootstrap.js
367
- - vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js
368
- - vendor/assets/javascripts/rails_admin/jquery-ui/data.js
369
- - vendor/assets/javascripts/rails_admin/jquery-ui/effect.js
370
- - vendor/assets/javascripts/rails_admin/jquery-ui/ie.js
371
- - vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js
372
- - vendor/assets/javascripts/rails_admin/jquery-ui/position.js
373
- - vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js
374
- - vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js
375
- - vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js
376
- - vendor/assets/javascripts/rails_admin/jquery-ui/version.js
377
- - vendor/assets/javascripts/rails_admin/jquery-ui/widget.js
378
- - vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js
379
- - vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js
380
- - vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js
381
- - vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js
382
- - vendor/assets/javascripts/rails_admin/jquery3.js
383
- - vendor/assets/javascripts/rails_admin/popper.js
384
- - vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss
385
- - vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss
386
- - vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss
387
- - vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss
388
- - vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss
389
- - vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss
390
- - vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss
391
- - vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss
392
- - vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss
393
- - vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss
394
- - vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss
395
- - vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss
396
- - vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss
397
- - vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss
398
- - vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss
399
- - vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss
400
- - vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss
401
- - vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss
402
- - vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss
403
- - vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss
404
- - vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss
405
- - vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss
406
- - vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss
407
- - vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss
408
- - vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss
409
- - vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss
410
- - vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss
411
- - vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss
412
- - vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss
413
- - vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss
414
- - vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss
415
- - vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss
416
- - vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss
417
- - vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss
418
- - vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss
419
- - vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss
420
- - vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss
421
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss
422
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss
423
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss
424
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss
425
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss
426
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss
427
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss
428
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss
429
- - vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss
430
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss
431
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss
432
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss
433
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss
434
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss
435
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss
436
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss
437
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss
438
- - vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss
439
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss
440
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss
441
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss
442
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss
443
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss
444
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss
445
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss
446
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss
447
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss
448
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss
449
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss
450
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss
451
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss
452
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss
453
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss
454
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss
455
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss
456
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss
457
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss
458
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss
459
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss
460
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-truncate.scss
461
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss
462
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss
463
- - vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss
464
- - vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss
465
- - vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss
466
- - vendor/assets/stylesheets/rails_admin/flatpickr.css
467
- - vendor/assets/stylesheets/rails_admin/font-awesome.scss
468
371
  homepage: https://github.com/railsadminteam/rails_admin
469
372
  licenses:
470
373
  - MIT
471
374
  metadata: {}
472
375
  post_install_message: |
473
- ### Upgrading RailsAdmin from 2.x.x to 3.x.x ###
376
+ ### Upgrading to RailsAdmin 4.0 ###
474
377
 
475
- Due to introduction of Webpack/Webpacker support, some additional dependencies and configuration will be needed.
476
- Running `bin/rails g rails_admin:install` will suggest required changes, based on the current setup of your app.
378
+ RailsAdmin now ships a prebuilt JS/CSS bundle - :propshaft and :sprockets
379
+ apps no longer need a build step. Re-run `bin/rails g rails_admin:install`.
380
+ config.asset_source = :webpacker / :vite are removed; :importmap falls back
381
+ to the detected pipeline.
477
382
 
478
- For a complete list of changes, see https://github.com/railsadminteam/rails_admin/blob/master/CHANGELOG.md
383
+ Upgrade guide: https://github.com/railsadminteam/rails_admin/blob/master/docs/upgrading-to-4.md
384
+ Changelog: https://github.com/railsadminteam/rails_admin/blob/master/CHANGELOG.md
479
385
  rdoc_options: []
480
386
  require_paths:
481
387
  - lib
@@ -483,7 +389,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
483
389
  requirements:
484
390
  - - ">="
485
391
  - !ruby/object:Gem::Version
486
- version: 2.6.0
392
+ version: 2.7.0
487
393
  required_rubygems_version: !ruby/object:Gem::Requirement
488
394
  requirements:
489
395
  - - ">="
@@ -1,30 +0,0 @@
1
- //= require 'rails-ujs'
2
- //= require 'turbo'
3
- //= require 'rails_admin/jquery3'
4
- //= require 'jquery_nested_form'
5
- //= require 'rails_admin/jquery-ui/effect'
6
- //= require 'rails_admin/jquery-ui/widgets/sortable'
7
- //= require 'rails_admin/jquery-ui/widgets/autocomplete'
8
- //= require 'rails_admin/flatpickr-with-locales'
9
- //= require 'rails_admin/popper'
10
- //= require 'rails_admin/bootstrap'
11
-
12
- //= require 'rails_admin/abstract-select'
13
- //= require 'rails_admin/filter-box'
14
- //= require 'rails_admin/filtering-multiselect'
15
- //= require 'rails_admin/filtering-select'
16
- //= require 'rails_admin/remote-form'
17
- //= require 'rails_admin/nested-form-hooks'
18
- //= require 'rails_admin/i18n'
19
- //= require 'rails_admin/widgets'
20
- //= require 'rails_admin/sidescroll'
21
- //= require 'rails_admin/ui'
22
- //= require 'rails_admin/custom/ui'
23
-
24
- <% if defined?(ActiveStorage::Engine) %>
25
- //= require activestorage
26
- <% end %>
27
- <% if defined?(ActionText::Engine) && Rails.gem_version >= Gem::Version.new('7.0') %>
28
- //= require trix
29
- //= require actiontext
30
- <% end %>
@@ -1 +0,0 @@
1
- // override this file in your application to add custom behaviour
@@ -1,35 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /*** Variables ***/
4
-
5
- @import "rails_admin/custom/variables";
6
- @import "rails_admin/styles/base/variables";
7
-
8
- /*** Mixins ***/
9
-
10
- @import "rails_admin/styles/base/mixins";
11
- @import "rails_admin/custom/mixins";
12
-
13
- /*** Bootstrap ***/
14
-
15
- @import "rails_admin/bootstrap/bootstrap";
16
-
17
- /*** Libraries ***/
18
-
19
- @import "rails_admin/flatpickr";
20
- @import "rails_admin/styles/filtering-select";
21
- @import "rails_admin/styles/filtering-multiselect";
22
- @import "rails_admin/styles/widgets";
23
-
24
- /*** Font-awesome ***/
25
-
26
- @import "rails_admin/font-awesome";
27
-
28
- /*** RailsAdmin Theming ***/
29
-
30
- @import "rails_admin/styles/base/theming";
31
- @import "rails_admin/custom/theming";
32
-
33
- <% if defined?(ActionText::Engine) && Rails.gem_version >= Gem::Version.new('7.0') %>
34
- @import "trix";
35
- <% end %>
@@ -1,11 +0,0 @@
1
- /*
2
- Customize Sass mixins from Twitter-Bootstrap/RailsAdmin theme or add new ones for your own use.
3
- Copy this file to your app/assets/rails_admin/custom/mixins.scss, leave this one untouched
4
- Don't require it in your application.rb
5
-
6
- Available mixins to use/override:
7
-
8
- https://github.com/twbs/bootstrap-sass/tree/master/assets/stylesheets/bootstrap/mixins
9
- https://github.com/railsadminteam/rails_admin/blob/master/src/rails_admin/styles/base/mixins.scss
10
- Plus the ones from your theme.
11
- */
@@ -1,13 +0,0 @@
1
- /*
2
- Customize RailsAdmin theme here.
3
- Copy this file to your app/assets/stylesheets/rails_admin/custom/theming.scss, leave this one untouched
4
- Don't require it in your application.rb
5
-
6
- Look at the markup in RailsAdmin and go there to get inspiration from:
7
-
8
- http://getbootstrap.com
9
-
10
- Test me: (actual color should be the one defined in variables.scss if you did)
11
-
12
- body { background-color: $link-color; }
13
- */
@@ -1,15 +0,0 @@
1
- /*
2
- Customize Sass variables from Twitter-Bootstrap/RailsAdmin theme or add new ones for your own use.
3
- Copy this file to your app/assets/rails_admin/custom/variables.scss, leave this one untouched
4
- Don't require it in your application.rb
5
-
6
- Available variables to use/override:
7
-
8
- https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_variables.scss
9
- https://github.com/railsadminteam/rails_admin/blob/master/src/rails_admin/styles/base/variables.scss
10
- Plus the ones from your themes.
11
-
12
- Test me: pink links
13
-
14
- $link-color: #F0F;
15
- */
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'importmap/packager'
4
-
5
- module RailsAdmin
6
- class ImportmapFormatter
7
- attr_reader :packager
8
-
9
- def initialize(path = 'config/importmap.rails_admin.rb')
10
- @packager = Importmap::Packager.new(path)
11
- end
12
-
13
- def format
14
- imports = packager.import("rails_admin@#{RailsAdmin::Version.js}", from: 'jspm.io')
15
- imports = imports[:imports] if imports.key?(:imports)
16
-
17
- # Use ESM compatible version to work around https://github.com/cljsjs/packages/issues/1579
18
- imports['@popperjs/core'].gsub!('lib/index.js', 'dist/esm/popper.js')
19
-
20
- # Tidy up jQuery UI dependencies
21
- jquery_uis = imports.keys.filter { |key, _| key =~ /jquery-ui/ }
22
- imports['jquery-ui/'] = imports[jquery_uis.first].gsub(%r{(@[^/@]+)/[^@]+$}, '\1/')
23
- imports.reject! { |key, _| jquery_uis.include? key }
24
-
25
- pins = ['pin "rails_admin", preload: true', packager.pin_for('rails_admin/src/rails_admin/base', imports.delete('rails_admin'))]
26
- (pins + imports.map { |package, url| packager.pin_for(package, url) }).join("\n")
27
- end
28
- end
29
- end
@@ -1,2 +0,0 @@
1
- import "~/stylesheets/rails_admin.scss";
2
- import "rails_admin/src/rails_admin/base";
@@ -1,2 +0,0 @@
1
- import "rails_admin/src/rails_admin/base";
2
- import "../stylesheets/rails_admin.scss";
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RailsAdmin
4
- module Adapters
5
- module ActiveRecord
6
- module ObjectExtension
7
- def assign_attributes(attributes)
8
- super if attributes
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RailsAdmin
4
- module Adapters
5
- module Mongoid
6
- module ObjectExtension
7
- def self.extended(object)
8
- object.associations.each do |name, association|
9
- association = Association.new(association, object.class)
10
- case association.macro
11
- when :has_many
12
- unless association.autosave?
13
- object.singleton_class.after_create do
14
- send(name).each(&:save)
15
- end
16
- end
17
- when :has_one
18
- unless association.autosave?
19
- object.singleton_class.after_create do
20
- send(name)&.save
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RailsAdmin
4
- module Support
5
- class ESModuleProcessor
6
- def self.instance
7
- @instance ||= new
8
- end
9
-
10
- def self.call(input)
11
- instance.call(input)
12
- end
13
-
14
- def initialize; end
15
-
16
- def call(input)
17
- return unless input[:name] == 'rails_admin/application'
18
-
19
- input[:data].gsub(/^((?:import|export) .+)$/) { "// #{Regexp.last_match(1)}" }
20
- end
21
- end
22
- end
23
- end