Merge pull request #2938 from github/robertbrignull/legacy-conversion

Make use of modeled-methods-legacy.ts in the webview code
This commit is contained in:
Robert
2023-10-10 15:00:52 +01:00
committed by GitHub
5 changed files with 15 additions and 10 deletions

View File

@@ -17,7 +17,7 @@ import { DatabaseItem } from "../../databases/local-databases";
import {
convertFromLegacyModeledMethod,
convertToLegacyModeledMethod,
} from "../modeled-methods-legacy";
} from "../shared/modeled-methods-legacy";
export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
ToMethodModelingMessage,

View File

@@ -46,7 +46,7 @@ import { ModelEditorViewTracker } from "./model-editor-view-tracker";
import {
convertFromLegacyModeledMethod,
convertToLegacyModeledMethods,
} from "./modeled-methods-legacy";
} from "./shared/modeled-methods-legacy";
export class ModelEditorView extends AbstractWebview<
ToModelEditorMessage,

View File

@@ -1,4 +1,4 @@
import { ModeledMethod } from "./modeled-method";
import { ModeledMethod } from "../modeled-method";
/**
* Converts a record of a single ModeledMethod indexed by signature to a record of ModeledMethod[] indexed by signature
@@ -37,8 +37,10 @@ export function convertToLegacyModeledMethods(
*
* @param modeledMethod The single ModeledMethod
*/
export function convertFromLegacyModeledMethod(modeledMethod: ModeledMethod) {
return [modeledMethod];
export function convertFromLegacyModeledMethod(
modeledMethod: ModeledMethod | undefined,
): ModeledMethod[] {
return modeledMethod ? [modeledMethod] : [];
}
/**

View File

@@ -10,6 +10,7 @@ import { vscode } from "../vscode-api";
import { NotInModelingMode } from "./NotInModelingMode";
import { NoMethodSelected } from "./NoMethodSelected";
import { MethodModelingPanelViewState } from "../../model-editor/shared/view-state";
import { convertFromLegacyModeledMethod } from "../../model-editor/shared/modeled-methods-legacy";
import { MethodAlreadyModeled } from "./MethodAlreadyModeled";
type Props = {
@@ -32,7 +33,10 @@ export function MethodModelingView({ initialViewState }: Props): JSX.Element {
const modelingStatus = useMemo(
() =>
getModelingStatus(modeledMethod ? [modeledMethod] : [], isMethodModified),
getModelingStatus(
convertFromLegacyModeledMethod(modeledMethod),
isMethodModified,
),
[modeledMethod, isMethodModified],
);
@@ -100,7 +104,7 @@ export function MethodModelingView({ initialViewState }: Props): JSX.Element {
<MethodModeling
modelingStatus={modelingStatus}
method={method}
modeledMethods={modeledMethod ? [modeledMethod] : []}
modeledMethods={convertFromLegacyModeledMethod(modeledMethod)}
showMultipleModels={viewState?.showMultipleModels}
onChange={onChange}
/>

View File

@@ -4,6 +4,7 @@ import { MethodModelingInputs } from "./MethodModelingInputs";
import { Method } from "../../model-editor/method";
import { styled } from "styled-components";
import { MultipleModeledMethodsPanel } from "./MultipleModeledMethodsPanel";
import { convertToLegacyModeledMethod } from "../../model-editor/shared/modeled-methods-legacy";
export type ModeledMethodsPanelProps = {
method: Method;
@@ -26,9 +27,7 @@ export const ModeledMethodsPanel = ({
return (
<SingleMethodModelingInputs
method={method}
modeledMethod={
modeledMethods.length > 0 ? modeledMethods[0] : undefined
}
modeledMethod={convertToLegacyModeledMethod(modeledMethods)}
onChange={onChange}
/>
);