rails_admin 3.0.0 → 3.1.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Rakefile +2 -0
  4. data/app/controllers/rails_admin/application_controller.rb +2 -0
  5. data/app/controllers/rails_admin/main_controller.rb +7 -13
  6. data/app/helpers/rails_admin/application_helper.rb +8 -4
  7. data/app/helpers/rails_admin/form_builder.rb +10 -0
  8. data/app/helpers/rails_admin/main_helper.rb +2 -0
  9. data/app/views/layouts/rails_admin/_head.html.erb +9 -0
  10. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +3 -1
  11. data/app/views/layouts/rails_admin/application.html.erb +1 -1
  12. data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +2 -2
  13. data/app/views/rails_admin/main/_form_filtering_select.html.erb +1 -1
  14. data/app/views/rails_admin/main/index.html.erb +1 -1
  15. data/config/initializers/active_record_extensions.rb +25 -0
  16. data/config/initializers/mongoid_extensions.rb +2 -0
  17. data/config/routes.rb +2 -0
  18. data/lib/generators/rails_admin/importmap_formatter.rb +28 -0
  19. data/lib/generators/rails_admin/install_generator.rb +68 -9
  20. data/lib/generators/rails_admin/templates/rails_admin.js +1 -0
  21. data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
  22. data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
  23. data/lib/generators/rails_admin/utils.rb +2 -0
  24. data/lib/rails_admin/abstract_model.rb +9 -2
  25. data/lib/rails_admin/adapters/active_record/association.rb +10 -0
  26. data/lib/rails_admin/adapters/active_record/object_extension.rb +2 -0
  27. data/lib/rails_admin/adapters/active_record/property.rb +2 -0
  28. data/lib/rails_admin/adapters/active_record.rb +25 -2
  29. data/lib/rails_admin/adapters/composite_primary_keys/association.rb +45 -0
  30. data/lib/rails_admin/adapters/composite_primary_keys.rb +40 -0
  31. data/lib/rails_admin/adapters/mongoid/association.rb +14 -4
  32. data/lib/rails_admin/adapters/mongoid/bson.rb +2 -0
  33. data/lib/rails_admin/adapters/mongoid/extension.rb +2 -0
  34. data/lib/rails_admin/adapters/mongoid/object_extension.rb +2 -0
  35. data/lib/rails_admin/adapters/mongoid/property.rb +2 -0
  36. data/lib/rails_admin/adapters/mongoid.rb +3 -1
  37. data/lib/rails_admin/config/actions/base.rb +2 -0
  38. data/lib/rails_admin/config/actions/bulk_delete.rb +2 -0
  39. data/lib/rails_admin/config/actions/dashboard.rb +2 -0
  40. data/lib/rails_admin/config/actions/delete.rb +2 -0
  41. data/lib/rails_admin/config/actions/edit.rb +2 -0
  42. data/lib/rails_admin/config/actions/export.rb +2 -0
  43. data/lib/rails_admin/config/actions/history_index.rb +2 -0
  44. data/lib/rails_admin/config/actions/history_show.rb +2 -0
  45. data/lib/rails_admin/config/actions/index.rb +2 -0
  46. data/lib/rails_admin/config/actions/new.rb +2 -0
  47. data/lib/rails_admin/config/actions/show.rb +2 -0
  48. data/lib/rails_admin/config/actions/show_in_app.rb +2 -0
  49. data/lib/rails_admin/config/actions.rb +2 -0
  50. data/lib/rails_admin/config/configurable.rb +2 -0
  51. data/lib/rails_admin/config/fields/association.rb +2 -0
  52. data/lib/rails_admin/config/fields/base.rb +24 -8
  53. data/lib/rails_admin/config/fields/factories/action_text.rb +2 -0
  54. data/lib/rails_admin/config/fields/factories/active_storage.rb +2 -0
  55. data/lib/rails_admin/config/fields/factories/association.rb +6 -5
  56. data/lib/rails_admin/config/fields/factories/carrierwave.rb +2 -0
  57. data/lib/rails_admin/config/fields/factories/devise.rb +2 -0
  58. data/lib/rails_admin/config/fields/factories/dragonfly.rb +2 -0
  59. data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
  60. data/lib/rails_admin/config/fields/factories/paperclip.rb +2 -0
  61. data/lib/rails_admin/config/fields/factories/password.rb +2 -0
  62. data/lib/rails_admin/config/fields/factories/shrine.rb +2 -0
  63. data/lib/rails_admin/config/fields/group.rb +2 -0
  64. data/lib/rails_admin/config/fields/types/action_text.rb +2 -0
  65. data/lib/rails_admin/config/fields/types/active_record_enum.rb +2 -0
  66. data/lib/rails_admin/config/fields/types/active_storage.rb +2 -0
  67. data/lib/rails_admin/config/fields/types/all.rb +3 -0
  68. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +3 -5
  69. data/lib/rails_admin/config/fields/types/boolean.rb +3 -1
  70. data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
  71. data/lib/rails_admin/config/fields/types/carrierwave.rb +2 -0
  72. data/lib/rails_admin/config/fields/types/citext.rb +2 -0
  73. data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -0
  74. data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -0
  75. data/lib/rails_admin/config/fields/types/color.rb +2 -0
  76. data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
  77. data/lib/rails_admin/config/fields/types/date.rb +2 -0
  78. data/lib/rails_admin/config/fields/types/datetime.rb +2 -0
  79. data/lib/rails_admin/config/fields/types/decimal.rb +2 -0
  80. data/lib/rails_admin/config/fields/types/dragonfly.rb +2 -0
  81. data/lib/rails_admin/config/fields/types/enum.rb +2 -0
  82. data/lib/rails_admin/config/fields/types/file_upload.rb +2 -0
  83. data/lib/rails_admin/config/fields/types/float.rb +2 -0
  84. data/lib/rails_admin/config/fields/types/froala.rb +2 -0
  85. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
  86. data/lib/rails_admin/config/fields/types/has_many_association.rb +2 -0
  87. data/lib/rails_admin/config/fields/types/has_one_association.rb +3 -1
  88. data/lib/rails_admin/config/fields/types/hidden.rb +2 -0
  89. data/lib/rails_admin/config/fields/types/inet.rb +2 -0
  90. data/lib/rails_admin/config/fields/types/integer.rb +2 -0
  91. data/lib/rails_admin/config/fields/types/json.rb +2 -0
  92. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +10 -0
  93. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +2 -0
  94. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +2 -0
  95. data/lib/rails_admin/config/fields/types/numeric.rb +2 -0
  96. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
  97. data/lib/rails_admin/config/fields/types/password.rb +2 -0
  98. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +2 -0
  99. data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
  100. data/lib/rails_admin/config/fields/types/shrine.rb +2 -0
  101. data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -0
  102. data/lib/rails_admin/config/fields/types/string.rb +2 -0
  103. data/lib/rails_admin/config/fields/types/string_like.rb +2 -0
  104. data/lib/rails_admin/config/fields/types/text.rb +2 -0
  105. data/lib/rails_admin/config/fields/types/time.rb +2 -0
  106. data/lib/rails_admin/config/fields/types/timestamp.rb +2 -0
  107. data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
  108. data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -0
  109. data/lib/rails_admin/config/fields/types.rb +2 -0
  110. data/lib/rails_admin/config/fields.rb +3 -1
  111. data/lib/rails_admin/config/groupable.rb +2 -0
  112. data/lib/rails_admin/config/has_description.rb +2 -0
  113. data/lib/rails_admin/config/has_fields.rb +3 -1
  114. data/lib/rails_admin/config/has_groups.rb +2 -0
  115. data/lib/rails_admin/config/hideable.rb +2 -0
  116. data/lib/rails_admin/config/inspectable.rb +2 -0
  117. data/lib/rails_admin/config/model.rb +2 -0
  118. data/lib/rails_admin/config/proxyable/proxy.rb +2 -0
  119. data/lib/rails_admin/config/proxyable.rb +2 -0
  120. data/lib/rails_admin/config/sections/base.rb +2 -0
  121. data/lib/rails_admin/config/sections/create.rb +2 -0
  122. data/lib/rails_admin/config/sections/edit.rb +2 -0
  123. data/lib/rails_admin/config/sections/export.rb +2 -0
  124. data/lib/rails_admin/config/sections/list.rb +2 -0
  125. data/lib/rails_admin/config/sections/modal.rb +2 -0
  126. data/lib/rails_admin/config/sections/nested.rb +2 -0
  127. data/lib/rails_admin/config/sections/show.rb +2 -0
  128. data/lib/rails_admin/config/sections/update.rb +2 -0
  129. data/lib/rails_admin/config/sections.rb +2 -0
  130. data/lib/rails_admin/config.rb +7 -1
  131. data/lib/rails_admin/engine.rb +28 -17
  132. data/lib/rails_admin/extension.rb +2 -0
  133. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +2 -0
  134. data/lib/rails_admin/extensions/cancancan.rb +2 -0
  135. data/lib/rails_admin/extensions/controller_extension.rb +2 -0
  136. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +3 -1
  137. data/lib/rails_admin/extensions/paper_trail.rb +2 -0
  138. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +2 -0
  139. data/lib/rails_admin/extensions/pundit.rb +2 -0
  140. data/lib/rails_admin/support/csv_converter.rb +2 -1
  141. data/lib/rails_admin/support/datetime.rb +3 -1
  142. data/lib/rails_admin/support/esmodule_preprocessor.rb +4 -0
  143. data/lib/rails_admin/support/hash_helper.rb +2 -0
  144. data/lib/rails_admin/version.rb +4 -2
  145. data/lib/rails_admin.rb +3 -1
  146. data/lib/tasks/rails_admin.rake +2 -0
  147. data/package.json +1 -1
  148. data/src/rails_admin/base.js +13 -1
  149. data/src/rails_admin/filtering-multiselect.js +5 -10
  150. data/src/rails_admin/filtering-select.js +2 -2
  151. data/src/rails_admin/nested-form-hooks.js +1 -1
  152. data/src/rails_admin/remote-form.js +4 -5
  153. data/src/rails_admin/styles/base/theming.scss +10 -0
  154. data/src/rails_admin/styles/base.scss +5 -5
  155. data/src/rails_admin/ui.js +1 -1
  156. data/src/rails_admin/widgets.js +2 -2
  157. data/vendor/assets/javascripts/rails_admin/jquery3.js +118 -109
  158. metadata +11 -7
  159. data/lib/generators/rails_admin/templates/rails_admin.js.erb +0 -2
  160. data/lib/generators/rails_admin/templates/rails_admin.scss +0 -1
  161. data/lib/generators/rails_admin/templates/webpack.config.js +0 -29
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/belongs_to_association'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/text'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/file_upload'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/text'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/string_like'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/string_like'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/datetime'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/datetime'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/string'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/types/text'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/string/inflections'
2
4
  require 'rails_admin/config/fields'
