Skip to content

Commit 0352643

Browse files
Copilotd10c
andcommitted
Fix type errors for @vscode-elements/react-elements compatibility
Changed event handler types from specific React event types to generic Event types to match @vscode-elements/react-elements library expectations: - CodeFlowsDropdown: ChangeEvent<HTMLSelectElement> → Event - DataGrid: React.Ref<HTMLElement | undefined> → React.Ref<HTMLDivElement> - TextButton: Make $size prop optional - ModelTypeTextbox: ChangeEvent<HTMLSelectElement> → Event - RepoRow: ChangeEvent<HTMLInputElement> → Event - ModelAlertsSort, RepositoriesFilter, RepositoriesResultFormat, RepositoriesSort: InputEvent → Event This fixes the TypeScript compilation errors in CI. Co-authored-by: d10c <9970661+d10c@users.noreply.github.com>
1 parent 20d7a4e commit 0352643

File tree

10 files changed

+18
-19
lines changed

10 files changed

+18
-19
lines changed

extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { ChangeEvent, SetStateAction } from "react";
1+
import type { SetStateAction } from "react";
22
import { useCallback } from "react";
33
import {
44
VscodeOption,
@@ -25,8 +25,8 @@ export const CodeFlowsDropdown = ({
2525
setSelectedCodeFlow,
2626
}: CodeFlowsDropdownProps) => {
2727
const handleChange = useCallback(
28-
(e: ChangeEvent<HTMLSelectElement>) => {
29-
const selectedOption = e.target;
28+
(e: Event) => {
29+
const selectedOption = e.target as HTMLSelectElement;
3030
const selectedIndex = parseInt(selectedOption.value);
3131
setSelectedCodeFlow(codeFlows[selectedIndex]);
3232
},

extensions/ql-vscode/src/view/common/DataGrid.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export const DataGridRow = forwardRef(
8383
"data-testid": testId,
8484
onClick,
8585
}: DataGridRowProps,
86-
ref?: React.Ref<HTMLElement | undefined>,
86+
ref?: React.Ref<HTMLDivElement>,
8787
) => (
8888
<StyledDataGridRow
8989
$focused={focused}
@@ -135,7 +135,7 @@ export const DataGridCell = forwardRef(
135135
className,
136136
children,
137137
}: DataGridCellProps,
138-
ref?: React.Ref<HTMLElement | undefined>,
138+
ref?: React.Ref<HTMLDivElement>,
139139
) => {
140140
return (
141141
<StyledDataGridCell

extensions/ql-vscode/src/view/common/TextButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { styled } from "styled-components";
22

33
type Size = "x-small" | "small" | "medium" | "large" | "x-large";
44

5-
const StyledButton = styled.button<{ $size: Size }>`
5+
const StyledButton = styled.button<{ $size?: Size }>`
66
background: none;
77
color: var(--vscode-textLink-foreground);
88
border: none;

extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type Props = {
2020

2121
export const ModelAlertsSort = ({ value, onChange, className }: Props) => {
2222
const handleInput = useCallback(
23-
(e: InputEvent) => {
23+
(e: Event) => {
2424
const target = e.target as HTMLSelectElement;
2525

2626
onChange(target.value as SortKey);

extensions/ql-vscode/src/view/model-editor/MethodRow.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export type MethodRowProps = {
8585
export const MethodRow = (props: MethodRowProps) => {
8686
const { method, methodCanBeModeled, revealedMethodSignature } = props;
8787

88-
const ref = useRef<HTMLElement | undefined>(undefined);
88+
const ref = useRef<HTMLDivElement>(null);
8989

9090
useEffect(() => {
9191
if (method.signature === revealedMethodSignature) {
@@ -103,7 +103,7 @@ export const MethodRow = (props: MethodRowProps) => {
103103
}
104104
};
105105

106-
const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
106+
const ModelableMethodRow = forwardRef<HTMLDivElement, MethodRowProps>(
107107
(props: MethodRowProps, ref) => {
108108
const {
109109
method,
@@ -360,7 +360,7 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
360360
ModelableMethodRow.displayName = "ModelableMethodRow";
361361

362362
const UnmodelableMethodRow = forwardRef<
363-
HTMLElement | undefined,
363+
HTMLDivElement,
364364
MethodRowProps
365365
>((props: MethodRowProps, ref) => {
366366
const { method, viewState, revealedMethodSignature } = props;

extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { ChangeEvent } from "react";
21
import { useCallback, useEffect, useState } from "react";
32
import type {
43
ModeledMethod,
@@ -33,7 +32,7 @@ export const ModelTypeTextbox = ({
3332
setValue(modeledMethod[typeInfo]);
3433
}, [modeledMethod, typeInfo]);
3534

36-
const handleChange = useCallback((e: ChangeEvent<HTMLSelectElement>) => {
35+
const handleChange = useCallback((e: Event) => {
3736
const target = e.target as HTMLSelectElement;
3837

3938
setValue(target.value);

extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { ChangeEvent } from "react";
21
import { useCallback, useEffect, useState } from "react";
32
import { styled } from "styled-components";
43
import { VscodeCheckbox } from "@vscode-elements/react-elements";
@@ -229,17 +228,18 @@ export const RepoRow = ({
229228
e.stopPropagation();
230229
}, []);
231230
const onChangeCheckbox = useCallback(
232-
(e: ChangeEvent<HTMLInputElement>) => {
231+
(e: Event) => {
232+
const target = e.target as HTMLInputElement;
233233
// This is called on first render, but we don't really care about this value
234-
if (e.target.checked === undefined) {
234+
if (target.checked === undefined) {
235235
return;
236236
}
237237

238238
if (!repository.id) {
239239
return;
240240
}
241241

242-
onSelectedChange?.(repository.id, e.target.checked);
242+
onSelectedChange?.(repository.id, target.checked);
243243
},
244244
[onSelectedChange, repository],
245245
);

extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type Props = {
2020

2121
export const RepositoriesFilter = ({ value, onChange, className }: Props) => {
2222
const handleInput = useCallback(
23-
(e: InputEvent) => {
23+
(e: Event) => {
2424
const target = e.target as HTMLSelectElement;
2525

2626
onChange(target.value as FilterKey);

extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export const RepositoriesResultFormat = ({
2424
className,
2525
}: Props) => {
2626
const handleInput = useCallback(
27-
(e: InputEvent) => {
27+
(e: Event) => {
2828
const target = e.target as HTMLSelectElement;
2929

3030
onChange(target.value as ResultFormat);

extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type Props = {
2020

2121
export const RepositoriesSort = ({ value, onChange, className }: Props) => {
2222
const handleInput = useCallback(
23-
(e: InputEvent) => {
23+
(e: Event) => {
2424
const target = e.target as HTMLSelectElement;
2525

2626
onChange(target.value as SortKey);

0 commit comments

Comments
 (0)