Merge remote-tracking branch 'origin/main' into koesie10/modeled-method-union
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -256,7 +256,6 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
|
||||
<DataGridCell>
|
||||
<ModelKindDropdown
|
||||
language={viewState.language}
|
||||
method={method}
|
||||
modeledMethod={modeledMethod}
|
||||
onChange={modeledMethodChangedHandlers[index]}
|
||||
/>
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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}
|
||||
/>,
|
||||
|
||||
Reference in New Issue
Block a user