3
5
  require 'rails_admin/config/fields/association'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Fields
@@ -20,7 +22,7 @@ module RailsAdmin
20
22
 
21
23
  # Registry of field factories.
22
24
  #
23
- # Field factory is an anonymous function that recieves the parent object,
25
+ # Field factory is an anonymous function that receives the parent object,
24
26
  # an array of field properties and an array of fields already instantiated.
25
27
  #
26
28
  # If the factory returns true then that property will not be run through
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/group'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  # Provides accessor and autoregistering of model's description.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  # Provides accessors and autoregistering of model's fields.
@@ -42,7 +44,7 @@ module RailsAdmin
42
44
  [*name].each { |field_name| field(field_name, type, false, &block) }
43
45
  end
44
46
 
45
- # include fields by name and apply an optionnal block to each (through a call to fields),
47
+ # include fields by name and apply an optional block to each (through a call to fields),
46
48
  # or include fields by conditions if no field names
47
49
  def include_fields(*field_names, &block)
48
50
  if field_names.empty?
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/fields/group'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  # Defines a visibility configuration
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Inspectable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config'
2
4
  require 'rails_admin/config/proxyable'
3
5
  require 'rails_admin/config/configurable'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Config
3
5
  module Proxyable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/proxyable/proxy'
2
4
  module RailsAdmin
