Clean up model editor onChange callback (#2844)
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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>,
|
||||
|
||||
Reference in New Issue
Block a user