Merge remote-tracking branch 'origin/main' into koesie10/modeled-method-union

This commit is contained in:
Koen Vlaswinkel
2023-11-02 09:31:15 +01:00
5 changed files with 8 additions and 14 deletions

View File

@@ -137,6 +137,9 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
}
case "revealInModelEditor":
await this.revealInModelEditor(msg.method);
void telemetryListener?.sendUIInteraction(
"method-modeling-reveal-in-model-editor",
);
break;

View File

@@ -14,6 +14,7 @@ import { validateModeledMethods } from "../../model-editor/shared/validation";
import { ModeledMethodAlert } from "./ModeledMethodAlert";
import { QueryLanguage } from "../../common/query-language";
import { createEmptyModeledMethod } from "../../model-editor/modeled-method-empty";
import { sendTelemetry } from "../common/telemetry";
export type MultipleModeledMethodsPanelProps = {
language: QueryLanguage;
@@ -82,9 +83,11 @@ export const MultipleModeledMethodsPanel = ({
const handlePreviousClick = useCallback(() => {
setSelectedIndex((previousIndex) => previousIndex - 1);
sendTelemetry("method-modeling-previous-modeling");
}, []);
const handleNextClick = useCallback(() => {
setSelectedIndex((previousIndex) => previousIndex + 1);
sendTelemetry("method-modeling-next-modeling");
}, []);
const validationErrors = useMemo(
@@ -102,6 +105,7 @@ export const MultipleModeledMethodsPanel = ({
onChange(method.signature, newModeledMethods);
selectNewMethod.current = newModeledMethods.length - 1;
sendTelemetry("method-modeling-add-model");
}, [onChange, modeledMethods, method]);
const handleRemoveClick = useCallback(() => {
@@ -116,6 +120,7 @@ export const MultipleModeledMethodsPanel = ({
onChange(method.signature, newModeledMethods);
setSelectedIndex(newSelectedIndex);
sendTelemetry("method-modeling-remove-model");
}, [onChange, modeledMethods, selectedIndex, method]);
const handleChange = useCallback(

View File

@@ -256,7 +256,6 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
<DataGridCell>
<ModelKindDropdown
language={viewState.language}
method={method}
modeledMethod={modeledMethod}
onChange={modeledMethodChangedHandlers[index]}
/>

View File

@@ -6,20 +6,17 @@ import type {
} from "../../model-editor/modeled-method";
import { modeledMethodSupportsKind } from "../../model-editor/modeled-method";
import { Dropdown } from "../common/Dropdown";
import { Method } from "../../model-editor/method";
import { getModelsAsDataLanguage } from "../../model-editor/languages";
import { QueryLanguage } from "../../common/query-language";
type Props = {
language: QueryLanguage;
method: Method;
modeledMethod: ModeledMethod | undefined;
onChange: (modeledMethod: ModeledMethod) => void;
};
export const ModelKindDropdown = ({
language,
method,
modeledMethod,
onChange,
}: Props) => {

View File

@@ -2,7 +2,6 @@ import * as React from "react";
import { render, screen } from "@testing-library/react";
import { ModelKindDropdown } from "../ModelKindDropdown";
import userEvent from "@testing-library/user-event";
import { createMethod } from "../../../../test/factories/model-editor/method-factories";
import {
createNoneModeledMethod,
createSinkModeledMethod,
@@ -12,7 +11,6 @@ import { QueryLanguage } from "../../../common/query-language";
describe(ModelKindDropdown.name, () => {
const onChange = jest.fn();
const method = createMethod();
beforeEach(() => {
onChange.mockReset();
@@ -26,7 +24,6 @@ describe(ModelKindDropdown.name, () => {
render(
<ModelKindDropdown
language={QueryLanguage.Java}
method={method}
modeledMethod={modeledMethod}
onChange={onChange}
/>,
@@ -42,7 +39,6 @@ describe(ModelKindDropdown.name, () => {
});
it("resets the kind when changing the supported kinds", () => {
const method = createMethod();
const modeledMethod = createSourceModeledMethod({
kind: "local",
});
@@ -50,7 +46,6 @@ describe(ModelKindDropdown.name, () => {
const { rerender } = render(
<ModelKindDropdown
language={QueryLanguage.Java}
method={method}
modeledMethod={modeledMethod}
onChange={onChange}
/>,
@@ -67,7 +62,6 @@ describe(ModelKindDropdown.name, () => {
rerender(
<ModelKindDropdown
language={QueryLanguage.Java}
method={method}
modeledMethod={updatedModeledMethod}
onChange={onChange}
/>,
@@ -77,7 +71,6 @@ describe(ModelKindDropdown.name, () => {
});
it("sets the kind when value is undefined", () => {
const method = createMethod();
const modeledMethod = createSourceModeledMethod({
type: "source",
kind: undefined,
@@ -86,7 +79,6 @@ describe(ModelKindDropdown.name, () => {
render(
<ModelKindDropdown
language={QueryLanguage.Java}
method={method}
modeledMethod={modeledMethod}
onChange={onChange}
/>,
@@ -101,13 +93,11 @@ describe(ModelKindDropdown.name, () => {
});
it("does not call onChange when unmodeled and the kind is valid", () => {
const method = createMethod();
const modeledMethod = createNoneModeledMethod();
render(
<ModelKindDropdown
language={QueryLanguage.Java}
method={method}
modeledMethod={modeledMethod}
onChange={onChange}
/>,