Merge pull request #3380 from github/koesie10/processed-method-modeling
Add processed by auto model state to method modeling panel
This commit is contained in:
@@ -623,6 +623,11 @@ interface SetInProgressMessage {
|
||||
inProgress: boolean;
|
||||
}
|
||||
|
||||
interface SetProcessedByAutoModelMessage {
|
||||
t: "setProcessedByAutoModel";
|
||||
processedByAutoModel: boolean;
|
||||
}
|
||||
|
||||
interface RevealMethodMessage {
|
||||
t: "revealMethod";
|
||||
methodSignature: string;
|
||||
@@ -696,6 +701,7 @@ interface SetSelectedMethodMessage {
|
||||
modeledMethods: ModeledMethod[];
|
||||
isModified: boolean;
|
||||
isInProgress: boolean;
|
||||
processedByAutoModel: boolean;
|
||||
}
|
||||
|
||||
export type ToMethodModelingMessage =
|
||||
@@ -705,4 +711,5 @@ export type ToMethodModelingMessage =
|
||||
| SetMethodModifiedMessage
|
||||
| SetSelectedMethodMessage
|
||||
| SetInModelingModeMessage
|
||||
| SetInProgressMessage;
|
||||
| SetInProgressMessage
|
||||
| SetProcessedByAutoModelMessage;
|
||||
|
||||
@@ -82,6 +82,7 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
|
||||
modeledMethods: selectedMethod.modeledMethods,
|
||||
isModified: selectedMethod.isModified,
|
||||
isInProgress: selectedMethod.isInProgress,
|
||||
processedByAutoModel: selectedMethod.processedByAutoModel,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -200,6 +201,7 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
|
||||
modeledMethods: e.modeledMethods,
|
||||
isModified: e.isModified,
|
||||
isInProgress: e.isInProgress,
|
||||
processedByAutoModel: e.processedByAutoModel,
|
||||
});
|
||||
}
|
||||
}),
|
||||
@@ -248,6 +250,21 @@ export class MethodModelingViewProvider extends AbstractWebviewViewProvider<
|
||||
}
|
||||
}),
|
||||
);
|
||||
|
||||
this.push(
|
||||
this.modelingEvents.onProcessedByAutoModelMethodsChanged(async (e) => {
|
||||
if (this.method && this.databaseItem) {
|
||||
const dbUri = this.databaseItem.databaseUri.toString();
|
||||
if (e.dbUri === dbUri) {
|
||||
const processedByAutoModel = e.methods.has(this.method.signature);
|
||||
await this.postMessage({
|
||||
t: "setProcessedByAutoModel",
|
||||
processedByAutoModel,
|
||||
});
|
||||
}
|
||||
}
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
private registerToModelConfigEvents(): void {
|
||||
|
||||
@@ -114,7 +114,7 @@ export function modeledMethodSupportsProvenance(
|
||||
export function isModelPending(
|
||||
modeledMethod: ModeledMethod | undefined,
|
||||
modelingStatus: ModelingStatus,
|
||||
processedByAutoModel?: boolean,
|
||||
processedByAutoModel: boolean,
|
||||
): boolean {
|
||||
if (
|
||||
(!modeledMethod || modeledMethod.type === "none") &&
|
||||
|
||||
@@ -54,6 +54,7 @@ export type MethodModelingProps = {
|
||||
method: Method;
|
||||
modeledMethods: ModeledMethod[];
|
||||
isModelingInProgress: boolean;
|
||||
isProcessedByAutoModel: boolean;
|
||||
onChange: (methodSignature: string, modeledMethods: ModeledMethod[]) => void;
|
||||
};
|
||||
|
||||
@@ -63,6 +64,7 @@ export const MethodModeling = ({
|
||||
modeledMethods,
|
||||
method,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
}: MethodModelingProps): React.JSX.Element => {
|
||||
return (
|
||||
@@ -81,6 +83,7 @@ export const MethodModeling = ({
|
||||
method={method}
|
||||
modeledMethods={modeledMethods}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>
|
||||
|
||||
@@ -33,6 +33,9 @@ export function MethodModelingView({
|
||||
const [isModelingInProgress, setIsModelingInProgress] =
|
||||
useState<boolean>(false);
|
||||
|
||||
const [isProcessedByAutoModel, setIsProcessedByAutoModel] =
|
||||
useState<boolean>(false);
|
||||
|
||||
const modelingStatus = useMemo(
|
||||
() => getModelingStatus(modeledMethods, isMethodModified),
|
||||
[modeledMethods, isMethodModified],
|
||||
@@ -62,10 +65,15 @@ export function MethodModelingView({
|
||||
setMethod(msg.method);
|
||||
setModeledMethods(msg.modeledMethods);
|
||||
setIsMethodModified(msg.isModified);
|
||||
setIsModelingInProgress(msg.isInProgress);
|
||||
setIsProcessedByAutoModel(msg.processedByAutoModel);
|
||||
break;
|
||||
case "setInProgress":
|
||||
setIsModelingInProgress(msg.inProgress);
|
||||
break;
|
||||
case "setProcessedByAutoModel":
|
||||
setIsProcessedByAutoModel(msg.processedByAutoModel);
|
||||
break;
|
||||
default:
|
||||
assertNever(msg);
|
||||
}
|
||||
@@ -112,6 +120,7 @@ export function MethodModelingView({
|
||||
method={method}
|
||||
modeledMethods={modeledMethods}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
onChange={onChange}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -23,6 +23,7 @@ export type MultipleModeledMethodsPanelProps = {
|
||||
modeledMethods: ModeledMethod[];
|
||||
modelingStatus: ModelingStatus;
|
||||
isModelingInProgress: boolean;
|
||||
isProcessedByAutoModel: boolean;
|
||||
onChange: (methodSignature: string, modeledMethods: ModeledMethod[]) => void;
|
||||
};
|
||||
|
||||
@@ -64,6 +65,7 @@ export const MultipleModeledMethodsPanel = ({
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
}: MultipleModeledMethodsPanelProps) => {
|
||||
const [selectedIndex, setSelectedIndex] = useState<number>(0);
|
||||
@@ -160,6 +162,7 @@ export const MultipleModeledMethodsPanel = ({
|
||||
modelPending={isModelPending(
|
||||
modeledMethods[selectedIndex],
|
||||
modelingStatus,
|
||||
isProcessedByAutoModel,
|
||||
)}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
onChange={handleChange}
|
||||
@@ -169,7 +172,11 @@ export const MultipleModeledMethodsPanel = ({
|
||||
language={language}
|
||||
method={method}
|
||||
modeledMethod={undefined}
|
||||
modelPending={false}
|
||||
modelPending={isModelPending(
|
||||
modeledMethods[selectedIndex],
|
||||
modelingStatus,
|
||||
isProcessedByAutoModel,
|
||||
)}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
|
||||
@@ -13,6 +13,7 @@ describe(MethodModeling.name, () => {
|
||||
const method = createMethod();
|
||||
const modeledMethod = createSinkModeledMethod();
|
||||
const isModelingInProgress = false;
|
||||
const isProcessedByAutoModel = false;
|
||||
const onChange = jest.fn();
|
||||
|
||||
render({
|
||||
@@ -21,6 +22,7 @@ describe(MethodModeling.name, () => {
|
||||
method,
|
||||
modeledMethods: [modeledMethod],
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
const language = QueryLanguage.Java;
|
||||
const method = createMethod();
|
||||
const isModelingInProgress = false;
|
||||
const isProcessedByAutoModel = false;
|
||||
const modelingStatus = "unmodeled";
|
||||
const onChange = jest.fn<void, [string, ModeledMethod[]]>();
|
||||
|
||||
@@ -31,6 +32,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -49,6 +51,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -71,6 +74,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -102,6 +106,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -120,6 +125,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -141,6 +147,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -158,6 +165,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -184,6 +192,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
modeledMethods,
|
||||
modelingStatus,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
onChange,
|
||||
});
|
||||
|
||||
@@ -197,6 +206,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
onChange.mock.calls[onChange.mock.calls.length - 1][1]
|
||||
}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -222,6 +232,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -240,6 +251,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -255,6 +267,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -275,6 +288,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -312,6 +326,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -324,6 +339,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method={method}
|
||||
modeledMethods={[modeledMethods[1]]}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -343,6 +359,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -356,6 +373,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -389,6 +407,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -424,6 +443,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -442,6 +462,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -468,6 +489,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -482,6 +504,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
onChange.mock.calls[onChange.mock.calls.length - 1][1]
|
||||
}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -503,6 +526,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
onChange.mock.calls[onChange.mock.calls.length - 1][1]
|
||||
}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -522,6 +546,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
onChange.mock.calls[onChange.mock.calls.length - 1][1]
|
||||
}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -539,6 +564,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -555,6 +581,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
onChange.mock.calls[onChange.mock.calls.length - 1][1]
|
||||
}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -589,6 +616,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -680,6 +708,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -692,6 +721,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method={method}
|
||||
modeledMethods={modeledMethods.slice(0, 2)}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -706,6 +736,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -720,6 +751,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method={method}
|
||||
modeledMethods={modeledMethods.slice(0, 2)}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -748,6 +780,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -763,6 +796,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -781,6 +815,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -800,6 +835,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -818,6 +854,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method={method}
|
||||
modeledMethods={modeledMethods.slice(0, 1)}
|
||||
isModelingInProgress={isModelingInProgress}
|
||||
isProcessedByAutoModel={isProcessedByAutoModel}
|
||||
modelingStatus={modelingStatus}
|
||||
onChange={onChange}
|
||||
/>,
|
||||
@@ -857,6 +894,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
@@ -870,6 +908,7 @@ describe(MultipleModeledMethodsPanel.name, () => {
|
||||
method,
|
||||
modeledMethods,
|
||||
isModelingInProgress,
|
||||
isProcessedByAutoModel,
|
||||
modelingStatus,
|
||||
onChange,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user