Merge pull request #2590 from github/robertbrignull/data-button-features

Only show LLM / framework mode when the view state says to show the button
This commit is contained in:
Robert
2023-07-07 16:09:10 +01:00
committed by GitHub
3 changed files with 26 additions and 4 deletions

View File

@@ -282,6 +282,7 @@ export function DataExtensionsEditor({
externalApiUsages={externalApiUsages}
unsavedModels={unsavedModels}
modeledMethods={modeledMethods}
viewState={viewState}
mode={viewState?.mode ?? Mode.Application}
onChange={onChange}
onSaveModelClick={onSaveModelClick}

View File

@@ -13,6 +13,7 @@ import {
VSCodeDivider,
VSCodeTag,
} from "@vscode/webview-ui-toolkit/react";
import { DataExtensionEditorViewState } from "../../data-extensions-editor/shared/view-state";
const LibraryContainer = styled.div`
background-color: var(--vscode-peekViewResult-background);
@@ -69,6 +70,7 @@ type Props = {
title: string;
externalApiUsages: ExternalApiUsage[];
modeledMethods: Record<string, ModeledMethod>;
viewState: DataExtensionEditorViewState | undefined;
mode: Mode;
hasUnsavedChanges: boolean;
onChange: (
@@ -87,6 +89,7 @@ export const LibraryRow = ({
title,
externalApiUsages,
modeledMethods,
viewState,
mode,
hasUnsavedChanges,
onChange,
@@ -112,6 +115,11 @@ export const LibraryRow = ({
e.preventDefault();
}, []);
const handleModelDependency = useCallback(async (e: React.MouseEvent) => {
e.stopPropagation();
e.preventDefault();
}, []);
const handleSave = useCallback(
async (e: React.MouseEvent) => {
onSaveModelClick(title, externalApiUsages, modeledMethods);
@@ -143,14 +151,23 @@ export const LibraryRow = ({
</ModeledPercentage>
{hasUnsavedChanges ? <VSCodeTag>UNSAVED</VSCodeTag> : null}
</NameContainer>
{viewState?.showLlmButton && (
<VSCodeButton appearance="icon" onClick={handleModelWithAI}>
<Codicon name="lightbulb-autofix" label="Model with AI" />
&nbsp;Model with AI
</VSCodeButton>
)}
<VSCodeButton appearance="icon" onClick={handleModelFromSource}>
<Codicon name="code" label="Model from source" />
&nbsp;Model from source
</VSCodeButton>
{viewState?.enableFrameworkMode &&
viewState?.mode === Mode.Application && (
<VSCodeButton appearance="icon" onClick={handleModelDependency}>
<Codicon name="references" label="Model dependency" />
&nbsp;Model dependency
</VSCodeButton>
)}
</TitleContainer>
{isExpanded && (
<>

View File

@@ -8,11 +8,13 @@ import {
groupMethods,
sortGroupNames,
} from "../../data-extensions-editor/shared/sorting";
import { DataExtensionEditorViewState } from "../../data-extensions-editor/shared/view-state";
type Props = {
externalApiUsages: ExternalApiUsage[];
unsavedModels: Set<string>;
modeledMethods: Record<string, ModeledMethod>;
viewState: DataExtensionEditorViewState | undefined;
mode: Mode;
onChange: (
modelName: string,
@@ -30,6 +32,7 @@ export const ModeledMethodsList = ({
externalApiUsages,
unsavedModels,
modeledMethods,
viewState,
mode,
onChange,
onSaveModelClick,
@@ -50,6 +53,7 @@ export const ModeledMethodsList = ({
externalApiUsages={grouped[libraryName]}
hasUnsavedChanges={unsavedModels.has(libraryName)}
modeledMethods={modeledMethods}
viewState={viewState}
mode={mode}
onChange={onChange}
onSaveModelClick={onSaveModelClick}