Extract nested ternary to method

This commit is contained in:
Robert
2023-10-11 14:12:10 +01:00
parent 9da3dc9a25
commit eaf81efd64

View File

@@ -104,13 +104,8 @@ const ModelableMethodRow = forwardRef<HTMLElement | undefined, MethodRowProps>(
} = props;
const modeledMethods: Array<ModeledMethod | undefined> = useMemo(
() =>
modeledMethodsProp.length === 0
? [undefined]
: viewState.showMultipleModels
? modeledMethodsProp
: modeledMethodsProp.slice(0, 1),
[modeledMethodsProp, viewState],
() => modeledMethodsToDisplay(modeledMethodsProp, method, viewState),
[modeledMethodsProp, method, viewState],
);
const modeledMethodChangedHandlers = useMemo(
@@ -265,3 +260,19 @@ function sendJumpToMethodMessage(method: Method) {
methodSignature: method.signature,
});
}
function modeledMethodsToDisplay(
modeledMethods: ModeledMethod[],
method: Method,
viewState: ModelEditorViewState,
): Array<ModeledMethod | undefined> {
if (modeledMethods.length === 0) {
return [undefined];
}
if (viewState.showMultipleModels) {
return modeledMethods;
} else {
return modeledMethods.slice(0, 1);
}
}