fix: #11079, update track position on window resize + cleanup

This commit is contained in:
Julian Lam
2022-12-08 22:52:57 -05:00
parent 831510e319
commit 4b3a5e03c2

View File

@@ -23,13 +23,18 @@ export default function init() {
({ knobEl } = enableKnob());
once('action:ajaxify.cleanup', () => {
console.log('start');
navigatorEl.classList.toggle('d-sm-flex', false);
window.removeEventListener('resize', updateTrackPosition);
});
console.debug('[glance] At-a-glance navigator enabled.');
}
function updateTrackPosition() {
const trackEl = document.querySelector('[component="topic/navigator"] .track');
({ top: trackTop, bottom: trackBottom, height: trackHeight } = trackEl.getBoundingClientRect());
}
function enableButtons() {
const navigatorEl = document.querySelector('[component="topic/navigator"]');
navigatorEl.addEventListener('click', (e) => {
@@ -44,11 +49,11 @@ function enableButtons() {
}
function enableKnob() {
const trackEl = document.querySelector('[component="topic/navigator"] .track');
const knobEl = document.querySelector('[component="topic/navigator"] .knob');
let active = false;
({ top: trackTop, bottom: trackBottom, height: trackHeight } = trackEl.getBoundingClientRect());
updateTrackPosition();
window.addEventListener('resize', updateTrackPosition);
onPage('action:navigator.update', ({ newIndex }) => {
if (!active) {