diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md
index 58690300b3bd6..d0d4cc491e142 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md
@@ -7,5 +7,5 @@
Signature:
```typescript
-QueryStringInput: React.FC>
+QueryStringInput: React.FC>
```
diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md
index 5cdf938a9e47f..89c5ca800a4d4 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md
@@ -7,7 +7,7 @@
Signature:
```typescript
-SearchBar: React.ComponentClass, "query" | "isLoading" | "indexPatterns" | "filters" | "onQueryChange" | "customSubmitButton" | "screenTitle" | "dataTestSubj" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "refreshInterval" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
- WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>;
+SearchBar: React.ComponentClass, "query" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
+ WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>;
}
```
diff --git a/src/dev/jest/config.js b/src/dev/jest/config.js
index 8078c32b10646..a941735c7840e 100644
--- a/src/dev/jest/config.js
+++ b/src/dev/jest/config.js
@@ -49,8 +49,6 @@ export default {
'!packages/kbn-ui-framework/src/services/**/*/index.js',
'src/legacy/core_plugins/**/*.{js,jsx,ts,tsx}',
'!src/legacy/core_plugins/**/{__test__,__snapshots__}/**/*',
- 'src/legacy/ui/public/{agg_types,vis}/**/*.{ts,tsx}',
- '!src/legacy/ui/public/{agg_types,vis}/**/*.d.ts',
],
moduleNameMapper: {
'@elastic/eui$': '/node_modules/@elastic/eui/test-env',
diff --git a/src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_state.test.ts b/src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_state.test.ts
index 60ea14dad19e1..08ccc1e0d1e89 100644
--- a/src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_state.test.ts
+++ b/src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_state.test.ts
@@ -25,13 +25,6 @@ import { InputTimeRange, TimefilterContract, TimeRange } from 'src/plugins/data/
import { ViewMode } from 'src/plugins/embeddable/public';
import { createKbnUrlStateStorage } from 'src/plugins/kibana_utils/public';
-jest.mock('ui/agg_types', () => ({
- aggTypes: {
- metrics: [],
- buckets: [],
- },
-}));
-
describe('DashboardState', function() {
let dashboardState: DashboardStateManager;
const savedDashboard = getSavedDashboardMock();
diff --git a/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts b/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts
index 725e94f16e2e8..cf76a9355e384 100644
--- a/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts
+++ b/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts
@@ -53,7 +53,6 @@ export { wrapInI18nContext } from 'ui/i18n';
import { search } from '../../../../../plugins/data/public';
export const { getRequestInspectorStats, getResponseInspectorStats, tabifyAggResponse } = search;
// @ts-ignore
-export { intervalOptions } from 'ui/agg_types';
// @ts-ignore
export { timezoneProvider } from 'ui/vis/lib/timezone';
export {
diff --git a/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/discover.js b/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/discover.js
index 9a383565f4f43..8e75a30387aa9 100644
--- a/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/discover.js
+++ b/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/discover.js
@@ -44,7 +44,6 @@ import {
getRequestInspectorStats,
getResponseInspectorStats,
getServices,
- intervalOptions,
unhashUrl,
subscribeWithScope,
tabifyAggResponse,
@@ -76,6 +75,7 @@ import {
connectToQueryState,
syncQueryStateWithUrl,
getDefaultQuery,
+ search,
} from '../../../../../../../plugins/data/public';
import { getIndexPatternId } from '../helpers/get_index_pattern_id';
import { addFatalError } from '../../../../../../../plugins/kibana_legacy/public';
@@ -286,7 +286,7 @@ function discoverController(
mode: 'absolute',
});
};
- $scope.intervalOptions = intervalOptions;
+ $scope.intervalOptions = search.aggs.intervalOptions;
$scope.minimumVisibleRows = 50;
$scope.fetchStatus = fetchStatuses.UNINITIALIZED;
$scope.showSaveQuery = uiCapabilities.discover.saveQuery;
diff --git a/src/legacy/core_plugins/kibana/public/kibana.js b/src/legacy/core_plugins/kibana/public/kibana.js
index 04eaf2cbe2679..df6b08ef76556 100644
--- a/src/legacy/core_plugins/kibana/public/kibana.js
+++ b/src/legacy/core_plugins/kibana/public/kibana.js
@@ -48,7 +48,6 @@ import './dashboard/legacy';
import './management';
import './dev_tools';
import 'ui/agg_response';
-import 'ui/agg_types';
import { showAppRedirectNotification } from '../../../../plugins/kibana_legacy/public';
import 'leaflet';
import { localApplicationService } from './local_application_service';
diff --git a/src/legacy/core_plugins/region_map/public/region_map_type.js b/src/legacy/core_plugins/region_map/public/region_map_type.js
index a03fbe4b291e2..9a1a76362e094 100644
--- a/src/legacy/core_plugins/region_map/public/region_map_type.js
+++ b/src/legacy/core_plugins/region_map/public/region_map_type.js
@@ -18,12 +18,12 @@
*/
import React from 'react';
import { i18n } from '@kbn/i18n';
-import { Schemas } from 'ui/agg_types';
import { mapToLayerWithId } from './util';
import { createRegionMapVisualization } from './region_map_visualization';
import { Status } from '../../visualizations/public';
import { RegionMapOptions } from './components/region_map_options';
import { truncatedColorSchemas } from '../../../../plugins/charts/public';
+import { Schemas } from '../../vis_default_editor/public';
// TODO: reference to TILE_MAP plugin should be removed
import { ORIGIN } from '../../tile_map/common/origin';
diff --git a/src/legacy/core_plugins/tile_map/public/tile_map_type.js b/src/legacy/core_plugins/tile_map/public/tile_map_type.js
index 544b63abe82c7..0809bf6ecbab6 100644
--- a/src/legacy/core_plugins/tile_map/public/tile_map_type.js
+++ b/src/legacy/core_plugins/tile_map/public/tile_map_type.js
@@ -21,8 +21,8 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
import { convertToGeoJson } from 'ui/vis/map/convert_to_geojson';
-import { Schemas } from 'ui/agg_types';
+import { Schemas } from '../../vis_default_editor/public';
import { Status } from '../../visualizations/public';
import { createTileMapVisualization } from './tile_map_visualization';
import { TileMapOptions } from './components/tile_map_options';
diff --git a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js
index 111db0a83ffc4..fb54c36df27d7 100644
--- a/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js
+++ b/src/legacy/core_plugins/timelion/public/directives/saved_object_finder.js
@@ -21,287 +21,295 @@ import _ from 'lodash';
import rison from 'rison-node';
import { uiModules } from 'ui/modules';
import 'ui/directives/input_focus';
-import 'ui/directives/paginate';
import savedObjectFinderTemplate from './saved_object_finder.html';
import { savedSheetLoader } from '../services/saved_sheets';
import { keyMap } from 'ui/directives/key_map';
+import {
+ PaginateControlsDirectiveProvider,
+ PaginateDirectiveProvider,
+} from '../../../../../plugins/kibana_legacy/public';
const module = uiModules.get('kibana');
-module.directive('savedObjectFinder', function($location, kbnUrl, Private, config) {
- return {
- restrict: 'E',
- scope: {
- type: '@',
- // optional make-url attr, sets the userMakeUrl in our scope
- userMakeUrl: '=?makeUrl',
- // optional on-choose attr, sets the userOnChoose in our scope
- userOnChoose: '=?onChoose',
- // optional useLocalManagement attr, removes link to management section
- useLocalManagement: '=?useLocalManagement',
- /**
- * @type {function} - an optional function. If supplied an `Add new X` button is shown
- * and this function is called when clicked.
- */
- onAddNew: '=',
- /**
- * @{type} boolean - set this to true, if you don't want the search box above the
- * table to automatically gain focus once loaded
- */
- disableAutoFocus: '=',
- },
- template: savedObjectFinderTemplate,
- controllerAs: 'finder',
- controller: function($scope, $element) {
- const self = this;
-
- // the text input element
- const $input = $element.find('input[ng-model=filter]');
-
- // The number of items to show in the list
- $scope.perPage = config.get('savedObjects:perPage');
-
- // the list that will hold the suggestions
- const $list = $element.find('ul');
-
- // the current filter string, used to check that returned results are still useful
- let currentFilter = $scope.filter;
-
- // the most recently entered search/filter
- let prevSearch;
-
- // the list of hits, used to render display
- self.hits = [];
-
- self.service = savedSheetLoader;
- self.properties = self.service.loaderProperties;
-
- filterResults();
-
- /**
- * Boolean that keeps track of whether hits are sorted ascending (true)
- * or descending (false) by title
- * @type {Boolean}
- */
- self.isAscending = true;
-
- /**
- * Sorts saved object finder hits either ascending or descending
- * @param {Array} hits Array of saved finder object hits
- * @return {Array} Array sorted either ascending or descending
- */
- self.sortHits = function(hits) {
- self.isAscending = !self.isAscending;
- self.hits = self.isAscending ? _.sortBy(hits, 'title') : _.sortBy(hits, 'title').reverse();
- };
-
- /**
- * Passed the hit objects and will determine if the
- * hit should have a url in the UI, returns it if so
- * @return {string|null} - the url or nothing
- */
- self.makeUrl = function(hit) {
- if ($scope.userMakeUrl) {
- return $scope.userMakeUrl(hit);
- }
-
- if (!$scope.userOnChoose) {
- return hit.url;
- }
+module
+ .directive('paginate', PaginateDirectiveProvider)
+ .directive('paginateControls', PaginateControlsDirectiveProvider)
+ .directive('savedObjectFinder', function($location, kbnUrl, Private, config) {
+ return {
+ restrict: 'E',
+ scope: {
+ type: '@',
+ // optional make-url attr, sets the userMakeUrl in our scope
+ userMakeUrl: '=?makeUrl',
+ // optional on-choose attr, sets the userOnChoose in our scope
+ userOnChoose: '=?onChoose',
+ // optional useLocalManagement attr, removes link to management section
+ useLocalManagement: '=?useLocalManagement',
+ /**
+ * @type {function} - an optional function. If supplied an `Add new X` button is shown
+ * and this function is called when clicked.
+ */
+ onAddNew: '=',
+ /**
+ * @{type} boolean - set this to true, if you don't want the search box above the
+ * table to automatically gain focus once loaded
+ */
+ disableAutoFocus: '=',
+ },
+ template: savedObjectFinderTemplate,
+ controllerAs: 'finder',
+ controller: function($scope, $element) {
+ const self = this;
+
+ // the text input element
+ const $input = $element.find('input[ng-model=filter]');
+
+ // The number of items to show in the list
+ $scope.perPage = config.get('savedObjects:perPage');
+
+ // the list that will hold the suggestions
+ const $list = $element.find('ul');
+
+ // the current filter string, used to check that returned results are still useful
+ let currentFilter = $scope.filter;
+
+ // the most recently entered search/filter
+ let prevSearch;
+
+ // the list of hits, used to render display
+ self.hits = [];
+
+ self.service = savedSheetLoader;
+ self.properties = self.service.loaderProperties;
- return '#';
- };
+ filterResults();
- self.preventClick = function($event) {
- $event.preventDefault();
- };
+ /**
+ * Boolean that keeps track of whether hits are sorted ascending (true)
+ * or descending (false) by title
+ * @type {Boolean}
+ */
+ self.isAscending = true;
+
+ /**
+ * Sorts saved object finder hits either ascending or descending
+ * @param {Array} hits Array of saved finder object hits
+ * @return {Array} Array sorted either ascending or descending
+ */
+ self.sortHits = function(hits) {
+ self.isAscending = !self.isAscending;
+ self.hits = self.isAscending
+ ? _.sortBy(hits, 'title')
+ : _.sortBy(hits, 'title').reverse();
+ };
+
+ /**
+ * Passed the hit objects and will determine if the
+ * hit should have a url in the UI, returns it if so
+ * @return {string|null} - the url or nothing
+ */
+ self.makeUrl = function(hit) {
+ if ($scope.userMakeUrl) {
+ return $scope.userMakeUrl(hit);
+ }
- /**
- * Called when a hit object is clicked, can override the
- * url behavior if necessary.
- */
- self.onChoose = function(hit, $event) {
- if ($scope.userOnChoose) {
- $scope.userOnChoose(hit, $event);
- }
+ if (!$scope.userOnChoose) {
+ return hit.url;
+ }
- const url = self.makeUrl(hit);
- if (!url || url === '#' || url.charAt(0) !== '#') return;
+ return '#';
+ };
- $event.preventDefault();
+ self.preventClick = function($event) {
+ $event.preventDefault();
+ };
- // we want the '/path', not '#/path'
- kbnUrl.change(url.substr(1));
- };
+ /**
+ * Called when a hit object is clicked, can override the
+ * url behavior if necessary.
+ */
+ self.onChoose = function(hit, $event) {
+ if ($scope.userOnChoose) {
+ $scope.userOnChoose(hit, $event);
+ }
- $scope.$watch('filter', function(newFilter) {
- // ensure that the currentFilter changes from undefined to ''
- // which triggers
- currentFilter = newFilter || '';
- filterResults();
- });
-
- $scope.pageFirstItem = 0;
- $scope.pageLastItem = 0;
- $scope.onPageChanged = page => {
- $scope.pageFirstItem = page.firstItem;
- $scope.pageLastItem = page.lastItem;
- };
-
- //manages the state of the keyboard selector
- self.selector = {
- enabled: false,
- index: -1,
- };
-
- self.getLabel = function() {
- return _.words(self.properties.nouns)
- .map(_.capitalize)
- .join(' ');
- };
-
- //key handler for the filter text box
- self.filterKeyDown = function($event) {
- switch (keyMap[$event.keyCode]) {
- case 'enter':
- if (self.hitCount !== 1) return;
-
- const hit = self.hits[0];
- if (!hit) return;
-
- self.onChoose(hit, $event);
- $event.preventDefault();
- break;
- }
- };
+ const url = self.makeUrl(hit);
+ if (!url || url === '#' || url.charAt(0) !== '#') return;
- //key handler for the list items
- self.hitKeyDown = function($event, page, paginate) {
- switch (keyMap[$event.keyCode]) {
- case 'tab':
- if (!self.selector.enabled) break;
+ $event.preventDefault();
- self.selector.index = -1;
- self.selector.enabled = false;
+ // we want the '/path', not '#/path'
+ kbnUrl.change(url.substr(1));
+ };
- //if the user types shift-tab return to the textbox
- //if the user types tab, set the focus to the currently selected hit.
- if ($event.shiftKey) {
- $input.focus();
- } else {
- $list.find('li.active a').focus();
- }
+ $scope.$watch('filter', function(newFilter) {
+ // ensure that the currentFilter changes from undefined to ''
+ // which triggers
+ currentFilter = newFilter || '';
+ filterResults();
+ });
- $event.preventDefault();
- break;
- case 'down':
- if (!self.selector.enabled) break;
+ $scope.pageFirstItem = 0;
+ $scope.pageLastItem = 0;
+ $scope.onPageChanged = page => {
+ $scope.pageFirstItem = page.firstItem;
+ $scope.pageLastItem = page.lastItem;
+ };
+
+ //manages the state of the keyboard selector
+ self.selector = {
+ enabled: false,
+ index: -1,
+ };
+
+ self.getLabel = function() {
+ return _.words(self.properties.nouns)
+ .map(_.capitalize)
+ .join(' ');
+ };
+
+ //key handler for the filter text box
+ self.filterKeyDown = function($event) {
+ switch (keyMap[$event.keyCode]) {
+ case 'enter':
+ if (self.hitCount !== 1) return;
+
+ const hit = self.hits[0];
+ if (!hit) return;
+
+ self.onChoose(hit, $event);
+ $event.preventDefault();
+ break;
+ }
+ };
+
+ //key handler for the list items
+ self.hitKeyDown = function($event, page, paginate) {
+ switch (keyMap[$event.keyCode]) {
+ case 'tab':
+ if (!self.selector.enabled) break;
+
+ self.selector.index = -1;
+ self.selector.enabled = false;
+
+ //if the user types shift-tab return to the textbox
+ //if the user types tab, set the focus to the currently selected hit.
+ if ($event.shiftKey) {
+ $input.focus();
+ } else {
+ $list.find('li.active a').focus();
+ }
+
+ $event.preventDefault();
+ break;
+ case 'down':
+ if (!self.selector.enabled) break;
+
+ if (self.selector.index + 1 < page.length) {
+ self.selector.index += 1;
+ }
+ $event.preventDefault();
+ break;
+ case 'up':
+ if (!self.selector.enabled) break;
+
+ if (self.selector.index > 0) {
+ self.selector.index -= 1;
+ }
+ $event.preventDefault();
+ break;
+ case 'right':
+ if (!self.selector.enabled) break;
+
+ if (page.number < page.count) {
+ paginate.goToPage(page.number + 1);
+ self.selector.index = 0;
+ selectTopHit();
+ }
+ $event.preventDefault();
+ break;
+ case 'left':
+ if (!self.selector.enabled) break;
+
+ if (page.number > 1) {
+ paginate.goToPage(page.number - 1);
+ self.selector.index = 0;
+ selectTopHit();
+ }
+ $event.preventDefault();
+ break;
+ case 'escape':
+ if (!self.selector.enabled) break;
- if (self.selector.index + 1 < page.length) {
- self.selector.index += 1;
- }
- $event.preventDefault();
- break;
- case 'up':
- if (!self.selector.enabled) break;
+ $input.focus();
+ $event.preventDefault();
+ break;
+ case 'enter':
+ if (!self.selector.enabled) break;
+
+ const hitIndex = (page.number - 1) * paginate.perPage + self.selector.index;
+ const hit = self.hits[hitIndex];
+ if (!hit) break;
+
+ self.onChoose(hit, $event);
+ $event.preventDefault();
+ break;
+ case 'shift':
+ break;
+ default:
+ $input.focus();
+ break;
+ }
+ };
+
+ self.hitBlur = function() {
+ self.selector.index = -1;
+ self.selector.enabled = false;
+ };
+
+ self.manageObjects = function(type) {
+ $location.url('/management/kibana/objects?_a=' + rison.encode({ tab: type }));
+ };
+
+ self.hitCountNoun = function() {
+ return (self.hitCount === 1 ? self.properties.noun : self.properties.nouns).toLowerCase();
+ };
+
+ function selectTopHit() {
+ setTimeout(function() {
+ //triggering a focus event kicks off a new angular digest cycle.
+ $list.find('a:first').focus();
+ }, 0);
+ }
- if (self.selector.index > 0) {
- self.selector.index -= 1;
- }
- $event.preventDefault();
- break;
- case 'right':
- if (!self.selector.enabled) break;
-
- if (page.number < page.count) {
- paginate.goToPage(page.number + 1);
- self.selector.index = 0;
- selectTopHit();
- }
- $event.preventDefault();
- break;
- case 'left':
- if (!self.selector.enabled) break;
-
- if (page.number > 1) {
- paginate.goToPage(page.number - 1);
- self.selector.index = 0;
- selectTopHit();
+ function filterResults() {
+ if (!self.service) return;
+ if (!self.properties) return;
+
+ // track the filter that we use for this search,
+ // but ensure that we don't search for the same
+ // thing twice. This is called from multiple places
+ // and needs to be smart about when it actually searches
+ const filter = currentFilter;
+ if (prevSearch === filter) return;
+
+ prevSearch = filter;
+
+ const isLabsEnabled = config.get('visualize:enableLabs');
+ self.service.find(filter).then(function(hits) {
+ hits.hits = hits.hits.filter(
+ hit => isLabsEnabled || _.get(hit, 'type.stage') !== 'experimental'
+ );
+ hits.total = hits.hits.length;
+
+ // ensure that we don't display old results
+ // as we can't really cancel requests
+ if (currentFilter === filter) {
+ self.hitCount = hits.total;
+ self.hits = _.sortBy(hits.hits, 'title');
}
- $event.preventDefault();
- break;
- case 'escape':
- if (!self.selector.enabled) break;
-
- $input.focus();
- $event.preventDefault();
- break;
- case 'enter':
- if (!self.selector.enabled) break;
-
- const hitIndex = (page.number - 1) * paginate.perPage + self.selector.index;
- const hit = self.hits[hitIndex];
- if (!hit) break;
-
- self.onChoose(hit, $event);
- $event.preventDefault();
- break;
- case 'shift':
- break;
- default:
- $input.focus();
- break;
+ });
}
- };
-
- self.hitBlur = function() {
- self.selector.index = -1;
- self.selector.enabled = false;
- };
-
- self.manageObjects = function(type) {
- $location.url('/management/kibana/objects?_a=' + rison.encode({ tab: type }));
- };
-
- self.hitCountNoun = function() {
- return (self.hitCount === 1 ? self.properties.noun : self.properties.nouns).toLowerCase();
- };
-
- function selectTopHit() {
- setTimeout(function() {
- //triggering a focus event kicks off a new angular digest cycle.
- $list.find('a:first').focus();
- }, 0);
- }
-
- function filterResults() {
- if (!self.service) return;
- if (!self.properties) return;
-
- // track the filter that we use for this search,
- // but ensure that we don't search for the same
- // thing twice. This is called from multiple places
- // and needs to be smart about when it actually searches
- const filter = currentFilter;
- if (prevSearch === filter) return;
-
- prevSearch = filter;
-
- const isLabsEnabled = config.get('visualize:enableLabs');
- self.service.find(filter).then(function(hits) {
- hits.hits = hits.hits.filter(
- hit => isLabsEnabled || _.get(hit, 'type.stage') !== 'experimental'
- );
- hits.total = hits.hits.length;
-
- // ensure that we don't display old results
- // as we can't really cancel requests
- if (currentFilter === filter) {
- self.hitCount = hits.total;
- self.hits = _.sortBy(hits.hits, 'title');
- }
- });
- }
- },
- };
-});
+ },
+ };
+ });
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/__snapshots__/agg_params.test.tsx.snap b/src/legacy/core_plugins/vis_default_editor/public/components/__snapshots__/agg_params.test.tsx.snap
deleted file mode 100644
index 028d0b8016693..0000000000000
--- a/src/legacy/core_plugins/vis_default_editor/public/components/__snapshots__/agg_params.test.tsx.snap
+++ /dev/null
@@ -1,70 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`DefaultEditorAggParams component should init with the default set of params 1`] = `
-
-
-
-
-
-
-
-
-
-`;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg.test.tsx
index 22e0ebb3d30dc..7e715be25bff3 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg.test.tsx
@@ -21,17 +21,14 @@ import React from 'react';
import { mount, shallow } from 'enzyme';
import { act } from 'react-dom/test-utils';
-import { IndexPattern } from 'src/plugins/data/public';
+import { IndexPattern, IAggType, AggGroupNames } from 'src/plugins/data/public';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggType, AggGroupNames } from '../legacy_imports';
import { DefaultEditorAgg, DefaultEditorAggProps } from './agg';
import { DefaultEditorAggParams } from './agg_params';
import { AGGS_ACTION_KEYS } from './agg_group_state';
import { Schema } from '../schemas';
-jest.mock('ui/new_platform');
-
jest.mock('./agg_params', () => ({
DefaultEditorAggParams: () => null,
}));
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg.tsx
index 30ccd4f0b6cae..2a45273207623 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg.tsx
@@ -28,7 +28,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { IAggConfig } from '../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { DefaultEditorAggParams } from './agg_params';
import { DefaultEditorAggCommonProps } from './agg_common_props';
import { AGGS_ACTION_KEYS, AggsAction } from './agg_group_state';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_add.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_add.tsx
index 24cb83498d4d0..9df4ea58e0f07 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_add.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_add.tsx
@@ -29,7 +29,7 @@ import {
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { i18n } from '@kbn/i18n';
-import { IAggConfig, AggGroupNames } from '../legacy_imports';
+import { IAggConfig, AggGroupNames } from '../../../../../plugins/data/public';
import { Schema } from '../schemas';
interface DefaultEditorAggAddProps {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_common_props.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_common_props.ts
index 1a97cc5c4d967..ec92f511b6eee 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_common_props.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_common_props.ts
@@ -18,7 +18,7 @@
*/
import { VisState, VisParams } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggType, IAggConfig, IAggGroupNames } from '../legacy_imports';
+import { IAggType, IAggConfig, IAggGroupNames } from 'src/plugins/data/public';
import { Schema } from '../schemas';
type AggId = IAggConfig['id'];
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.test.tsx
index ec467480539ab..63f5e696c99f4 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.test.tsx
@@ -21,7 +21,7 @@ import React from 'react';
import { mount, shallow } from 'enzyme';
import { act } from 'react-dom/test-utils';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfigs, IAggConfig } from '../legacy_imports';
+import { IAggConfigs, IAggConfig } from 'src/plugins/data/public';
import { DefaultEditorAggGroup, DefaultEditorAggGroupProps } from './agg_group';
import { DefaultEditorAgg } from './agg';
import { DefaultEditorAggAdd } from './agg_add';
@@ -36,17 +36,6 @@ jest.mock('@elastic/eui', () => ({
EuiPanel: 'eui-panel',
}));
-jest.mock('../legacy_imports', () => ({
- aggGroupNamesMap: () => ({
- metrics: 'Metrics',
- buckets: 'Buckets',
- }),
- AggGroupNames: {
- Metrics: 'metrics',
- Buckets: 'buckets',
- },
-}));
-
jest.mock('./agg', () => ({
DefaultEditorAgg: () => ,
}));
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.tsx
index a15a98d4983ce..600612f2cf9d8 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group.tsx
@@ -30,7 +30,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { IAggConfig, aggGroupNamesMap, AggGroupNames } from '../legacy_imports';
+import { AggGroupNames, search, IAggConfig } from '../../../../../plugins/data/public';
import { DefaultEditorAgg } from './agg';
import { DefaultEditorAggAdd } from './agg_add';
import { AddSchema, ReorderAggs, DefaultEditorAggCommonProps } from './agg_common_props';
@@ -68,7 +68,7 @@ function DefaultEditorAggGroup({
setTouched,
setValidity,
}: DefaultEditorAggGroupProps) {
- const groupNameLabel = (aggGroupNamesMap() as any)[groupName];
+ const groupNameLabel = (search.aggs.aggGroupNamesMap() as any)[groupName];
// e.g. buckets can have no aggs
const schemaNames = getSchemasByGroup(schemas, groupName).map(s => s.name);
const group: IAggConfig[] = useMemo(
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.test.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.test.ts
index aebece29e7ae6..3693f1b1e3091 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.test.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.test.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { IAggConfig } from '../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import {
isAggRemovable,
calcAggIsTooLow,
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.tsx
index 0a8c5c3077ada..9a4cca940baea 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_helper.tsx
@@ -18,7 +18,7 @@
*/
import { findIndex, isEmpty } from 'lodash';
-import { IAggConfig } from '../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { AggsState } from './agg_group_state';
import { Schema, getSchemaByName } from '../schemas';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_state.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_state.tsx
index d022297ae72b3..bfd5bec339b1f 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_state.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_group_state.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
-import { IAggConfig } from '../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
export enum AGGS_ACTION_KEYS {
TOUCHED = 'aggsTouched',
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_param_props.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_param_props.ts
index cdc5a4c8f8a77..7c2852798b403 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_param_props.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_param_props.ts
@@ -17,9 +17,8 @@
* under the License.
*/
-import { IndexPatternField } from 'src/plugins/data/public';
+import { IAggConfig, AggParam, IndexPatternField } from 'src/plugins/data/public';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfig, AggParam } from '../legacy_imports';
import { ComboBoxGroupedOptions } from '../utils';
import { EditorConfig } from './utils';
import { Schema } from '../schemas';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.test.tsx
index d2821566fcb37..cd6486b6a1532 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.test.tsx
@@ -18,12 +18,16 @@
*/
import React from 'react';
-import { mount, shallow } from 'enzyme';
+import { mount } from 'enzyme';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IndexPattern } from 'src/plugins/data/public';
-import { DefaultEditorAggParams, DefaultEditorAggParamsProps } from './agg_params';
-import { IAggConfig, AggGroupNames } from '../legacy_imports';
+import { IndexPattern, IAggConfig, AggGroupNames } from 'src/plugins/data/public';
+import {
+ DefaultEditorAggParams as PureDefaultEditorAggParams,
+ DefaultEditorAggParamsProps,
+} from './agg_params';
+import { KibanaContextProvider } from '../../../../../plugins/kibana_react/public';
+import { dataPluginMock } from '../../../../../plugins/data/public/mocks';
const mockEditorConfig = {
useNormalizedEsInterval: { hidden: false, fixedValue: false },
@@ -34,8 +38,12 @@ const mockEditorConfig = {
timeBase: '1m',
},
};
+const DefaultEditorAggParams = (props: DefaultEditorAggParamsProps) => (
+
+
+
+);
-jest.mock('ui/new_platform');
jest.mock('./utils', () => ({
getEditorConfig: jest.fn(() => mockEditorConfig),
}));
@@ -109,12 +117,6 @@ describe('DefaultEditorAggParams component', () => {
};
});
- it('should init with the default set of params', () => {
- const comp = shallow();
-
- expect(comp).toMatchSnapshot();
- });
-
it('should reset the validity to true when destroyed', () => {
const comp = mount();
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.tsx
index 510c21af95da1..b1555b76500d0 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params.tsx
@@ -22,8 +22,7 @@ import { EuiForm, EuiAccordion, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import useUnmount from 'react-use/lib/useUnmount';
-import { IndexPattern } from 'src/plugins/data/public';
-import { IAggConfig, AggGroupNames } from '../legacy_imports';
+import { IAggConfig, IndexPattern, AggGroupNames } from '../../../../../plugins/data/public';
import { DefaultEditorAggSelect } from './agg_select';
import { DefaultEditorAggParam } from './agg_param';
@@ -41,6 +40,8 @@ import {
import { DefaultEditorCommonProps } from './agg_common_props';
import { EditorParamConfig, TimeIntervalParam, FixedParam, getEditorConfig } from './utils';
import { Schema, getSchemaByName } from '../schemas';
+import { useKibana } from '../../../../../plugins/kibana_react/public';
+import { VisDefaultEditorKibanaServices } from '../types';
const FIXED_VALUE_PROP = 'fixedValue';
const DEFAULT_PROP = 'default';
@@ -83,18 +84,24 @@ function DefaultEditorAggParams({
allowedAggs = [],
hideCustomLabel = false,
}: DefaultEditorAggParamsProps) {
- const schema = getSchemaByName(schemas, agg.schema);
- const { title } = schema;
- const aggFilter = [...allowedAggs, ...(schema.aggFilter || [])];
+ const schema = useMemo(() => getSchemaByName(schemas, agg.schema), [agg.schema, schemas]);
+ const aggFilter = useMemo(() => [...allowedAggs, ...(schema.aggFilter || [])], [
+ allowedAggs,
+ schema.aggFilter,
+ ]);
+ const { services } = useKibana();
+ const aggTypes = useMemo(() => services.data.search.aggs.types.getAll(), [
+ services.data.search.aggs.types,
+ ]);
const groupedAggTypeOptions = useMemo(
- () => getAggTypeOptions(agg, indexPattern, groupName, aggFilter),
- [agg, indexPattern, groupName, aggFilter]
+ () => getAggTypeOptions(aggTypes, agg, indexPattern, groupName, aggFilter),
+ [aggTypes, agg, indexPattern, groupName, aggFilter]
);
const error = aggIsTooLow
? i18n.translate('visDefaultEditor.aggParams.errors.aggWrongRunOrderErrorMessage', {
defaultMessage: '"{schema}" aggs must run before all other buckets!',
- values: { schema: title },
+ values: { schema: schema.title },
})
: '';
const aggTypeName = agg.type?.name;
@@ -105,8 +112,20 @@ function DefaultEditorAggParams({
fieldName,
]);
const params = useMemo(
- () => getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas, hideCustomLabel }),
- [agg, editorConfig, metricAggs, state, schemas, hideCustomLabel]
+ () =>
+ getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas, hideCustomLabel },
+ services.data.search.__LEGACY.aggTypeFieldFilters
+ ),
+ [
+ agg,
+ editorConfig,
+ metricAggs,
+ state,
+ schemas,
+ hideCustomLabel,
+ services.data.search.__LEGACY.aggTypeFieldFilters,
+ ]
);
const allParams = [...params.basic, ...params.advanced];
const [paramsState, onChangeParamsState] = useReducer(
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.test.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.test.ts
index 047467750794b..f2ebbdc87a60a 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.test.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.test.ts
@@ -17,9 +17,15 @@
* under the License.
*/
-import { IndexPattern } from 'src/plugins/data/public';
+import {
+ AggGroupNames,
+ BUCKET_TYPES,
+ IAggConfig,
+ IAggType,
+ IndexPattern,
+ IndexPatternField,
+} from 'src/plugins/data/public';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfig, IAggType, AggGroupNames, BUCKET_TYPES } from '../legacy_imports';
import {
getAggParamsToRender,
getAggTypeOptions,
@@ -33,7 +39,11 @@ jest.mock('../utils', () => ({
groupAndSortBy: jest.fn(() => ['indexedFields']),
}));
-jest.mock('ui/new_platform');
+const mockFilter: any = {
+ filter(fields: IndexPatternField[]): IndexPatternField[] {
+ return fields;
+ },
+};
describe('DefaultEditorAggParams helpers', () => {
describe('getAggParamsToRender', () => {
@@ -62,14 +72,20 @@ describe('DefaultEditorAggParams helpers', () => {
},
schema: 'metric',
} as IAggConfig;
- const params = getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas });
+ const params = getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas },
+ mockFilter
+ );
expect(params).toEqual(emptyParams);
});
it('should not create any param if there is no agg type', () => {
agg = { schema: 'metric' } as IAggConfig;
- const params = getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas });
+ const params = getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas },
+ mockFilter
+ );
expect(params).toEqual(emptyParams);
});
@@ -85,7 +101,10 @@ describe('DefaultEditorAggParams helpers', () => {
hidden: true,
},
};
- const params = getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas });
+ const params = getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas },
+ mockFilter
+ );
expect(params).toEqual(emptyParams);
});
@@ -97,7 +116,10 @@ describe('DefaultEditorAggParams helpers', () => {
},
schema: 'metric2',
} as any) as IAggConfig;
- const params = getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas });
+ const params = getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas },
+ mockFilter
+ );
expect(params).toEqual(emptyParams);
});
@@ -136,7 +158,10 @@ describe('DefaultEditorAggParams helpers', () => {
field: 'field',
},
} as any) as IAggConfig;
- const params = getAggParamsToRender({ agg, editorConfig, metricAggs, state, schemas });
+ const params = getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas },
+ mockFilter
+ );
expect(params).toEqual({
basic: [
@@ -172,7 +197,13 @@ describe('DefaultEditorAggParams helpers', () => {
describe('getAggTypeOptions', () => {
it('should return agg type options grouped by subtype', () => {
const indexPattern = {} as IndexPattern;
- const aggs = getAggTypeOptions({} as IAggConfig, indexPattern, 'metrics', []);
+ const aggs = getAggTypeOptions(
+ { metrics: [] },
+ {} as IAggConfig,
+ indexPattern,
+ 'metrics',
+ []
+ );
expect(aggs).toEqual(['indexedFields']);
});
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.ts
index 520ff6ffc5ff5..e07bf81697579 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_helper.ts
@@ -19,23 +19,23 @@
import { get, isEmpty } from 'lodash';
-import { IndexPattern, IndexPatternField } from 'src/plugins/data/public';
-import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { groupAndSortBy, ComboBoxGroupedOptions } from '../utils';
-import { AggTypeState, AggParamsState } from './agg_params_state';
-import { AggParamEditorProps } from './agg_param_props';
-import { aggParamsMap } from './agg_params_map';
import {
- aggTypeFilters,
- aggTypeFieldFilters,
- aggTypes,
+ AggTypeFieldFilters,
IAggConfig,
AggParam,
IFieldParamType,
IAggType,
-} from '../legacy_imports';
+ IndexPattern,
+ IndexPatternField,
+} from 'src/plugins/data/public';
+import { VisState } from 'src/legacy/core_plugins/visualizations/public';
+import { groupAndSortBy, ComboBoxGroupedOptions } from '../utils';
+import { AggTypeState, AggParamsState } from './agg_params_state';
+import { AggParamEditorProps } from './agg_param_props';
+import { aggParamsMap } from './agg_params_map';
import { EditorConfig } from './utils';
import { Schema, getSchemaByName } from '../schemas';
+import { search } from '../../../../../plugins/data/public';
interface ParamInstanceBase {
agg: IAggConfig;
@@ -53,14 +53,10 @@ export interface ParamInstance extends ParamInstanceBase {
value: unknown;
}
-function getAggParamsToRender({
- agg,
- editorConfig,
- metricAggs,
- state,
- schemas,
- hideCustomLabel,
-}: ParamInstanceBase) {
+function getAggParamsToRender(
+ { agg, editorConfig, metricAggs, state, schemas, hideCustomLabel }: ParamInstanceBase,
+ aggTypeFieldFilters: AggTypeFieldFilters
+) {
const params = {
basic: [] as ParamInstance[],
advanced: [] as ParamInstance[],
@@ -136,13 +132,14 @@ function getAggParamsToRender({
}
function getAggTypeOptions(
+ aggTypes: any,
agg: IAggConfig,
indexPattern: IndexPattern,
groupName: string,
allowedAggs: string[]
): ComboBoxGroupedOptions {
- const aggTypeOptions = aggTypeFilters.filter(
- (aggTypes as any)[groupName],
+ const aggTypeOptions = search.aggs.aggTypeFilters.filter(
+ aggTypes[groupName],
indexPattern,
agg,
allowedAggs
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_map.ts b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_map.ts
index 7caa775dd4fa4..4517313b6fd6e 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_map.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_params_map.ts
@@ -22,11 +22,12 @@ import {
AggGroupNames,
BUCKET_TYPES,
METRIC_TYPES,
- siblingPipelineType,
- parentPipelineType,
-} from '../legacy_imports';
+ search,
+} from '../../../../../plugins/data/public';
import { wrapWithInlineComp } from './controls/utils';
+const { siblingPipelineType, parentPipelineType } = search.aggs;
+
const buckets = {
[BUCKET_TYPES.DATE_HISTOGRAM]: {
scaleMetricValues: controls.ScaleMetricsParamEditor,
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/agg_select.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/agg_select.tsx
index 4d969a2d8ec6c..7ee432946f3c8 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/agg_select.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/agg_select.tsx
@@ -23,9 +23,8 @@ import { EuiComboBox, EuiComboBoxOptionOption, EuiFormRow, EuiLink, EuiText } fr
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
-import { IndexPattern } from 'src/plugins/data/public';
+import { IAggType, IndexPattern } from 'src/plugins/data/public';
import { useKibana } from '../../../../../plugins/kibana_react/public';
-import { IAggType } from '../legacy_imports';
import { ComboBoxGroupedOptions } from '../utils';
import { AGG_TYPE_ACTION_KEYS, AggTypeAction } from './agg_params_state';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_control_props.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_control_props.tsx
index 7f04b851902de..98540d3414f2d 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_control_props.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_control_props.tsx
@@ -18,7 +18,7 @@
*/
import { VisParams } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { DefaultEditorAggCommonProps } from '../agg_common_props';
export interface AggControlProps {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_utils.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_utils.test.tsx
index 0b847e3747b30..0c1e93bc1e646 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_utils.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/agg_utils.test.tsx
@@ -20,7 +20,7 @@
import React, { FunctionComponent } from 'react';
import { mount, ReactWrapper } from 'enzyme';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import {
safeMakeLabel,
useAvailableOptions,
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/components/mask_list.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/components/mask_list.tsx
index 625b09b05d28f..f6edecbbcbd70 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/components/mask_list.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/components/mask_list.tsx
@@ -22,7 +22,7 @@ import { EuiFieldText, EuiFlexItem } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { InputList, InputListConfig, InputObject, InputModel, InputItem } from './input_list';
-import { CidrMask } from '../../../legacy_imports';
+import { search } from '../../../../../../../plugins/data/public';
const EMPTY_STRING = '';
@@ -47,7 +47,7 @@ function MaskList({ showValidation, onBlur, ...rest }: MaskListProps) {
defaultValue: {
mask: { model: '0.0.0.0/1', value: '0.0.0.0/1', isInvalid: false },
},
- validateClass: CidrMask,
+ validateClass: search.aggs.CidrMask,
getModelValue: (item: MaskObject = {}) => ({
mask: {
model: item.mask || EMPTY_STRING,
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.test.tsx
index 186738d0f551c..1043431475494 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.test.tsx
@@ -22,11 +22,10 @@ import { act } from 'react-dom/test-utils';
import { mount, shallow, ReactWrapper } from 'enzyme';
import { EuiComboBoxProps, EuiComboBox } from '@elastic/eui';
-import { IndexPatternField } from 'src/plugins/data/public';
+import { IAggConfig, IndexPatternField } from 'src/plugins/data/public';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
import { ComboBoxGroupedOptions } from '../../utils';
import { FieldParamEditor, FieldParamEditorProps } from './field';
-import { IAggConfig } from '../../legacy_imports';
function callComboBoxOnChange(comp: ReactWrapper, value: any = []) {
const comboBoxProps = comp.find(EuiComboBox).props() as EuiComboBoxProps;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.tsx
index 0ec00ab6f20f0..59642ae4c25f7 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/field.tsx
@@ -23,8 +23,7 @@ import React, { useEffect, useState, useCallback } from 'react';
import { EuiComboBox, EuiComboBoxOptionOption, EuiFormRow } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { IndexPatternField } from 'src/plugins/data/public';
-import { AggParam, IAggConfig, IFieldParamType } from '../../legacy_imports';
+import { AggParam, IAggConfig, IFieldParamType, IndexPatternField } from 'src/plugins/data/public';
import { formatListAsProse, parseCommaSeparatedList, useValidation } from './utils';
import { AggParamEditorProps } from '../agg_param_props';
import { ComboBoxGroupedOptions } from '../../utils';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/filter.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/filter.tsx
index 3622b27bad403..e2e7c2895093e 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/filter.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/filter.tsx
@@ -21,8 +21,7 @@ import React, { useState } from 'react';
import { EuiForm, EuiButtonIcon, EuiFieldText, EuiFormRow, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { Query, QueryStringInput } from '../../../../../../plugins/data/public';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig, Query, QueryStringInput } from '../../../../../../plugins/data/public';
interface FilterRowProps {
id: string;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/has_extended_bounds.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/has_extended_bounds.tsx
index 416f925da8c1e..90b7cb03b7a5b 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/has_extended_bounds.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/has_extended_bounds.tsx
@@ -20,10 +20,12 @@
import React, { useEffect } from 'react';
import { i18n } from '@kbn/i18n';
+import { search } from '../../../../../../plugins/data/public';
import { SwitchParamEditor } from './switch';
-import { isType } from '../../legacy_imports';
import { AggParamEditorProps } from '../agg_param_props';
+const { isType } = search.aggs;
+
function HasExtendedBoundsParamEditor(props: AggParamEditorProps) {
useEffect(() => {
props.setValue(props.value && props.agg.params.min_doc_count);
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/metric_agg.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/metric_agg.test.tsx
index cf7af1aa5cb3a..c53e7a8beb831 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/metric_agg.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/metric_agg.test.tsx
@@ -20,7 +20,7 @@
import React from 'react';
import { mount, shallow } from 'enzyme';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { DEFAULT_OPTIONS, aggFilter, MetricAggParamEditor } from './metric_agg';
jest.mock('./utils', () => ({
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/missing_bucket.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/missing_bucket.tsx
index 8d22ab283f3a1..7010f0d53e569 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/missing_bucket.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/missing_bucket.tsx
@@ -21,11 +21,11 @@ import React, { useEffect } from 'react';
import { i18n } from '@kbn/i18n';
import { SwitchParamEditor } from './switch';
-import { isStringType } from '../../legacy_imports';
+import { search } from '../../../../../../plugins/data/public';
import { AggParamEditorProps } from '../agg_param_props';
function MissingBucketParamEditor(props: AggParamEditorProps) {
- const fieldTypeIsNotString = !isStringType(props.agg);
+ const fieldTypeIsNotString = !search.aggs.isStringType(props.agg);
useEffect(() => {
if (fieldTypeIsNotString) {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order.tsx
index f40143251e46a..8f63662d928c1 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order.tsx
@@ -21,7 +21,7 @@ import React, { useEffect } from 'react';
import { EuiFormRow, EuiSelect } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { OptionedValueProp, OptionedParamEditorProps } from '../../legacy_imports';
+import { OptionedValueProp, OptionedParamEditorProps } from 'src/plugins/data/public';
import { AggParamEditorProps } from '../agg_param_props';
function OrderParamEditor({
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.test.tsx
index 01f5ed9b6a2f1..4c843791153b0 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.test.tsx
@@ -21,8 +21,6 @@ import React from 'react';
import { mount } from 'enzyme';
import { OrderByParamEditor } from './order_by';
-jest.mock('ui/new_platform');
-
describe('OrderAggParamEditor component', () => {
let setValue: jest.Mock;
let setValidity: jest.Mock;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.tsx
index 8c020c668b3c6..41672bc192fab 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_agg.tsx
@@ -20,7 +20,7 @@
import React, { useEffect } from 'react';
import { EuiSpacer } from '@elastic/eui';
-import { AggParamType, IAggConfig, AggGroupNames } from '../../legacy_imports';
+import { AggParamType, IAggConfig, AggGroupNames } from '../../../../../../plugins/data/public';
import { useSubAggParamsHandlers } from './utils';
import { AggParamEditorProps } from '../agg_param_props';
import { DefaultEditorAggParams } from '../agg_params';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_by.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_by.tsx
index c0391358ec6e2..9f1aaa54a8ca3 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_by.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/order_by.tsx
@@ -28,8 +28,9 @@ import {
useValidation,
} from './utils';
import { AggParamEditorProps } from '../agg_param_props';
-import { termsAggFilter } from '../../legacy_imports';
+import { search } from '../../../../../../plugins/data/public';
+const { termsAggFilter } = search.aggs;
const DEFAULT_VALUE = '_key';
const DEFAULT_OPTIONS = [
{
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/percentiles.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/percentiles.test.tsx
index 0eaf9bcc987c1..76eb12af8c4e2 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/percentiles.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/percentiles.test.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { AggParamEditorProps } from '../agg_param_props';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
import { mount } from 'enzyme';
import { PercentilesEditor } from './percentiles';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_agg.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_agg.tsx
index 5bc94bd4af226..c9f53a68b3e83 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_agg.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_agg.tsx
@@ -20,7 +20,7 @@
import React, { useEffect } from 'react';
import { EuiSpacer } from '@elastic/eui';
-import { AggParamType, IAggConfig, AggGroupNames } from '../../legacy_imports';
+import { AggParamType, IAggConfig, AggGroupNames } from '../../../../../../plugins/data/public';
import { useSubAggParamsHandlers } from './utils';
import { AggParamEditorProps } from '../agg_param_props';
import { DefaultEditorAggParams } from '../agg_params';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_metric.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_metric.tsx
index 9d48b1c964a27..ead3f8bb00623 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_metric.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/sub_metric.tsx
@@ -21,7 +21,7 @@ import React, { useEffect } from 'react';
import { EuiFormLabel, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import { AggParamType, IAggConfig, AggGroupNames } from '../../legacy_imports';
+import { AggParamType, IAggConfig, AggGroupNames } from '../../../../../../plugins/data/public';
import { useSubAggParamsHandlers } from './utils';
import { AggParamEditorProps } from '../agg_param_props';
import { DefaultEditorAggParams } from '../agg_params';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/test_utils.ts b/src/legacy/core_plugins/vis_default_editor/public/components/controls/test_utils.ts
index 8a21114999cd6..b816e61cce355 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/test_utils.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/test_utils.ts
@@ -18,7 +18,7 @@
*/
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfig, AggParam } from '../../legacy_imports';
+import { IAggConfig, AggParam } from 'src/plugins/data/public';
import { EditorConfig } from '../utils';
export const aggParamCommonPropsMock = {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/time_interval.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/time_interval.tsx
index ee3666b2ed441..de0059f5467ad 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/time_interval.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/time_interval.tsx
@@ -23,7 +23,7 @@ import { EuiFormRow, EuiIconTip, EuiComboBox, EuiComboBoxOptionOption } from '@e
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
-import { isValidInterval, AggParamOption } from '../../legacy_imports';
+import { search, AggParamOption } from '../../../../../../plugins/data/public';
import { AggParamEditorProps } from '../agg_param_props';
interface ComboBoxOption extends EuiComboBoxOptionOption {
@@ -59,7 +59,7 @@ function TimeIntervalParamEditor({
if (value) {
definedOption = find(options, { key: value });
selectedOptions = definedOption ? [definedOption] : [{ label: value, key: 'custom' }];
- isValid = !!(definedOption || isValidInterval(value, timeBase));
+ isValid = !!(definedOption || search.aggs.isValidInterval(value, timeBase));
}
const interval = get(agg, 'buckets.getInterval') && (agg as any).buckets.getInterval();
@@ -100,7 +100,7 @@ function TimeIntervalParamEditor({
const normalizedCustomValue = customValue.trim();
setValue(normalizedCustomValue);
- if (normalizedCustomValue && isValidInterval(normalizedCustomValue, timeBase)) {
+ if (normalizedCustomValue && search.aggs.isValidInterval(normalizedCustomValue, timeBase)) {
agg.write();
}
};
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.test.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.test.tsx
index 4ce0712040bd5..74dab1a3b551a 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.test.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.test.tsx
@@ -25,7 +25,7 @@ import {
TopAggregateParamEditorProps,
} from './top_aggregate';
import { aggParamCommonPropsMock } from './test_utils';
-import { IAggConfig } from '../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
describe('TopAggregateParamEditor', () => {
let agg: IAggConfig;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.tsx
index 346dfc0156f07..bab20d18c8fc0 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/top_aggregate.tsx
@@ -28,7 +28,7 @@ import {
OptionedValueProp,
OptionedParamEditorProps,
OptionedParamType,
-} from '../../legacy_imports';
+} from 'src/plugins/data/public';
import { AggParamEditorProps } from '../agg_param_props';
export interface AggregateValueProp extends OptionedValueProp {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/agg_utils.ts b/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/agg_utils.ts
index 8aeae488942cd..f4c0814748ebc 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/agg_utils.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/agg_utils.ts
@@ -20,7 +20,7 @@
import { useEffect, useCallback, useMemo } from 'react';
import { i18n } from '@kbn/i18n';
-import { IAggConfig } from '../../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
type AggFilter = string[];
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/use_handlers.ts b/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/use_handlers.ts
index c7816d5a9d305..4dadef79b1204 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/use_handlers.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/controls/utils/use_handlers.ts
@@ -19,7 +19,7 @@
import { useCallback } from 'react';
-import { IAggConfig, AggParamType } from '../../../legacy_imports';
+import { IAggConfig, AggParamType } from 'src/plugins/data/public';
type SetValue = (value?: IAggConfig) => void;
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/data_tab.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/data_tab.tsx
index 1c1f9d57d8b90..6f92c27e90ec1 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/data_tab.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/data_tab.tsx
@@ -23,11 +23,11 @@ import { EuiSpacer } from '@elastic/eui';
import { VisState } from 'src/legacy/core_plugins/visualizations/public';
import {
- IAggConfig,
AggGroupNames,
- parentPipelineType,
+ IAggConfig,
IMetricAggType,
-} from '../../legacy_imports';
+ search,
+} from '../../../../../../plugins/data/public';
import { DefaultEditorAggGroup } from '../agg_group';
import {
EditorAction,
@@ -67,7 +67,7 @@ function DefaultEditorDataTab({
() =>
findLast(
metricAggs,
- ({ type }: { type: IMetricAggType }) => type.subtype === parentPipelineType
+ ({ type }: { type: IMetricAggType }) => type.subtype === search.aggs.parentPipelineType
),
[metricAggs]
);
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/sidebar.tsx b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/sidebar.tsx
index 1efd8dae8178b..2508ef3a55537 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/sidebar.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/sidebar.tsx
@@ -23,7 +23,6 @@ import { i18n } from '@kbn/i18n';
import { keyCodes, EuiButtonIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import { Vis } from 'src/legacy/core_plugins/visualizations/public';
-import { AggGroupNames } from '../../legacy_imports';
import { DefaultEditorNavBar, OptionTab } from './navbar';
import { DefaultEditorControls } from './controls';
import { setStateParamValue, useEditorReducer, useEditorFormState, discardChanges } from './state';
@@ -31,6 +30,7 @@ import { DefaultEditorAggCommonProps } from '../agg_common_props';
import { SidebarTitle } from './sidebar_title';
import { PersistedState } from '../../../../../../plugins/visualizations/public';
import { SavedSearch } from '../../../../../../plugins/discover/public';
+import { AggGroupNames } from '../../../../../../plugins/data/public';
import { getSchemasByGroup } from '../../schemas';
interface DefaultEditorSideBarProps {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/actions.ts b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/actions.ts
index f9915bedc8878..e3577218b7e25 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/actions.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/actions.ts
@@ -18,7 +18,7 @@
*/
import { Vis, VisParams } from 'src/legacy/core_plugins/visualizations/public';
-import { IAggConfig } from '../../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { EditorStateActionTypes } from './constants';
import { Schema } from '../../../schemas';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/index.ts b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/index.ts
index df5ba3f6121c7..6383ac866dcfc 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/index.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/index.ts
@@ -21,15 +21,22 @@ import { useEffect, useReducer, useCallback } from 'react';
import { isEqual } from 'lodash';
import { Vis, VisState, VisParams } from 'src/legacy/core_plugins/visualizations/public';
-import { editorStateReducer, initEditorState } from './reducers';
+import { createEditorStateReducer, initEditorState } from './reducers';
import { EditorStateActionTypes } from './constants';
import { EditorAction, updateStateParams } from './actions';
+import { useKibana } from '../../../../../../../plugins/kibana_react/public';
+import { VisDefaultEditorKibanaServices } from '../../../types';
export * from './editor_form_state';
export * from './actions';
export function useEditorReducer(vis: Vis): [VisState, React.Dispatch] {
- const [state, dispatch] = useReducer(editorStateReducer, vis, initEditorState);
+ const { services } = useKibana();
+ const [state, dispatch] = useReducer(
+ createEditorStateReducer(services.data.search),
+ vis,
+ initEditorState
+ );
useEffect(() => {
const handleVisUpdate = (params: VisParams) => {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/reducers.ts b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/reducers.ts
index 73675e75cbe36..67220fd9fd91b 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/reducers.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/components/sidebar/state/reducers.ts
@@ -20,7 +20,7 @@
import { cloneDeep } from 'lodash';
import { Vis, VisState } from 'src/legacy/core_plugins/visualizations/public';
-import { createAggConfigs, AggGroupNames } from '../../../legacy_imports';
+import { AggGroupNames, DataPublicPluginStart } from '../../../../../../../plugins/data/public';
import { EditorStateActionTypes } from './constants';
import { getEnabledMetricAggsCount } from '../../agg_group_helper';
import { EditorAction } from './actions';
@@ -29,7 +29,9 @@ function initEditorState(vis: Vis) {
return vis.copyCurrentState(true);
}
-function editorStateReducer(state: VisState, action: EditorAction): VisState {
+const createEditorStateReducer = ({
+ aggs: { createAggConfigs },
+}: DataPublicPluginStart['search']) => (state: VisState, action: EditorAction): VisState => {
switch (action.type) {
case EditorStateActionTypes.ADD_NEW_AGG: {
const { schema } = action.payload;
@@ -181,6 +183,6 @@ function editorStateReducer(state: VisState, action: EditorAction): VisState {
};
}
}
-}
+};
-export { editorStateReducer, initEditorState };
+export { createEditorStateReducer, initEditorState };
diff --git a/src/legacy/core_plugins/vis_default_editor/public/legacy_imports.ts b/src/legacy/core_plugins/vis_default_editor/public/legacy_imports.ts
deleted file mode 100644
index 50028d8c970f4..0000000000000
--- a/src/legacy/core_plugins/vis_default_editor/public/legacy_imports.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.
- */
-
-/* `ui/agg_types` dependencies */
-export { BUCKET_TYPES, METRIC_TYPES } from '../../../../plugins/data/public';
-export {
- AggGroupNames,
- aggGroupNamesMap,
- AggParam,
- AggParamType,
- AggType,
- aggTypes,
- createAggConfigs,
- FieldParamType,
- IAggConfig,
- IAggConfigs,
- IAggGroupNames,
- IAggType,
- IFieldParamType,
- termsAggFilter,
-} from 'ui/agg_types';
-export { aggTypeFilters, propFilter } from 'ui/agg_types';
-export { aggTypeFieldFilters } from 'ui/agg_types';
-export { MetricAggType, IMetricAggType } from 'ui/agg_types';
-export { parentPipelineType } from 'ui/agg_types';
-export { siblingPipelineType } from 'ui/agg_types';
-export { isType, isStringType } from 'ui/agg_types';
-export { OptionedValueProp, OptionedParamEditorProps, OptionedParamType } from 'ui/agg_types';
-export { isValidInterval } from 'ui/agg_types';
-export { AggParamOption } from 'ui/agg_types';
-export { CidrMask } from 'ui/agg_types';
diff --git a/src/legacy/core_plugins/vis_default_editor/public/types.ts b/src/legacy/core_plugins/vis_default_editor/public/types.ts
new file mode 100644
index 0000000000000..22fc24005994d
--- /dev/null
+++ b/src/legacy/core_plugins/vis_default_editor/public/types.ts
@@ -0,0 +1,24 @@
+/*
+ * 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 { DataPublicPluginStart } from 'src/plugins/data/public';
+
+export interface VisDefaultEditorKibanaServices {
+ data: DataPublicPluginStart;
+}
diff --git a/src/legacy/core_plugins/vis_default_editor/public/utils.test.ts b/src/legacy/core_plugins/vis_default_editor/public/utils.test.ts
index b050979b7b338..f3912450ba670 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/utils.test.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/utils.test.ts
@@ -18,9 +18,7 @@
*/
import { groupAndSortBy } from './utils';
-import { AggGroupNames } from './legacy_imports';
-
-jest.mock('ui/new_platform');
+import { AggGroupNames } from 'src/plugins/data/public';
const aggs = [
{
diff --git a/src/legacy/core_plugins/vis_default_editor/public/vis_options_props.tsx b/src/legacy/core_plugins/vis_default_editor/public/vis_options_props.tsx
index 18fbba1b039b5..2e8f20946c73a 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/vis_options_props.tsx
+++ b/src/legacy/core_plugins/vis_default_editor/public/vis_options_props.tsx
@@ -17,8 +17,8 @@
* under the License.
*/
+import { IAggConfigs } from 'src/plugins/data/public';
import { PersistedState } from '../../../../plugins/visualizations/public';
-import { IAggConfigs } from './legacy_imports';
import { Vis } from '../../visualizations/public';
export interface VisOptionsProps {
diff --git a/src/legacy/core_plugins/vis_default_editor/public/vis_type_agg_filter.ts b/src/legacy/core_plugins/vis_default_editor/public/vis_type_agg_filter.ts
index fcb06f73513b0..3ff212c43e6e8 100644
--- a/src/legacy/core_plugins/vis_default_editor/public/vis_type_agg_filter.ts
+++ b/src/legacy/core_plugins/vis_default_editor/public/vis_type_agg_filter.ts
@@ -16,9 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { IndexPattern } from 'src/plugins/data/public';
-import { IAggType, IAggConfig, aggTypeFilters, propFilter } from './legacy_imports';
+import { IAggType, IAggConfig, IndexPattern, search } from '../../../../plugins/data/public';
+const { aggTypeFilters, propFilter } = search.aggs;
const filterByName = propFilter('name');
/**
diff --git a/src/legacy/core_plugins/vis_type_metric/public/legacy_imports.ts b/src/legacy/core_plugins/vis_type_metric/public/legacy_imports.ts
index b769030a04fb1..cd7a8e740d85d 100644
--- a/src/legacy/core_plugins/vis_type_metric/public/legacy_imports.ts
+++ b/src/legacy/core_plugins/vis_type_metric/public/legacy_imports.ts
@@ -18,4 +18,3 @@
*/
export { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
-export { AggGroupNames, Schemas } from 'ui/agg_types';
diff --git a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_fn.test.ts b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_fn.test.ts
index 3bddc94929cf5..22c32895d6803 100644
--- a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_fn.test.ts
+++ b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_fn.test.ts
@@ -23,21 +23,8 @@ import { functionWrapper } from '../../../../plugins/expressions/common/expressi
jest.mock('ui/new_platform');
-jest.mock('../../vis_default_editor/public/legacy_imports', () => ({
- propFilter: jest.fn(),
- AggGroupNames: {
- Buckets: 'buckets',
- Metrics: 'metrics',
- },
- aggTypeFilters: {
- addFilter: jest.fn(),
- },
- BUCKET_TYPES: {
- DATE_HISTOGRAM: 'date_histogram',
- },
- METRIC_TYPES: {
- TOP_HITS: 'top_hits',
- },
+jest.mock('../../vis_default_editor/public', () => ({
+ Schemas: class {},
}));
describe('interpreter/functions#metric', () => {
diff --git a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.test.ts b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.test.ts
index 5813465cc3f00..cce5864aa50a1 100644
--- a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.test.ts
+++ b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.test.ts
@@ -36,21 +36,8 @@ import { createMetricVisTypeDefinition } from './metric_vis_type';
jest.mock('ui/new_platform');
-jest.mock('../../vis_default_editor/public/legacy_imports', () => ({
- propFilter: jest.fn(),
- AggGroupNames: {
- Buckets: 'buckets',
- Metrics: 'metrics',
- },
- aggTypeFilters: {
- addFilter: jest.fn(),
- },
- BUCKET_TYPES: {
- DATE_HISTOGRAM: 'date_histogram',
- },
- METRIC_TYPES: {
- TOP_HITS: 'top_hits',
- },
+jest.mock('../../vis_default_editor/public', () => ({
+ Schemas: class {},
}));
describe('metric_vis - createMetricVisTypeDefinition', () => {
diff --git a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.ts b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.ts
index 0b8d9b17659f4..f29164f7e540d 100644
--- a/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.ts
+++ b/src/legacy/core_plugins/vis_type_metric/public/metric_vis_type.ts
@@ -22,8 +22,9 @@ import { i18n } from '@kbn/i18n';
import { MetricVisComponent } from './components/metric_vis_component';
import { MetricVisOptions } from './components/metric_vis_options';
import { ColorModes } from '../../vis_type_vislib/public';
-import { Schemas, AggGroupNames } from './legacy_imports';
import { ColorSchemas, colorSchemas } from '../../../../plugins/charts/public';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
export const createMetricVisTypeDefinition = () => ({
name: 'metric',
diff --git a/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table.js b/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table.js
index 91581923b05cb..8edef2ea16353 100644
--- a/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table.js
+++ b/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table.js
@@ -27,7 +27,8 @@ import {
oneTermOneHistogramBucketWithTwoMetricsOneTopHitOneDerivative,
} from 'fixtures/fake_hierarchical_data';
import sinon from 'sinon';
-import { tabifyAggResponse, npStart } from '../../legacy_imports';
+import { npStart } from '../../legacy_imports';
+import { search } from '../../../../../../plugins/data/public';
import FixturesStubbedLogstashIndexPatternProvider from 'fixtures/stubbed_logstash_index_pattern';
import { round } from 'lodash';
import { tableVisTypeDefinition } from '../../table_vis_type';
@@ -39,6 +40,8 @@ import { getAngularModule } from '../../get_inner_angular';
import { initTableVisLegacyModule } from '../../table_vis_legacy_module';
import { tableVisResponseHandler } from '../../table_vis_response_handler';
+const { tabifyAggResponse } = search;
+
describe('Table Vis - AggTable Directive', function() {
let $rootScope;
let $compile;
diff --git a/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table_group.js b/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table_group.js
index 4d62551dcf396..89900d2144030 100644
--- a/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table_group.js
+++ b/src/legacy/core_plugins/vis_type_table/public/agg_table/__tests__/agg_table_group.js
@@ -21,13 +21,16 @@ import $ from 'jquery';
import ngMock from 'ng_mock';
import expect from '@kbn/expect';
import { metricOnly, threeTermBuckets } from 'fixtures/fake_hierarchical_data';
-import { tabifyAggResponse, npStart } from '../../legacy_imports';
+import { npStart } from '../../legacy_imports';
+import { search } from '../../../../../../plugins/data/public';
import FixturesStubbedLogstashIndexPatternProvider from 'fixtures/stubbed_logstash_index_pattern';
import { getAngularModule } from '../../get_inner_angular';
import { initTableVisLegacyModule } from '../../table_vis_legacy_module';
import { tableVisResponseHandler } from '../../table_vis_response_handler';
import { start as visualizationsStart } from '../../../../visualizations/public/np_ready/public/legacy';
+const { tabifyAggResponse } = search;
+
describe('Table Vis - AggTableGroup Directive', function() {
let $rootScope;
let $compile;
diff --git a/src/legacy/core_plugins/vis_type_table/public/components/table_vis_options.tsx b/src/legacy/core_plugins/vis_type_table/public/components/table_vis_options.tsx
index 8cc0ca2456867..30a9526273166 100644
--- a/src/legacy/core_plugins/vis_type_table/public/components/table_vis_options.tsx
+++ b/src/legacy/core_plugins/vis_type_table/public/components/table_vis_options.tsx
@@ -24,11 +24,13 @@ import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { VisOptionsProps } from 'src/legacy/core_plugins/vis_default_editor/public';
-import { tabifyGetColumns } from '../legacy_imports';
+import { search } from '../../../../../plugins/data/public';
import { NumberInputOption, SwitchOption, SelectOption } from '../../../vis_type_vislib/public';
import { TableVisParams } from '../types';
import { totalAggregations } from './utils';
+const { tabifyGetColumns } = search;
+
function TableOptions({
aggs,
stateParams,
diff --git a/src/legacy/core_plugins/vis_type_table/public/get_inner_angular.ts b/src/legacy/core_plugins/vis_type_table/public/get_inner_angular.ts
index 6fb5658d8e815..6208e358b4184 100644
--- a/src/legacy/core_plugins/vis_type_table/public/get_inner_angular.ts
+++ b/src/legacy/core_plugins/vis_type_table/public/get_inner_angular.ts
@@ -25,14 +25,14 @@ import 'angular-recursion';
import { i18nDirective, i18nFilter, I18nProvider } from '@kbn/i18n/angular';
import { CoreStart, LegacyCoreStart, IUiSettingsClient } from 'kibana/public';
import {
- PrivateProvider,
+ initAngularBootstrap,
PaginateDirectiveProvider,
PaginateControlsDirectiveProvider,
+ PrivateProvider,
watchMultiDecorator,
KbnAccessibleClickProvider,
configureAppAngularModule,
-} from './legacy_imports';
-import { initAngularBootstrap } from '../../../../plugins/kibana_legacy/public';
+} from '../../../../plugins/kibana_legacy/public';
initAngularBootstrap();
diff --git a/src/legacy/core_plugins/vis_type_table/public/legacy_imports.ts b/src/legacy/core_plugins/vis_type_table/public/legacy_imports.ts
index 7b584f8069338..287b6c172ffd9 100644
--- a/src/legacy/core_plugins/vis_type_table/public/legacy_imports.ts
+++ b/src/legacy/core_plugins/vis_type_table/public/legacy_imports.ts
@@ -19,16 +19,3 @@
export { npSetup, npStart } from 'ui/new_platform';
export { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
-export { IAggConfig, AggGroupNames, Schemas } from 'ui/agg_types';
-// @ts-ignore
-export { PaginateDirectiveProvider } from 'ui/directives/paginate';
-// @ts-ignore
-export { PaginateControlsDirectiveProvider } from 'ui/directives/paginate';
-import { search } from '../../../../plugins/data/public';
-export const { tabifyAggResponse, tabifyGetColumns } = search;
-export {
- configureAppAngularModule,
- KbnAccessibleClickProvider,
- PrivateProvider,
- watchMultiDecorator,
-} from '../../../../plugins/kibana_legacy/public';
diff --git a/src/legacy/core_plugins/vis_type_table/public/table_vis_controller.test.ts b/src/legacy/core_plugins/vis_type_table/public/table_vis_controller.test.ts
index 6d4e94c6292a6..327a47093f535 100644
--- a/src/legacy/core_plugins/vis_type_table/public/table_vis_controller.test.ts
+++ b/src/legacy/core_plugins/vis_type_table/public/table_vis_controller.test.ts
@@ -34,8 +34,13 @@ import { stubFields } from '../../../../plugins/data/public/stubs';
import { tableVisResponseHandler } from './table_vis_response_handler';
import { coreMock } from '../../../../core/public/mocks';
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
-import { createAggConfigs } from 'ui/agg_types';
-import { tabifyAggResponse, IAggConfig } from './legacy_imports';
+import { npStart } from './legacy_imports';
+import { IAggConfig, search } from '../../../../plugins/data/public';
+
+// should be mocked once get rid of 'ui/new_platform' legacy imports
+const { createAggConfigs } = npStart.plugins.data.search.aggs;
+
+const { tabifyAggResponse } = search;
jest.mock('ui/new_platform');
jest.mock('../../../../plugins/kibana_legacy/public/angular/angular_config', () => ({
diff --git a/src/legacy/core_plugins/vis_type_table/public/table_vis_type.ts b/src/legacy/core_plugins/vis_type_table/public/table_vis_type.ts
index 970bf1ba7ce64..e70b09904253f 100644
--- a/src/legacy/core_plugins/vis_type_table/public/table_vis_type.ts
+++ b/src/legacy/core_plugins/vis_type_table/public/table_vis_type.ts
@@ -18,7 +18,8 @@
*/
import { i18n } from '@kbn/i18n';
-import { AggGroupNames, Schemas } from './legacy_imports';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import { Vis } from '../../visualizations/public';
import { tableVisResponseHandler } from './table_vis_response_handler';
// @ts-ignore
diff --git a/src/legacy/core_plugins/vis_type_tagcloud/public/legacy_imports.ts b/src/legacy/core_plugins/vis_type_tagcloud/public/legacy_imports.ts
index 0d76bc5d8b68b..cd7a8e740d85d 100644
--- a/src/legacy/core_plugins/vis_type_tagcloud/public/legacy_imports.ts
+++ b/src/legacy/core_plugins/vis_type_tagcloud/public/legacy_imports.ts
@@ -17,5 +17,4 @@
* under the License.
*/
-export { Schemas } from 'ui/agg_types';
export { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
diff --git a/src/legacy/core_plugins/vis_type_tagcloud/public/tag_cloud_type.ts b/src/legacy/core_plugins/vis_type_tagcloud/public/tag_cloud_type.ts
index 34d15287169c0..9a522fe6e648e 100644
--- a/src/legacy/core_plugins/vis_type_tagcloud/public/tag_cloud_type.ts
+++ b/src/legacy/core_plugins/vis_type_tagcloud/public/tag_cloud_type.ts
@@ -19,7 +19,7 @@
import { i18n } from '@kbn/i18n';
-import { Schemas } from './legacy_imports';
+import { Schemas } from '../../vis_default_editor/public';
import { Status } from '../../visualizations/public';
import { TagCloudOptions } from './components/tag_cloud_options';
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/area.ts b/src/legacy/core_plugins/vis_type_vislib/public/area.ts
index 71027d7db5af8..e79555470298b 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/area.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/area.ts
@@ -23,7 +23,8 @@ import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
-import { Schemas, AggGroupNames } from './legacy_imports';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import {
Positions,
ChartTypes,
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/components/options/gauge/style_panel.tsx b/src/legacy/core_plugins/vis_type_vislib/public/components/options/gauge/style_panel.tsx
index 4c936c93a4c8a..9254c3c18347c 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/components/options/gauge/style_panel.tsx
+++ b/src/legacy/core_plugins/vis_type_vislib/public/components/options/gauge/style_panel.tsx
@@ -24,7 +24,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { SelectOption } from '../../common';
import { GaugeOptionsInternalProps } from '.';
-import { AggGroupNames } from '../../../legacy_imports';
+import { AggGroupNames } from '../../../../../../../plugins/data/public';
function StylePanel({ aggs, setGaugeValue, stateParams, vis }: GaugeOptionsInternalProps) {
const diasableAlignment =
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.test.tsx b/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.test.tsx
index f172a4344c940..032dd10cf11d2 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.test.tsx
+++ b/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.test.tsx
@@ -20,6 +20,7 @@
import React from 'react';
import { mount, shallow } from 'enzyme';
+import { IAggConfig, IAggType } from 'src/plugins/data/public';
import { MetricsAxisOptions } from './index';
import { BasicVislibParams, SeriesParam, ValueAxis } from '../../../types';
import { ValidationVisOptionsProps } from '../../common';
@@ -27,10 +28,8 @@ import { Positions } from '../../../utils/collections';
import { ValueAxesPanel } from './value_axes_panel';
import { CategoryAxisPanel } from './category_axis_panel';
import { ChartTypes } from '../../../utils/collections';
-import { IAggConfig, IAggType } from '../../../legacy_imports';
import { defaultValueAxisId, valueAxis, seriesParam, categoryAxis } from './mocks';
-jest.mock('ui/new_platform');
jest.mock('./series_panel', () => ({
SeriesPanel: () => 'SeriesPanel',
}));
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx b/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx
index 82b64e4185ed2..a6f4a967d9c76 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx
+++ b/src/legacy/core_plugins/vis_type_vislib/public/components/options/metrics_axes/index.tsx
@@ -21,7 +21,7 @@ import React, { useState, useEffect, useCallback, useMemo } from 'react';
import { cloneDeep, uniq, get } from 'lodash';
import { EuiSpacer } from '@elastic/eui';
-import { IAggConfig } from '../../../legacy_imports';
+import { IAggConfig } from 'src/plugins/data/public';
import { BasicVislibParams, ValueAxis, SeriesParam, Axis } from '../../../types';
import { ValidationVisOptionsProps } from '../../common';
import { SeriesPanel } from './series_panel';
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/gauge.ts b/src/legacy/core_plugins/vis_type_vislib/public/gauge.ts
index c78925d5316b0..4610bd37db5f1 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/gauge.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/gauge.ts
@@ -19,8 +19,8 @@
import { i18n } from '@kbn/i18n';
-import { RangeValues } from '../../vis_default_editor/public';
-import { Schemas, AggGroupNames } from './legacy_imports';
+import { RangeValues, Schemas } from '../../vis_default_editor/public';
+import { AggGroupNames } from '../../../../plugins/data/public';
import { GaugeOptions } from './components/options';
import { getGaugeCollections, Alignments, ColorModes, GaugeTypes } from './utils/collections';
import { createVislibVisController } from './vis_controller';
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/goal.ts b/src/legacy/core_plugins/vis_type_vislib/public/goal.ts
index d2fdb9543d827..c918128d01f11 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/goal.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/goal.ts
@@ -19,12 +19,13 @@
import { i18n } from '@kbn/i18n';
-import { Schemas, AggGroupNames } from './legacy_imports';
import { GaugeOptions } from './components/options';
import { getGaugeCollections, GaugeTypes, ColorModes } from './utils/collections';
import { createVislibVisController } from './vis_controller';
import { VisTypeVislibDependencies } from './plugin';
import { ColorSchemas } from '../../../../plugins/charts/public';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
export const createGoalVisTypeDefinition = (deps: VisTypeVislibDependencies) => ({
name: 'goal',
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/heatmap.ts b/src/legacy/core_plugins/vis_type_vislib/public/heatmap.ts
index c8ce335f09e78..39a583f3c9641 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/heatmap.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/heatmap.ts
@@ -19,8 +19,8 @@
import { i18n } from '@kbn/i18n';
-import { RangeValues } from '../../vis_default_editor/public';
-import { Schemas, AggGroupNames } from './legacy_imports';
+import { RangeValues, Schemas } from '../../vis_default_editor/public';
+import { AggGroupNames } from '../../../../plugins/data/public';
import { AxisTypes, getHeatmapCollections, Positions, ScaleTypes } from './utils/collections';
import { HeatmapOptions } from './components/options';
import { createVislibVisController } from './vis_controller';
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/histogram.ts b/src/legacy/core_plugins/vis_type_vislib/public/histogram.ts
index 7b9b008481c40..15ef369e5150e 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/histogram.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/histogram.ts
@@ -23,8 +23,8 @@ import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
-import { Schemas, AggGroupNames } from './legacy_imports';
-
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import {
Positions,
ChartTypes,
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/horizontal_bar.ts b/src/legacy/core_plugins/vis_type_vislib/public/horizontal_bar.ts
index eca26b4f55f60..8b5811628855c 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/horizontal_bar.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/horizontal_bar.ts
@@ -23,8 +23,8 @@ import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
-import { Schemas, AggGroupNames } from './legacy_imports';
-
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import {
Positions,
ChartTypes,
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/legacy_imports.ts b/src/legacy/core_plugins/vis_type_vislib/public/legacy_imports.ts
index 343fda44340d1..2b177bff98d56 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/legacy_imports.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/legacy_imports.ts
@@ -19,7 +19,6 @@
import { npStart } from 'ui/new_platform';
export const { createFiltersFromEvent } = npStart.plugins.data.actions;
-export { AggType, AggGroupNames, IAggConfig, IAggType, Schemas } from 'ui/agg_types';
export { getFormat } from 'ui/visualize/loader/pipeline_helpers/utilities';
import { search } from '../../../../plugins/data/public';
export const { tabifyAggResponse, tabifyGetColumns } = search;
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/line.ts b/src/legacy/core_plugins/vis_type_vislib/public/line.ts
index 7aaad52ed8841..ac4cda869fe29 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/line.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/line.ts
@@ -23,7 +23,8 @@ import { palettes } from '@elastic/eui/lib/services';
// @ts-ignore
import { euiPaletteColorBlind } from '@elastic/eui/lib/services';
-import { Schemas, AggGroupNames } from './legacy_imports';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import {
Positions,
ChartTypes,
diff --git a/src/legacy/core_plugins/vis_type_vislib/public/pie.ts b/src/legacy/core_plugins/vis_type_vislib/public/pie.ts
index b56dba659ffc8..0f1bd93f5b5bd 100644
--- a/src/legacy/core_plugins/vis_type_vislib/public/pie.ts
+++ b/src/legacy/core_plugins/vis_type_vislib/public/pie.ts
@@ -19,7 +19,8 @@
import { i18n } from '@kbn/i18n';
-import { Schemas, AggGroupNames } from './legacy_imports';
+import { AggGroupNames } from '../../../../plugins/data/public';
+import { Schemas } from '../../vis_default_editor/public';
import { PieOptions } from './components/options';
import { getPositions, Positions } from './utils/collections';
import { createVislibVisController } from './vis_controller';
diff --git a/src/legacy/ui/public/agg_types/index.ts b/src/legacy/ui/public/agg_types/index.ts
deleted file mode 100644
index 75c2cd4317872..0000000000000
--- a/src/legacy/ui/public/agg_types/index.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.
- */
-
-/**
- * Nothing to see here!
- *
- * Agg Types have moved to the new platform, and are being
- * re-exported from ui/agg_types for backwards compatibility.
- */
-
-import { npStart } from 'ui/new_platform';
-
-// runtime contracts
-const { types } = npStart.plugins.data.search.aggs;
-export const aggTypes = types.getAll();
-export const { createAggConfigs } = npStart.plugins.data.search.aggs;
-export const {
- AggConfig,
- AggType,
- aggTypeFieldFilters,
- FieldParamType,
- MetricAggType,
- parentPipelineAggHelper,
- siblingPipelineAggHelper,
-} = npStart.plugins.data.search.__LEGACY;
-
-// types
-export {
- AggGroupNames,
- AggParam,
- AggParamOption,
- AggParamType,
- AggTypeFieldFilters,
- AggTypeFilters,
- BUCKET_TYPES,
- DateRangeKey,
- IAggConfig,
- IAggConfigs,
- IAggGroupNames,
- IAggType,
- IFieldParamType,
- IMetricAggType,
- IpRangeKey,
- METRIC_TYPES,
- OptionedParamEditorProps,
- OptionedParamType,
- OptionedValueProp,
-} from '../../../../plugins/data/public';
-
-// static code
-import { search } from '../../../../plugins/data/public';
-export const {
- aggGroupNamesMap,
- aggTypeFilters,
- CidrMask,
- convertDateRangeToString,
- convertIPRangeToString,
- intervalOptions,
- isDateHistogramBucketAggConfig,
- isStringType,
- isType,
- isValidInterval,
- parentPipelineType,
- propFilter,
- siblingPipelineType,
- termsAggFilter,
-} = search.aggs;
-
-export { ISchemas, Schemas, Schema } from '../../../core_plugins/vis_default_editor/public/schemas';
diff --git a/src/plugins/data/common/field_formats/utils/serialize.ts b/src/plugins/data/common/field_formats/utils/serialize.ts
index 9931f55c30a9e..1092c90d19451 100644
--- a/src/plugins/data/common/field_formats/utils/serialize.ts
+++ b/src/plugins/data/common/field_formats/utils/serialize.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { IAggConfig } from '../../../../../legacy/ui/public/agg_types';
+import { IAggConfig } from 'src/plugins/data/public';
import { SerializedFieldFormat } from '../../../../expressions/common/types';
export const serializeFieldFormat = (agg: IAggConfig): SerializedFieldFormat => {
diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md
index 07d8d302bc18c..45ac5a3e12531 100644
--- a/src/plugins/data/public/public.api.md
+++ b/src/plugins/data/public/public.api.md
@@ -1322,7 +1322,7 @@ export interface QueryState {
// Warning: (ae-missing-release-tag) "QueryStringInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
-export const QueryStringInput: React.FC>;
+export const QueryStringInput: React.FC>;
// @public (undocumented)
export type QuerySuggestion = QuerySuggestionBasic | QuerySuggestionField;
@@ -1531,8 +1531,8 @@ export const search: {
// Warning: (ae-missing-release-tag) "SearchBar" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
-export const SearchBar: React.ComponentClass, "query" | "isLoading" | "indexPatterns" | "filters" | "onQueryChange" | "customSubmitButton" | "screenTitle" | "dataTestSubj" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "refreshInterval" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
- WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>;
+export const SearchBar: React.ComponentClass, "query" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
+ WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>;
};
// Warning: (ae-forgotten-export) The symbol "SearchBarOwnProps" needs to be exported by the entry point index.d.ts
diff --git a/src/plugins/kibana_legacy/public/index.ts b/src/plugins/kibana_legacy/public/index.ts
index 18f01854de259..75e81b0505747 100644
--- a/src/plugins/kibana_legacy/public/index.ts
+++ b/src/plugins/kibana_legacy/public/index.ts
@@ -27,6 +27,7 @@ export * from './plugin';
export { kbnBaseUrl } from '../common/kbn_base_url';
export { initAngularBootstrap } from './angular_bootstrap';
+export { PaginateDirectiveProvider, PaginateControlsDirectiveProvider } from './paginate/paginate';
export * from './angular';
export * from './notify';
export * from './utils';
diff --git a/src/plugins/kibana_legacy/public/paginate/paginate.d.ts b/src/plugins/kibana_legacy/public/paginate/paginate.d.ts
new file mode 100644
index 0000000000000..a40b869b2ccbb
--- /dev/null
+++ b/src/plugins/kibana_legacy/public/paginate/paginate.d.ts
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+
+export function PaginateDirectiveProvider($parse: any, $compile: any): any;
+export function PaginateControlsDirectiveProvider(): any;
diff --git a/src/legacy/ui/public/directives/paginate.js b/src/plugins/kibana_legacy/public/paginate/paginate.js
similarity index 93%
rename from src/legacy/ui/public/directives/paginate.js
rename to src/plugins/kibana_legacy/public/paginate/paginate.js
index 802aaaf453751..f7e623cdabd86 100644
--- a/src/legacy/ui/public/directives/paginate.js
+++ b/src/plugins/kibana_legacy/public/paginate/paginate.js
@@ -19,8 +19,7 @@
import _ from 'lodash';
import { i18n } from '@kbn/i18n';
-import { uiModules } from '../modules';
-import paginateControlsTemplate from './partials/paginate_controls.html';
+import paginateControlsTemplate from './paginate_controls.html';
export function PaginateDirectiveProvider($parse, $compile) {
return {
@@ -61,12 +60,9 @@ export function PaginateDirectiveProvider($parse, $compile) {
controller: function($scope, $document) {
const self = this;
const ALL = 0;
- const allSizeTitle = i18n.translate(
- 'common.ui.directives.paginate.size.allDropDownOptionLabel',
- {
- defaultMessage: 'All',
- }
- );
+ const allSizeTitle = i18n.translate('kibana_legacy.paginate.size.allDropDownOptionLabel', {
+ defaultMessage: 'All',
+ });
self.sizeOptions = [
{ title: '10', value: 10 },
@@ -229,8 +225,3 @@ export function PaginateControlsDirectiveProvider() {
template: paginateControlsTemplate,
};
}
-
-uiModules
- .get('kibana')
- .directive('paginate', PaginateDirectiveProvider)
- .directive('paginateControls', PaginateControlsDirectiveProvider);
diff --git a/src/legacy/ui/public/directives/partials/paginate_controls.html b/src/plugins/kibana_legacy/public/paginate/paginate_controls.html
similarity index 96%
rename from src/legacy/ui/public/directives/partials/paginate_controls.html
rename to src/plugins/kibana_legacy/public/paginate/paginate_controls.html
index c40021507c233..a553bc2231720 100644
--- a/src/legacy/ui/public/directives/partials/paginate_controls.html
+++ b/src/plugins/kibana_legacy/public/paginate/paginate_controls.html
@@ -3,7 +3,7 @@
ng-if="linkToTop"
ng-click="paginate.goToTop()"
data-test-subj="paginateControlsLinkToTop"
- i18n-id="common.ui.paginateControls.scrollTopButtonLabel"
+ i18n-id="kibana_legacy.paginate.controls.scrollTopButtonLabel"
i18n-default-message="Scroll to top"
>
@@ -86,7 +86,7 @@