Only show AI button when available

This commit is contained in:
Robert
2023-07-07 14:26:46 +01:00
parent dae74e8772
commit ae3b6eccc3
3 changed files with 14 additions and 4 deletions

View File

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

View File

@@ -13,6 +13,7 @@ import {
VSCodeDivider, VSCodeDivider,
VSCodeTag, VSCodeTag,
} from "@vscode/webview-ui-toolkit/react"; } from "@vscode/webview-ui-toolkit/react";
import { DataExtensionEditorViewState } from "../../data-extensions-editor/shared/view-state";
const LibraryContainer = styled.div` const LibraryContainer = styled.div`
background-color: var(--vscode-peekViewResult-background); background-color: var(--vscode-peekViewResult-background);
@@ -69,6 +70,7 @@ type Props = {
title: string; title: string;
externalApiUsages: ExternalApiUsage[]; externalApiUsages: ExternalApiUsage[];
modeledMethods: Record<string, ModeledMethod>; modeledMethods: Record<string, ModeledMethod>;
viewState: DataExtensionEditorViewState | undefined;
mode: Mode; mode: Mode;
hasUnsavedChanges: boolean; hasUnsavedChanges: boolean;
onChange: ( onChange: (
@@ -87,6 +89,7 @@ export const LibraryRow = ({
title, title,
externalApiUsages, externalApiUsages,
modeledMethods, modeledMethods,
viewState,
mode, mode,
hasUnsavedChanges, hasUnsavedChanges,
onChange, onChange,
@@ -143,10 +146,12 @@ export const LibraryRow = ({
</ModeledPercentage> </ModeledPercentage>
{hasUnsavedChanges ? <VSCodeTag>UNSAVED</VSCodeTag> : null} {hasUnsavedChanges ? <VSCodeTag>UNSAVED</VSCodeTag> : null}
</NameContainer> </NameContainer>
<VSCodeButton appearance="icon" onClick={handleModelWithAI}> {viewState?.showLlmButton && (
<Codicon name="lightbulb-autofix" label="Model with AI" /> <VSCodeButton appearance="icon" onClick={handleModelWithAI}>
&nbsp;Model with AI <Codicon name="lightbulb-autofix" label="Model with AI" />
</VSCodeButton> &nbsp;Model with AI
</VSCodeButton>
)}
<VSCodeButton appearance="icon" onClick={handleModelFromSource}> <VSCodeButton appearance="icon" onClick={handleModelFromSource}>
<Codicon name="code" label="Model from source" /> <Codicon name="code" label="Model from source" />
&nbsp;Model from source &nbsp;Model from source

View File

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