Skip to content

Commit c86086a

Browse files
authored
refactor: move enable/disable scroll lock to reusable methods (#34)
1 parent 086b1bc commit c86086a

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

resources/assets/js/modal.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const Modal = {
1717
disableFocusTrap: false,
1818
},
1919

20-
onModalOpened(scrollable, settings = {}) {
20+
disableBodyScroll(scrollable, settings = {}) {
2121
settings = Object.assign({}, this.defaultSettings, settings);
2222

2323
if (settings.reserveScrollBarGap) {
@@ -31,15 +31,9 @@ const Modal = {
3131
disableBodyScroll(scrollable, {
3232
reserveScrollBarGap: !!settings.reserveScrollBarGap,
3333
});
34-
35-
if (settings.disableFocusTrap) {
36-
scrollable.focus();
37-
} else {
38-
this.trapFocus(scrollable);
39-
}
4034
},
4135

42-
onModalClosed(scrollable, settings = {}) {
36+
enableBodyScroll(scrollable, settings = {}) {
4337
settings = Object.assign({}, this.defaultSettings, settings);
4438

4539
if (settings.reserveScrollBarGap) {
@@ -51,6 +45,20 @@ const Modal = {
5145
}
5246

5347
enableBodyScroll(scrollable);
48+
},
49+
50+
onModalOpened(scrollable, settings = {}) {
51+
this.disableBodyScroll(scrollable, settings);
52+
53+
if (settings.disableFocusTrap) {
54+
scrollable.focus();
55+
} else {
56+
this.trapFocus(scrollable);
57+
}
58+
},
59+
60+
onModalClosed(scrollable, settings = {}) {
61+
this.enableBodyScroll(scrollable, settings);
5462

5563
this.releaseTrappedFocus();
5664

0 commit comments

Comments
 (0)