@@ -23,45 +23,16 @@ type MlDependencies = MlSetupDependencies & MlStartDependencies;
2323interface AppProps {
2424 coreStart : CoreStart ;
2525 deps : MlDependencies ;
26- appMountParams : AppMountParameters ;
2726}
2827
2928const 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