summaryrefslogtreecommitdiff
path: root/tools/timeline_editor/index.html
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-15 15:23:21 +0100
committerskal <pascal.massimino@gmail.com>2026-02-15 15:23:21 +0100
commitefa59a79dfabfe11d25df624421915d49dc652eb (patch)
treede2f7d03e56e2010970a4147b03e79127dd56662 /tools/timeline_editor/index.html
parent6dcde32122263627e58000c7616553a5bd5d2cef (diff)
fix(timeline-editor): capture all wheel events at container level
- Add timelineContainer reference and capture wheel events with { capture: true } - Remove redundant wheel handlers from individual sequence/effect elements - Prevents child elements from interfering with zoom/scroll functionality Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'tools/timeline_editor/index.html')
-rw-r--r--tools/timeline_editor/index.html5
1 files changed, 2 insertions, 3 deletions
diff --git a/tools/timeline_editor/index.html b/tools/timeline_editor/index.html
index d1c759d..bc7f2a0 100644
--- a/tools/timeline_editor/index.html
+++ b/tools/timeline_editor/index.html
@@ -151,7 +151,7 @@
<div id="messageArea"></div>
- <div class="timeline-container">
+ <div class="timeline-container" id="timelineContainer">
<div class="playback-indicator" id="playbackIndicator"></div>
<div class="sticky-header">
<div class="waveform-container" id="waveformContainer">
@@ -220,6 +220,7 @@
// DOM
const dom = {
timeline: document.getElementById('timeline'),
+ timelineContainer: document.getElementById('timelineContainer'),
timelineContent: document.getElementById('timelineContent'),
fileInput: document.getElementById('fileInput'),
saveBtn: document.getElementById('saveBtn'),
@@ -503,7 +504,6 @@
seqDiv.addEventListener('mousedown', e => startDrag(e, 'sequence', seqIndex));
seqDiv.addEventListener('click', e => { e.stopPropagation(); selectItem('sequence', seqIndex); });
seqDiv.addEventListener('dblclick', e => { e.stopPropagation(); e.preventDefault(); seq._collapsed = !seq._collapsed; renderTimeline(); });
- seqDiv.addEventListener('wheel', e => viewportController.handleWheel(e), { passive: false });
dom.timeline.appendChild(seqDiv);
if (!seq._collapsed) {
const conflicts = detectConflicts(seq);
@@ -534,7 +534,6 @@
if (!e.target.classList.contains('effect-handle')) { e.stopPropagation(); startDrag(e, 'effect', seqIndex, effectIndex); }
});
effectDiv.addEventListener('click', e => { e.stopPropagation(); selectItem('effect', seqIndex, effectIndex); });
- effectDiv.addEventListener('wheel', e => viewportController.handleWheel(e), { passive: false });
dom.timeline.appendChild(effectDiv);
});
}