3
5
  module Config
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/proxyable'
2
4
  require 'rails_admin/config/configurable'
3
5
  require 'rails_admin/config/inspectable'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/edit'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/edit'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/edit'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/base'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/sections/edit'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/string/inflections'
2
4
  require 'rails_admin/config/sections/base'
3
5
  require 'rails_admin/config/sections/edit'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/config/model'
2
4
  require 'rails_admin/config/sections/list'
3
5
  require 'active_support/core_ext/module/attribute_accessors'
@@ -73,6 +75,9 @@ module RailsAdmin
73
75
  # @see RailsAdmin.config
74
76
  attr_reader :registry
75
77
 
78
+ # Bootstrap CSS classes used for Navigation bar
79
+ attr_accessor :navbar_css_classes
80
+
76
81
  # show Gravatar in Navigation bar
77
82
  attr_accessor :show_gravatar
78
83
 
@@ -260,7 +265,7 @@ module RailsAdmin
260
265
  def asset_source
261
266
  @asset_source ||=
262
267
  begin
263
- warn <<-MSG.gsub(/^ +/, '').freeze
268
+ warn <<~MSG
264
269
  [Warning] After upgrading RailsAdmin to 3.x you haven't set asset_source yet, using :sprockets as the default.
265
270
  To suppress this message, run 'rails rails_admin:install' to setup the asset delivery method suitable to you.
