mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Move saved queries service + language switcher ⇒ NP (#51812)
* Move saved queries service + language switcher to NP * test fixes * test fix * fix ts * mock search service
This commit is contained in:
parent
85d438cb03
commit
bbd517b3ca
39 changed files with 131 additions and 120 deletions
|
@ -20,7 +20,7 @@
|
|||
import { resolve } from 'path';
|
||||
import { Legacy } from '../../../../kibana';
|
||||
import { mappings } from './mappings';
|
||||
import { SavedQuery } from './public';
|
||||
import { SavedQuery } from '../../../plugins/data/public';
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default function DataPlugin(kibana: any) {
|
||||
|
|
|
@ -38,7 +38,12 @@ export {
|
|||
StaticIndexPattern,
|
||||
} from './index_patterns';
|
||||
export { QueryStringInput } from './query';
|
||||
export { SearchBar, SearchBarProps, SavedQueryAttributes, SavedQuery } from './search';
|
||||
export { SearchBar, SearchBarProps } from './search';
|
||||
export {
|
||||
SavedQueryAttributes,
|
||||
SavedQuery,
|
||||
SavedQueryTimeFilter,
|
||||
} from '../../../../plugins/data/public';
|
||||
|
||||
/** @public static code */
|
||||
export * from '../common';
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
import { CoreSetup, CoreStart, Plugin } from 'kibana/public';
|
||||
import { SearchService, SearchStart, createSearchBar, StatetfulSearchBarProps } from './search';
|
||||
import { createSearchBar, StatetfulSearchBarProps } from './search';
|
||||
import { IndexPatternsService, IndexPatternsSetup, IndexPatternsStart } from './index_patterns';
|
||||
import { Storage, IStorageWrapper } from '../../../../../src/plugins/kibana_utils/public';
|
||||
import { DataPublicPluginStart } from '../../../../plugins/data/public';
|
||||
|
@ -51,7 +51,6 @@ export interface DataSetup {
|
|||
*/
|
||||
export interface DataStart {
|
||||
indexPatterns: IndexPatternsStart;
|
||||
search: SearchStart;
|
||||
ui: {
|
||||
SearchBar: React.ComponentType<StatetfulSearchBarProps>;
|
||||
};
|
||||
|
@ -71,7 +70,6 @@ export interface DataStart {
|
|||
|
||||
export class DataPlugin implements Plugin<DataSetup, DataStart, {}, DataPluginStartDependencies> {
|
||||
private readonly indexPatterns: IndexPatternsService = new IndexPatternsService();
|
||||
private readonly search: SearchService = new SearchService();
|
||||
|
||||
private setupApi!: DataSetup;
|
||||
private storage!: IStorageWrapper;
|
||||
|
@ -119,7 +117,6 @@ export class DataPlugin implements Plugin<DataSetup, DataStart, {}, DataPluginSt
|
|||
return {
|
||||
...this.setupApi!,
|
||||
indexPatterns: indexPatternsService,
|
||||
search: this.search.start(savedObjects.client),
|
||||
ui: {
|
||||
SearchBar,
|
||||
},
|
||||
|
@ -128,6 +125,5 @@ export class DataPlugin implements Plugin<DataSetup, DataStart, {}, DataPluginSt
|
|||
|
||||
public stop() {
|
||||
this.indexPatterns.stop();
|
||||
this.search.stop();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ import {
|
|||
|
||||
import { EuiFieldText } from '@elastic/eui';
|
||||
import React from 'react';
|
||||
import { QueryLanguageSwitcher } from './language_switcher';
|
||||
import { QueryLanguageSwitcher } from '../../../../../../../plugins/data/public';
|
||||
import { QueryStringInput, QueryStringInputUI } from './query_string_input';
|
||||
import { coreMock } from '../../../../../../../core/public/mocks';
|
||||
const startMock = coreMock.createStart();
|
||||
|
|
|
@ -46,13 +46,13 @@ import {
|
|||
matchPairs,
|
||||
getQueryLog,
|
||||
Query,
|
||||
QueryLanguageSwitcher,
|
||||
} from '../../../../../../../plugins/data/public';
|
||||
import {
|
||||
withKibana,
|
||||
KibanaReactContextValue,
|
||||
toMountPoint,
|
||||
} from '../../../../../../../plugins/kibana_react/public';
|
||||
import { QueryLanguageSwitcher } from './language_switcher';
|
||||
import { fetchIndexPatterns } from './fetch_index_patterns';
|
||||
|
||||
interface Props {
|
||||
|
|
|
@ -17,5 +17,4 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
export * from './search_service';
|
||||
export * from './search_bar';
|
||||
|
|
|
@ -35,8 +35,11 @@ import {
|
|||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { sortBy, isEqual } from 'lodash';
|
||||
import { SavedQuery, SavedQueryAttributes } from '../../index';
|
||||
import { SavedQueryService } from '../../lib/saved_query_service';
|
||||
import {
|
||||
SavedQuery,
|
||||
SavedQueryAttributes,
|
||||
SavedQueryService,
|
||||
} from '../../../../../../../../plugins/data/public';
|
||||
|
||||
interface Props {
|
||||
savedQuery?: SavedQueryAttributes;
|
||||
|
|
|
@ -22,7 +22,7 @@ import { EuiListGroupItem, EuiConfirmModal, EuiOverlayMask, EuiIconTip } from '@
|
|||
import React, { Fragment, useState } from 'react';
|
||||
import classNames from 'classnames';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { SavedQuery } from '../../index';
|
||||
import { SavedQuery } from '../../../../../../../../plugins/data/public';
|
||||
|
||||
interface Props {
|
||||
savedQuery: SavedQuery;
|
||||
|
|
|
@ -35,8 +35,7 @@ import {
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import React, { FunctionComponent, useEffect, useState, Fragment } from 'react';
|
||||
import { sortBy } from 'lodash';
|
||||
import { SavedQuery } from '../../index';
|
||||
import { SavedQueryService } from '../../lib/saved_query_service';
|
||||
import { SavedQuery, SavedQueryService } from '../../../../../../../../plugins/data/public';
|
||||
import { SavedQueryListItem } from './saved_query_list_item';
|
||||
|
||||
const perPage = 50;
|
||||
|
|
|
@ -38,6 +38,7 @@ const mockTimeHistory = {
|
|||
jest.mock('../../../../../../../plugins/data/public', () => {
|
||||
return {
|
||||
FilterBar: () => <div className="filterBar" />,
|
||||
createSavedQueryService: () => {},
|
||||
};
|
||||
});
|
||||
|
||||
|
|
|
@ -26,11 +26,9 @@ import { get, isEqual } from 'lodash';
|
|||
|
||||
import { IndexPattern } from '../../../../../data/public';
|
||||
import { QueryBarTopRow } from '../../../query';
|
||||
import { SavedQuery, SavedQueryAttributes } from '../index';
|
||||
import { SavedQueryMeta, SaveQueryForm } from './saved_query_management/save_query_form';
|
||||
import { SavedQueryManagementComponent } from './saved_query_management/saved_query_management_component';
|
||||
import { SavedQueryService } from '../lib/saved_query_service';
|
||||
import { createSavedQueryService } from '../lib/saved_query_service';
|
||||
|
||||
import {
|
||||
withKibana,
|
||||
KibanaReactContextValue,
|
||||
|
@ -42,6 +40,10 @@ import {
|
|||
esFilters,
|
||||
TimeHistoryContract,
|
||||
FilterBar,
|
||||
SavedQueryService,
|
||||
createSavedQueryService,
|
||||
SavedQuery,
|
||||
SavedQueryAttributes,
|
||||
} from '../../../../../../../plugins/data/public';
|
||||
|
||||
interface SearchBarInjectedDeps {
|
||||
|
|
|
@ -17,23 +17,4 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { RefreshInterval, TimeRange, Query, esFilters } from 'src/plugins/data/public';
|
||||
|
||||
export * from './components';
|
||||
|
||||
export type SavedQueryTimeFilter = TimeRange & {
|
||||
refreshInterval: RefreshInterval;
|
||||
};
|
||||
|
||||
export interface SavedQuery {
|
||||
id: string;
|
||||
attributes: SavedQueryAttributes;
|
||||
}
|
||||
|
||||
export interface SavedQueryAttributes {
|
||||
title: string;
|
||||
description: string;
|
||||
query: Query;
|
||||
filters?: esFilters.Filter[];
|
||||
timefilter?: SavedQueryTimeFilter;
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ export interface RenderDeps {
|
|||
uiSettings: UiSettingsClientContract;
|
||||
chrome: ChromeStart;
|
||||
addBasePath: (path: string) => string;
|
||||
savedQueryService: DataStart['search']['services']['savedQueryService'];
|
||||
savedQueryService: NpDataStart['query']['savedQueries'];
|
||||
embeddables: IEmbeddableStart;
|
||||
localStorage: Storage;
|
||||
share: SharePluginStart;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { StaticIndexPattern, SavedQuery } from 'plugins/data';
|
||||
import { StaticIndexPattern } from 'plugins/data';
|
||||
import moment from 'moment';
|
||||
import { Subscription } from 'rxjs';
|
||||
|
||||
|
@ -31,7 +31,7 @@ import {
|
|||
import { ViewMode } from '../../../embeddable_api/public/np_ready/public';
|
||||
import { SavedObjectDashboard } from './saved_dashboard/saved_dashboard';
|
||||
import { DashboardAppState, SavedDashboardPanel, ConfirmModalFn } from './types';
|
||||
import { TimeRange, Query, esFilters } from '../../../../../../src/plugins/data/public';
|
||||
import { TimeRange, Query, esFilters, SavedQuery } from '../../../../../../src/plugins/data/public';
|
||||
|
||||
import { DashboardAppController } from './dashboard_app_controller';
|
||||
import { RenderDeps } from './application';
|
||||
|
|
|
@ -38,8 +38,8 @@ import {
|
|||
SavedObjectFinder,
|
||||
unhashUrl,
|
||||
} from './legacy_imports';
|
||||
import { FilterStateManager, IndexPattern, SavedQuery } from '../../../data/public';
|
||||
import { Query } from '../../../../../plugins/data/public';
|
||||
import { FilterStateManager, IndexPattern } from '../../../data/public';
|
||||
import { Query, SavedQuery } from '../../../../../plugins/data/public';
|
||||
|
||||
import './dashboard_empty_screen_directive';
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ export class DashboardPlugin implements Plugin {
|
|||
chrome: contextCore.chrome,
|
||||
addBasePath: contextCore.http.basePath.prepend,
|
||||
uiSettings: contextCore.uiSettings,
|
||||
savedQueryService: dataStart.search.services.savedQueryService,
|
||||
savedQueryService: npDataStart.query.savedQueries,
|
||||
embeddables,
|
||||
dashboardCapabilities: contextCore.application.capabilities.dashboard,
|
||||
localStorage: new Storage(localStorage),
|
||||
|
|
|
@ -68,16 +68,17 @@ const {
|
|||
share,
|
||||
StateProvider,
|
||||
timefilter,
|
||||
npData,
|
||||
toastNotifications,
|
||||
uiModules,
|
||||
uiRoutes,
|
||||
} = getServices();
|
||||
|
||||
import { getRootBreadcrumbs, getSavedSearchBreadcrumbs } from '../breadcrumbs';
|
||||
import { start as data } from '../../../../data/public/legacy';
|
||||
import { generateFilters } from '../../../../../../plugins/data/public';
|
||||
import { start as data } from '../../../../data/public/legacy';
|
||||
|
||||
const { savedQueryService } = data.search.services;
|
||||
const savedQueryService = npData.query.savedQueries;
|
||||
|
||||
const fetchStatuses = {
|
||||
UNINITIALIZED: 'uninitialized',
|
||||
|
|
|
@ -34,7 +34,6 @@ import { StateProvider } from 'ui/state_management/state';
|
|||
import { SavedObjectProvider } from 'ui/saved_objects/saved_object';
|
||||
import { SavedObjectRegistryProvider } from 'ui/saved_objects/saved_object_registry';
|
||||
import { FilterBarQueryFilterProvider } from 'ui/filter_manager/query_filter';
|
||||
import { timefilter } from 'ui/timefilter';
|
||||
// @ts-ignore
|
||||
import { IndexPattern, IndexPatterns } from 'ui/index_patterns';
|
||||
import { wrapInI18nContext } from 'ui/i18n';
|
||||
|
@ -58,7 +57,9 @@ const services = {
|
|||
uiSettings: npStart.core.uiSettings,
|
||||
uiActions: npStart.plugins.uiActions,
|
||||
embeddable: npStart.plugins.embeddable,
|
||||
npData: npStart.plugins.data,
|
||||
share: npStart.plugins.share,
|
||||
timefilter: npStart.plugins.data.query.timefilter.timefilter,
|
||||
// legacy
|
||||
docTitle,
|
||||
docViewsRegistry,
|
||||
|
@ -70,7 +71,6 @@ const services = {
|
|||
SavedObjectProvider,
|
||||
SearchSource,
|
||||
StateProvider,
|
||||
timefilter,
|
||||
uiModules,
|
||||
uiRoutes,
|
||||
wrapInI18nContext,
|
||||
|
|
|
@ -54,19 +54,20 @@ const {
|
|||
capabilities,
|
||||
chrome,
|
||||
chromeLegacy,
|
||||
npData,
|
||||
data,
|
||||
docTitle,
|
||||
FilterBarQueryFilterProvider,
|
||||
getBasePath,
|
||||
toastNotifications,
|
||||
timefilter,
|
||||
uiModules,
|
||||
uiRoutes,
|
||||
visualizations,
|
||||
share,
|
||||
} = getServices();
|
||||
|
||||
const { savedQueryService } = data.search.services;
|
||||
const savedQueryService = npData.query.savedQueries;
|
||||
const { timefilter } = npData.query.timefilter;
|
||||
|
||||
uiRoutes
|
||||
.when(VisualizeConstants.CREATE_PATH, {
|
||||
|
|
|
@ -36,7 +36,6 @@ import { wrapInI18nContext } from 'ui/i18n';
|
|||
// @ts-ignore
|
||||
import { uiModules } from 'ui/modules';
|
||||
import { FeatureCatalogueRegistryProvider } from 'ui/registry/feature_catalogue';
|
||||
import { timefilter } from 'ui/timefilter';
|
||||
|
||||
// Saved objects
|
||||
import { SavedObjectsClientProvider } from 'ui/saved_objects';
|
||||
|
@ -46,8 +45,8 @@ import { SavedObjectRegistryProvider } from 'ui/saved_objects/saved_object_regis
|
|||
|
||||
import { createUiStatsReporter, METRIC_TYPE } from '../../../ui_metric/public';
|
||||
import { start as visualizations } from '../../../visualizations/public/np_ready/public/legacy';
|
||||
import { start as data } from '../../../data/public/legacy';
|
||||
import { start as embeddables } from '../../../../core_plugins/embeddable_api/public/np_ready/public/legacy';
|
||||
import { start as data } from '../../../data/public/legacy';
|
||||
|
||||
const services = {
|
||||
// new platform
|
||||
|
@ -63,6 +62,7 @@ const services = {
|
|||
core: npStart.core,
|
||||
|
||||
share: npStart.plugins.share,
|
||||
npData: npStart.plugins.data,
|
||||
data,
|
||||
embeddables,
|
||||
visualizations,
|
||||
|
@ -78,7 +78,7 @@ const services = {
|
|||
SavedObjectProvider,
|
||||
SavedObjectRegistryProvider,
|
||||
SavedObjectsClientProvider,
|
||||
timefilter,
|
||||
timefilter: npStart.plugins.data.query.timefilter.timefilter,
|
||||
uiModules,
|
||||
uiRoutes,
|
||||
wrapInI18nContext,
|
||||
|
|
|
@ -80,6 +80,14 @@ export const npSetup = {
|
|||
timefilter: sinon.fake(),
|
||||
history: sinon.fake(),
|
||||
},
|
||||
savedQueries: {
|
||||
saveQuery: sinon.fake(),
|
||||
getAllSavedQueries: sinon.fake(),
|
||||
findSavedQueries: sinon.fake(),
|
||||
getSavedQuery: sinon.fake(),
|
||||
deleteSavedQuery: sinon.fake(),
|
||||
getSavedQueryCount: sinon.fake(),
|
||||
}
|
||||
},
|
||||
fieldFormats: getFieldFormatsRegistry(mockUiSettings),
|
||||
},
|
||||
|
|
|
@ -59,7 +59,7 @@ export class DataPublicPlugin implements Plugin<DataPublicPluginSetup, DataPubli
|
|||
getSuggestions: getSuggestionsProvider(core.uiSettings, core.http),
|
||||
search: this.searchService.start(core),
|
||||
fieldFormats: this.fieldFormatsService.start(),
|
||||
query: this.queryService.start(),
|
||||
query: this.queryService.start(core.savedObjects),
|
||||
ui: {
|
||||
IndexPatternSelect: createIndexPatternSelect(core.savedObjects.client),
|
||||
},
|
||||
|
|
|
@ -21,7 +21,6 @@ export * from './lib';
|
|||
|
||||
export * from './query_service';
|
||||
export * from './filter_manager';
|
||||
|
||||
export * from './timefilter';
|
||||
|
||||
export * from './saved_query';
|
||||
export * from './persisted_log';
|
||||
|
|
|
@ -35,6 +35,7 @@ const createStartContractMock = () => {
|
|||
const startContract = {
|
||||
filterManager: jest.fn() as any,
|
||||
timefilter: timefilterServiceMock.createStartContract(),
|
||||
savedQueries: jest.fn() as any,
|
||||
};
|
||||
|
||||
return startContract;
|
||||
|
|
|
@ -17,10 +17,11 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { UiSettingsClientContract } from 'src/core/public';
|
||||
import { CoreStart } from 'src/core/public';
|
||||
import { IStorageWrapper } from 'src/plugins/kibana_utils/public';
|
||||
import { FilterManager } from './filter_manager';
|
||||
import { TimefilterService, TimefilterSetup } from './timefilter';
|
||||
import { createSavedQueryService } from './saved_query/saved_query_service';
|
||||
|
||||
/**
|
||||
* Query Service
|
||||
|
@ -29,9 +30,8 @@ import { TimefilterService, TimefilterSetup } from './timefilter';
|
|||
|
||||
export interface QueryServiceDependencies {
|
||||
storage: IStorageWrapper;
|
||||
uiSettings: UiSettingsClientContract;
|
||||
uiSettings: CoreStart['uiSettings'];
|
||||
}
|
||||
|
||||
export class QueryService {
|
||||
filterManager!: FilterManager;
|
||||
timefilter!: TimefilterSetup;
|
||||
|
@ -51,10 +51,11 @@ export class QueryService {
|
|||
};
|
||||
}
|
||||
|
||||
public start() {
|
||||
public start(savedObjects: CoreStart['savedObjects']) {
|
||||
return {
|
||||
filterManager: this.filterManager,
|
||||
timefilter: this.timefilter,
|
||||
savedQueries: createSavedQueryService(savedObjects.client),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -17,30 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { SavedObjectsClientContract } from 'src/core/public';
|
||||
import { createSavedQueryService } from './search_bar/lib/saved_query_service';
|
||||
|
||||
/**
|
||||
* Search Service
|
||||
* @internal
|
||||
*/
|
||||
|
||||
export class SearchService {
|
||||
public setup() {
|
||||
// Service requires index patterns, which are only available in `start`
|
||||
}
|
||||
|
||||
public start(savedObjectsClient: SavedObjectsClientContract) {
|
||||
return {
|
||||
services: {
|
||||
savedQueryService: createSavedQueryService(savedObjectsClient),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
public stop() {}
|
||||
}
|
||||
|
||||
/** @public */
|
||||
|
||||
export type SearchStart = ReturnType<SearchService['start']>;
|
||||
export { SavedQuery, SavedQueryAttributes, SavedQueryService, SavedQueryTimeFilter } from './types';
|
||||
export { createSavedQueryService } from './saved_query_service';
|
|
@ -17,9 +17,8 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { SavedQueryAttributes } from '../index';
|
||||
import { createSavedQueryService } from './saved_query_service';
|
||||
import { esFilters } from '../../../../../../../plugins/data/public';
|
||||
import { esFilters, SavedQueryAttributes } from '../..';
|
||||
|
||||
const savedQueryAttributes: SavedQueryAttributes = {
|
||||
title: 'foo',
|
|
@ -17,9 +17,8 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { SavedObjectAttributes } from 'src/core/server';
|
||||
import { SavedObjectsClientContract } from 'src/core/public';
|
||||
import { SavedQueryAttributes, SavedQuery } from '../index';
|
||||
import { SavedObjectsClientContract, SavedObjectAttributes } from 'src/core/public';
|
||||
import { SavedQueryAttributes, SavedQuery, SavedQueryService } from './types';
|
||||
|
||||
type SerializedSavedQueryAttributes = SavedObjectAttributes &
|
||||
SavedQueryAttributes & {
|
||||
|
@ -29,22 +28,6 @@ type SerializedSavedQueryAttributes = SavedObjectAttributes &
|
|||
};
|
||||
};
|
||||
|
||||
export interface SavedQueryService {
|
||||
saveQuery: (
|
||||
attributes: SavedQueryAttributes,
|
||||
config?: { overwrite: boolean }
|
||||
) => Promise<SavedQuery>;
|
||||
getAllSavedQueries: () => Promise<SavedQuery[]>;
|
||||
findSavedQueries: (
|
||||
searchText?: string,
|
||||
perPage?: number,
|
||||
activePage?: number
|
||||
) => Promise<SavedQuery[]>;
|
||||
getSavedQuery: (id: string) => Promise<SavedQuery>;
|
||||
deleteSavedQuery: (id: string) => Promise<{}>;
|
||||
getSavedQueryCount: () => Promise<number>;
|
||||
}
|
||||
|
||||
export const createSavedQueryService = (
|
||||
savedObjectsClient: SavedObjectsClientContract
|
||||
): SavedQueryService => {
|
53
src/plugins/data/public/query/saved_query/types.ts
Normal file
53
src/plugins/data/public/query/saved_query/types.ts
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { RefreshInterval, TimeRange, Query, esFilters } from '../..';
|
||||
|
||||
export type SavedQueryTimeFilter = TimeRange & {
|
||||
refreshInterval: RefreshInterval;
|
||||
};
|
||||
|
||||
export interface SavedQuery {
|
||||
id: string;
|
||||
attributes: SavedQueryAttributes;
|
||||
}
|
||||
|
||||
export interface SavedQueryAttributes {
|
||||
title: string;
|
||||
description: string;
|
||||
query: Query;
|
||||
filters?: esFilters.Filter[];
|
||||
timefilter?: SavedQueryTimeFilter;
|
||||
}
|
||||
|
||||
export interface SavedQueryService {
|
||||
saveQuery: (
|
||||
attributes: SavedQueryAttributes,
|
||||
config?: { overwrite: boolean }
|
||||
) => Promise<SavedQuery>;
|
||||
getAllSavedQueries: () => Promise<SavedQuery[]>;
|
||||
findSavedQueries: (
|
||||
searchText?: string,
|
||||
perPage?: number,
|
||||
activePage?: number
|
||||
) => Promise<SavedQuery[]>;
|
||||
getSavedQuery: (id: string) => Promise<SavedQuery>;
|
||||
deleteSavedQuery: (id: string) => Promise<{}>;
|
||||
getSavedQueryCount: () => Promise<number>;
|
||||
}
|
|
@ -21,3 +21,5 @@ export { SuggestionsComponent } from './typeahead/suggestions_component';
|
|||
export { IndexPatternSelect } from './index_pattern_select';
|
||||
export { FilterBar } from './filter_bar';
|
||||
export { applyFiltersPopover } from './apply_filters';
|
||||
// temp export
|
||||
export { QueryLanguageSwitcher } from './query_string_input/language_switcher';
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import React from 'react';
|
||||
import { QueryLanguageSwitcher } from './language_switcher';
|
||||
import { KibanaContextProvider } from 'src/plugins/kibana_react/public';
|
||||
import { coreMock } from '../../../../../../../core/public/mocks';
|
||||
import { coreMock } from '../../../../../core/public/mocks';
|
||||
import { mountWithIntl } from 'test_utils/enzyme_helpers';
|
||||
const startMock = coreMock.createStart();
|
||||
|
|
@ -31,7 +31,7 @@ import {
|
|||
} from '@elastic/eui';
|
||||
import { FormattedMessage } from '@kbn/i18n/react';
|
||||
import React, { useState } from 'react';
|
||||
import { useKibana } from '../../../../../../../plugins/kibana_react/public';
|
||||
import { useKibana } from '../../../../kibana_react/public';
|
||||
|
||||
interface Props {
|
||||
language: string;
|
|
@ -53,11 +53,10 @@ import {
|
|||
MAP_SAVED_OBJECT_TYPE,
|
||||
MAP_APP_PATH
|
||||
} from '../../common/constants';
|
||||
import { start as data } from '../../../../../../src/legacy/core_plugins/data/public/legacy';
|
||||
import { npStart } from 'ui/new_platform';
|
||||
import { esFilters } from '../../../../../../src/plugins/data/public';
|
||||
|
||||
const { savedQueryService } = data.search.services;
|
||||
const savedQueryService = npStart.plugins.data.query.savedQueries;
|
||||
|
||||
const REACT_ANCHOR_DOM_ELEMENT_ID = 'react-maps-root';
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@ import {
|
|||
Query,
|
||||
TimeHistory,
|
||||
TimeRange,
|
||||
SavedQueryTimeFilter,
|
||||
} from '../../../../../../../src/plugins/data/public';
|
||||
import { SavedQueryTimeFilter } from '../../../../../../../src/legacy/core_plugins/data/public/search';
|
||||
import { Storage } from '../../../../../../../src/plugins/kibana_utils/public';
|
||||
|
||||
export interface QueryBarComponentProps {
|
||||
|
|
|
@ -38,11 +38,10 @@ import { TimeRange, Query, esFilters } from '../../../../../../../src/plugins/da
|
|||
|
||||
const {
|
||||
ui: { SearchBar },
|
||||
search,
|
||||
} = data;
|
||||
|
||||
export const siemFilterManager = npStart.plugins.data.query.filterManager;
|
||||
export const savedQueryService = search.services.savedQueryService;
|
||||
export const savedQueryService = npStart.plugins.data.query.savedQueries;
|
||||
|
||||
interface SiemSearchBarRedux {
|
||||
end: number;
|
||||
|
|
|
@ -9,9 +9,13 @@ import React, { memo, useCallback, useState, useEffect } from 'react';
|
|||
import { StaticIndexPattern } from 'ui/index_patterns';
|
||||
import { Subscription } from 'rxjs';
|
||||
|
||||
import { SavedQueryTimeFilter } from '../../../../../../../../src/legacy/core_plugins/data/public/search';
|
||||
import { SavedQuery } from '../../../../../../../../src/legacy/core_plugins/data/public';
|
||||
import { Query, esFilters, FilterManager } from '../../../../../../../../src/plugins/data/public';
|
||||
import {
|
||||
Query,
|
||||
esFilters,
|
||||
FilterManager,
|
||||
SavedQuery,
|
||||
SavedQueryTimeFilter,
|
||||
} from '../../../../../../../../src/plugins/data/public';
|
||||
|
||||
import { BrowserFields } from '../../../containers/source';
|
||||
import { convertKueryToElasticSearchQuery } from '../../../lib/keury';
|
||||
|
|
|
@ -11,12 +11,12 @@ import { StaticIndexPattern } from 'ui/index_patterns';
|
|||
import { Subscription } from 'rxjs';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { SavedQueryTimeFilter } from '../../../../../../../../../../src/legacy/core_plugins/data/public/search';
|
||||
import { SavedQuery } from '../../../../../../../../../../src/legacy/core_plugins/data/public';
|
||||
import {
|
||||
esFilters,
|
||||
Query,
|
||||
FilterManager,
|
||||
SavedQuery,
|
||||
SavedQueryTimeFilter,
|
||||
} from '../../../../../../../../../../src/plugins/data/public';
|
||||
|
||||
import { QueryBar } from '../../../../../components/query_bar';
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useState, useEffect } from 'react';
|
|||
import {
|
||||
SavedQueryService,
|
||||
createSavedQueryService,
|
||||
} from '../../../../../../../src/legacy/core_plugins/data/public/search/search_bar/lib/saved_query_service';
|
||||
} from '../../../../../../../src/plugins/data/public';
|
||||
|
||||
import { useKibanaCore } from '../../lib/compose/kibana_core';
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue