Browse Source

feat(trace): prevent back forward navigation (#65244)

Prevent b/f navigation on trace view when horizontally scrolling
Jonas 1 year ago
parent
commit
5cc55191c1

+ 13 - 0
static/app/views/performance/newTraceDetails/virtualizedViewManager.tsx

@@ -216,6 +216,10 @@ export class VirtualizedViewManager {
     this.teardown();
 
     this.container = container;
+    this.container.addEventListener('wheel', this.onPreventBackForwardNavigation, {
+      passive: false,
+    });
+
     this.resizeObserver = new ResizeObserver(entries => {
       const entry = entries[0];
       if (!entry) {
@@ -235,6 +239,12 @@ export class VirtualizedViewManager {
     this.resizeObserver.observe(container);
   }
 
+  onPreventBackForwardNavigation(event: WheelEvent) {
+    if (event.deltaX !== 0) {
+      event.preventDefault();
+    }
+  }
+
   initializeSpanSpace(spanSpace: [number, number], spanView?: [number, number]) {
     this.spanSpace = [...spanSpace];
     this.spanView = spanView ?? [...spanSpace];
@@ -308,6 +318,9 @@ export class VirtualizedViewManager {
   draw() {}
 
   teardown() {
+    if (this.container) {
+      this.container.removeEventListener('wheel', this.onPreventBackForwardNavigation);
+    }
     if (this.resizeObserver) {
       this.resizeObserver.disconnect();
     }