266
271
  MSG
@@ -334,6 +339,7 @@ module RailsAdmin
334
339
  @label_methods = %i[name title]
335
340
  @main_app_name = proc { [Rails.application.engine_name.titleize.chomp(' Application'), 'Admin'] }
336
341
  @registry = {}
342
+ @navbar_css_classes = %w[navbar-dark bg-primary border-bottom]
337
343
  @show_gravatar = true
338
344
  @navigation_static_links = {}
339
345
  @navigation_static_label = nil
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'kaminari'
2
4
  require 'nested_form'
3
5
  require 'rails'
@@ -9,19 +11,9 @@ module RailsAdmin
9
11
  class Engine < Rails::Engine
10
12
  isolate_namespace RailsAdmin
11
13
 
12
- config.action_dispatch.rescue_responses['RailsAdmin::ActionNotAllowed'] = :forbidden
14
+ attr_accessor :importmap
13
15
 
14
- initializer 'RailsAdmin precompile hook', group: :all do |app|
15
- if defined?(Sprockets)
16
- app.config.assets.precompile += %w[
17
- rails_admin/application.js
18
- rails_admin/application.css
19
- ]
20
- app.config.assets.paths << RailsAdmin::Engine.root.join('src')
21
- require 'rails_admin/support/esmodule_preprocessor'
22
- Sprockets.register_preprocessor 'application/javascript', RailsAdmin::ESModulePreprocessor
23
- end
24
- end
16
+ config.action_dispatch.rescue_responses['RailsAdmin::ActionNotAllowed'] = :forbidden
25
17
 
26
18
  initializer 'RailsAdmin reload config in development' do |app|
27
19
  config.initializer_path = app.root.join('config/initializers/rails_admin.rb')
@@ -43,6 +35,30 @@ module RailsAdmin
43
35
  end
44
36
  end
45
37
 
38
+ initializer 'RailsAdmin apply configuration', after: :eager_load! do |app|
39
+ RailsAdmin::Config.initialize!
40
+
41
+ # Force route reload, since it doesn't reflect RailsAdmin action configuration yet
42
+ app.reload_routes!
43
+ end
44
+
45
+ initializer 'RailsAdmin precompile hook', group: :all, after: 'RailsAdmin apply configuration' do |app|
46
+ case RailsAdmin.config.asset_source
47
+ when :sprockets
48
+ if defined?(Sprockets)
49
+ app.config.assets.precompile += %w[
50
+ rails_admin/application.js
51
+ rails_admin/application.css
52
+ ]
53
+ app.config.assets.paths << RailsAdmin::Engine.root.join('src')
54
+ require 'rails_admin/support/esmodule_preprocessor'
55
+ Sprockets.register_preprocessor 'application/javascript', RailsAdmin::ESModulePreprocessor
56
+ end
57
+ when :importmap
58
+ self.importmap = Importmap::Map.new.draw(app.root.join('config/importmap.rails_admin.rb'))
59
+ end
60
+ end
61
+
46
62
  # Check for required middlewares, users may forget to use them in Rails API mode
47
63
  config.after_initialize do |app|
48
64
  has_session_store = app.config.middleware.to_a.any? do |m|
@@ -66,11 +82,6 @@ module RailsAdmin
66
82
  ERROR
67
83
  end
68
84
 
69
- RailsAdmin::Config.initialize!
70
-
71
- # Force route reload, since it doesn't reflect RailsAdmin action configuration yet
72
- app.reload_routes!
73
-
74
85
  RailsAdmin::Version.warn_with_js_version
75
86
  end
76
87
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/controller_extension'
2
4
 
