Skip to content

Commit d29241e

Browse files
committed
refactor(Modal): keep body original style
1 parent 096dc3f commit d29241e

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/BootstrapBlazor/Components/Modal/Modal.razor.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ export function init(id, invoke, shownCallback, closeCallback) {
1212
if (modal) {
1313
modal.hide();
1414
}
15-
}
15+
},
16+
originalStyle: null
1617
}
1718
Data.set(id, modal)
1819

@@ -33,6 +34,7 @@ export function init(id, invoke, shownCallback, closeCallback) {
3334
EventHandler.on(window, 'popstate', modal.pop)
3435

3536
modal.show = () => {
37+
modal.originalStyle ??= document.body.style;
3638
const dialogs = el.querySelectorAll('.modal-dialog')
3739
if (dialogs.length === 1) {
3840
let backdrop = el.getAttribute('data-bs-backdrop') !== 'static'
@@ -61,6 +63,8 @@ export function init(id, invoke, shownCallback, closeCallback) {
6163
modal.hide = () => {
6264
if (el.children.length === 1) {
6365
modal.modal.hide();
66+
document.body.style = modal.originalStyle;
67+
modal.originalStyle = null;
6468
}
6569
else {
6670
modal.invoke.invokeMethodAsync(modal.closeCallback)
@@ -143,6 +147,11 @@ export function dispose(id) {
143147
dialog._backdrop._config.isAnimated = false;
144148
dialog._hideModal();
145149
}
150+
151+
if(modal.originalStyle) {
152+
document.body.style = modal.originalStyle;
153+
modal.originalStyle = null;
154+
}
146155
dialog.dispose()
147156
}
148157
}

0 commit comments

Comments
 (0)