diff --git a/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts b/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts index 7cd5d1925..b961830d6 100644 --- a/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts +++ b/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts @@ -49,8 +49,8 @@ export class ModelDetailsDataProvider hideModeledApis?: boolean, ): Promise { if ( - externalApiUsages && - databaseItem && + externalApiUsages !== undefined && + databaseItem !== undefined && (this.externalApiUsages !== externalApiUsages || this.databaseItem !== databaseItem) ) { diff --git a/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-panel.ts b/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-panel.ts index 57148b5b7..ae2d6f3f1 100644 --- a/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-panel.ts +++ b/extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-panel.ts @@ -33,7 +33,7 @@ export class ModelDetailsPanel extends DisposableObject { databaseItem, hideModeledApis, ); - if (externalApiUsages) { + if (externalApiUsages !== undefined) { this.treeView.badge = { value: externalApiUsages.length, tooltip: "Number of external APIs", diff --git a/extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx b/extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx index 8b8fe8f9f..c6d62ad63 100644 --- a/extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx +++ b/extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx @@ -101,6 +101,13 @@ export function DataExtensionsEditor({ INITIAL_HIDE_MODELED_APIS_VALUE, ); + useEffect(() => { + vscode.postMessage({ + t: "hideModeledApis", + hideModeledApis, + }); + }, [hideModeledApis]); + const [modeledMethods, setModeledMethods] = useState< Record >(initialModeledMethods); @@ -281,12 +288,7 @@ export function DataExtensionsEditor({ const onHideModeledApis = useCallback(() => { setHideModeledApis((oldHideModeledApis) => !oldHideModeledApis); - - vscode.postMessage({ - t: "hideModeledApis", - hideModeledApis: !hideModeledApis, - }); - }, [hideModeledApis]); + }, []); if (viewState === undefined || externalApiUsages.length === 0) { return Loading...;