From 54cbc06c099bc8910011bc31c3586fb1882d2fd2 Mon Sep 17 00:00:00 2001 From: Tim Mok Date: Tue, 26 Nov 2024 14:06:20 -0500 Subject: [PATCH] Fix scrolling in variables view for web (#5513) --- .../browser/components/variablesInstance.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/positronVariables/browser/components/variablesInstance.tsx b/src/vs/workbench/contrib/positronVariables/browser/components/variablesInstance.tsx index 1114980737f..bc73f7f77b1 100644 --- a/src/vs/workbench/contrib/positronVariables/browser/components/variablesInstance.tsx +++ b/src/vs/workbench/contrib/positronVariables/browser/components/variablesInstance.tsx @@ -7,7 +7,7 @@ import 'vs/css!./variablesInstance'; import * as React from 'react'; import { KeyboardEvent, useEffect, useRef, useState } from 'react'; // eslint-disable-line no-duplicate-imports import * as DOM from 'vs/base/browser/dom'; -import { isMacintosh } from 'vs/base/common/platform'; +import { isMacintosh, isWeb } from 'vs/base/common/platform'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { useStateRef } from 'vs/base/browser/ui/react/useStateRef'; import { FixedSizeList as List, ListChildComponentProps } from 'react-window'; @@ -448,6 +448,15 @@ export const VariablesInstance = (props: VariablesInstanceProps) => { positronVariablesContext.reactComponentContainer.focusChanged?.(false); }; + // workaround for web disabling scrolling on the window to prevent URL navigation + const wheelHandler = (e: React.WheelEvent) => { + if (!isWeb) { + return; + } + + innerRef.current.parentElement?.scrollBy(e.deltaX, e.deltaY); + }; + /** * VariableEntry component. * @param index The index of the variable entry. @@ -523,6 +532,7 @@ export const VariablesInstance = (props: VariablesInstanceProps) => { onKeyDown={keyDownHandler} onFocus={focusHandler} onBlur={blurHandler} + onWheel={wheelHandler} > {!variableEntries.length ? :