Skip to content

Commit 1a2d283

Browse files
committed
Merge remote-tracking branch 'upstream/master' into EUIfication/options/timelion
2 parents 21bd6d6 + 04ef735 commit 1a2d283

File tree

14 files changed

+63
-52
lines changed

14 files changed

+63
-52
lines changed

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,13 @@ import { CoreSetup, CoreStart, Plugin } from 'kibana/public';
2121
import { SearchService, SearchStart } from './search';
2222
import { DataPublicPluginStart } from '../../../../plugins/data/public';
2323

24-
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
25-
import { setFieldFormats } from '../../../../plugins/data/public/services';
24+
import {
25+
setFieldFormats,
26+
setNotifications,
27+
setIndexPatterns,
28+
setQueryService,
29+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
30+
} from '../../../../plugins/data/public/services';
2631

2732
export interface DataPluginStartDependencies {
2833
data: DataPublicPluginStart;
@@ -57,6 +62,10 @@ export class DataPlugin implements Plugin<void, DataStart, {}, DataPluginStartDe
5762
public start(core: CoreStart, { data }: DataPluginStartDependencies): DataStart {
5863
// This is required for when Angular code uses Field and FieldList.
5964
setFieldFormats(data.fieldFormats);
65+
setQueryService(data.query);
66+
setIndexPatterns(data.indexPatterns);
67+
setFieldFormats(data.fieldFormats);
68+
setNotifications(core.notifications);
6069

6170
return {
6271
search: this.search.start(core),

src/legacy/core_plugins/data/public/search/expressions/esaggs.ts

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,34 @@ import { get, has } from 'lodash';
2121
import { i18n } from '@kbn/i18n';
2222
import { AggConfigs } from 'ui/agg_types/agg_configs';
2323
import { createFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
24-
import chrome from 'ui/chrome';
25-
import { Query, TimeRange, esFilters } from 'src/plugins/data/public';
2624
import {
2725
KibanaContext,
2826
KibanaDatatable,
2927
ExpressionFunction,
3028
KibanaDatatableColumn,
3129
} from 'src/plugins/expressions/public';
32-
import { npStart } from 'ui/new_platform';
30+
import {
31+
Query,
32+
TimeRange,
33+
esFilters,
34+
getTime,
35+
FilterManager,
36+
} from '../../../../../../plugins/data/public';
3337
import {
3438
SearchSource,
3539
ISearchSource,
3640
getRequestInspectorStats,
3741
getResponseInspectorStats,
3842
} from '../../../../../ui/public/courier';
39-
// @ts-ignore
40-
import {
41-
FilterBarQueryFilterProvider,
42-
QueryFilter,
43-
} from '../../../../../ui/public/filter_manager/query_filter';
4443

4544
import { buildTabularInspectorData } from '../../../../../ui/public/inspector/build_tabular_inspector_data';
4645
import { calculateObjectHash } from '../../../../visualizations/public';
47-
import { getTime } from '../../../../../ui/public/timefilter';
4846
// @ts-ignore
4947
import { tabifyAggResponse } from '../../../../../ui/public/agg_response/tabify/tabify';
5048
import { PersistedState } from '../../../../../ui/public/persisted_state';
5149
import { Adapters } from '../../../../../../plugins/inspector/public';
50+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
51+
import { getQueryService, getIndexPatterns } from '../../../../../../plugins/data/public/services';
5252

5353
export interface RequestHandlerParams {
5454
searchSource: ISearchSource;
@@ -57,7 +57,7 @@ export interface RequestHandlerParams {
5757
query?: Query;
5858
filters?: esFilters.Filter[];
5959
forceFetch: boolean;
60-
queryFilter: QueryFilter;
60+
filterManager: FilterManager;
6161
uiState?: PersistedState;
6262
partialRows?: boolean;
6363
inspectorAdapters: Adapters;
@@ -90,7 +90,7 @@ const handleCourierRequest = async ({
9090
partialRows,
9191
metricsAtAllLevels,
9292
inspectorAdapters,
93-
queryFilter,
93+
filterManager,
9494
abortSignal,
9595
}: RequestHandlerParams) => {
9696
// Create a new search source that inherits the original search source
@@ -216,7 +216,7 @@ const handleCourierRequest = async ({
216216
}
217217

218218
inspectorAdapters.data.setTabularLoader(
219-
() => buildTabularInspectorData((searchSource as any).tabifiedResponse, queryFilter),
219+
() => buildTabularInspectorData((searchSource as any).tabifiedResponse, filterManager),
220220
{ returnsFormattedValues: true }
221221
);
222222

@@ -259,10 +259,8 @@ export const esaggs = (): ExpressionFunction<typeof name, Context, Arguments, Re
259259
},
260260
},
261261
async fn(context, args, { inspectorAdapters, abortSignal }) {
262-
const $injector = await chrome.dangerouslyGetActiveInjector();
263-
const Private: Function = $injector.get('Private');
264-
const { indexPatterns } = npStart.plugins.data;
265-
const queryFilter = Private(FilterBarQueryFilterProvider);
262+
const indexPatterns = getIndexPatterns();
263+
const { filterManager } = getQueryService();
266264

267265
const aggConfigsState = JSON.parse(args.aggConfigs);
268266
const indexPattern = await indexPatterns.get(args.index);
@@ -283,7 +281,7 @@ export const esaggs = (): ExpressionFunction<typeof name, Context, Arguments, Re
283281
metricsAtAllLevels: args.metricsAtAllLevels,
284282
partialRows: args.partialRows,
285283
inspectorAdapters,
286-
queryFilter,
284+
filterManager,
287285
abortSignal: (abortSignal as unknown) as AbortSignal,
288286
});
289287

src/legacy/core_plugins/data/public/search/fetch/components/shard_failure_open_modal_button.test.mocks.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,13 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19+
20+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
21+
import { setOverlays } from '../../../../../../../plugins/data/public/services';
22+
import { OverlayStart } from 'kibana/public';
23+
1924
export const openModal = jest.fn();
2025

21-
jest.doMock('ui/new_platform', () => {
22-
return {
23-
npStart: {
24-
core: {
25-
overlays: {
26-
openModal,
27-
},
28-
},
29-
},
30-
};
31-
});
26+
setOverlays(({
27+
openModal,
28+
} as unknown) as OverlayStart);

src/legacy/core_plugins/data/public/search/fetch/components/shard_failure_open_modal_button.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
* under the License.
1818
*/
1919
import React from 'react';
20-
// @ts-ignore
21-
import { npStart } from 'ui/new_platform';
2220
import { FormattedMessage } from '@kbn/i18n/react';
2321
import { EuiButton, EuiTextAlign } from '@elastic/eui';
2422

23+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
24+
import { getOverlays } from '../../../../../../../plugins/data/public/services';
2525
import { toMountPoint } from '../../../../../../../plugins/kibana_react/public';
2626
import { ShardFailureModal } from './shard_failure_modal';
2727
import { ResponseWithShardFailure, Request } from './shard_failure_types';
@@ -34,7 +34,7 @@ interface Props {
3434

3535
export function ShardFailureOpenModalButton({ request, response, title }: Props) {
3636
function onClick() {
37-
const modal = npStart.core.overlays.openModal(
37+
const modal = getOverlays().openModal(
3838
toMountPoint(
3939
<ShardFailureModal
4040
request={request}

src/legacy/core_plugins/data/public/search/fetch/handle_response.test.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@
1818
*/
1919

2020
import { handleResponse } from './handle_response';
21-
import { toastNotifications } from 'ui/notify/toasts';
2221

23-
jest.mock('ui/notify/toasts', () => {
24-
return {
25-
toastNotifications: {
26-
addWarning: jest.fn(),
27-
},
28-
};
29-
});
22+
// Temporary disable eslint, will be removed after moving to new platform folder
23+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
24+
import { notificationServiceMock } from '../../../../../../core/public/notifications/notifications_service.mock';
25+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
26+
import { setNotifications } from '../../../../../../plugins/data/public/services';
3027

3128
jest.mock('@kbn/i18n', () => {
3229
return {
@@ -37,8 +34,11 @@ jest.mock('@kbn/i18n', () => {
3734
});
3835

3936
describe('handleResponse', () => {
37+
const notifications = notificationServiceMock.createStartContract();
38+
4039
beforeEach(() => {
41-
(toastNotifications.addWarning as jest.Mock).mockReset();
40+
setNotifications(notifications);
41+
(notifications.toasts.addWarning as jest.Mock).mockReset();
4242
});
4343

4444
test('should notify if timed out', () => {
@@ -48,8 +48,8 @@ describe('handleResponse', () => {
4848
};
4949
const result = handleResponse(request, response);
5050
expect(result).toBe(response);
51-
expect(toastNotifications.addWarning).toBeCalled();
52-
expect((toastNotifications.addWarning as jest.Mock).mock.calls[0][0].title).toMatch(
51+
expect(notifications.toasts.addWarning).toBeCalled();
52+
expect((notifications.toasts.addWarning as jest.Mock).mock.calls[0][0].title).toMatch(
5353
'request timed out'
5454
);
5555
});
@@ -63,8 +63,8 @@ describe('handleResponse', () => {
6363
};
6464
const result = handleResponse(request, response);
6565
expect(result).toBe(response);
66-
expect(toastNotifications.addWarning).toBeCalled();
67-
expect((toastNotifications.addWarning as jest.Mock).mock.calls[0][0].title).toMatch(
66+
expect(notifications.toasts.addWarning).toBeCalled();
67+
expect((notifications.toasts.addWarning as jest.Mock).mock.calls[0][0].title).toMatch(
6868
'shards failed'
6969
);
7070
});

src/legacy/core_plugins/data/public/search/fetch/handle_response.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,16 @@
2020
import React from 'react';
2121
import { i18n } from '@kbn/i18n';
2222
import { EuiSpacer } from '@elastic/eui';
23-
import { toastNotifications } from 'ui/notify/toasts';
2423
import { ShardFailureOpenModalButton } from './components/shard_failure_open_modal_button';
2524
import { Request, ResponseWithShardFailure } from './components/shard_failure_types';
2625
import { SearchRequest, SearchResponse } from '../types';
2726
import { toMountPoint } from '../../../../../../plugins/kibana_react/public';
27+
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
28+
import { getNotifications } from '../../../../../../plugins/data/public/services';
2829

2930
export function handleResponse(request: SearchRequest, response: SearchResponse) {
3031
if (response.timed_out) {
31-
toastNotifications.addWarning({
32+
getNotifications().toasts.addWarning({
3233
title: i18n.translate('data.search.searchSource.fetch.requestTimedOutNotificationMessage', {
3334
defaultMessage: 'Data might be incomplete because your request timed out',
3435
}),
@@ -62,7 +63,7 @@ export function handleResponse(request: SearchRequest, response: SearchResponse)
6263
</>
6364
);
6465

65-
toastNotifications.addWarning({ title, text });
66+
getNotifications().toasts.addWarning({ title, text });
6667
}
6768

6869
return response;

src/legacy/core_plugins/data/public/search/search_source/search_source.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@
7272
import _ from 'lodash';
7373
import { npSetup } from 'ui/new_platform';
7474
import chrome from 'ui/chrome';
75-
import { fieldWildcardFilter } from 'ui/field_wildcard';
7675
import { normalizeSortRequest } from './normalize_sort_request';
7776
import { fetchSoon } from '../fetch';
77+
import { fieldWildcardFilter } from '../../../../../../plugins/kibana_utils/public';
7878
import { getHighlightRequest, esFilters, esQuery } from '../../../../../../plugins/data/public';
7979
import { RequestFailure } from '../fetch/errors';
8080
import { filterDocvalueFields } from './filter_docvalue_fields';

src/legacy/core_plugins/kibana/public/management/sections/index_patterns/edit_index_pattern/edit_index_pattern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { fatalError, toastNotifications } from 'ui/notify';
2727
import uiRoutes from 'ui/routes';
2828
import { uiModules } from 'ui/modules';
2929
import template from './edit_index_pattern.html';
30-
import { fieldWildcardMatcher } from 'ui/field_wildcard';
30+
import { fieldWildcardMatcher } from '../../../../../../../../plugins/kibana_utils/public';
3131
import { setup as managementSetup } from '../../../../../../management/public/legacy';
3232
import React from 'react';
3333
import { render, unmountComponentAtNode } from 'react-dom';

src/plugins/dashboard_embeddable_container/public/embeddable/grid/_dashboard_grid.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Cpolygon fill='#{hexToRGB($euiColorDarkShade)}' points='6 6 0 6 0 4.2 4 4.2 4.2 4.2 4.2 0 6 0' /%3E%3C/svg%3E%0A");
7575

7676
&::after {
77-
border: none;
77+
border: none !important; /** overrides library default visual indicator **/
7878
}
7979

8080
&:hover,

src/plugins/data/public/services.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { CoreStart } from 'kibana/public';
2222
import { FieldFormatsStart } from '.';
2323
import { createGetterSetter } from '../../kibana_utils/public';
2424
import { IndexPatternsContract } from './index_patterns';
25+
import { DataPublicPluginStart } from './types';
2526

2627
export const [getNotifications, setNotifications] = createGetterSetter<NotificationsStart>(
2728
'Notifications'
@@ -36,3 +37,7 @@ export const [getOverlays, setOverlays] = createGetterSetter<CoreStart['overlays
3637
export const [getIndexPatterns, setIndexPatterns] = createGetterSetter<IndexPatternsContract>(
3738
'IndexPatterns'
3839
);
40+
41+
export const [getQueryService, setQueryService] = createGetterSetter<
42+
DataPublicPluginStart['query']
43+
>('Query');

0 commit comments

Comments
 (0)