Send modelDependency message

This commit is contained in:
Robert
2023-07-19 15:06:49 +01:00
parent f2c7c41117
commit 00780442dd
5 changed files with 28 additions and 5 deletions

View File

@@ -553,6 +553,10 @@ export interface GenerateExternalApiFromLlmMessage {
modeledMethods: Record<string, ModeledMethod>;
}
export interface ModelDependencyMessage {
t: "modelDependency";
}
export type ToDataExtensionsEditorMessage =
| SetExtensionPackStateMessage
| SetExternalApiUsagesMessage
@@ -568,4 +572,5 @@ export type FromDataExtensionsEditorMessage =
| JumpToUsageMessage
| SaveModeledMethods
| GenerateExternalApiMessage
| GenerateExternalApiFromLlmMessage;
| GenerateExternalApiFromLlmMessage
| ModelDependencyMessage;

View File

@@ -138,6 +138,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
msg.modeledMethods,
);
break;
case "modelDependency":
break;
case "switchMode":
this.mode = msg.mode;

View File

@@ -215,6 +215,12 @@ export function DataExtensionsEditor({
});
}, [externalApiUsages, modeledMethods]);
const onModelDependencyClick = useCallback(() => {
vscode.postMessage({
t: "modelDependency",
});
}, []);
const onGenerateFromLlmClick = useCallback(
(
externalApiUsages: ExternalApiUsage[],
@@ -323,6 +329,7 @@ export function DataExtensionsEditor({
onSaveModelClick={onSaveModelClick}
onGenerateFromLlmClick={onGenerateFromLlmClick}
onGenerateFromSourceClick={onGenerateFromSourceClick}
onModelDependencyClick={onModelDependencyClick}
/>
</EditorContainer>
</>

View File

@@ -87,6 +87,7 @@ type Props = {
modeledMethods: Record<string, ModeledMethod>,
) => void;
onGenerateFromSourceClick: () => void;
onModelDependencyClick: () => void;
};
export const LibraryRow = ({
@@ -100,6 +101,7 @@ export const LibraryRow = ({
onSaveModelClick,
onGenerateFromLlmClick,
onGenerateFromSourceClick,
onModelDependencyClick,
}: Props) => {
const modeledPercentage = useMemo(() => {
return calculateModeledPercentage(externalApiUsages);
@@ -129,10 +131,14 @@ export const LibraryRow = ({
[onGenerateFromSourceClick],
);
const handleModelDependency = useCallback(async (e: React.MouseEvent) => {
e.stopPropagation();
e.preventDefault();
}, []);
const handleModelDependency = useCallback(
async (e: React.MouseEvent) => {
onModelDependencyClick();
e.stopPropagation();
e.preventDefault();
},
[onModelDependencyClick],
);
const handleSave = useCallback(
async (e: React.MouseEvent) => {

View File

@@ -29,6 +29,7 @@ type Props = {
modeledMethods: Record<string, ModeledMethod>,
) => void;
onGenerateFromSourceClick: () => void;
onModelDependencyClick: () => void;
};
const libraryNameOverrides: Record<string, string> = {
@@ -44,6 +45,7 @@ export const ModeledMethodsList = ({
onSaveModelClick,
onGenerateFromLlmClick,
onGenerateFromSourceClick,
onModelDependencyClick,
}: Props) => {
const grouped = useMemo(
() => groupMethods(externalApiUsages, viewState.mode),
@@ -85,6 +87,7 @@ export const ModeledMethodsList = ({
onSaveModelClick={onSaveModelClick}
onGenerateFromLlmClick={onGenerateFromLlmClick}
onGenerateFromSourceClick={onGenerateFromSourceClick}
onModelDependencyClick={onModelDependencyClick}
/>
))}
</>