Skip to content

Commit 458d0fb

Browse files
committed
Load ActionText assets statically to enable full-featured setup
Fixes #3251, Fixes #3386
1 parent 3cffc00 commit 458d0fb

File tree

12 files changed

+69
-9
lines changed

12 files changed

+69
-9
lines changed

app/assets/javascripts/rails_admin/application.js renamed to app/assets/javascripts/rails_admin/application.js.erb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,11 @@
1919
//= require 'rails_admin/sidescroll'
2020
//= require 'rails_admin/ui'
2121
//= require 'rails_admin/custom/ui'
22+
23+
<% if defined?(ActiveStorage) %>
24+
//= require activestorage
25+
<% end %>
26+
<% if defined?(ActionText) && Rails.gem_version >= Gem::Version.new('7.0') %>
27+
//= require trix
28+
//= require actiontext
29+
<% end %>

app/assets/stylesheets/rails_admin/application.scss renamed to app/assets/stylesheets/rails_admin/application.scss.erb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,7 @@
2929

3030
@import "rails_admin/styles/base/theming";
3131
@import "rails_admin/custom/theming";
32+
33+
<% if defined?(ActionText) && Rails.gem_version >= Gem::Version.new('7.0') %>
34+
@import "trix";
35+
<% end %>

app/helpers/rails_admin/application_helper.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,15 @@ def handle_asset_dependency_error
217217
raise e
218218
end
219219

220+
# Workaround for https://github.com/rails/rails/issues/31325
221+
def image_tag(source, options = {})
222+
if %w[ActiveStorage::Variant ActiveStorage::VariantWithRecord ActiveStorage::Preview].include? source.class.to_s
223+
super main_app.route_for(ActiveStorage.resolve_model_to_route, source), options
224+
else
225+
super
226+
end
227+
end
228+
220229
private
221230

222231
def edit_user_link_label
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<%
22
js_data = {
33
csspath: field.css_location,
4-
jspath: field.js_location
4+
jspath: field.js_location,
5+
warn_dynamic_load: field.warn_dynamic_load
56
}
67
%>
78
<%= form.rich_text_area field.method_name, field.html_attributes.reverse_merge(data: { options: js_data.to_json }) %>

lib/rails_admin/config/fields/types/action_text.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ class ActionText < Text
2222
"https://cdnjs.cloudflare.com/ajax/libs/trix/#{version}/trix.js"
2323
end
2424

25+
register_instance_option :warn_dynamic_load do
26+
true
27+
end
28+
2529
register_instance_option :partial do
2630
:form_action_text
2731
end

spec/dummy_app/app/assets/javascripts/rails_admin/custom/ui.js.erb

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
$fa-font-path: ".";
22
@import "rails_admin/src/rails_admin/styles/base.scss";
3+
@import "trix/dist/trix";
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import "rails_admin/src/rails_admin/base";
22
import "flatpickr/dist/l10n/fr.js";
3+
import "trix";
4+
import "@rails/actiontext";
35
import * as ActiveStorage from "@rails/activestorage";
46
ActiveStorage.start();

spec/dummy_app/config/importmap.rails_admin.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
pin '@hotwired/turbo', to: 'https://ga.jspm.io/npm:@hotwired/turbo@7.1.0/dist/turbo.es2017-esm.js'
88
pin '@hotwired/turbo-rails', to: 'https://ga.jspm.io/npm:@hotwired/turbo-rails@7.1.3/app/javascript/turbo/index.js'
99
pin '@popperjs/core', to: 'https://ga.jspm.io/npm:@popperjs/core@2.11.5/dist/esm/popper.js'
10-
pin '@rails/actioncable/src', to: 'https://ga.jspm.io/npm:@rails/actioncable@7.0.2/src/index.js'
10+
pin '@rails/actioncable/src', to: 'https://ga.jspm.io/npm:@rails/actioncable@7.0.3-1/src/index.js'
11+
pin '@rails/actiontext', to: 'https://ga.jspm.io/npm:@rails/actiontext@7.0.3-1/app/javascript/actiontext/index.js'
1112
pin '@rails/activestorage', to: 'https://ga.jspm.io/npm:@rails/activestorage@7.0.3-1/app/assets/javascripts/activestorage.esm.js'
12-
pin '@rails/ujs', to: 'https://ga.jspm.io/npm:@rails/ujs@6.1.4/lib/assets/compiled/rails-ujs.js'
13+
pin '@rails/ujs', to: 'https://ga.jspm.io/npm:@rails/ujs@7.0.3-1/lib/assets/compiled/rails-ujs.js'
1314
pin 'bootstrap', to: 'https://ga.jspm.io/npm:bootstrap@5.1.3/dist/js/bootstrap.esm.js'
1415
pin 'flatpickr', to: 'https://ga.jspm.io/npm:flatpickr@4.6.13/dist/flatpickr.js'
1516
pin 'flatpickr/', to: 'https://ga.jspm.io/npm:flatpickr@4.6.13/'
1617
pin 'jquery', to: 'https://ga.jspm.io/npm:jquery@3.6.0/dist/jquery.js'
1718
pin 'jquery-ui/', to: 'https://ga.jspm.io/npm:jquery-ui@1.13.1/'
19+
pin 'trix', to: 'https://ga.jspm.io/npm:trix@2.0.0-beta.0/dist/trix.js'

spec/dummy_app/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
"private": true,
44
"version": "0.1.0",
55
"dependencies": {
6-
"@rails/webpacker": "5.4.3",
6+
"@rails/actiontext": "^7.0.3-1",
77
"@rails/activestorage": "^7.0.3-1",
8+
"@rails/webpacker": "5.4.3",
89
"rails_admin": "file:../../",
10+
"trix": "^2.0.0-beta.0",
911
"webpack": "^4.46.0",
1012
"webpack-cli": "^3.3.12"
1113
},

0 commit comments

Comments
 (0)