3
5
  module RailsAdmin
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module CanCanCan
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/cancancan/authorization_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:cancancan, RailsAdmin::Extensions::CanCanCan, authorization: true)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module ControllerExtension
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/string/strip'
2
4
 
3
5
  module RailsAdmin
@@ -49,7 +51,7 @@ module RailsAdmin
49
51
  created_at: :created_at,
50
52
  message: :event,
51
53
  }.freeze
52
- E_VERSION_MODEL_NOT_SET = <<-ERROR.strip_heredoc.freeze
54
+ E_VERSION_MODEL_NOT_SET = <<~ERROR
53
55
  Please set up PaperTrail's version model explicitly.
54
56
 
55
57
  config.audit_with :paper_trail, 'User', 'PaperTrail::Version'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/paper_trail/auditing_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:paper_trail, RailsAdmin::Extensions::PaperTrail, auditing: true)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module Pundit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/pundit/authorization_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:pundit, RailsAdmin::Extensions::Pundit, authorization: true)
@@ -1,4 +1,5 @@
1
1
  # encoding: UTF-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'csv'
4
5
 
@@ -40,7 +41,7 @@ module RailsAdmin
40
41
 
41
42
  def to_csv(options = {})
42
43
  if CSV::VERSION == '3.0.2'
43
- raise <<-MSG.gsub(/^\s+/, '')
44
+ raise <<~MSG
44
45
  CSV library bundled with Ruby 2.6.0 has encoding issue, please upgrade Ruby to 2.6.1 or later.
45
46
  https://github.com/ruby/csv/issues/62
46
47
  MSG
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Support
3
5
  class Datetime
@@ -50,7 +52,7 @@ module RailsAdmin
50
52
  when '%z' # Time zone as hour and minute offset from UTC (e.g. +0900)
51
53
  Time.zone.formatted_offset(false)
52
54
  else
53
- FLATPICKR_TRANSLATIONS[match] or raise <<-MSG.gsub(/^\s{16}/, '')
55
+ FLATPICKR_TRANSLATIONS[match] or raise <<~MSG
54
56
  Unsupported strftime directive '#{match}' was found. Please consider explicitly setting flatpickr_format instance option for the field.
55
57
  field(:name_of_field) { flatpickr_format '...' }
56
58
  MSG
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  class ESModulePreprocessor
3
5
  def self.instance
@@ -11,6 +13,8 @@ module RailsAdmin
11
13
  def initialize; end
12
14
 
13
15
  def call(input)
16
+ return unless RailsAdmin.config.asset_source == :sprockets
17
+
14
18
  data = input[:data]
15
19
 
16
20
  if input[:filename].start_with? RailsAdmin::Engine.root.join('src').to_s
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  class HashHelper
3
5
  def self.symbolize(obj)
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  class Version
3
5
  MAJOR = 3
4
- MINOR = 0
6
+ MINOR = 1
5
7
  PATCH = 0
6
- PRE = nil
8
+ PRE = 'beta'
7
9
 
8
10
  class << self
9
11
  # @return [String]
data/lib/rails_admin.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/engine'
2
4
  require 'rails_admin/abstract_model'
3
5
  require 'rails_admin/config'
@@ -17,7 +19,7 @@ module RailsAdmin
17
19
  #
18
20
  # If only a block is passed it is stored to initializer stack to be evaluated
19
21
  # on first request in production mode and on each request in development. If
20
- # initialization has already occured (in other words RailsAdmin.setup has
22
+ # initialization has already occurred (in other words RailsAdmin.setup has
21
23
  # been called) the block will be added to stack and evaluated at once.
22
24
  #
23
25
  # Otherwise returns RailsAdmin::Config class.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  namespace :rails_admin do
2
4
  desc 'Install rails_admin'
3
5
  task :install do
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_admin",
3
- "version": "3.0.0",
3
+ "version": "3.1.0-beta",
4
4
  "description": "RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data.",
5
5
  "homepage": "https://github.com/railsadminteam/rails_admin",
6
6
  "license": "MIT",
@@ -3,7 +3,19 @@ import "@hotwired/turbo-rails";
3
3
  import jQuery from "jquery";
4
4
  import "./vendor/jquery_nested_form";
5
5
  import "bootstrap";
