Skip to content

Commit a604da5

Browse files
committed
Fix RailsAdmin widgets not activated after a validation error
Refs. hotwired/turbo#85
1 parent f8219bf commit a604da5

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

spec/integration/rails_admin_spec.rb

+8
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,14 @@
196196
click_link 'Back to admin'
197197
is_expected.to have_content 'Details for Player'
198198
end
199+
200+
it 'triggers rails_admin.dom_ready right after a validation error' do
201+
visit edit_path(model_name: 'player', id: player.id)
202+
fill_in 'player[name]', with: 'on steroids'
203+
find_button('Save').trigger 'click'
204+
is_expected.to have_content 'Player failed to be updated'
205+
is_expected.to have_css '.filtering-select[data-input-for="player_team_id"]'
206+
end
199207
end
200208

201209
context 'with invalid model name' do

src/rails_admin/ui.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,14 @@ import I18n from "./i18n";
7979
}
8080
);
8181

82-
document.addEventListener("turbo:load", function () {
82+
function triggerDomReady() {
8383
I18n.init($("html").attr("lang"), $("#admin-js").data("i18nOptions"));
8484

8585
const event = new CustomEvent("rails_admin.dom_ready");
8686
document.dispatchEvent(event);
87-
});
87+
}
88+
$(document).ready(triggerDomReady);
89+
document.addEventListener("turbo:render", triggerDomReady);
8890

8991
document.addEventListener("rails_admin.dom_ready", function () {
9092
$(".nav.nav-pills li.active").removeClass("active");

0 commit comments

Comments
 (0)