Skip to content

Commit 85a1120

Browse files
Merge branch '7.6' into backport/7.6/pr-60246
2 parents 1906711 + 2eb7208 commit 85a1120

2 files changed

Lines changed: 25 additions & 7 deletions

File tree

src/legacy/core_plugins/data/public/plugin.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ import { DataPublicPluginStart } from '../../../../plugins/data/public';
2323

2424
import {
2525
setFieldFormats,
26-
setNotifications,
26+
setHttp,
2727
setIndexPatterns,
28+
setNotifications,
29+
setOverlays,
2830
setQueryService,
2931
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
3032
} from '../../../../plugins/data/public/services';
@@ -60,12 +62,17 @@ export class DataPlugin implements Plugin<void, DataStart, {}, DataPluginStartDe
6062
public setup(core: CoreSetup) {}
6163

6264
public start(core: CoreStart, { data }: DataPluginStartDependencies): DataStart {
63-
// This is required for when Angular code uses Field and FieldList.
65+
/**
66+
* We need to call all of the same setters in the legacy world, because instances
67+
* set in the new platform `data/public/services` are not accessible in legacy.
68+
* This can cause legacy code which relies on services utilizing these to fail.
69+
*/
70+
setHttp(core.http);
71+
setNotifications(core.notifications);
72+
setOverlays(core.overlays);
6473
setFieldFormats(data.fieldFormats);
65-
setQueryService(data.query);
6674
setIndexPatterns(data.indexPatterns);
67-
setFieldFormats(data.fieldFormats);
68-
setNotifications(core.notifications);
75+
setQueryService(data.query);
6976

7077
return {
7178
search: this.search.start(core),

src/plugins/data/public/plugin.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,14 @@ import { FieldFormatsService } from './field_formats_provider';
3232
import { QueryService } from './query';
3333
import { createIndexPatternSelect } from './ui/index_pattern_select';
3434
import { IndexPatterns } from './index_patterns';
35-
import { setNotifications, setFieldFormats, setOverlays, setIndexPatterns } from './services';
35+
import {
36+
setFieldFormats,
37+
setHttp,
38+
setIndexPatterns,
39+
setNotifications,
40+
setOverlays,
41+
setQueryService,
42+
} from './services';
3643
import { createFilterAction, GLOBAL_APPLY_FILTER_ACTION } from './actions';
3744
import { APPLY_FILTER_TRIGGER } from '../../embeddable/public';
3845
import { createSearchBar } from './ui/search_bar/create_search_bar';
@@ -72,21 +79,25 @@ export class DataPublicPlugin implements Plugin<DataPublicPluginSetup, DataPubli
7279
public start(core: CoreStart, { uiActions }: DataStartDependencies): DataPublicPluginStart {
7380
const { uiSettings, http, notifications, savedObjects, overlays } = core;
7481
const fieldFormats = this.fieldFormatsService.start();
82+
setHttp(http);
7583
setNotifications(notifications);
7684
setFieldFormats(fieldFormats);
7785
setOverlays(overlays);
7886

7987
const indexPatternsService = new IndexPatterns(uiSettings, savedObjects.client, http);
8088
setIndexPatterns(indexPatternsService);
8189

90+
const queryService = this.queryService.start(core.savedObjects);
91+
setQueryService(queryService);
92+
8293
uiActions.attachAction(APPLY_FILTER_TRIGGER, GLOBAL_APPLY_FILTER_ACTION);
8394

8495
const dataServices = {
8596
autocomplete: this.autocomplete,
8697
getSuggestions: getSuggestionsProvider(core.uiSettings, core.http),
8798
search: this.searchService.start(core),
8899
fieldFormats,
89-
query: this.queryService.start(core.savedObjects),
100+
query: queryService,
90101
indexPatterns: indexPatternsService,
91102
};
92103

0 commit comments

Comments
 (0)