Pass in methodIsUnsaved instead of modifiedSignatures

This commit is contained in:
Robert
2023-07-18 15:26:34 +01:00
parent 30d8303320
commit 5617331598
2 changed files with 9 additions and 14 deletions

View File

@@ -54,7 +54,7 @@ const modelTypeOptions: Array<{ value: ModeledMethodType; label: string }> = [
type Props = {
externalApiUsage: ExternalApiUsage;
modeledMethod: ModeledMethod | undefined;
modifiedSignatures: Set<string>;
methodIsUnsaved: boolean;
mode: Mode;
onChange: (
externalApiUsage: ExternalApiUsage,
@@ -63,12 +63,12 @@ type Props = {
};
export const MethodRow = (props: Props) => {
const { externalApiUsage, modeledMethod, modifiedSignatures } = props;
const { externalApiUsage, modeledMethod, methodIsUnsaved } = props;
const methodCanBeModeled =
!externalApiUsage.supported ||
(modeledMethod && modeledMethod?.type !== "none") ||
modifiedSignatures.has(externalApiUsage.signature);
methodIsUnsaved;
if (methodCanBeModeled) {
return <ModelableMethodRow {...props} />;
@@ -78,13 +78,8 @@ export const MethodRow = (props: Props) => {
};
function ModelableMethodRow(props: Props) {
const {
externalApiUsage,
modeledMethod,
modifiedSignatures,
mode,
onChange,
} = props;
const { externalApiUsage, modeledMethod, methodIsUnsaved, mode, onChange } =
props;
const argumentsList = useMemo(() => {
if (externalApiUsage.methodParameters === "()") {
@@ -203,7 +198,7 @@ function ModelableMethodRow(props: Props) {
: undefined;
const showKindCell = predicate?.supportedKinds;
const modelingStatus = getModelingStatus(modeledMethod, modifiedSignatures);
const modelingStatus = getModelingStatus(modeledMethod, methodIsUnsaved);
return (
<VSCodeDataGridRow>
@@ -303,10 +298,10 @@ function sendJumpToUsageMessage(externalApiUsage: ExternalApiUsage) {
function getModelingStatus(
modeledMethod: ModeledMethod | undefined,
modifiedSignatures: Set<string>,
methodIsUnsaved: boolean,
): ModelingStatus {
if (modeledMethod) {
if (modifiedSignatures.has(modeledMethod.signature)) {
if (methodIsUnsaved) {
return "unsaved";
} else if (modeledMethod.type !== "none") {
return "saved";

View File

@@ -58,7 +58,7 @@ export const ModeledMethodDataGrid = ({
key={externalApiUsage.signature}
externalApiUsage={externalApiUsage}
modeledMethod={modeledMethods[externalApiUsage.signature]}
modifiedSignatures={modifiedSignatures}
methodIsUnsaved={modifiedSignatures.has(externalApiUsage.signature)}
mode={mode}
onChange={onChange}
/>