Skip to content

Commit 083f08c

Browse files
authored
Merge pull request #1627 from merico-dev/fix-destroy-created-viz-componest-after-model-recreated
fix(dashboard): destroy created viz components after model recreation
2 parents 17882de + 0082a1b commit 083f08c

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

dashboard/src/components/plugins/service/use-top-level-services.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ import { IPluginContextProps, tokens } from '~/components/plugins';
33
import { IServiceLocator } from '~/components/plugins/service/service-locator';
44

55
export function useTopLevelServices(pluginContext: IPluginContextProps) {
6-
return React.useCallback((services: IServiceLocator) => {
7-
return services
8-
.provideValue(tokens.pluginManager, pluginContext.pluginManager)
9-
.provideValue(tokens.vizManager, pluginContext.vizManager)
10-
.provideValue(tokens.panelAddonManager, pluginContext.panelAddonManager)
11-
.provideValue(tokens.colorManager, pluginContext.colorManager);
12-
}, []);
6+
return React.useCallback(
7+
(services: IServiceLocator) => {
8+
return services
9+
.provideValue(tokens.pluginManager, pluginContext.pluginManager)
10+
.provideValue(tokens.vizManager, pluginContext.vizManager)
11+
.provideValue(tokens.panelAddonManager, pluginContext.panelAddonManager)
12+
.provideValue(tokens.colorManager, pluginContext.colorManager);
13+
},
14+
[pluginContext],
15+
);
1316
}

dashboard/src/dashboard-render/dashboard-render.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ const _ReadOnlyDashboard = ({
7676
filterValues ?? {},
7777
activeTab ?? null,
7878
),
79-
[dashboard, content, activeTab],
79+
[dashboard, content],
8080
);
8181
useInteractionOperationHacks(model.content, false);
8282

@@ -113,7 +113,7 @@ const _ReadOnlyDashboard = ({
113113
}
114114
}, [activeTab, model.content.views.setFirstVisibleTabsViewActiveTab]);
115115

116-
const pluginContext = useCreation(createPluginContext, []);
116+
const pluginContext = useCreation(createPluginContext, [model]);
117117
const configureServices = useTopLevelServices(pluginContext);
118118

119119
useWhyDidYouUpdate('@devtable/dashboard render', {

0 commit comments

Comments
 (0)