Skip to content

Commit 07e8494

Browse files
GrabowskiMKamilSznajdrowicz
authored andcommitted
temp
1 parent d969577 commit 07e8494

1 file changed

Lines changed: 39 additions & 30 deletions

File tree

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,51 @@
1-
const controlZIndex = (container, listenerContainer, resetedZIndex = 'initial') => {
1+
const controlZIndex = (container) => {
22
const initialZIndex = container.style.zIndex;
3-
const finalListenerContainer = listenerContainer ?? container;
4-
const handleShowModal = () => {
5-
container.style.zIndex = resetedZIndex;
6-
};
7-
const handleCloseModal = () => {
8-
container.style.zIndex = initialZIndex;
9-
};
10-
const removeControlZIndexListeners = () => {
11-
finalListenerContainer.removeEventListener('show.bs.modal', handleShowModal, false);
12-
finalListenerContainer.removeEventListener('hidden.bs.modal', handleCloseModal, false);
13-
14-
document.body.dispatchEvent(new CustomEvent('ibexa-control-z-index:events-detached'));
15-
};
163

17-
finalListenerContainer.addEventListener('show.bs.modal', handleShowModal, false);
18-
finalListenerContainer.addEventListener('hidden.bs.modal', handleCloseModal, false);
4+
container.addEventListener('show.bs.modal', () => {
5+
container.style.zIndex = 'initial';
6+
});
7+
container.addEventListener('hide.bs.modal', () => {
8+
container.style.zIndex = initialZIndex;
9+
});
1910

2011
document.body.dispatchEvent(new CustomEvent('ibexa-control-z-index:events-attached'));
21-
22-
return {
23-
removeControlZIndexListeners,
24-
};
2512
};
2613

27-
const controlZIndexBulk = (items) => {
28-
const storedControlZIndex = items.map((item) => {
29-
return controlZIndex(...item);
30-
});
14+
const betterControlZIndex = (containers, listenerContainer, resetedZIndex = 'initial') => {
15+
const listenersAbortController = new AbortController();
16+
const containersInitialZIndexes = new Map();
3117
const removeControlZIndexListeners = () => {
32-
storedControlZIndex.forEach((item) => {
33-
item.removeControlZIndexListeners();
18+
listenersAbortController.abort();
19+
listenerContainer.dispatchEvent(new CustomEvent('ibexa-control-z-index:events-detached'));
20+
}
21+
22+
containers.forEach((container) => {
23+
containersInitialZIndexes.set(container, container.style.zIndex);
24+
});
25+
26+
containers.forEach((container) => {
27+
listenerContainer.addEventListener('show.bs.modal', () => {
28+
container.style.zIndex = resetedZIndex;
3429
});
35-
};
30+
});
31+
32+
// listenerContainer.addEventListener('show.bs.modal', () => {
33+
// containers.forEach((container) => {
34+
// container.style.zIndex = resetedZIndex;
35+
// });
36+
// }, { signal: listenersAbortController.signal });
37+
38+
listenerContainer.addEventListener('hidden.bs.modal', () => {
39+
containers.forEach((container) => {
40+
container.style.zIndex = containersInitialZIndexes.get(container);
41+
});
42+
}, { signal: listenersAbortController.signal });
43+
44+
listenerContainer.dispatchEvent(new CustomEvent('ibexa-control-z-index:events-attached'));
3645

3746
return {
3847
removeControlZIndexListeners,
39-
};
40-
};
48+
}
49+
}
4150

42-
export { controlZIndex, controlZIndexBulk };
51+
export { controlZIndex, betterControlZIndex };

0 commit comments

Comments
 (0)