Skip to content

Commit 6e21706

Browse files
authored
Implement "Hide modeled APIs" checkbox and make it the default (#2651)
1 parent ca16dca commit 6e21706

File tree

5 files changed

+27
-2
lines changed

5 files changed

+27
-2
lines changed

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ export function DataExtensionsEditor({
9191
new Set(),
9292
);
9393

94+
const [hideModeledApis, setHideModeledApis] = useState(true);
95+
9496
const [modeledMethods, setModeledMethods] = useState<
9597
Record<string, ModeledMethod>
9698
>(initialModeledMethods);
@@ -252,6 +254,10 @@ export function DataExtensionsEditor({
252254
});
253255
}, [viewState?.mode]);
254256

257+
const onHideModeledApis = useCallback(() => {
258+
setHideModeledApis((oldHideModeledApis) => !oldHideModeledApis);
259+
}, []);
260+
255261
if (viewState === undefined || externalApiUsages.length === 0) {
256262
return <LoadingContainer>Loading...</LoadingContainer>;
257263
}
@@ -292,7 +298,12 @@ export function DataExtensionsEditor({
292298
</HeaderColumn>
293299
<HeaderSpacer />
294300
<HeaderColumn>
295-
<VSCodeCheckbox>Hide modeled APIs</VSCodeCheckbox>
301+
<VSCodeCheckbox
302+
checked={hideModeledApis}
303+
onChange={onHideModeledApis}
304+
>
305+
Hide modeled APIs
306+
</VSCodeCheckbox>
296307
</HeaderColumn>
297308
</HeaderContainer>
298309

@@ -320,6 +331,7 @@ export function DataExtensionsEditor({
320331
modeledMethods={modeledMethods}
321332
modifiedSignatures={modifiedSignatures}
322333
viewState={viewState}
334+
hideModeledApis={hideModeledApis}
323335
onChange={onChange}
324336
onSaveModelClick={onSaveModelClick}
325337
onGenerateFromLlmClick={onGenerateFromLlmClick}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ type Props = {
7373
modeledMethods: Record<string, ModeledMethod>;
7474
modifiedSignatures: Set<string>;
7575
viewState: DataExtensionEditorViewState;
76+
hideModeledApis: boolean;
7677
onChange: (
7778
modelName: string,
7879
externalApiUsage: ExternalApiUsage,
@@ -97,6 +98,7 @@ export const LibraryRow = ({
9798
modeledMethods,
9899
modifiedSignatures,
99100
viewState,
101+
hideModeledApis,
100102
onChange,
101103
onSaveModelClick,
102104
onGenerateFromLlmClick,
@@ -208,6 +210,7 @@ export const LibraryRow = ({
208210
modeledMethods={modeledMethods}
209211
modifiedSignatures={modifiedSignatures}
210212
mode={viewState.mode}
213+
hideModeledApis={hideModeledApis}
211214
onChange={onChangeWithModelName}
212215
/>
213216
<SectionDivider />

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,16 @@ type Props = {
5656
modeledMethod: ModeledMethod | undefined;
5757
methodIsUnsaved: boolean;
5858
mode: Mode;
59+
hideModeledApis: boolean;
5960
onChange: (
6061
externalApiUsage: ExternalApiUsage,
6162
modeledMethod: ModeledMethod,
6263
) => void;
6364
};
6465

6566
export const MethodRow = (props: Props) => {
66-
const { externalApiUsage, modeledMethod, methodIsUnsaved } = props;
67+
const { externalApiUsage, modeledMethod, methodIsUnsaved, hideModeledApis } =
68+
props;
6769

6870
const methodCanBeModeled =
6971
!externalApiUsage.supported ||
@@ -72,6 +74,8 @@ export const MethodRow = (props: Props) => {
7274

7375
if (methodCanBeModeled) {
7476
return <ModelableMethodRow {...props} />;
77+
} else if (hideModeledApis) {
78+
return null;
7579
} else {
7680
return <UnmodelableMethodRow {...props} />;
7781
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ type Props = {
1616
modeledMethods: Record<string, ModeledMethod>;
1717
modifiedSignatures: Set<string>;
1818
mode: Mode;
19+
hideModeledApis: boolean;
1920
onChange: (
2021
externalApiUsage: ExternalApiUsage,
2122
modeledMethod: ModeledMethod,
@@ -27,6 +28,7 @@ export const ModeledMethodDataGrid = ({
2728
modeledMethods,
2829
modifiedSignatures,
2930
mode,
31+
hideModeledApis,
3032
onChange,
3133
}: Props) => {
3234
const sortedExternalApiUsages = useMemo(
@@ -60,6 +62,7 @@ export const ModeledMethodDataGrid = ({
6062
modeledMethod={modeledMethods[externalApiUsage.signature]}
6163
methodIsUnsaved={modifiedSignatures.has(externalApiUsage.signature)}
6264
mode={mode}
65+
hideModeledApis={hideModeledApis}
6366
onChange={onChange}
6467
/>
6568
))}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ type Props = {
1515
modeledMethods: Record<string, ModeledMethod>;
1616
modifiedSignatures: Set<string>;
1717
viewState: DataExtensionEditorViewState;
18+
hideModeledApis: boolean;
1819
onChange: (
1920
modelName: string,
2021
externalApiUsage: ExternalApiUsage,
@@ -41,6 +42,7 @@ export const ModeledMethodsList = ({
4142
modeledMethods,
4243
modifiedSignatures,
4344
viewState,
45+
hideModeledApis,
4446
onChange,
4547
onSaveModelClick,
4648
onGenerateFromLlmClick,
@@ -83,6 +85,7 @@ export const ModeledMethodsList = ({
8385
modeledMethods={modeledMethods}
8486
modifiedSignatures={modifiedSignatures}
8587
viewState={viewState}
88+
hideModeledApis={hideModeledApis}
8689
onChange={onChange}
8790
onSaveModelClick={onSaveModelClick}
8891
onGenerateFromLlmClick={onGenerateFromLlmClick}

0 commit comments

Comments
 (0)