Skip to content

Commit a1578a9

Browse files
committed
[ML] Fixing app clean up
1 parent 0390251 commit a1578a9

File tree

1 file changed

+30
-35
lines changed
  • x-pack/plugins/ml/public/application

1 file changed

+30
-35
lines changed

x-pack/plugins/ml/public/application/app.tsx

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -23,45 +23,16 @@ type MlDependencies = MlSetupDependencies & MlStartDependencies;
2323
interface AppProps {
2424
coreStart: CoreStart;
2525
deps: MlDependencies;
26-
appMountParams: AppMountParameters;
2726
}
2827

2928
const localStorage = new Storage(window.localStorage);
3029

31-
const App: FC<AppProps> = ({ coreStart, deps, appMountParams }) => {
32-
setDependencyCache({
33-
indexPatterns: deps.data.indexPatterns,
34-
timefilter: deps.data.query.timefilter,
35-
fieldFormats: deps.data.fieldFormats,
36-
autocomplete: deps.data.autocomplete,
37-
config: coreStart.uiSettings!,
38-
chrome: coreStart.chrome!,
39-
docLinks: coreStart.docLinks!,
40-
toastNotifications: coreStart.notifications.toasts,
41-
overlays: coreStart.overlays,
42-
recentlyAccessed: coreStart.chrome!.recentlyAccessed,
43-
basePath: coreStart.http.basePath,
44-
savedObjectsClient: coreStart.savedObjects.client,
45-
application: coreStart.application,
46-
http: coreStart.http,
47-
security: deps.security,
48-
urlGenerators: deps.share.urlGenerators,
49-
});
50-
51-
const mlLicense = setLicenseCache(deps.licensing);
52-
53-
appMountParams.onAppLeave(actions => {
54-
mlLicense.unsubscribe();
55-
clearCache();
56-
return actions.default();
57-
});
58-
30+
const App: FC<AppProps> = ({ coreStart, deps }) => {
5931
const pageDeps = {
6032
indexPatterns: deps.data.indexPatterns,
6133
config: coreStart.uiSettings!,
6234
setBreadcrumbs: coreStart.chrome!.setBreadcrumbs,
6335
};
64-
6536
const services = {
6637
appName: 'ML',
6738
data: deps.data,
@@ -85,10 +56,34 @@ export const renderApp = (
8556
deps: MlDependencies,
8657
appMountParams: AppMountParameters
8758
) => {
88-
ReactDOM.render(
89-
<App coreStart={coreStart} deps={deps} appMountParams={appMountParams} />,
90-
appMountParams.element
91-
);
59+
setDependencyCache({
60+
indexPatterns: deps.data.indexPatterns,
61+
timefilter: deps.data.query.timefilter,
62+
fieldFormats: deps.data.fieldFormats,
63+
autocomplete: deps.data.autocomplete,
64+
config: coreStart.uiSettings!,
65+
chrome: coreStart.chrome!,
66+
docLinks: coreStart.docLinks!,
67+
toastNotifications: coreStart.notifications.toasts,
68+
overlays: coreStart.overlays,
69+
recentlyAccessed: coreStart.chrome!.recentlyAccessed,
70+
basePath: coreStart.http.basePath,
71+
savedObjectsClient: coreStart.savedObjects.client,
72+
application: coreStart.application,
73+
http: coreStart.http,
74+
security: deps.security,
75+
urlGenerators: deps.share.urlGenerators,
76+
});
9277

93-
return () => ReactDOM.unmountComponentAtNode(appMountParams.element);
78+
const mlLicense = setLicenseCache(deps.licensing);
79+
80+
appMountParams.onAppLeave(actions => actions.default());
81+
82+
ReactDOM.render(<App coreStart={coreStart} deps={deps} />, appMountParams.element);
83+
84+
return () => {
85+
mlLicense.unsubscribe();
86+
clearCache();
87+
ReactDOM.unmountComponentAtNode(appMountParams.element);
88+
};
9489
};

0 commit comments

Comments
 (0)