forked from SymfonyCasts/symfony-ux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodalframe-extract-to-method.diff
39 lines (37 loc) · 1.31 KB
/
modalframe-extract-to-method.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff --git a/assets/controllers/modal-form_controller.js b/assets/controllers/modal-form_controller.js
index 54fe707..9d5e483 100644
--- a/assets/controllers/modal-form_controller.js
+++ b/assets/controllers/modal-form_controller.js
@@ -7,21 +7,23 @@ export default class extends Controller {
modal = null;
connect() {
- document.addEventListener('turbo:before-fetch-response', (event) => {
- if (!this.modal || !this.modal._isShown) {
- return;
- }
-
- const fetchResponse = event.detail.fetchResponse;
- if (fetchResponse.succeeded && fetchResponse.redirected) {
- event.preventDefault();
- Turbo.visit(fetchResponse.location);
- }
- });
+ document.addEventListener('turbo:before-fetch-response', this.beforeFetchResponse);
}
async openModal(event) {
this.modal = new Modal(this.modalTarget);
this.modal.show();
}
+
+ beforeFetchResponse(event) {
+ if (!this.modal || !this.modal._isShown) {
+ return;
+ }
+
+ const fetchResponse = event.detail.fetchResponse;
+ if (fetchResponse.succeeded && fetchResponse.redirected) {
+ event.preventDefault();
+ Turbo.visit(fetchResponse.location);
+ }
+ }
}