6
- import "flatpickr/dist/flatpickr";
6
+
7
+ // These jQuery-UI indirect dependencies need to be preloaded to be used within Import maps
8
+ import "jquery-ui/ui/version.js";
9
+ import "jquery-ui/ui/keycode.js";
10
+ import "jquery-ui/ui/position.js";
11
+ import "jquery-ui/ui/safe-active-element.js";
12
+ import "jquery-ui/ui/data.js";
13
+ import "jquery-ui/ui/ie.js";
14
+ import "jquery-ui/ui/scroll-parent.js";
15
+ import "jquery-ui/ui/unique-id.js";
16
+ import "jquery-ui/ui/widget.js";
17
+ import "jquery-ui/ui/widgets/menu.js";
18
+ import "jquery-ui/ui/widgets/mouse.js";
7
19
 
8
20
  import "./filter-box";
9
21
  import "./filtering-multiselect";
@@ -1,7 +1,6 @@
1
1
  import jQuery from "jquery";
2
- import "jquery-ui/ui/widget";
2
+ import "jquery-ui/ui/widget.js";
3
3
  import I18n from "./i18n";
4
-
5
4
  (function ($) {
6
5
  $.widget("ra.filteringMultiselect", {
7
6
  _cache: {},
@@ -112,15 +111,11 @@ import I18n from "./i18n";
112
111
  }
113
112
  if (this.options.sortable) {
114
113
  this.up = $(
115
- '<a href="#" class="fas fa-chevron-circle-up ra-multiselect-item-up">' +
116
- this.options.regional.up +
117
- "</a>"
118
- );
114
+ '<a href="#" class="fas fa-chevron-circle-up ra-multiselect-item-up"></a>'
115
+ ).attr("title", this.options.regional.up);
119
116
  this.down = $(
120
- '<a href="#" class="fas fa-chevron-circle-down ra-multiselect-item-down">' +
121
- this.options.regional.down +
122
- "</a>"
123
- );
117
+ '<a href="#" class="fas fa-chevron-circle-down ra-multiselect-item-down"></a>'
118
+ ).attr("title", this.options.regional.down);
124
119
  columns.center.append(this.up).append(this.down);
125
120
  }
126
121
 
@@ -1,6 +1,6 @@
1
1
  import jQuery from "jquery";
2
- import "jquery-ui/ui/widget";
3
- import "jquery-ui/ui/widgets/autocomplete";
2
+ import "jquery-ui/ui/widget.js";
3
+ import "jquery-ui/ui/widgets/autocomplete.js";
4
4
  import I18n from "./i18n";
5
5
 
6
6
  (function ($) {
@@ -1,5 +1,5 @@
1
1
  import jQuery from "jquery";
2
- import * as bootstrap from "bootstrap/dist/js/bootstrap.esm";
2
+ import * as bootstrap from "bootstrap";
3
3
 
4
4
  (function ($) {
5
5
  $(document).ready(function () {
@@ -1,7 +1,7 @@
1
1
  import Rails from "@rails/ujs";
2
2
  import jQuery from "jquery";
3
- import "jquery-ui/ui/widget";
4
- import * as bootstrap from "bootstrap/dist/js/bootstrap.esm";
3
+ import "jquery-ui/ui/widget.js";
4
+ import * as bootstrap from "bootstrap";
5
5
 
6
6
  (function ($) {
7
7
  $.widget("ra.remoteForm", {
@@ -105,9 +105,8 @@ import * as bootstrap from "bootstrap/dist/js/bootstrap.esm";
105
105
  document.dispatchEvent(event);
106
106
 
107
107
  form.bind("ajax:complete", function (event) {
108
- var data = event.detail[0],
109
- status = event.detail[1];
110
- if (status == "OK") {
108
+ var data = event.detail[0];
109
+ if (data.status == 200) {
111
110
  var json = $.parseJSON(data.responseText);
112
111
  var option =
113
112
  '<option value="' +
@@ -42,6 +42,16 @@ body.rails_admin {
42
42
  > li > a {
43
43
  padding: ($navbar-padding-y / 2) ($grid-gutter-width / 2);
44
44
 
45
+ &.active {
46
+ background-color: map-get($theme-colors, primary);
47
+ color: color-contrast(map-get($theme-colors, primary));
48
+ }
49
+
50
+ &:hover {
51
+ background-color: map-get($theme-colors, primary);
52
+ color: color-contrast(map-get($theme-colors, primary));
53
+ }
54
+
45
55
  &.nav-level-1 {
46
56
  padding-left: $grid-gutter-width;
47
57
  }