Skip to content

Commit b04eca9

Browse files
Add on load event
1 parent 83ee6b3 commit b04eca9

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

app/views/render_async/_request_vanilla.js.erb

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@
55
}
66
<% end %>
77

8+
function createEvent(name) {
9+
if (typeof(Event) === 'function') {
10+
event = new Event(name);
11+
} else {
12+
event = document.createEvent('Event');
13+
event.initEvent(name, true, true);
14+
}
15+
return event
16+
}
17+
818
var _makeRequest = function(currentRetryCount) {
919
var request = new XMLHttpRequest();
1020
var asyncRequest = true;
@@ -31,15 +41,13 @@
3141
<% else %>
3242
container.outerHTML = request.response;
3343
<% end %>
34-
44+
45+
var loadEvent = createEvent("render_async_load");
46+
loadEvent.container = container;
47+
document.dispatchEvent(loadEvent);
48+
3549
<% if event_name.present? %>
36-
var event = undefined;
37-
if (typeof(Event) === 'function') {
38-
event = new Event("<%= event_name %>");
39-
} else {
40-
event = document.createEvent('Event');
41-
event.initEvent('<%= event_name %>', true, true);
42-
}
50+
var event = createEvent("<%= event_name %>");
4351
document.dispatchEvent(event);
4452
<% end %>
4553
} else {
@@ -54,13 +62,7 @@
5462
container.outerHTML = "<%= error_message.try(:html_safe) %>";
5563

5664
<% if error_event_name.present? %>
57-
var event = undefined;
58-
if (typeof(Event) === 'function') {
59-
event = new Event("<%= error_event_name %>");
60-
} else {
61-
event = document.createEvent('Event');
62-
event.initEvent('<%= error_event_name %>', true, true);
63-
}
65+
var event = createEvent("<%= error_event_name %>");
6466
document.dispatchEvent(event);
6567
<% end %>
6668
}

0 commit comments

Comments
 (0)