diff --git a/extensions/ql-vscode/src/model-editor/shared/modeling-status.ts b/extensions/ql-vscode/src/model-editor/shared/modeling-status.ts new file mode 100644 index 000000000..496b4c0e7 --- /dev/null +++ b/extensions/ql-vscode/src/model-editor/shared/modeling-status.ts @@ -0,0 +1,17 @@ +import { ModeledMethod } from "../modeled-method"; + +export type ModelingStatus = "unmodeled" | "unsaved" | "saved"; + +export function getModelingStatus( + modeledMethod: ModeledMethod | undefined, + methodIsUnsaved: boolean, +): ModelingStatus { + if (modeledMethod) { + if (methodIsUnsaved) { + return "unsaved"; + } else if (modeledMethod.type !== "none") { + return "saved"; + } + } + return "unmodeled"; +} diff --git a/extensions/ql-vscode/src/view/method-modeling/MethodModeling.tsx b/extensions/ql-vscode/src/view/method-modeling/MethodModeling.tsx index 3147a3d12..afd99453c 100644 --- a/extensions/ql-vscode/src/view/method-modeling/MethodModeling.tsx +++ b/extensions/ql-vscode/src/view/method-modeling/MethodModeling.tsx @@ -1,9 +1,7 @@ import * as React from "react"; import { styled } from "styled-components"; -import { - ModelingStatus, - ModelingStatusIndicator, -} from "../model-editor/ModelingStatusIndicator"; +import { ModelingStatus } from "../../model-editor/shared/modeling-status"; +import { ModelingStatusIndicator } from "../model-editor/ModelingStatusIndicator"; import { Method } from "../../model-editor/method"; import { MethodName } from "../model-editor/MethodName"; import { ModeledMethod } from "../../model-editor/modeled-method"; diff --git a/extensions/ql-vscode/src/view/method-modeling/MethodModelingView.tsx b/extensions/ql-vscode/src/view/method-modeling/MethodModelingView.tsx index 8dc7da077..cb1508827 100644 --- a/extensions/ql-vscode/src/view/method-modeling/MethodModelingView.tsx +++ b/extensions/ql-vscode/src/view/method-modeling/MethodModelingView.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { useEffect, useState } from "react"; import { MethodModeling } from "./MethodModeling"; -import { ModelingStatus } from "../model-editor/ModelingStatusIndicator"; +import { ModelingStatus } from "../../model-editor/shared/modeling-status"; import { Method } from "../../model-editor/method"; import { ToMethodModelingMessage } from "../../common/interface-types"; import { assertNever } from "../../common/helpers-pure"; diff --git a/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx b/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx index f5ccfe2d9..40de1ee35 100644 --- a/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx +++ b/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx @@ -14,10 +14,8 @@ import { ModeledMethod } from "../../model-editor/modeled-method"; import { ModelKindDropdown } from "./ModelKindDropdown"; import { Mode } from "../../model-editor/shared/mode"; import { MethodClassifications } from "./MethodClassifications"; -import { - ModelingStatus, - ModelingStatusIndicator, -} from "./ModelingStatusIndicator"; +import { getModelingStatus } from "../../model-editor/shared/modeling-status"; +import { ModelingStatusIndicator } from "./ModelingStatusIndicator"; import { InProgressDropdown } from "./InProgressDropdown"; import { MethodName } from "./MethodName"; import { ModelTypeDropdown } from "./ModelTypeDropdown"; @@ -181,17 +179,3 @@ function sendJumpToUsageMessage(method: Method) { usage: method.usages[0], }); } - -function getModelingStatus( - modeledMethod: ModeledMethod | undefined, - methodIsUnsaved: boolean, -): ModelingStatus { - if (modeledMethod) { - if (methodIsUnsaved) { - return "unsaved"; - } else if (modeledMethod.type !== "none") { - return "saved"; - } - } - return "unmodeled"; -} diff --git a/extensions/ql-vscode/src/view/model-editor/ModelingStatusIndicator.tsx b/extensions/ql-vscode/src/view/model-editor/ModelingStatusIndicator.tsx index 820f0d725..c2f499da1 100644 --- a/extensions/ql-vscode/src/view/model-editor/ModelingStatusIndicator.tsx +++ b/extensions/ql-vscode/src/view/model-editor/ModelingStatusIndicator.tsx @@ -1,8 +1,7 @@ import * as React from "react"; import { assertNever } from "../../common/helpers-pure"; import { Codicon } from "../common/icon/Codicon"; - -export type ModelingStatus = "unmodeled" | "unsaved" | "saved"; +import { ModelingStatus } from "../../model-editor/shared/modeling-status"; interface Props { status: ModelingStatus;