new-docs
Cory LaViska 2023-06-08 12:23:31 -04:00
rodzic 5166964659
commit b67eef484c
1 zmienionych plików z 14 dodań i 14 usunięć

Wyświetl plik

@ -1,29 +1,29 @@
import * as Turbo from 'https://cdn.jsdelivr.net/npm/@hotwired/turbo@7.3.0/+esm' import * as Turbo from 'https://cdn.jsdelivr.net/npm/@hotwired/turbo@7.3.0/+esm';
;(() => { (() => {
if (!window.scrollPositions) { if (!window.scrollPositions) {
window.scrollPositions = {}; window.scrollPositions = {};
} }
function preserveScroll () { function preserveScroll() {
document.querySelectorAll("[data-preserve-scroll").forEach((element) => { document.querySelectorAll('[data-preserve-scroll').forEach(element => {
scrollPositions[element.id] = element.scrollTop; scrollPositions[element.id] = element.scrollTop;
}) });
} }
function restoreScroll (event) { function restoreScroll(event) {
document.querySelectorAll("[data-preserve-scroll").forEach((element) => { document.querySelectorAll('[data-preserve-scroll').forEach(element => {
element.scrollTop = scrollPositions[element.id]; element.scrollTop = scrollPositions[element.id];
}) });
if (event.detail && event.detail.newBody) { if (event.detail && event.detail.newBody) {
event.detail.newBody.querySelectorAll("[data-preserve-scroll").forEach((element) => { event.detail.newBody.querySelectorAll('[data-preserve-scroll').forEach(element => {
element.scrollTop = scrollPositions[element.id]; element.scrollTop = scrollPositions[element.id];
}) });
} }
} }
window.addEventListener("turbo:before-cache", preserveScroll) window.addEventListener('turbo:before-cache', preserveScroll);
window.addEventListener("turbo:before-render", restoreScroll) window.addEventListener('turbo:before-render', restoreScroll);
window.addEventListener("turbo:render", restoreScroll) window.addEventListener('turbo:render', restoreScroll);
})() })();