Skip to content

Commit 8423c73

Browse files
Merge pull request #2590 from github/robertbrignull/data-button-features
Only show LLM / framework mode when the view state says to show the button
2 parents dae74e8 + 3798061 commit 8423c73

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ export function DataExtensionsEditor({
282282
externalApiUsages={externalApiUsages}
283283
unsavedModels={unsavedModels}
284284
modeledMethods={modeledMethods}
285+
viewState={viewState}
285286
mode={viewState?.mode ?? Mode.Application}
286287
onChange={onChange}
287288
onSaveModelClick={onSaveModelClick}

extensions/ql-vscode/src/view/data-extensions-editor/LibraryRow.tsx

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
VSCodeDivider,
1414
VSCodeTag,
1515
} from "@vscode/webview-ui-toolkit/react";
16+
import { DataExtensionEditorViewState } from "../../data-extensions-editor/shared/view-state";
1617

1718
const LibraryContainer = styled.div`
1819
background-color: var(--vscode-peekViewResult-background);
@@ -69,6 +70,7 @@ type Props = {
6970
title: string;
7071
externalApiUsages: ExternalApiUsage[];
7172
modeledMethods: Record<string, ModeledMethod>;
73+
viewState: DataExtensionEditorViewState | undefined;
7274
mode: Mode;
7375
hasUnsavedChanges: boolean;
7476
onChange: (
@@ -87,6 +89,7 @@ export const LibraryRow = ({
8789
title,
8890
externalApiUsages,
8991
modeledMethods,
92+
viewState,
9093
mode,
9194
hasUnsavedChanges,
9295
onChange,
@@ -112,6 +115,11 @@ export const LibraryRow = ({
112115
e.preventDefault();
113116
}, []);
114117

118+
const handleModelDependency = useCallback(async (e: React.MouseEvent) => {
119+
e.stopPropagation();
120+
e.preventDefault();
121+
}, []);
122+
115123
const handleSave = useCallback(
116124
async (e: React.MouseEvent) => {
117125
onSaveModelClick(title, externalApiUsages, modeledMethods);
@@ -143,14 +151,23 @@ export const LibraryRow = ({
143151
</ModeledPercentage>
144152
{hasUnsavedChanges ? <VSCodeTag>UNSAVED</VSCodeTag> : null}
145153
</NameContainer>
146-
<VSCodeButton appearance="icon" onClick={handleModelWithAI}>
147-
<Codicon name="lightbulb-autofix" label="Model with AI" />
148-
&nbsp;Model with AI
149-
</VSCodeButton>
154+
{viewState?.showLlmButton && (
155+
<VSCodeButton appearance="icon" onClick={handleModelWithAI}>
156+
<Codicon name="lightbulb-autofix" label="Model with AI" />
157+
&nbsp;Model with AI
158+
</VSCodeButton>
159+
)}
150160
<VSCodeButton appearance="icon" onClick={handleModelFromSource}>
151161
<Codicon name="code" label="Model from source" />
152162
&nbsp;Model from source
153163
</VSCodeButton>
164+
{viewState?.enableFrameworkMode &&
165+
viewState?.mode === Mode.Application && (
166+
<VSCodeButton appearance="icon" onClick={handleModelDependency}>
167+
<Codicon name="references" label="Model dependency" />
168+
&nbsp;Model dependency
169+
</VSCodeButton>
170+
)}
154171
</TitleContainer>
155172
{isExpanded && (
156173
<>

extensions/ql-vscode/src/view/data-extensions-editor/ModeledMethodsList.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ import {
88
groupMethods,
99
sortGroupNames,
1010
} from "../../data-extensions-editor/shared/sorting";
11+
import { DataExtensionEditorViewState } from "../../data-extensions-editor/shared/view-state";
1112

1213
type Props = {
1314
externalApiUsages: ExternalApiUsage[];
1415
unsavedModels: Set<string>;
1516
modeledMethods: Record<string, ModeledMethod>;
17+
viewState: DataExtensionEditorViewState | undefined;
1618
mode: Mode;
1719
onChange: (
1820
modelName: string,
@@ -30,6 +32,7 @@ export const ModeledMethodsList = ({
3032
externalApiUsages,
3133
unsavedModels,
3234
modeledMethods,
35+
viewState,
3336
mode,
3437
onChange,
3538
onSaveModelClick,
@@ -50,6 +53,7 @@ export const ModeledMethodsList = ({
5053
externalApiUsages={grouped[libraryName]}
5154
hasUnsavedChanges={unsavedModels.has(libraryName)}
5255
modeledMethods={modeledMethods}
56+
viewState={viewState}
5357
mode={mode}
5458
onChange={onChange}
5559
onSaveModelClick={onSaveModelClick}

0 commit comments

Comments
 (0)