Move post message and use effect

This commit is contained in:
Nora
2023-08-17 11:02:20 +00:00
parent 082268e201
commit 0824892507
3 changed files with 11 additions and 9 deletions

View File

@@ -49,8 +49,8 @@ export class ModelDetailsDataProvider
hideModeledApis?: boolean, hideModeledApis?: boolean,
): Promise<void> { ): Promise<void> {
if ( if (
externalApiUsages && externalApiUsages !== undefined &&
databaseItem && databaseItem !== undefined &&
(this.externalApiUsages !== externalApiUsages || (this.externalApiUsages !== externalApiUsages ||
this.databaseItem !== databaseItem) this.databaseItem !== databaseItem)
) { ) {

View File

@@ -33,7 +33,7 @@ export class ModelDetailsPanel extends DisposableObject {
databaseItem, databaseItem,
hideModeledApis, hideModeledApis,
); );
if (externalApiUsages) { if (externalApiUsages !== undefined) {
this.treeView.badge = { this.treeView.badge = {
value: externalApiUsages.length, value: externalApiUsages.length,
tooltip: "Number of external APIs", tooltip: "Number of external APIs",

View File

@@ -101,6 +101,13 @@ export function DataExtensionsEditor({
INITIAL_HIDE_MODELED_APIS_VALUE, INITIAL_HIDE_MODELED_APIS_VALUE,
); );
useEffect(() => {
vscode.postMessage({
t: "hideModeledApis",
hideModeledApis,
});
}, [hideModeledApis]);
const [modeledMethods, setModeledMethods] = useState< const [modeledMethods, setModeledMethods] = useState<
Record<string, ModeledMethod> Record<string, ModeledMethod>
>(initialModeledMethods); >(initialModeledMethods);
@@ -281,12 +288,7 @@ export function DataExtensionsEditor({
const onHideModeledApis = useCallback(() => { const onHideModeledApis = useCallback(() => {
setHideModeledApis((oldHideModeledApis) => !oldHideModeledApis); setHideModeledApis((oldHideModeledApis) => !oldHideModeledApis);
}, []);
vscode.postMessage({
t: "hideModeledApis",
hideModeledApis: !hideModeledApis,
});
}, [hideModeledApis]);
if (viewState === undefined || externalApiUsages.length === 0) { if (viewState === undefined || externalApiUsages.length === 0) {
return <LoadingContainer>Loading...</LoadingContainer>; return <LoadingContainer>Loading...</LoadingContainer>;