Clean up model editor onChange callback (#2844)

This commit is contained in:
Charis Kyriakou
2023-09-21 08:16:11 +01:00
committed by GitHub
parent ef008a1659
commit 73f161cdac
3 changed files with 13 additions and 31 deletions

View File

@@ -76,11 +76,7 @@ export type LibraryRowProps = {
inProgressMethods: InProgressMethods;
viewState: ModelEditorViewState;
hideModeledMethods: boolean;
onChange: (
modelName: string,
method: Method,
modeledMethod: ModeledMethod,
) => void;
onChange: (method: Method, modeledMethod: ModeledMethod) => void;
onSaveModelClick: (
methods: Method[],
modeledMethods: Record<string, ModeledMethod>,
@@ -166,13 +162,6 @@ export const LibraryRow = ({
[methods, modeledMethods, onSaveModelClick],
);
const onChangeWithModelName = useCallback(
(method: Method, modeledMethod: ModeledMethod) => {
onChange(title, method, modeledMethod);
},
[onChange, title],
);
const hasUnsavedChanges = useMemo(() => {
return methods.some((method) => modifiedSignatures.has(method.signature));
}, [methods, modifiedSignatures]);
@@ -238,7 +227,7 @@ export const LibraryRow = ({
inProgressMethods={inProgressMethods}
mode={viewState.mode}
hideModeledMethods={hideModeledMethods}
onChange={onChangeWithModelName}
onChange={onChange}
/>
<SectionDivider />
<ButtonsContainer>

View File

@@ -179,19 +179,16 @@ export function ModelEditor({
[methods],
);
const onChange = useCallback(
(modelName: string, method: Method, model: ModeledMethod) => {
setModeledMethods((oldModeledMethods) => ({
...oldModeledMethods,
[method.signature]: model,
}));
setModifiedSignatures(
(oldModifiedSignatures) =>
new Set([...oldModifiedSignatures, method.signature]),
);
},
[],
);
const onChange = useCallback((method: Method, model: ModeledMethod) => {
setModeledMethods((oldModeledMethods) => ({
...oldModeledMethods,
[method.signature]: model,
}));
setModifiedSignatures(
(oldModifiedSignatures) =>
new Set([...oldModifiedSignatures, method.signature]),
);
}, []);
const onRefreshClick = useCallback(() => {
vscode.postMessage({

View File

@@ -18,11 +18,7 @@ export type ModeledMethodsListProps = {
inProgressMethods: InProgressMethods;
viewState: ModelEditorViewState;
hideModeledMethods: boolean;
onChange: (
modelName: string,
method: Method,
modeledMethod: ModeledMethod,
) => void;
onChange: (method: Method, modeledMethod: ModeledMethod) => void;
onSaveModelClick: (
methods: Method[],
modeledMethods: Record<string, ModeledMethod>,