diff --git a/x-pack/legacy/plugins/ml/public/app.js b/x-pack/legacy/plugins/ml/public/app.js
index 406439f0becd..ca0427544e83 100644
--- a/x-pack/legacy/plugins/ml/public/app.js
+++ b/x-pack/legacy/plugins/ml/public/app.js
@@ -23,7 +23,6 @@ import 'plugins/ml/services/calendar_service';
import 'plugins/ml/components/messagebar';
import 'plugins/ml/data_frame';
import 'plugins/ml/data_frame_analytics';
-import 'plugins/ml/data_visualizer';
import 'plugins/ml/datavisualizer';
import 'plugins/ml/explorer';
import 'plugins/ml/timeseriesexplorer';
@@ -34,7 +33,6 @@ import 'plugins/ml/components/confirm_modal';
import 'plugins/ml/components/navigation_menu';
import 'plugins/ml/components/loading_indicator';
import 'plugins/ml/settings';
-import 'plugins/ml/file_datavisualizer';
import 'uiExports/autocompleteProviders';
import uiRoutes from 'ui/routes';
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/_index.scss b/x-pack/legacy/plugins/ml/public/components/field_data_card/_index.scss
deleted file mode 100644
index c39be8d5f17d..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/_index.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import 'field_data_card';
\ No newline at end of file
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/content_types/card_boolean.html b/x-pack/legacy/plugins/ml/public/components/field_data_card/content_types/card_boolean.html
deleted file mode 100644
index 312d3600436d..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/content_types/card_boolean.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
');
- }
-
- if (scope.card.type === ML_JOB_FIELD_TYPES.DATE) {
- scope.$watch('card.stats', () => {
- // Convert earliest and latest to Dates for formatting with moment filter in the template.
- if (_.has(scope, 'card.stats.earliest')) {
- scope.card.stats.earliest = new Date(scope.card.stats.earliest);
- }
- if (_.has(scope, 'card.stats.latest')) {
- scope.card.stats.latest = new Date(scope.card.stats.latest);
- }
- }, true);
- }
-
- scope.toMoment = function (datetime) {
- return moment(datetime).format(config.get('dateFormat'));
- };
-
- scope.getCardUrl = function () {
- const urlBasePath = chrome.getBasePath();
- const baseCardPath = `${urlBasePath}/plugins/ml/components/field_data_card/content_types`;
- const cardType = scope.card.type;
- switch (cardType) {
- case ML_JOB_FIELD_TYPES.BOOLEAN:
- return `${baseCardPath}/card_boolean.html`;
- case ML_JOB_FIELD_TYPES.DATE:
- return `${baseCardPath}/card_date.html`;
- case ML_JOB_FIELD_TYPES.GEO_POINT:
- return `${baseCardPath}/card_geo_point.html`;
- case ML_JOB_FIELD_TYPES.IP:
- return `${baseCardPath}/card_ip.html`;
- case ML_JOB_FIELD_TYPES.KEYWORD:
- return `${baseCardPath}/card_keyword.html`;
- case ML_JOB_FIELD_TYPES.NUMBER:
- if (scope.card.fieldName) {
- return `${baseCardPath}/card_number.html`;
- } else {
- return `${baseCardPath}/card_document_count.html`;
- }
- case ML_JOB_FIELD_TYPES.TEXT:
- return `${baseCardPath}/card_text.html`;
- default:
- return `${baseCardPath}/card_other.html`;
- }
- };
-
- element.on('$destroy', () => {
- scope.$destroy();
- });
-
- }
-
- return {
- scope: {
- card: '=',
- indexPattern: '=',
- query: '=',
- earliest: '=',
- latest: '='
- },
- template,
- link: link
- };
-})
- .filter('formatField', function () {
- // Filter to format the value of a field according to the defined format
- // of the field in the index pattern.
- return function (value, fieldFormat) {
- return fieldFormat.convert(value, 'text');
- };
- });
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/index.js b/x-pack/legacy/plugins/ml/public/components/field_data_card/index.js
deleted file mode 100644
index 5aeb0e4ca229..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-import './document_count_chart_directive';
-import './display_value_directive';
-import './field_data_card_directive';
-import './metric_distribution_chart_directive';
-import './top_values_directive';
-import 'plugins/ml/components/field_title_bar';
-import 'plugins/ml/components/field_type_icon';
-import 'plugins/ml/components/chart_tooltip';
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/metric_distribution_chart_directive.js b/x-pack/legacy/plugins/ml/public/components/field_data_card/metric_distribution_chart_directive.js
deleted file mode 100644
index d23fdfa28028..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/metric_distribution_chart_directive.js
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-/*
- * AngularJS directive for rendering a chart showing the distribution of values for
- * a metric on the field data card.
- */
-
-import _ from 'lodash';
-import { i18n } from '@kbn/i18n';
-import d3 from 'd3';
-
-import { numTicks } from '../../util/chart_utils';
-import { ordinalSuffix } from 'ui/utils/ordinal_suffix';
-import { mlChartTooltipService } from '../../components/chart_tooltip/chart_tooltip_service';
-
-import { uiModules } from 'ui/modules';
-const module = uiModules.get('apps/ml');
-
-module.directive('mlMetricDistributionChart', function () {
-
- function link(scope, element, attrs) {
- const svgWidth = attrs.width ? +attrs.width : 400;
- const svgHeight = scope.height = attrs.height ? +attrs.height : 400;
-
- // TODO - do we want to label the y axis?
- const margin = { top: 0, right: 15, bottom: 20, left: 15 };
- const infoLabelHeight = 15;
-
- const chartWidth = svgWidth - (margin.left + margin.right);
- const chartHeight = svgHeight - (margin.top + margin.bottom + infoLabelHeight);
-
- let xScale = d3.scale.linear().range([0, chartWidth]);
- let yScale = d3.scale.linear().range([chartHeight, 0]);
- let xAxisMin = 0;
- let xAxisMax = 1;
- let chartGroup;
-
- const distributionArea = d3.svg.area()
- .x(function (d) { return xScale(d.x); })
- .y0(function () { return yScale(0); })
- .y1(function (d) { return yScale(d.y); });
-
- const MIN_BAR_WIDTH = 3; // Minimum bar width, in pixels.
-
- element.on('$destroy', function () {
- scope.$destroy();
- });
-
- function processDistributionData() {
- const distributionData = _.get(scope, ['card', 'stats', 'distribution', 'percentiles'], []);
- const chartData = [];
-
- // Process the raw distribution data so it is in a suitable format for plotting:
- if (distributionData.length === 0) {
- return chartData;
- }
-
- // Adjust x axis min and max if there is a single bar.
- const minX = distributionData[0].minValue;
- const maxX = distributionData[distributionData.length - 1].maxValue;
- xAxisMin = minX;
- xAxisMax = maxX;
- if (maxX === minX) {
- if (minX !== 0) {
- xAxisMin = 0;
- xAxisMax = 2 * minX;
- } else {
- xAxisMax = 1;
- }
- }
-
- // Adjust the right hand x coordinates so that each bar is
- // at least MIN_BAR_WIDTH.
- // TODO - make sure last bar isn't cropped at RHS.
- const minBarWidth = (MIN_BAR_WIDTH / chartWidth) * (xAxisMax - xAxisMin);
- const processedData = [];
- let lastBar = undefined;
- _.each(distributionData, (data, index) => {
-
- if (index === 0) {
- const bar = {
- x0: data.minValue,
- x1: Math.max(data.minValue + minBarWidth, data.maxValue),
- dataMin: data.minValue,
- dataMax: data.maxValue,
- percent: data.percent
- };
-
- // Scale the height of the bar according to the range of data values in the bar.
- bar.y = (data.percent / (bar.x1 - bar.x0)) *
- Math.max(1, (minBarWidth / Math.max((data.maxValue - data.minValue), 0.5 * minBarWidth)));
- bar.isMinWidth = (data.maxValue <= (data.minValue + minBarWidth));
- processedData.push(bar);
- lastBar = bar;
- } else {
- if (lastBar.isMinWidth === false || data.maxValue > lastBar.x1) {
- const bar = {
- x0: lastBar.x1,
- x1: Math.max(lastBar.x1 + minBarWidth, data.maxValue),
- dataMin: data.minValue,
- dataMax: data.maxValue,
- percent: data.percent
- };
-
- // Scale the height of the bar according to the range of data values in the bar.
- bar.y = (data.percent / (bar.x1 - bar.x0)) *
- Math.max(1, (minBarWidth / Math.max((data.maxValue - data.minValue), 0.5 * minBarWidth)));
- bar.isMinWidth = (data.maxValue <= (lastBar.x1 + minBarWidth));
- processedData.push(bar);
- lastBar = bar;
- } else {
- // Combine bars which are less than minBarWidth apart.
- lastBar.percent = lastBar.percent + data.percent;
- lastBar.y = lastBar.percent / (lastBar.x1 - lastBar.x0);
- lastBar.dataMax = data.maxValue;
- }
- }
-
- });
-
- if (maxX !== minX) {
- xAxisMax = _.last(processedData).x1;
- }
-
- // Adjust the maximum bar height to be (10 * median bar height).
- // TODO indicate if a bar height has been truncated?
- let barHeights = _.pluck(processedData, 'y');
- barHeights = barHeights.sort((a, b) => a - b);
-
- let maxBarHeight = 0;
- const processedDataLength = processedData.length;
- if (Math.abs(processedDataLength % 2) === 1) {
- maxBarHeight = 20 * barHeights[(Math.floor(processedDataLength / 2))];
- } else {
- maxBarHeight = 20 * (barHeights[(Math.floor(processedDataLength / 2)) - 1] +
- barHeights[(Math.floor(processedDataLength / 2))]) / 2;
- }
-
- _.each(processedData, (data) => {
- data.y = Math.min(data.y, maxBarHeight);
- });
-
- scope.processedData = processedData;
-
- chartData.push({ x: minX, y: 0 });
- _.each(processedData, (data) => {
- chartData.push({ x: data.x0, y: data.y });
- chartData.push({ x: data.x1, y: data.y });
- });
- chartData.push({ x: processedData[processedData.length - 1].x1, y: 0 });
-
- return chartData;
- }
-
- function init() {
- scope.chartData = processDistributionData();
-
- // Clear any existing elements from the visualization,
- // then build the svg elements for the chart.
- const chartElement = d3.select(element.get(0)).select('.content-wrapper');
- chartElement.select('svg').remove();
-
- const svg = chartElement.append('svg')
- .attr('width', svgWidth)
- .attr('height', svgHeight);
-
- // Add a label above the chart to display percentiles being plotted.
- const minPercentile = _.get(scope, ['card', 'stats', 'distribution', 'minPercentile']);
- const maxPercentile = _.get(scope, ['card', 'stats', 'distribution', 'maxPercentile']);
- const minPercent = ordinalSuffix(minPercentile);
- const maxPercent = ordinalSuffix(maxPercentile);
- svg.append('text')
- .attr('x', chartWidth / 2)
- .attr('y', 10)
- .attr('class', 'info-text')
- .attr('transform', `translate(${margin.left}, ${margin.top})`)
- .text(i18n.translate('xpack.ml.fieldDataCard.metricDistributionChart.displayingPercentilesLabel', {
- defaultMessage: 'Displaying {minPercent} - {maxPercent} percentiles',
- values: {
- minPercent,
- maxPercent,
- },
- }));
-
- const translateTop = margin.top + infoLabelHeight;
- chartGroup = svg.append('g')
- .attr('class', 'distribution-chart')
- .attr('transform', `translate(${margin.left}, ${translateTop})`);
-
- const dataLength = scope.chartData.length;
- if (dataLength > 0) {
- xScale = xScale.domain([xAxisMin, xAxisMax]);
-
- const yMax = d3.max(scope.chartData, (d) => d.y);
- yScale = yScale.domain([0, yMax]);
- }
- }
-
- function drawAxes() {
- const axes = chartGroup.append('g')
- .attr('class', 'axes');
-
- // Use the numTicks util function to calculate the number of ticks
- // for the x axis, according to the width of the chart.
- // Note that d3 doesn't guarantee that the axis will end up with
- // this exact number of ticks.
- const xAxis = d3.svg.axis().scale(xScale).orient('bottom')
- .outerTickSize(0).ticks(numTicks(chartWidth))
- .tickFormat((d) => {
- // Format the tick label according to the format of the index pattern field.
- return scope.card.fieldFormat.convert(d, 'text');
- });
-
- const yAxis = d3.svg.axis().scale(yScale).orient('left')
- .outerTickSize(0).ticks(0);
-
- axes.append('g')
- .attr('class', 'x axis')
- .attr('transform', `translate(0, ${chartHeight})`)
- .call(xAxis);
-
- axes.append('g')
- .attr('class', 'y axis')
- .call(yAxis);
- }
-
- function drawDistributionArea() {
- const path = chartGroup.append('path');
- path.datum(scope.chartData)
- .attr('class', 'area')
- .attr('d', distributionArea)
- .on('mouseover', showChartTooltip)
- .on('mouseout', () => mlChartTooltipService.hide())
- .on('mousemove', showChartTooltip);
-
- function showChartTooltip() {
- const xPos = d3.mouse(this)[0];
- const yPos = d3.mouse(this)[1];
- const xVal = xScale.invert(xPos);
-
- let processedDataIdx = 0;
- for (let i = 0; i < scope.processedData.length; i++) {
- if (xVal < scope.processedData[i].x1) {
- processedDataIdx = i;
- break;
- }
- }
-
- let contents;
- const bar = scope.processedData[processedDataIdx];
- const minValFormatted = scope.card.fieldFormat.convert(bar.dataMin, 'text');
- if (bar.dataMax > bar.dataMin) {
- const maxValFormatted = scope.card.fieldFormat.convert(bar.dataMax, 'text');
- contents = i18n.translate('xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentBetweenValuesDescription', {
- defaultMessage: '{barPercent}% of documents have{br}values between {minValFormatted} and {maxValFormatted}',
- values: {
- barPercent: bar.percent,
- minValFormatted,
- maxValFormatted,
- br: '
',
- },
- });
- } else {
- contents = i18n.translate('xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentValueDescription', {
- defaultMessage: '{barPercent}% of documents have{br}a value of {minValFormatted}',
- values: {
- barPercent: bar.percent,
- minValFormatted,
- br: '
',
- },
- });
- }
-
- contents = `
${contents}
`;
-
- if (path.length && path[0].length) {
- mlChartTooltipService.show(contents, path[0][0], {
- x: xPos + 5,
- y: yPos + 10
- });
- }
- }
- }
-
- init();
- drawAxes();
- drawDistributionArea();
-
- }
-
- return {
- scope: false,
- link: link
- };
-});
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values.html b/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values.html
deleted file mode 100644
index 0bb9396e993e..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
- {{value.key | formatField:card.fieldFormat}}
-
-
-
{{value.doc_count}}
-
- {{ 100 * value.doc_count/card.stats.topValuesSampleSize >= 0.1 ? (100 * value.doc_count/card.stats.topValuesSampleSize | number:1): '< 0.1' }}%
-
-
-
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values_directive.js b/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values_directive.js
deleted file mode 100644
index 48f6ec1d3657..000000000000
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/top_values_directive.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-import template from './top_values.html';
-import { mlEscape } from 'plugins/ml/util/string_utils';
-
-import { uiModules } from 'ui/modules';
-const module = uiModules.get('apps/ml');
-
-module.directive('mlTopValues', function () {
- return {
- restrict: 'E',
- template,
- link(scope) {
- scope.mlEscape = mlEscape;
- }
- };
-});
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/__tests__/datavisualizer_controller.js b/x-pack/legacy/plugins/ml/public/datavisualizer/__tests__/datavisualizer_controller.js
deleted file mode 100644
index 9283f8233546..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/__tests__/datavisualizer_controller.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-import ngMock from 'ng_mock';
-import expect from '@kbn/expect';
-import sinon from 'sinon';
-
-// Import this way to be able to stub/mock functions later on in the tests using sinon.
-import * as indexUtils from 'plugins/ml/util/index_utils';
-
-describe('ML - Data Visualizer View Fields Controller', () => {
-
-
- beforeEach(() => {
- ngMock.module('kibana');
- });
-
- it('Initialize Data Visualizer View Fields Controller', (done) => {
- const stub = sinon.stub(indexUtils, 'timeBasedIndexCheck').callsFake(() => false);
- ngMock.inject(function ($rootScope, $controller, $route) {
- // Set up the $route current props required for the tests.
- $route.current = {
- locals: {
- indexPattern: {
- id: ''
- },
- savedSearch: {
- id: ''
- }
- }
- };
-
- const scope = $rootScope.$new();
-
- expect(() => {
- $controller('MlDataVisualizerViewFields', { $scope: scope });
- }).to.not.throwError();
-
- expect(scope.metricCards).to.eql([]);
- stub.restore();
- done();
- });
- });
-});
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/_datavisualizer.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/_datavisualizer.scss
deleted file mode 100644
index 410b875f4723..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/_datavisualizer.scss
+++ /dev/null
@@ -1,142 +0,0 @@
-.data-visualizer-container {
- width: 100%;
- margin-right: auto;
- margin-left: auto;
- padding: $euiSizeS $euiSize;
- flex: 1 0 auto;
-
- .flexGroup__filler {
- flex: 1 1 auto;
- }
-
- .kuiVerticalRhythm + .kuiVerticalRhythm {
- margin-top: $euiSizeL;
- }
-
- .title-container {
- padding-bottom: $euiSize;
- padding-right: $euiSizeS;
- }
-
- .main-container {
- width: calc(100% - 300px);
- display: inline-block;
- padding-right: $euiSizeS;
- }
- .no-sidebar {
- width: 100%;
- }
-
- .datavisualizer-sidebar {
- width: 290px;
- display: inline-block;
- vertical-align: top;
- }
-
- .datavisualizer-panel {
- padding: $euiSizeS $euiSize;
- background-color: $euiColorEmptyShade;
- }
-
- .datavisualizer-panel.card-panel {
- padding-right: $euiSizeXS;
- }
-
- .query-bar-form {
- padding-top: $euiSizeXS;
- }
-
- .document-count-container {
- padding-top: $euiSizeS;
-
- // SASSTODO: Make a proper selector
- label {
- font-weight: $euiFontWeightRegular;
- }
-
- // SASSTODO: Make a proper selector
- .fa-info-circle {
- color: $euiColorDarkShade;
- font-size: $euiFontSizeS;
- }
- }
-
- .field-count-label {
- display: inline-block;
- }
-
- .field-sort-controls {
- margin-bottom: 0px;
- min-width: 300px;
- padding: 10px 0px;
-
- .field-group-input {
- display: inline;
- margin-left: 10px;
- }
-
- // SASSTODO: Make a proper selector
- label {
- display: inline;
- }
- }
-
- .field-filter-controls {
- margin-bottom: 0px;
- min-width: 400px;
- padding-bottom: $euiSizeXL;
- padding-right: $euiSizeS;
-
- .type-input {
- float: left;
- margin-right: $euiSizeXS;
- }
-
- }
-
- .field-emphasis {
- font-weight: $euiFontWeightBold;
- }
-
- .card-container {
- display: inline-grid;
- display: -ms-inline-grid;
- padding: 0px $euiSize $euiSize 0px;
- }
-
- .create-job-content {
- padding-bottom: $euiSizeXS;
-
- .synopsisTitle {
- font-size: $euiFontSizeM;
- font-weight: $euiFontWeightRegular;
- color: $euiColorPrimary;
- }
-
- .synopsis:hover {
- text-decoration: none;
-
- .synopsisTitle {
- text-decoration: underline;
- }
- }
-
- .synopsisIcon {
- padding-top: $euiSizeS;
- }
-
- .recognized-job-content {
- margin-bottom: $euiSizeXXL;
-
- .recognizer-result {
- margin-top: $euiSizeS;
- margin-bottom: 0px;
- }
- }
- }
-
- // SASSTODO: Make a proper selector
- p {
- margin-bottom: $euiSize;
- }
-}
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/_index.scss
index b0866a85f080..35cf29928e53 100644
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/_index.scss
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/_index.scss
@@ -1 +1,2 @@
-@import 'datavisualizer';
+@import 'file_based/index';
+@import 'index_based/index';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/breadcrumbs.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/breadcrumbs.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/breadcrumbs.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/breadcrumbs.ts
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer.html b/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer.html
deleted file mode 100644
index 7f84fe2678ab..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer.html
+++ /dev/null
@@ -1,259 +0,0 @@
-
-
-
-
-
-
-
{{indexPattern.title}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_controller.js b/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_controller.js
deleted file mode 100644
index 7f26d92d8b3a..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_controller.js
+++ /dev/null
@@ -1,686 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-/*
- * Angular controller for the Machine Learning data visualizer which allows the user
- * to explore the data in the fields in an index pattern prior to creating a job.
- */
-
-import _ from 'lodash';
-import { i18n } from '@kbn/i18n';
-import rison from 'rison-node';
-
-import 'plugins/ml/components/form_filter_input';
-
-import chrome from 'ui/chrome';
-import uiRoutes from 'ui/routes';
-import { decorateQuery, luceneStringToDsl } from '@kbn/es-query';
-import { toastNotifications } from 'ui/notify';
-
-import { ML_JOB_FIELD_TYPES, KBN_FIELD_TYPES } from 'plugins/ml/../common/constants/field_types';
-import { getDataVisualizerBreadcrumbs } from './breadcrumbs';
-import { kbnTypeToMLJobType } from 'plugins/ml/util/field_types_utils';
-import { MlTimeBuckets } from 'plugins/ml/util/ml_time_buckets';
-import { checkBasicLicense, isFullLicense } from 'plugins/ml/license/check_license';
-import { checkGetJobsPrivilege } from 'plugins/ml/privilege/check_privilege';
-import { SearchItemsProvider } from 'plugins/ml/jobs/new_job/utils/new_job_utils';
-import { loadCurrentIndexPattern, loadCurrentSavedSearch, timeBasedIndexCheck } from 'plugins/ml/util/index_utils';
-import { checkMlNodesAvailable } from 'plugins/ml/ml_nodes_check/check_ml_nodes';
-import { ml } from 'plugins/ml/services/ml_api_service';
-import template from './datavisualizer.html';
-import { mlTimefilterRefresh$ } from '../services/timefilter_refresh_service';
-
-uiRoutes
- .when('/jobs/new_job/datavisualizer', {
- template,
- k7Breadcrumbs: getDataVisualizerBreadcrumbs,
- resolve: {
- CheckLicense: checkBasicLicense,
- privileges: checkGetJobsPrivilege,
- indexPattern: loadCurrentIndexPattern,
- savedSearch: loadCurrentSavedSearch,
- checkMlNodesAvailable
- }
- });
-
-import { timefilter } from 'ui/timefilter';
-import { uiModules } from 'ui/modules';
-const module = uiModules.get('apps/ml');
-
-module
- .controller('MlDataVisualizerViewFields', function (
- $scope,
- $timeout,
- $window,
- Private,
- AppState,
- config) {
-
- timefilter.enableTimeRangeSelector();
- timefilter.enableAutoRefreshSelector();
-
- const createSearchItems = Private(SearchItemsProvider);
- const {
- indexPattern,
- query } = createSearchItems();
-
- timeBasedIndexCheck(indexPattern, true);
-
- // List of system fields we don't want to display.
- // TODO - are we happy to ignore these fields?
- const OMIT_FIELDS = ['_source', '_type', '_index', '_id', '_version', '_score'];
-
- $scope.metricCards = [];
- $scope.totalMetricFieldCount = 0;
- $scope.populatedMetricFieldCount = 0;
- $scope.showAllMetrics = false;
- $scope.fieldCards = [];
- $scope.totalNonMetricFieldCount = 0;
- $scope.populatedNonMetricFieldCount = 0;
- $scope.ML_JOB_FIELD_TYPES = ML_JOB_FIELD_TYPES;
- $scope.showAllFields = false;
- $scope.filterFieldType = '*';
- $scope.urlBasePath = chrome.getBasePath();
- $scope.appState = new AppState();
-
- $scope.indexPattern = indexPattern;
- $scope.earliest = timefilter.getActiveBounds().min.valueOf();
- $scope.latest = timefilter.getActiveBounds().max.valueOf();
-
- $scope.metricFilterIcon = 0;
- $scope.metricFieldFilter = '';
- $scope.fieldFilterIcon = 0;
- $scope.fieldFilter = '';
- $scope.recognizerResults = {
- count: 0,
- onChange() {
- $scope.$applyAsync();
- }
- };
-
- $scope.showSidebar = isFullLicense();
-
- // Check for a saved query in the AppState or via a savedSearchId in the URL.
- // TODO - add in support for lucene queries with filters and Kuery.
- $scope.searchQueryText = '';
- const queryBarQry = ($scope.appState.query !== undefined) ? ($scope.appState.query) : query;
- if (queryBarQry.language === 'lucene') {
- $scope.searchQueryText = _.get(queryBarQry, 'query', '');
- } else {
- toastNotifications.addWarning({
- title: i18n.translate('xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningTitle', {
- defaultMessage: '{language} syntax not supported',
- values: {
- language: (queryBarQry.language !== undefined) ? queryBarQry.language : '',
- }
- }),
- text: i18n.translate('xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningDescription', {
- defaultMessage: 'The Data Visualizer currently only supports queries using the lucene query syntax.',
- }),
- });
- }
-
- $scope.searchQuery = buildSearchQuery();
-
- $scope.samplerShardSize = $scope.appState.samplerShardSize ?
- $scope.appState.samplerShardSize : 5000; // -1 indicates no sampling.
-
- let metricFieldRegexp;
- let metricFieldFilterTimeout;
- let fieldRegexp;
- let fieldFilterTimeout;
-
- // Obtain the list of non metric field types which appear in the index pattern.
- let indexedFieldTypes = [];
- _.each(indexPattern.fields, (field) => {
- if (!field.scripted) {
- const dataVisualizerType = kbnTypeToMLJobType(field);
- if (dataVisualizerType !== undefined) {
- indexedFieldTypes.push(dataVisualizerType);
- }
- }
- });
- indexedFieldTypes = _.chain(indexedFieldTypes)
- .unique()
- .without(ML_JOB_FIELD_TYPES.NUMBER)
- .value();
- $scope.indexedFieldTypes = indexedFieldTypes.sort();
-
- function refresh() {
- $scope.earliest = timefilter.getActiveBounds().min.valueOf();
- $scope.latest = timefilter.getActiveBounds().max.valueOf();
- loadOverallStats();
- }
-
- // Refresh the data when the time range is altered.
- $scope.$listenAndDigestAsync(timefilter, 'fetch', refresh);
-
- const timefilterRefreshServiceSub = mlTimefilterRefresh$.subscribe(refresh);
-
- $scope.$on('$destroy', () => {
- timefilterRefreshServiceSub.unsubscribe();
- });
-
- $scope.submitSearchQuery = function () {
- $scope.searchQuery = buildSearchQuery();
- saveAppState();
- loadOverallStats();
- };
-
- $scope.samplerShardSizeChanged = function () {
- saveAppState();
- loadOverallStats();
- };
-
- $scope.toggleAllMetrics = function () {
- $scope.showAllMetrics = !$scope.showAllMetrics;
- createMetricCards();
- };
-
- $scope.toggleAllFields = function () {
- $scope.showAllFields = !$scope.showAllFields;
- createNonMetricCards();
- };
-
- $scope.filterFieldTypeChanged = function (fieldType) {
- $scope.filterFieldType = fieldType;
- createNonMetricCards();
- };
-
- $scope.metricFieldFilterChanged = function () {
- // Clear the previous filter timeout.
- if (metricFieldFilterTimeout !== undefined) {
- $timeout.cancel(metricFieldFilterTimeout);
- }
-
- // Create a timeout to recreate the metric configurations based on the filter.
- // A timeout of 1.5s is used as the user may still be in the process of typing the filter
- // when this function is first called.
- metricFieldFilterTimeout = $timeout(() => {
- if ($scope.metricFieldFilter && $scope.metricFieldFilter !== '') {
- metricFieldRegexp = new RegExp('(' + $scope.metricFieldFilter + ')', 'gi');
- } else {
- metricFieldRegexp = undefined;
- }
-
- createMetricCards();
- metricFieldFilterTimeout = undefined;
- }, 1500);
-
- // Display the spinner icon after 250ms of typing.
- // The spinner is a nice way of showing that something is
- // happening as we're stalling for the user to stop typing.
- $timeout(() => {
- $scope.metricFilterIcon = 1;
- }, 250);
-
- };
-
- $scope.clearMetricFilter = function () {
- $scope.metricFieldFilter = '';
- metricFieldRegexp = undefined;
- createMetricCards();
- };
-
- $scope.fieldFilterChanged = function () {
- // Clear the previous filter timeout.
- if (fieldFilterTimeout !== undefined) {
- $timeout.cancel(fieldFilterTimeout);
- }
-
- // Create a timeout to recreate the non-metric field configurations based on the filter.
- // A timeout of 1.5s is used as the user may still be in the process of typing the filter
- // when this function is first called.
- fieldFilterTimeout = $timeout(() => {
- if ($scope.fieldFilter && $scope.fieldFilter !== '') {
- fieldRegexp = new RegExp('(' + $scope.fieldFilter + ')', 'gi');
- } else {
- fieldRegexp = undefined;
- }
-
- createNonMetricCards();
- fieldFilterTimeout = undefined;
- }, 1500);
-
- // Display the spinner icon after 250ms of typing.
- // the spinner is a nice way of showing that something is
- // happening as we're stalling for the user to stop trying.
- $timeout(() => {
- $scope.fieldFilterIcon = 1;
- }, 250);
- };
-
- $scope.clearFieldFilter = function () {
- $scope.fieldFilter = '';
- fieldRegexp = undefined;
- createNonMetricCards();
- };
-
- $scope.createJob = function () {
- // TODO - allow the user to select metrics and fields and use
- // the selection to open the appropriate job wizard (single, multi-metric etc).
- // For now just open the Advanced wizard, passing in the index pattern ID.
- const _a = rison.encode({
- query: {
- language: 'lucene',
- query: $scope.searchQueryText
- }
- });
-
- const path = `${$scope.urlBasePath}/app/ml#/jobs/new_job/advanced?index=${$scope.indexPattern}&_a=${_a}`;
- $window.open(path, '_self');
- };
-
- function buildSearchQuery() {
- const searchQuery = luceneStringToDsl($scope.searchQueryText);
- const queryStringOptions = config.get('query:queryString:options');
- decorateQuery(searchQuery, queryStringOptions);
- return searchQuery;
- }
-
- function saveAppState() {
- $scope.appState.query = {
- language: 'lucene',
- query: $scope.searchQueryText
- };
- $scope.appState.samplerShardSize = $scope.samplerShardSize;
- $scope.appState.save();
- }
-
- function createMetricCards() {
- $scope.metricCards.length = 0;
-
- const aggregatableExistsFields = $scope.overallStats.aggregatableExistsFields || [];
-
- let allMetricFields = [];
- if (metricFieldRegexp === undefined) {
- allMetricFields = _.filter(indexPattern.fields, (f) => {
- return (f.type === KBN_FIELD_TYPES.NUMBER && !_.contains(OMIT_FIELDS, f.displayName));
- });
- } else {
- allMetricFields = _.filter(indexPattern.fields, (f) => {
- return (f.type === KBN_FIELD_TYPES.NUMBER &&
- !_.contains(OMIT_FIELDS, f.displayName) &&
- f.displayName.match(metricFieldRegexp));
- });
- }
-
- const metricExistsFields = _.filter(allMetricFields, (f) => {
- return _.find(aggregatableExistsFields, { fieldName: f.displayName });
- });
-
- const metricCards = [];
-
- // Add a config for 'document count', identified by no field name if index is timeseries based
- if (indexPattern.timeFieldName !== undefined) {
- metricCards.push({
- type: ML_JOB_FIELD_TYPES.NUMBER,
- existsInDocs: true,
- loading: true
- });
- } else {
- // disable timeRangeSelector and remove sidebar if index not timeseries based
- timefilter.disableTimeRangeSelector();
- $scope.showSidebar = false;
- }
-
- // Add on 1 for the document count card.
- // TODO - remove the '+1' if document count goes in its own section.
- $scope.totalMetricFieldCount = allMetricFields.length + 1;
- $scope.populatedMetricFieldCount = metricExistsFields.length + 1;
- if ($scope.totalMetricFieldCount === $scope.populatedMetricFieldCount) {
- $scope.showAllMetrics = true;
- }
-
- let aggregatableFields = $scope.overallStats.aggregatableExistsFields;
- if ($scope.showAllMetrics === true) {
- aggregatableFields = aggregatableFields.concat($scope.overallStats.aggregatableNotExistsFields);
- }
-
- const metricFields = $scope.showAllMetrics ? allMetricFields : metricExistsFields;
- _.each(metricFields, (field) => {
- const fieldData = _.find(aggregatableFields, { fieldName: field.displayName });
-
- const card = {
- ...fieldData,
- fieldFormat: field.format,
- type: ML_JOB_FIELD_TYPES.NUMBER,
- loading: true
- };
-
- metricCards.push(card);
-
- });
-
- $scope.metricCards = metricCards;
- loadMetricFieldStats();
- }
-
- function createNonMetricCards() {
- $scope.fieldCards.length = 0;
-
- let allNonMetricFields = [];
- if ($scope.filterFieldType === '*') {
- allNonMetricFields = _.filter(indexPattern.fields, (f) => {
- return (f.type !== KBN_FIELD_TYPES.NUMBER && !_.contains(OMIT_FIELDS, f.displayName));
- });
- } else {
- if ($scope.filterFieldType === ML_JOB_FIELD_TYPES.TEXT ||
- $scope.filterFieldType === ML_JOB_FIELD_TYPES.KEYWORD) {
- const aggregatableCheck = $scope.filterFieldType === ML_JOB_FIELD_TYPES.KEYWORD ? true : false;
- allNonMetricFields = _.filter(indexPattern.fields, (f) => {
- return !_.contains(OMIT_FIELDS, f.displayName) &&
- (f.type === KBN_FIELD_TYPES.STRING) &&
- (f.aggregatable === aggregatableCheck);
- });
- } else {
- allNonMetricFields = _.filter(indexPattern.fields, (f) => {
- return (!_.contains(OMIT_FIELDS, f.displayName) && (f.type === $scope.filterFieldType));
- });
- }
- }
-
- // If a field filter has been entered, perform another filter on the entered regexp.
- if (fieldRegexp !== undefined) {
- allNonMetricFields = _.filter(allNonMetricFields, (f) => {
- return (f.displayName.match(fieldRegexp));
- });
- }
-
- $scope.totalNonMetricFieldCount = allNonMetricFields.length;
-
- // Obtain the list of all non-metric fields which appear in documents
- // (aggregatable or not aggregatable).
- const populatedNonMetricFields = []; // Kibana index pattern non metric fields.
- let nonMetricFieldData = []; // Basic non metric field data loaded from requesting overall stats.
- let populatedNonMetricFieldCount = 0;
- _.each(allNonMetricFields, (f) => {
- const checkAggregatableField = _.find($scope.overallStats.aggregatableExistsFields, { fieldName: f.displayName });
- if (checkAggregatableField !== undefined) {
- populatedNonMetricFields.push(f);
- nonMetricFieldData.push(checkAggregatableField);
- populatedNonMetricFieldCount++;
- } else {
- const checkNonAggregatableField = _.find($scope.overallStats.nonAggregatableExistsFields, { fieldName: f.displayName });
- if (checkNonAggregatableField !== undefined) {
- populatedNonMetricFields.push(f);
- nonMetricFieldData.push(checkNonAggregatableField);
- populatedNonMetricFieldCount++;
- }
- }
- });
-
- $scope.populatedNonMetricFieldCount = populatedNonMetricFieldCount;
- if ($scope.totalNonMetricFieldCount === $scope.populatedNonMetricFieldCount) {
- $scope.showAllFields = true;
- }
-
- const nonMetricFieldsToShow = $scope.showAllFields === true ? allNonMetricFields : populatedNonMetricFields;
-
- // Combine the field data obtained from Elasticsearch into a single array.
- if ($scope.showAllFields === true) {
- nonMetricFieldData = nonMetricFieldData.concat(
- $scope.overallStats.aggregatableNotExistsFields,
- $scope.overallStats.nonAggregatableNotExistsFields);
- }
-
- const fieldCards = [];
-
- _.each(nonMetricFieldsToShow, (field) => {
- const fieldData = _.find(nonMetricFieldData, { fieldName: field.displayName });
-
- const card = {
- ...fieldData,
- fieldFormat: field.format,
- aggregatable: field.aggregatable,
- scripted: field.scripted,
- loading: fieldData.existsInDocs
- };
-
- // Map the field type from the Kibana index pattern to the field type
- // used in the data visualizer.
- const dataVisualizerType = kbnTypeToMLJobType(field);
- if (dataVisualizerType !== undefined) {
- card.type = dataVisualizerType;
- } else {
- // Add a flag to indicate that this is one of the 'other' Kibana
- // field types that do not yet have a specific card type.
- card.type = field.type;
- card.isUnsupportedType = true;
- }
-
- fieldCards.push(card);
- });
-
- $scope.fieldCards = _.sortBy(fieldCards, 'fieldName');
- loadNonMetricFieldStats();
-
- }
-
- function loadMetricFieldStats() {
- // Only request data for fields that exist in documents.
- let numberFields = _.filter($scope.metricCards, { existsInDocs: true });
-
- // Pass the field name, type and cardinality in the request.
- // Top values will be obtained on a sample if cardinality > 100000.
- numberFields = _.map(numberFields, (card) => {
- const props = { fieldName: card.fieldName, type: card.type };
- if (_.has(card, ['stats', 'cardinality'])) {
- props.cardinality = card.stats.cardinality;
- }
- return props;
- });
-
- // Obtain the interval to use for date histogram aggregations
- // (such as the document count chart). Aim for 75 bars.
- const buckets = new MlTimeBuckets();
- const bounds = timefilter.getActiveBounds();
- const BAR_TARGET = 75;
- buckets.setInterval('auto');
- buckets.setBounds(bounds);
- buckets.setBarTarget(BAR_TARGET);
- const aggInterval = buckets.getInterval();
-
- ml.getVisualizerFieldStats({
- indexPatternTitle: indexPattern.title,
- query: $scope.searchQuery,
- timeFieldName: indexPattern.timeFieldName,
- earliest: $scope.earliest,
- latest: $scope.latest,
- samplerShardSize: $scope.samplerShardSize,
- interval: aggInterval.expression,
- fields: numberFields
- })
- .then((resp) => {
- // Add the metric stats to the existing stats in the corresponding card. [ {documentCounts:...}, {fieldName: ..} ]
- _.each($scope.metricCards, (card) => {
- if (card.fieldName !== undefined) {
- card.stats = { ...card.stats, ...(_.find(resp, { fieldName: card.fieldName })) };
- } else {
- // Document count card.
- card.stats = _.find(resp, (stats) => {
- return stats.fieldName === undefined;
- });
- }
-
- card.loading = false;
- });
-
- // Clear the filter spinner if it's running.
- $scope.metricFilterIcon = 0;
- })
- .catch((err) => {
- // TODO - display error in cards saying data could not be loaded.
- console.log('DataVisualizer - error getting stats for metric cards from elasticsearch:', err);
- if (err.statusCode === 500) {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.metricInternalServerErrorTitle', {
- defaultMessage: 'Error loading data for metrics in index {index}. {message}. ' +
- 'The request may have timed out. Try using a smaller sample size or narrowing the time range.',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- } else {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.loadingMetricDataErrorTitle', {
- defaultMessage: 'Error loading data for metrics in index {index}. {message}',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- }
- })
- .then(() => {
- $scope.$applyAsync();
- });
-
- }
-
- function loadNonMetricFieldStats() {
- // Only request data for fields that exist in documents.
- let fields = _.filter($scope.fieldCards, { existsInDocs: true });
-
- // Pass the field name, type and cardinality in the request.
- // Top values will be obtained on a sample if cardinality > 100000.
- fields = _.map(fields, (card) => {
- const props = { fieldName: card.fieldName, type: card.type };
- if (_.has(card, ['stats', 'cardinality'])) {
- props.cardinality = card.stats.cardinality;
- }
- return props;
- });
-
- if (fields.length > 0) {
-
- ml.getVisualizerFieldStats({
- indexPatternTitle: indexPattern.title,
- query: $scope.searchQuery,
- fields: fields,
- timeFieldName: indexPattern.timeFieldName,
- earliest: $scope.earliest,
- latest: $scope.latest,
- samplerShardSize: $scope.samplerShardSize,
- maxExamples: 10
- })
- .then((resp) => {
- // Add the metric stats to the existing stats in the corresponding card.
- _.each($scope.fieldCards, (card) => {
- card.stats = { ...card.stats, ...(_.find(resp, { fieldName: card.fieldName })) };
- card.loading = false;
- });
-
- // Clear the filter spinner if it's running.
- $scope.fieldFilterIcon = 0;
- })
- .catch((err) => {
- // TODO - display error in cards saying data could not be loaded.
- console.log('DataVisualizer - error getting non metric field stats from elasticsearch:', err);
- if (err.statusCode === 500) {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.fieldsInternalServerErrorTitle', {
- defaultMessage: 'Error loading data for fields in index {index}. {message}. ' +
- 'The request may have timed out. Try using a smaller sample size or narrowing the time range.',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- } else {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.loadingFieldsDataErrorTitle', {
- defaultMessage: 'Error loading data for fields in index {index}. {message}',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- }
- })
- .then(() => {
- $scope.$applyAsync();
- });
- } else {
- $scope.fieldFilterIcon = 0;
- }
- }
-
- function loadOverallStats() {
- const aggregatableFields = [];
- const nonAggregatableFields = [];
- _.each(indexPattern.fields, (field) => {
- if (OMIT_FIELDS.indexOf(field.displayName) === -1) {
- if (field.aggregatable === true) {
- aggregatableFields.push(field.displayName);
- } else {
- nonAggregatableFields.push(field.displayName);
- }
- }
- });
-
- // Need to find:
- // 1. List of aggregatable fields that do exist in docs
- // 2. List of aggregatable fields that do not exist in docs
- // 3. List of non-aggregatable fields that do exist in docs.
- // 4. List of non-aggregatable fields that do not exist in docs.
- ml.getVisualizerOverallStats({
- indexPatternTitle: indexPattern.title,
- query: $scope.searchQuery,
- timeFieldName: indexPattern.timeFieldName,
- samplerShardSize: $scope.samplerShardSize,
- earliest: $scope.earliest,
- latest: $scope.latest,
- aggregatableFields: aggregatableFields,
- nonAggregatableFields: nonAggregatableFields
- })
- .then((resp) => {
- $scope.overallStats = resp;
- createMetricCards();
- createNonMetricCards();
- })
- .catch((err) => {
- // TODO - display error in cards saying data could not be loaded.
- console.log('DataVisualizer - error getting overall stats from elasticsearch:', err);
- if (err.statusCode === 500) {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.overallFieldsInternalServerErrorTitle', {
- defaultMessage: 'Error loading data for fields in index {index}. {message}. ' +
- 'The request may have timed out. Try using a smaller sample size or narrowing the time range.',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- } else {
- toastNotifications.addDanger(
- i18n.translate('xpack.ml.datavisualizer.loadingOverallFieldsDataErrorTitle', {
- defaultMessage: 'Error loading data for fields in index {index}. {message}',
- values: {
- index: indexPattern.title,
- message: err.message,
- }
- })
- );
- }
-
- $scope.$applyAsync();
-
- });
-
- }
-
- loadOverallStats();
-
- });
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/datavisualizer_selector.js b/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_selector.js
similarity index 86%
rename from x-pack/legacy/plugins/ml/public/datavisualizer/selector/datavisualizer_selector.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_selector.js
index 2297005deb41..65cc2533ed4f 100644
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/datavisualizer_selector.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_selector.js
@@ -20,11 +20,11 @@ import {
EuiTitle,
} from '@elastic/eui';
-import { isFullLicense } from '../../license/check_license';
+import { isFullLicense } from '../license/check_license';
import { FormattedMessage, injectI18n } from '@kbn/i18n/react';
import { timefilter } from 'ui/timefilter';
-import { NavigationMenu } from '../../components/navigation_menu/navigation_menu';
+import { NavigationMenu } from '../components/navigation_menu/navigation_menu';
function startTrialDescription() {
return (
@@ -146,27 +146,6 @@ export const DatavisualizerSelector = injectI18n(function (props) {
data-test-subj="mlDataVisualizerCardIndexData"
/>
-
- }
- title="Select an index pattern NEW"
- description={
-
- }
- footer={
-
-
-
- }
- data-test-subj="mlDataVisualizerCardIndexData"
- />
-
{startTrialVisible === true && (
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_sidebar.html b/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_sidebar.html
deleted file mode 100644
index b4b1e0074b77..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/datavisualizer_sidebar.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/directive.js b/x-pack/legacy/plugins/ml/public/datavisualizer/directive.js
similarity index 83%
rename from x-pack/legacy/plugins/ml/public/datavisualizer/selector/directive.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/directive.js
index 84d2d662c187..022f4ea536b4 100644
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/directive.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/directive.js
@@ -10,9 +10,9 @@ import { wrapInI18nContext } from 'ui/i18n';
import { uiModules } from 'ui/modules';
const module = uiModules.get('apps/ml', ['react']);
-import { getDataVisualizerBreadcrumbs } from '../breadcrumbs';
-import { checkBasicLicense } from 'plugins/ml/license/check_license';
-import { checkFindFileStructurePrivilege } from 'plugins/ml/privilege/check_privilege';
+import { getDataVisualizerBreadcrumbs } from './breadcrumbs';
+import { checkBasicLicense } from '../license/check_license';
+import { checkFindFileStructurePrivilege } from '../privilege/check_privilege';
import uiRoutes from 'ui/routes';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/_file_datavisualizer.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/_file_datavisualizer.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/_file_datavisualizer.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/_file_datavisualizer.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/breadcrumbs.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/breadcrumbs.js
similarity index 89%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/breadcrumbs.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/breadcrumbs.js
index 07d81fcc1fde..40319b2ba4d2 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/breadcrumbs.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/breadcrumbs.js
@@ -5,7 +5,7 @@
*/
-import { ML_BREADCRUMB } from '../breadcrumbs';
+import { ML_BREADCRUMB } from '../../breadcrumbs';
export function getFileDataVisualizerBreadcrumbs() {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/_about_panel.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/_about_panel.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/_about_panel.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/_about_panel.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/about_panel.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/about_panel.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/about_panel.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/about_panel.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/welcome_content.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/welcome_content.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/about_panel/welcome_content.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/about_panel/welcome_content.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/_analysis_summary.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/_analysis_summary.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/_analysis_summary.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/_analysis_summary.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/analysis_summary.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/analysis_summary.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/analysis_summary.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/analysis_summary.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/analysis_summary/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/analysis_summary/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/bottom_bar/bottom_bar.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/bottom_bar/bottom_bar.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/bottom_bar/bottom_bar.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/bottom_bar/bottom_bar.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/bottom_bar/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/bottom_bar/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/bottom_bar/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/bottom_bar/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/__snapshots__/overrides.test.js.snap b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/__snapshots__/overrides.test.js.snap
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/__snapshots__/overrides.test.js.snap
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/_edit_flyout.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/_edit_flyout.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/_edit_flyout.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/_edit_flyout.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/edit_flyout.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/edit_flyout.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/edit_flyout.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/edit_flyout.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/option_lists.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/option_lists.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/option_lists.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/option_lists.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/options.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/options.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/options/options.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/options/options.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides.test.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides.test.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides.test.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides.test.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides_validation.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides_validation.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/edit_flyout/overrides_validation.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/edit_flyout/overrides_validation.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/_experimental_badge.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/_experimental_badge.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/_experimental_badge.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/_experimental_badge.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/experimental_badge.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/experimental_badge.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/experimental_badge.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/experimental_badge.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/experimental_badge/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/experimental_badge/index.js
diff --git a/x-pack/legacy/plugins/ml/public/components/field_data_card/_field_data_card.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_field_stats_card.scss
similarity index 67%
rename from x-pack/legacy/plugins/ml/public/components/field_data_card/_field_data_card.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_field_stats_card.scss
index 5f1e480c7ce2..6137a21d0bd8 100644
--- a/x-pack/legacy/plugins/ml/public/components/field_data_card/_field_data_card.scss
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_field_stats_card.scss
@@ -1,9 +1,13 @@
-// SASSTODO: This entire sass file needs to be rewritten, using a color blind viz palette and proper vars.
-// This will need to be done in a more thorough cleanup.
+.card-container {
+ display: inline-grid;
+ display: -ms-inline-grid;
+ padding: 0px 10px 10px 0px;
+}
.ml-field-data-card {
- width: 360px;
- height: 435px;
+ // These styles should all be removed once the file data visualizer is using
+ // the same field_data_card component as the index based data visualizer.
+ height: 408px;
.boolean {
background-color: #e6c220;
@@ -45,7 +49,8 @@
@include euiPanel($selector: 'card-contents');
.card-contents {
- height: 400px;
+ height: 378px;
+ line-height: 21px;
border-radius: 0px 0px $euiBorderRadius $euiBorderRadius;
overflow: hidden;
}
@@ -103,56 +108,6 @@
padding-top: 5px;
}
- svg {
- font-size: 11px;
- font-family: $euiFontFamily;
-
- text {
- fill: $euiColorDarkShade;
- }
-
- .info-text {
- text-anchor: middle;
- }
-
- .distribution-chart {
-
- .x.axis path, .x.axis line {
- fill: none;
- stroke: #cccccc;
- shape-rendering: crispEdges;
- }
-
- .area {
- fill: #3185fc;
- }
- }
-
- }
-
- ml-metric-distribution-chart {
- display: block;
- padding: 0px 15px 10px 15px;
- }
-
- ml-document-count-chart {
- display: block;
- padding: 18px 15px 0px 15px;
- rect.bar {
- fill: #db1374;
- }
-
- .bar {
- stroke: #ffffff;
- }
-
- .axis path, .axis line {
- fill: none;
- stroke: #cccccc;
- shape-rendering: crispEdges;
- }
- }
-
.top-value {
height: 21px;
font-size: 13px;
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_fields_stats.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_fields_stats.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_fields_stats.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_fields_stats.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/field_stats_card.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/field_stats_card.js
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/field_stats_card.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/field_stats_card.js
index b1f32ca8f5ec..35892e9d0e27 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/field_stats_card.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/field_stats_card.js
@@ -10,9 +10,9 @@ import {
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
-import { FieldTypeIcon } from '../../../components/field_type_icon';
-import { DisplayValue } from '../../../components/display_value';
-import { getMLJobTypeAriaLabel } from '../../../util/field_types_utils';
+import { FieldTypeIcon } from '../../../../components/field_type_icon';
+import { DisplayValue } from '../../../../components/display_value';
+import { getMLJobTypeAriaLabel } from '../../../../util/field_types_utils';
export function FieldStatsCard({ field }) {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/fields_stats.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/fields_stats.js
similarity index 94%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/fields_stats.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/fields_stats.js
index e3939806f816..e1a5bfba3fd1 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/fields_stats.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/fields_stats.js
@@ -11,8 +11,8 @@ import React, {
import { FieldStatsCard } from './field_stats_card';
import { getFieldNames } from './get_field_names';
-import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
-import { roundToDecimalPlace } from '../../../formatters/round_to_decimal_place';
+import { ML_JOB_FIELD_TYPES } from '../../../../../common/constants/field_types';
+import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
export class FieldsStats extends Component {
constructor(props) {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/get_field_names.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/get_field_names.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/get_field_names.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/get_field_names.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/fields_stats/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/_file_contents.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/_file_contents.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/_file_contents.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/_file_contents.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/file_contents.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/file_contents.js
similarity index 94%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/file_contents.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/file_contents.js
index 916d90ae54a0..d0533fadb81c 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/file_contents.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/file_contents.js
@@ -13,7 +13,7 @@ import {
EuiSpacer,
} from '@elastic/eui';
-import { MLJobEditor, EDITOR_MODE } from '../../../jobs/jobs_list/components/ml_job_editor';
+import { MLJobEditor, EDITOR_MODE } from '../../../../jobs/jobs_list/components/ml_job_editor';
export function FileContents({ data, format, numberOfLines }) {
let mode = EDITOR_MODE.TEXT;
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_contents/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_contents/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/_file_datavisualizer_view.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/_file_datavisualizer_view.scss
similarity index 73%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/_file_datavisualizer_view.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/_file_datavisualizer_view.scss
index c9f8bb46df93..fead6f42dbe5 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/_file_datavisualizer_view.scss
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/_file_datavisualizer_view.scss
@@ -1,10 +1,8 @@
.file-datavisualizer-file-picker {
- .euiFilePicker__wrap{
- max-width: inherit;
- }
+ max-width: inherit;
+
.euiFilePicker__prompt {
background-color: $euiColorEmptyShade;
- padding: $euiSizeXXL;
box-shadow: none;
.euiFilePicker__icon {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/file_datavisualizer_view.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/file_datavisualizer_view.js
similarity index 98%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/file_datavisualizer_view.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/file_datavisualizer_view.js
index 930be6eefbc0..fee0c423f023 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/file_datavisualizer_view.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/file_datavisualizer_view.js
@@ -16,14 +16,14 @@ import {
import { isEqual } from 'lodash';
-import { ml } from '../../../services/ml_api_service';
+import { ml } from '../../../../services/ml_api_service';
import { AboutPanel, LoadingPanel } from '../about_panel';
import { BottomBar } from '../bottom_bar';
import { ResultsView } from '../results_view';
import { FileCouldNotBeRead, FileTooLarge } from './file_error_callouts';
import { EditFlyout } from '../edit_flyout';
import { ImportView } from '../import_view';
-import { MAX_BYTES } from '../../../../common/constants/file_datavisualizer';
+import { MAX_BYTES } from '../../../../../common/constants/file_datavisualizer';
import {
readFile,
createUrlOverrides,
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/file_error_callouts.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/file_error_callouts.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/file_error_callouts.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/file_error_callouts.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/file_datavisualizer_view/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/file_datavisualizer_view/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_errors/errors.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_errors/errors.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_errors/errors.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_errors/errors.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_errors/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_errors/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_errors/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_errors/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_progress/import_progress.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_progress/import_progress.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_progress/import_progress.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_progress/import_progress.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_progress/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_progress/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_progress/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_progress/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/advanced.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/advanced.js
similarity index 98%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/advanced.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/advanced.js
index 0e9c78532c33..a6bde9ececae 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/advanced.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/advanced.js
@@ -17,7 +17,7 @@ import {
EuiFlexItem,
} from '@elastic/eui';
-import { MLJobEditor, EDITOR_MODE } from '../../../jobs/jobs_list/components/ml_job_editor';
+import { MLJobEditor, EDITOR_MODE } from '../../../../jobs/jobs_list/components/ml_job_editor';
const EDITOR_HEIGHT = '300px';
function AdvancedSettingsUi({
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/import_settings.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/import_settings.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/import_settings.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/import_settings.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/simple.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/simple.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_settings/simple.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_settings/simple.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/_import_sumary.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/_import_sumary.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/_import_sumary.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/_import_sumary.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/import_summary.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/import_summary.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/import_summary.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/import_summary.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_summary/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_summary/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/import_view.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/import_view.js
similarity index 99%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/import_view.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/import_view.js
index bbdcb5d4db4f..2ce6f69fa9c4 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/import_view.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/import_view.js
@@ -25,8 +25,8 @@ import { ImportErrors } from '../import_errors';
import { ImportSummary } from '../import_summary';
import { ImportSettings } from '../import_settings';
import { ExperimentalBadge } from '../experimental_badge';
-import { getIndexPatternNames, refreshIndexPatterns } from '../../../util/index_utils';
-import { ml } from '../../../services/ml_api_service';
+import { getIndexPatternNames, refreshIndexPatterns } from '../../../../util/index_utils';
+import { ml } from '../../../../services/ml_api_service';
import { hasImportPermission } from '../utils';
const DEFAULT_TIME_FIELD = '@timestamp';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/csv_importer.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/csv_importer.js
similarity index 97%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/csv_importer.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/csv_importer.js
index 080f1e87e3d5..88a612ee4b2b 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/csv_importer.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/csv_importer.js
@@ -5,7 +5,7 @@
*/
-import { ES_FIELD_TYPES } from '../../../../../common/constants/field_types';
+import { ES_FIELD_TYPES } from '../../../../../../common/constants/field_types';
import { Importer } from './importer';
import Papa from 'papaparse';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/importer.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/importer.js
similarity index 98%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/importer.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/importer.js
index f00daea4b268..d055a2ee09d6 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/importer.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/importer.js
@@ -5,7 +5,7 @@
*/
-import { ml } from '../../../../services/ml_api_service';
+import { ml } from '../../../../../services/ml_api_service';
import { chunk } from 'lodash';
import moment from 'moment';
import { i18n } from '@kbn/i18n';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/importer_factory.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/importer_factory.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/importer_factory.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/importer_factory.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/ndjson_importer.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/ndjson_importer.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/ndjson_importer.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/ndjson_importer.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/sst_importer.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/sst_importer.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/importer/sst_importer.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/importer/sst_importer.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/import_view/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/import_view/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_links/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_links/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_links/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_links/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_links/results_links.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_links/results_links.js
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_links/results_links.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_links/results_links.js
index c83b0edfbd5f..30e91783fae2 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_links/results_links.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_links/results_links.js
@@ -19,10 +19,10 @@ import {
import moment from 'moment';
import uiChrome from 'ui/chrome';
-import { ml } from '../../../services/ml_api_service';
-import { isFullLicense } from '../../../license/check_license';
-import { checkPermission } from '../../../privilege/check_privilege';
-import { mlNodesAvailable } from '../../../ml_nodes_check/check_ml_nodes';
+import { ml } from '../../../../services/ml_api_service';
+import { isFullLicense } from '../../../../license/check_license';
+import { checkPermission } from '../../../../privilege/check_privilege';
+import { mlNodesAvailable } from '../../../../ml_nodes_check/check_ml_nodes';
const RECHECK_DELAY_MS = 3000;
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/_results_view.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/_results_view.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/_results_view.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/_results_view.scss
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/results_view.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/results_view.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/results_view/results_view.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/results_view/results_view.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/index.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/overrides.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/overrides.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/overrides.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/overrides.js
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/utils.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/utils.js
similarity index 98%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/utils.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/utils.js
index 06390a6141c2..f9148da5ed82 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/utils/utils.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/components/utils/utils.js
@@ -6,7 +6,7 @@
import { overrideDefaults, DEFAULT_LINES_TO_SAMPLE } from './overrides';
import { isEqual } from 'lodash';
-import { ml } from '../../../services/ml_api_service';
+import { ml } from '../../../../services/ml_api_service';
export function readFile(file) {
return new Promise((resolve, reject) => {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer.js
similarity index 90%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer.js
index 02d5761041a0..241d80a2fcb0 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer.js
@@ -8,7 +8,7 @@ import React, { Fragment } from 'react';
import { timefilter } from 'ui/timefilter';
-import { NavigationMenu } from '../components/navigation_menu/navigation_menu';
+import { NavigationMenu } from '../../components/navigation_menu/navigation_menu';
import { FileDataVisualizerView } from './components/file_datavisualizer_view';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer_directive.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer_directive.js
similarity index 78%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer_directive.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer_directive.js
index c8431f4a376c..413e41efebbc 100644
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/file_datavisualizer_directive.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/file_datavisualizer_directive.js
@@ -13,11 +13,11 @@ import { uiModules } from 'ui/modules';
const module = uiModules.get('apps/ml', ['react']);
import { getFileDataVisualizerBreadcrumbs } from './breadcrumbs';
-import { checkBasicLicense } from 'plugins/ml/license/check_license';
-import { checkFindFileStructurePrivilege } from 'plugins/ml/privilege/check_privilege';
-import { getMlNodeCount } from 'plugins/ml/ml_nodes_check/check_ml_nodes';
-import { loadNewJobDefaults } from 'plugins/ml/jobs/new_job/utils/new_job_defaults';
-import { loadIndexPatterns } from '../util/index_utils';
+import { checkBasicLicense } from '../../license/check_license';
+import { checkFindFileStructurePrivilege } from '../../privilege/check_privilege';
+import { getMlNodeCount } from '../../ml_nodes_check/check_ml_nodes';
+import { loadNewJobDefaults } from '../../jobs/new_job/utils/new_job_defaults';
+import { loadIndexPatterns } from '../../util/index_utils';
import { FileDataVisualizerPage } from './file_datavisualizer';
import uiRoutes from 'ui/routes';
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/file_based/index.js
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/file_datavisualizer/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/file_based/index.js
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/index.js
deleted file mode 100644
index 4cbbd3d65f40..000000000000
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License;
- * you may not use this file except in compliance with the Elastic License.
- */
-
-
-
-import './selector';
-import './datavisualizer_controller';
-import 'plugins/ml/components/data_recognizer';
-import 'plugins/ml/components/field_data_card';
-import 'plugins/ml/services/mapping_service';
-import 'plugins/ml/components/full_time_range_selector/full_time_range_selector_directive';
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/index.js b/x-pack/legacy/plugins/ml/public/datavisualizer/index.ts
similarity index 84%
rename from x-pack/legacy/plugins/ml/public/datavisualizer/selector/index.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index.ts
index 383901729132..dcda3ec9879a 100644
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/selector/index.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index.ts
@@ -4,5 +4,6 @@
* you may not use this file except in compliance with the Elastic License.
*/
-
import './directive';
+import './file_based';
+import './index_based';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/datavisualizer/breadcrumbs.js b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/breadcrumbs.ts
similarity index 80%
rename from x-pack/legacy/plugins/ml/public/datavisualizer/breadcrumbs.js
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/breadcrumbs.ts
index d7278ee83c90..d708ddd7fbbb 100644
--- a/x-pack/legacy/plugins/ml/public/datavisualizer/breadcrumbs.js
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/breadcrumbs.ts
@@ -4,15 +4,11 @@
* you may not use this file except in compliance with the Elastic License.
*/
-
-import { ML_BREADCRUMB } from '../breadcrumbs';
-
+// @ts-ignore
+import { ML_BREADCRUMB } from '../../breadcrumbs';
export function getDataVisualizerBreadcrumbs() {
// Whilst top level nav menu with tabs remains,
// use root ML breadcrumb.
- return [
- ML_BREADCRUMB
- ];
+ return [ML_BREADCRUMB];
}
-
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/common/field_vis_config.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/field_vis_config.ts
similarity index 88%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/common/field_vis_config.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/field_vis_config.ts
index f7668aea8171..55b8f1363161 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/common/field_vis_config.ts
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/field_vis_config.ts
@@ -4,7 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/
-import { ML_JOB_FIELD_TYPES } from '../../../common/constants/field_types';
+import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
// The internal representation of the configuration used to build the visuals
// which display the field information.
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/common/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/common/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/common/request.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/request.ts
similarity index 81%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/common/request.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/request.ts
index d87a0f789679..83acda0419a0 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/common/request.ts
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/common/request.ts
@@ -4,7 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/
-import { ML_JOB_FIELD_TYPES } from '../../../common/constants/field_types';
+import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
export interface FieldRequestConfig {
fieldName?: string;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/actions_panel/actions_panel.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/actions_panel/actions_panel.tsx
similarity index 92%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/actions_panel/actions_panel.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/actions_panel/actions_panel.tsx
index 15b1465617d2..80cb73a1f64e 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/actions_panel/actions_panel.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/actions_panel/actions_panel.tsx
@@ -13,8 +13,8 @@ import { IndexPattern } from 'ui/index_patterns';
import { EuiPanel, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui';
-import { useUiChromeContext } from '../../../contexts/ui/use_ui_chrome_context';
-import { CreateJobLinkCard } from '../../../components/create_job_link_card';
+import { useUiChromeContext } from '../../../../contexts/ui/use_ui_chrome_context';
+import { CreateJobLinkCard } from '../../../../components/create_job_link_card';
interface Props {
indexPattern: IndexPattern;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/actions_panel/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/actions_panel/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/actions_panel/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/actions_panel/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/_field_data_card.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/_field_data_card.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/_field_data_card.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/_field_data_card.scss
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/_index.scss b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/_index.scss
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/_index.scss
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/_index.scss
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/boolean_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/boolean_content.tsx
similarity index 97%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/boolean_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/boolean_content.tsx
index bd24a52eb91e..ea5b1e81b8bf 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/boolean_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/boolean_content.tsx
@@ -11,7 +11,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
function getPercentLabel(valueCount: number, totalCount: number): string {
if (valueCount === 0) {
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/date_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/date_content.tsx
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/date_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/date_content.tsx
index 75c3822c9862..24dbb4167c77 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/date_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/date_content.tsx
@@ -13,7 +13,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
const TIME_FORMAT = 'MMM D YYYY, HH:mm:ss.SSS';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/document_count_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/document_count_content.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/document_count_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/document_count_content.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/geo_point_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/geo_point_content.tsx
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/geo_point_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/geo_point_content.tsx
index f173cba03d0c..faf39d2e4237 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/geo_point_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/geo_point_content.tsx
@@ -11,7 +11,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
import { ExamplesList } from '../examples_list';
export const GeoPointContent: FC = ({ config }) => {
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/ip_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/ip_content.tsx
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/ip_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/ip_content.tsx
index 59272e8df693..eeffd1e87153 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/ip_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/ip_content.tsx
@@ -13,7 +13,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
import { TopValues } from '../top_values';
export const IpContent: FC = ({ config }) => {
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/keyword_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/keyword_content.tsx
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/keyword_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/keyword_content.tsx
index 54749c8ccb31..92b3848a9251 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/keyword_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/keyword_content.tsx
@@ -13,7 +13,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
import { TopValues } from '../top_values';
export const KeywordContent: FC = ({ config }) => {
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/not_in_docs_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/not_in_docs_content.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/not_in_docs_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/not_in_docs_content.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/number_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/number_content.tsx
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/number_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/number_content.tsx
index 7134e43e4bc2..f141b734468a 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/number_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/number_content.tsx
@@ -14,10 +14,10 @@ import { i18n } from '@kbn/i18n';
import { ordinalSuffix } from 'ui/utils/ordinal_suffix';
import { FieldDataCardProps } from '../field_data_card';
-import { DisplayValue } from '../../../../components/display_value';
-import { kibanaFieldFormat } from '../../../../formatters/kibana_field_format';
+import { DisplayValue } from '../../../../../components/display_value';
+import { kibanaFieldFormat } from '../../../../../formatters/kibana_field_format';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
import {
MetricDistributionChart,
MetricDistributionChartData,
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/other_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/other_content.tsx
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/other_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/other_content.tsx
index 2279205f2176..b2728168425e 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/other_content.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/other_content.tsx
@@ -11,7 +11,7 @@ import { FormattedMessage } from '@kbn/i18n/react';
import { FieldDataCardProps } from '../field_data_card';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
import { ExamplesList } from '../examples_list';
export const OtherContent: FC = ({ config }) => {
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/text_content.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/text_content.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/content_types/text_content.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/content_types/text_content.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/document_count_chart/document_count_chart.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/document_count_chart/document_count_chart.tsx
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/document_count_chart/document_count_chart.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/document_count_chart/document_count_chart.tsx
index c760985d7ee4..6ff1528f94c7 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/document_count_chart/document_count_chart.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/document_count_chart/document_count_chart.tsx
@@ -24,7 +24,7 @@ import {
import darkTheme from '@elastic/eui/dist/eui_theme_dark.json';
import lightTheme from '@elastic/eui/dist/eui_theme_light.json';
-import { useUiChromeContext } from '../../../../contexts/ui/use_ui_chrome_context';
+import { useUiChromeContext } from '../../../../../contexts/ui/use_ui_chrome_context';
export interface DocumentCountChartPoint {
time: number | string;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/document_count_chart/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/document_count_chart/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/document_count_chart/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/document_count_chart/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/example.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/example.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/example.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/example.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/examples_list.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/examples_list.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/examples_list.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/examples_list.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/examples_list/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/examples_list/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/field_data_card.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/field_data_card.tsx
similarity index 93%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/field_data_card.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/field_data_card.tsx
index c81ccf02929f..a3641a143faa 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/field_data_card.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/field_data_card.tsx
@@ -6,11 +6,11 @@
import React, { FC } from 'react';
-import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
+import { ML_JOB_FIELD_TYPES } from '../../../../../common/constants/field_types';
import { FieldVisConfig } from '../../common';
// @ts-ignore
-import { FieldTitleBar } from '../../../components/field_title_bar';
+import { FieldTitleBar } from '../../../../components/field_title_bar';
import {
BooleanContent,
DateContent,
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/loading_indicator/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/loading_indicator/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/loading_indicator/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/loading_indicator/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/loading_indicator/loading_indicator.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/loading_indicator/loading_indicator.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/loading_indicator/loading_indicator.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/loading_indicator/loading_indicator.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx
similarity index 96%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx
index 617103eafc52..6cc7de9c36b0 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart.tsx
@@ -27,8 +27,8 @@ import darkTheme from '@elastic/eui/dist/eui_theme_dark.json';
import lightTheme from '@elastic/eui/dist/eui_theme_light.json';
import { MetricDistributionChartTooltipHeader } from './metric_distribution_chart_tooltip_header';
-import { useUiChromeContext } from '../../../../contexts/ui/use_ui_chrome_context';
-import { kibanaFieldFormat } from '../../../../formatters/kibana_field_format';
+import { useUiChromeContext } from '../../../../../contexts/ui/use_ui_chrome_context';
+import { kibanaFieldFormat } from '../../../../../formatters/kibana_field_format';
export interface MetricDistributionChartData {
x: number;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart_data_builder.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart_data_builder.tsx
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart_data_builder.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart_data_builder.tsx
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx
index 449964f93285..cac5ad37f3eb 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/metric_distribution_chart/metric_distribution_chart_tooltip_header.tsx
@@ -9,7 +9,7 @@ import React, { FC } from 'react';
import { FormattedMessage } from '@kbn/i18n/react';
import { MetricDistributionChartData } from './metric_distribution_chart';
-import { kibanaFieldFormat } from '../../../../formatters/kibana_field_format';
+import { kibanaFieldFormat } from '../../../../../formatters/kibana_field_format';
interface Props {
chartPoint: MetricDistributionChartData | undefined;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/top_values/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/top_values/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/top_values/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/top_values/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/top_values/top_values.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/top_values/top_values.tsx
similarity index 93%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/top_values/top_values.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/top_values/top_values.tsx
index 38d6f2f8485e..7c337ef0a6f7 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_data_card/top_values/top_values.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_data_card/top_values/top_values.tsx
@@ -16,9 +16,9 @@ import {
import { FormattedMessage } from '@kbn/i18n/react';
-import { kibanaFieldFormat } from '../../../../formatters/kibana_field_format';
+import { kibanaFieldFormat } from '../../../../../formatters/kibana_field_format';
// @ts-ignore
-import { roundToDecimalPlace } from '../../../../formatters/round_to_decimal_place';
+import { roundToDecimalPlace } from '../../../../../formatters/round_to_decimal_place';
interface Props {
stats: any;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_types_select/field_types_select.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_types_select/field_types_select.tsx
similarity index 94%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_types_select/field_types_select.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_types_select/field_types_select.tsx
index a068f83fa2c1..80a6f3d2d674 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_types_select/field_types_select.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_types_select/field_types_select.tsx
@@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n';
import { EuiSelect } from '@elastic/eui';
-import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
+import { ML_JOB_FIELD_TYPES } from '../../../../../common/constants/field_types';
interface Props {
fieldTypes: ML_JOB_FIELD_TYPES[];
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/field_types_select/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_types_select/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/field_types_select/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/field_types_select/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/fields_panel/fields_panel.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/fields_panel/fields_panel.tsx
similarity index 98%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/fields_panel/fields_panel.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/fields_panel/fields_panel.tsx
index 069572c685eb..f0b163c5c9e2 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/fields_panel/fields_panel.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/fields_panel/fields_panel.tsx
@@ -23,7 +23,7 @@ import { i18n } from '@kbn/i18n';
import { toastNotifications } from 'ui/notify';
-import { ML_JOB_FIELD_TYPES } from '../../../../common/constants/field_types';
+import { ML_JOB_FIELD_TYPES } from '../../../../../common/constants/field_types';
import { FieldDataCard } from '../field_data_card';
import { FieldTypesSelect } from '../field_types_select';
import { FieldVisConfig } from '../../common';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/fields_panel/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/fields_panel/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/fields_panel/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/fields_panel/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/search_panel/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/search_panel/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/search_panel/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/search_panel/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/components/search_panel/search_panel.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/search_panel/search_panel.tsx
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/components/search_panel/search_panel.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/search_panel/search_panel.tsx
index 342888bd18fb..267be982dead 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/components/search_panel/search_panel.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/components/search_panel/search_panel.tsx
@@ -23,11 +23,11 @@ import { i18n } from '@kbn/i18n';
import { IndexPattern } from 'ui/index_patterns';
-import { SEARCH_QUERY_LANGUAGE } from '../../../../common/constants/search';
-import { SavedSearchQuery } from '../../../contexts/kibana';
+import { SEARCH_QUERY_LANGUAGE } from '../../../../../common/constants/search';
+import { SavedSearchQuery } from '../../../../contexts/kibana';
// @ts-ignore
-import { KqlFilterBar } from '../../../components/kql_filter_bar';
+import { KqlFilterBar } from '../../../../components/kql_filter_bar';
interface Props {
indexPattern: IndexPattern;
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/data_loader/data_loader.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/data_loader/data_loader.ts
similarity index 95%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/data_loader/data_loader.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/data_loader/data_loader.ts
index b289c472528b..464be8a9157a 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/data_loader/data_loader.ts
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/data_loader/data_loader.ts
@@ -11,10 +11,10 @@ import { i18n } from '@kbn/i18n';
import { toastNotifications } from 'ui/notify';
import { IndexPattern } from 'ui/index_patterns';
-import { SavedSearchQuery } from '../../contexts/kibana';
-import { IndexPatternTitle } from '../../../common/types/kibana';
+import { SavedSearchQuery } from '../../../contexts/kibana';
+import { IndexPatternTitle } from '../../../../common/types/kibana';
-import { ml } from '../../services/ml_api_service';
+import { ml } from '../../../services/ml_api_service';
import { FieldRequestConfig } from '../common';
// List of system fields we don't want to display.
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/data_loader/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/data_loader/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/data_loader/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/data_loader/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/directive.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/directive.tsx
similarity index 88%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/directive.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/directive.tsx
index 2fe4d5201f04..720ae0936911 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/directive.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/directive.tsx
@@ -14,10 +14,10 @@ const module = uiModules.get('apps/ml', ['react']);
import { I18nContext } from 'ui/i18n';
import { IndexPatterns } from 'ui/index_patterns';
import { IPrivate } from 'ui/private';
-import { InjectorService } from '../../common/types/angular';
+import { InjectorService } from '../../../common/types/angular';
-import { KibanaConfigTypeFix, KibanaContext } from '../contexts/kibana/kibana_context';
-import { SearchItemsProvider } from '../jobs/new_job/utils/new_job_utils';
+import { KibanaConfigTypeFix, KibanaContext } from '../../contexts/kibana/kibana_context';
+import { SearchItemsProvider } from '../../jobs/new_job/utils/new_job_utils';
import { Page } from './page';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/index.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/index.ts
similarity index 100%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/index.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/index.ts
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/page.tsx b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/page.tsx
similarity index 97%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/page.tsx
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/page.tsx
index 13d153a33def..82f1d985d41b 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/page.tsx
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/page.tsx
@@ -25,18 +25,18 @@ import {
EuiTitle,
} from '@elastic/eui';
-import { KBN_FIELD_TYPES, ML_JOB_FIELD_TYPES } from '../../common/constants/field_types';
-import { SEARCH_QUERY_LANGUAGE } from '../../common/constants/search';
+import { KBN_FIELD_TYPES, ML_JOB_FIELD_TYPES } from '../../../common/constants/field_types';
+import { SEARCH_QUERY_LANGUAGE } from '../../../common/constants/search';
// @ts-ignore
-import { isFullLicense } from '../license/check_license';
-import { FullTimeRangeSelector } from '../components/full_time_range_selector';
-import { useKibanaContext, SavedSearchQuery } from '../contexts/kibana';
+import { isFullLicense } from '../../license/check_license';
+import { FullTimeRangeSelector } from '../../components/full_time_range_selector';
+import { useKibanaContext, SavedSearchQuery } from '../../contexts/kibana';
// @ts-ignore
-import { kbnTypeToMLJobType } from '../util/field_types_utils';
+import { kbnTypeToMLJobType } from '../../util/field_types_utils';
// @ts-ignore
-import { timeBasedIndexCheck } from '../util/index_utils';
+import { timeBasedIndexCheck } from '../../util/index_utils';
// @ts-ignore
-import { MlTimeBuckets } from '../util/ml_time_buckets';
+import { MlTimeBuckets } from '../../util/ml_time_buckets';
import { FieldRequestConfig, FieldVisConfig } from './common';
import { ActionsPanel } from './components/actions_panel';
import { FieldsPanel } from './components/fields_panel';
diff --git a/x-pack/legacy/plugins/ml/public/data_visualizer/route.ts b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/route.ts
similarity index 74%
rename from x-pack/legacy/plugins/ml/public/data_visualizer/route.ts
rename to x-pack/legacy/plugins/ml/public/datavisualizer/index_based/route.ts
index 37205d8c3ca6..fbe640d65ed6 100644
--- a/x-pack/legacy/plugins/ml/public/data_visualizer/route.ts
+++ b/x-pack/legacy/plugins/ml/public/datavisualizer/index_based/route.ts
@@ -7,19 +7,18 @@
// @ts-ignore
import uiRoutes from 'ui/routes';
// @ts-ignore
-import { checkBasicLicense } from '../license/check_license';
+import { checkBasicLicense } from '../../license/check_license';
// @ts-ignore
-import { checkGetJobsPrivilege } from '../privilege/check_privilege';
+import { checkGetJobsPrivilege } from '../../privilege/check_privilege';
// @ts-ignore
-import { loadCurrentIndexPattern, loadCurrentSavedSearch } from '../util/index_utils';
-// @ts-ignore
-import { checkMlNodesAvailable } from '../ml_nodes_check/check_ml_nodes';
+import { loadCurrentIndexPattern, loadCurrentSavedSearch } from '../../util/index_utils';
// @ts-ignore
+import { checkMlNodesAvailable } from '../../ml_nodes_check/check_ml_nodes';
import { getDataVisualizerBreadcrumbs } from './breadcrumbs';
const template = ``;
-uiRoutes.when('/data_visualizer', {
+uiRoutes.when('/jobs/new_job/datavisualizer', {
template,
k7Breadcrumbs: getDataVisualizerBreadcrumbs,
resolve: {
diff --git a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_field_stats_card.scss b/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_field_stats_card.scss
deleted file mode 100644
index ea44fe51fde1..000000000000
--- a/x-pack/legacy/plugins/ml/public/file_datavisualizer/components/fields_stats/_field_stats_card.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-.card-container {
- display: inline-grid;
- display: -ms-inline-grid;
- padding: 0px 10px 10px 0px;
-}
-
-.ml-field-data-card {
- height: 408px;
-
- .card-contents {
- height: 378px;
- line-height: 21px;
- }
-}
diff --git a/x-pack/legacy/plugins/ml/public/index.scss b/x-pack/legacy/plugins/ml/public/index.scss
index 4e2c1fcb059b..df94d0d115c8 100644
--- a/x-pack/legacy/plugins/ml/public/index.scss
+++ b/x-pack/legacy/plugins/ml/public/index.scss
@@ -18,10 +18,8 @@
// Sub applications
@import 'data_frame/index';
@import 'data_frame_analytics/index';
- @import 'data_visualizer/index';
@import 'datavisualizer/index';
@import 'explorer/index'; // SASSTODO: This file needs to be rewritten
- @import 'file_datavisualizer/index';
@import 'jobs/index'; // SASSTODO: This collection of sass files has multiple problems
@import 'settings/index';
@import 'timeseriesexplorer/index';
@@ -35,7 +33,6 @@
@import 'components/data_recognizer/index';
@import 'components/documentation_help_link/index';
@import 'components/entity_cell/index';
- @import 'components/field_data_card/index'; // SASSTODO: This file needs to be rewritten
@import 'components/field_title_bar/index';
@import 'components/field_type_icon/index';
@import 'components/form_filter_input/index'; // SASSTODO: This file needs to be rewritten
diff --git a/x-pack/legacy/plugins/ml/public/jobs/new_job/wizard/steps/index_or_search/index_or_search_controller.js b/x-pack/legacy/plugins/ml/public/jobs/new_job/wizard/steps/index_or_search/index_or_search_controller.js
index a8082b15f1cb..27117c2235eb 100644
--- a/x-pack/legacy/plugins/ml/public/jobs/new_job/wizard/steps/index_or_search/index_or_search_controller.js
+++ b/x-pack/legacy/plugins/ml/public/jobs/new_job/wizard/steps/index_or_search/index_or_search_controller.js
@@ -57,18 +57,6 @@ uiRoutes
}
});
-uiRoutes
- .when('/data_visualizer_index_select', {
- template,
- k7Breadcrumbs: getDataVisualizerIndexOrSearchBreadcrumbs,
- resolve: {
- CheckLicense: checkBasicLicense,
- privileges: checkFindFileStructurePrivilege,
- indexPatterns: loadIndexPatterns,
- nextStepPath: () => '#data_visualizer',
- }
- });
-
import { uiModules } from 'ui/modules';
const module = uiModules.get('apps/ml');
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index 73b6a6f82c7f..20ee6c7721aa 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -6061,25 +6061,6 @@
"xpack.ml.dataFrameBreadcrumbs.dataFrameCreateLabel": "データフレームを作成",
"xpack.ml.dataFrameBreadcrumbs.dataFrameLabel": "データフレーム",
"xpack.ml.dataFrameBreadcrumbs.selectIndexOrSearchLabel": "インデックスまたは検索を選択",
- "xpack.ml.datavisualizer.allFieldsTypeOptionLabel": "すべてのフィールドタイプ",
- "xpack.ml.datavisualizer.allOptionLabel": "すべて",
- "xpack.ml.datavisualizer.documentsPerShardDescription": "合計 {wrappedTotalCount} {totalCount, plural, one {document} other {documents}}からのシャードごとのドキュメント数",
- "xpack.ml.datavisualizer.documentsPerShardTooltip": "小さいサンプルサイズを選択することで、クエリの実行時間を短縮しクラスターへの負荷を軽減できます。",
- "xpack.ml.datavisualizer.fieldsInternalServerErrorTitle": "インデックス {index} のフィールドのデータの読み込み中にエラーが発生しました。{message}。リクエストがタイムアウトした可能性があります。小さなサンプルサイズを使うか、時間範囲を狭めてみてください。",
- "xpack.ml.datavisualizer.fieldsTitle": "フィールド",
- "xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningDescription": "データビジュアライザーは現在 Lucene クエリ構文を使用したクエリのみサポートしています。",
- "xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningTitle": "{language} 構文はサポートされていません",
- "xpack.ml.datavisualizer.loadingFieldsDataErrorTitle": "インデックス {index} のフィールドのデータの読み込み中にエラーが発生しました。{message}",
- "xpack.ml.datavisualizer.loadingMetricDataErrorTitle": "インデックス {index} のメトリックのデータの読み込み中にエラーが発生しました。{message}",
- "xpack.ml.datavisualizer.loadingOverallFieldsDataErrorTitle": "インデックス {index} のフィールドのデータの読み込み中にエラーが発生しました。{message}",
- "xpack.ml.datavisualizer.metricInternalServerErrorTitle": "インデックス {index} のメトリックのデータの読み込み中にエラーが発生しました。{message}。リクエストがタイムアウトした可能性があります。小さなサンプルサイズを使うか、時間範囲を狭めてみてください。",
- "xpack.ml.datavisualizer.metricsTitle": "メトリック",
- "xpack.ml.datavisualizer.overallFieldsInternalServerErrorTitle": "インデックス {index} のフィールドのデータの読み込み中にエラーが発生しました。{message}。リクエストがタイムアウトした可能性があります。小さなサンプルサイズを使うか、時間範囲を狭めてみてください。",
- "xpack.ml.datavisualizer.sampleLabel": "サンプル",
- "xpack.ml.datavisualizer.searchButtonAriaLabel": "検索",
- "xpack.ml.datavisualizer.searchFieldAriaLabel": "検索インプット",
- "xpack.ml.datavisualizer.searchFieldPlaceholder": "検索… (例: status:200 AND extension:PHP)",
- "xpack.ml.datavisualizer.selectFieldTypesAriaLabel": "フィールドタイプを選択してください...",
"xpack.ml.datavisualizer.selector.dataVisualizerDescription": "機械学習データビジュアライザーツールは、ログファイルのメトリックとフィールド、または既存の Elasticsearch インデックスを分析し、データの理解を助けます。",
"xpack.ml.datavisualizer.selector.dataVisualizerTitle": "データビジュアライザー",
"xpack.ml.datavisualizer.selector.experimentalBadgeLabel": "実験的",
@@ -6092,20 +6073,8 @@
"xpack.ml.datavisualizer.selector.startTrialButtonLabel": "トライアルを開始",
"xpack.ml.datavisualizer.selector.startTrialTitle": "トライアルを開始",
"xpack.ml.datavisualizer.selector.uploadFileButtonLabel": "ファイルをアップロード",
- "xpack.ml.datavisualizer.showAllFieldsDescription": "{wrappedFieldCardsCount} {fieldCardsCount, plural, one {field} other {fields}} ({wrappedPopulatedNonMetricFieldCount} {populatedNonMetricFieldCount, plural, one {exists} other {exist}}ドキュメントに)",
- "xpack.ml.datavisualizer.showAllMetricsDescription": "{wrappedMetricCardsCount} {metricCardsCount, plural, one {field} other {fields}} ({wrappedPopulatedMetricFieldCount} {populatedMetricFieldCount, plural, one {exists} other {exist}}ドキュメントに)",
- "xpack.ml.datavisualizer.showEmptyFieldsLabel": "空のフィールドを表示",
- "xpack.ml.datavisualizer.showMetricsDescription": "ドキュメントに {wrappedMetricCardsCount} {metricCardsCount, plural, one {field exists} other {fields exist}} (合計 {totalMetricFieldCount} 個)",
- "xpack.ml.datavisualizer.showMFieldDescription": "ドキュメントに {wrappedFieldCardsCount} {fieldCardsCount, plural, one {個のフィールドが存在します} other {個のフィールドが存在します}} (合計 {totalNonMetricFieldCount} 個)",
- "xpack.ml.datavisualizer.sidebar.advancedDescription": "より高度なユースケースでは、ジョブの作成にすべてのオプションを使用します",
- "xpack.ml.datavisualizer.sidebar.advancedJobAriaLabel": "高度なジョブ",
- "xpack.ml.datavisualizer.sidebar.advancedTitle": "高度な設定",
- "xpack.ml.datavisualizer.sidebar.createJobDescription": "高度なジョブウィザードでジョブを作成し、このデータの異常を検出します:",
- "xpack.ml.datavisualizer.sidebar.createJobTitle": "ジョブの作成",
- "xpack.ml.datavisualizer.sidebar.selectKnownConfigurationDescription": "認識されたデータの既知の構成を選択します:",
"xpack.ml.datavisualizer.startTrial.fullMLFeaturesDescription": "{platinumSubscriptionLink} が提供するすべての機械学習機能を体験するには、30 日間のトライアルを開始してください。",
"xpack.ml.datavisualizer.startTrial.platinumSubscriptionTitle": "プラチナサブスクリプション",
- "xpack.ml.datavisualizer.typesOptionLabel": "{type} タイプ",
"xpack.ml.dataVisualizerPageLabel": "データビジュアライザー",
"xpack.ml.explorer.annotationsTitle": "注釈",
"xpack.ml.explorer.anomaliesTitle": "異常",
@@ -6159,44 +6128,18 @@
"xpack.ml.explorer.viewByLabel": "表示方式",
"xpack.ml.feature.reserved.description": "ユーザーアクセスを許可するには、machine_learning_user か machine_learning_admin ロールのどちらかを割り当てる必要があります。",
"xpack.ml.featureRegistry.mlFeatureName": "機械学習",
- "xpack.ml.fieldDataCard.calculatedFromSampleDescription": "1 つのシャードにつき {topValuesSamplerShardSize} のドキュメントのサンプルで計算されています",
- "xpack.ml.fieldDataCard.cardBoolean.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
"xpack.ml.fieldDataCard.cardBoolean.valuesLabel": "値",
- "xpack.ml.fieldDataCard.cardDate.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
- "xpack.ml.fieldDataCard.cardDate.earliestLabel": "最も古い {earliestCardStats}",
- "xpack.ml.fieldDataCard.cardDate.latestLabel": "最近の {latestCardStats}",
"xpack.ml.fieldDataCard.cardDocumentCount.calculatedOverAllDocumentsLabel": "全ドキュメントで計算",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 個の特徴的な {cardStatsCardinality, plural, one {値} other {値}}",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsExamplesLabel": "{cardStatsExamplesLength, plural, one {値} other {例}}",
- "xpack.ml.fieldDataCard.cardIp.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 個の特徴的な {cardStatsCardinality, plural, one {値} other {値}}",
- "xpack.ml.fieldDataCard.cardIp.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
"xpack.ml.fieldDataCard.cardIp.topValuesLabel": "トップの値",
- "xpack.ml.fieldDataCard.cardKeyword.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 個の特徴的な {cardStatsCardinality, plural, one {値} other {値}}",
- "xpack.ml.fieldDataCard.cardKeyword.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
"xpack.ml.fieldDataCard.cardKeyword.topValuesLabel": "トップの値",
- "xpack.ml.fieldDataCard.cardNumber.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 個の特徴的な {cardStatsCardinality, plural, one {値} other {値}}",
- "xpack.ml.fieldDataCard.cardNumber.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
"xpack.ml.fieldDataCard.cardNumber.details.distributionOfValuesLabel": "値の分布",
- "xpack.ml.fieldDataCard.cardNumber.details.selectMetricDetailsDisplayAriaLabel": "メトリック詳細ディスプレイを選択",
"xpack.ml.fieldDataCard.cardNumber.details.topValuesLabel": "トップの値",
"xpack.ml.fieldDataCard.cardNumber.maxLabel": "最高",
"xpack.ml.fieldDataCard.cardNumber.medianLabel": "中間",
"xpack.ml.fieldDataCard.cardNumber.minLabel": "最低",
- "xpack.ml.fieldDataCard.cardOther.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 個の特徴的な {cardStatsCardinality, plural, one {値} other {値}}",
- "xpack.ml.fieldDataCard.cardOther.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# document} other {# documents}}",
- "xpack.ml.fieldDataCard.cardOther.cardStatsExamplesLabel": "{cardStatsExamplesLength, plural, one {値} other {例}}",
"xpack.ml.fieldDataCard.cardOther.cardTypeLabel": "{cardType} タイプ",
- "xpack.ml.fieldDataCard.cardText.examplesLabel": "{examplesLength, plural, one {値} other {例}}",
"xpack.ml.fieldDataCard.cardText.fieldMayBePopulatedDescription": "例えば、ドキュメントマッピングで {copyToParam} パラメーターを使ったり、{includesParam} と {excludesParam} パラメーターを使用してインデックスした後に {sourceParam} フィールドから切り取ったりして入力される場合があります。",
- "xpack.ml.fieldDataCard.cardText.fieldNotPresentInDocumentQueriedFieldDescription": "このフィールドはクエリが実行されたドキュメントの {sourceParam} フィールドにありませんでした。",
- "xpack.ml.fieldDataCard.cardText.noExampleForFieldsTitle": "{icon} このフィールドの例が取得されませんでした。",
- "xpack.ml.fieldDataCard.documentCountChart.chartTooltip": "{formattedDate}{br}{hr}カウント: {dataValue}",
- "xpack.ml.fieldDataCard.fieldDoesNotAppearInDocumentsDescription": "{icon} このフィールドは選択された時間範囲のドキュメントにありません",
"xpack.ml.fieldDataCard.loadingLabel": "読み込み中",
- "xpack.ml.fieldDataCard.metricDistributionChart.displayingPercentilesLabel": "{minPercent} - {maxPercent} パーセンタイルを表示中",
- "xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentBetweenValuesDescription": "{barPercent}% のドキュメントに {br}{minValFormatted} から {maxValFormatted} の間の値があります。",
- "xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentValueDescription": "{barPercent}% のドキュメントに{br}{minValFormatted} の値があります",
"xpack.ml.fieldTitleBar.documentCountLabel": "ドキュメントカウント",
"xpack.ml.fieldTypeIcon.booleanTypeAriaLabel": "ブールタイプ",
"xpack.ml.fieldTypeIcon.dateTypeAriaLabel": "日付タイプ",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 9f1a613e7cfe..7df432e932ab 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -6203,25 +6203,6 @@
"xpack.ml.dataFrameBreadcrumbs.dataFrameCreateLabel": "创建数据帧",
"xpack.ml.dataFrameBreadcrumbs.dataFrameLabel": "数据帧",
"xpack.ml.dataFrameBreadcrumbs.selectIndexOrSearchLabel": "选择索引或搜索",
- "xpack.ml.datavisualizer.allFieldsTypeOptionLabel": "所有字段类型",
- "xpack.ml.datavisualizer.allOptionLabel": "全部",
- "xpack.ml.datavisualizer.documentsPerShardDescription": "每个分片的文档,共 {wrappedTotalCount} {totalCount, plural, one { 个文档 } other { 个文档}}",
- "xpack.ml.datavisualizer.documentsPerShardTooltip": "选择较小的样例大小将减少查询运行时间和集群上的负载。",
- "xpack.ml.datavisualizer.fieldsInternalServerErrorTitle": "加载索引 {index} 中字段的数据时出错。{message}。请求可能已超时。请尝试使用较小的样例大小或缩小时间范围。",
- "xpack.ml.datavisualizer.fieldsTitle": "字段",
- "xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningDescription": "数据可视化工具当前仅支持使用 lucene 查询语法的查询。",
- "xpack.ml.datavisualizer.languageSyntaxNotSupportedWarningTitle": "不支持 {language} 语法",
- "xpack.ml.datavisualizer.loadingFieldsDataErrorTitle": "加载索引 {index} 中字段的数据时出错。{message}",
- "xpack.ml.datavisualizer.loadingMetricDataErrorTitle": "加载索引 {index} 中指标的数据时出错。{message}",
- "xpack.ml.datavisualizer.loadingOverallFieldsDataErrorTitle": "加载索引 {index} 中字段的数据时出错。{message}",
- "xpack.ml.datavisualizer.metricInternalServerErrorTitle": "加载索引 {index} 中指标的数据时出错。{message}。请求可能已超时。请尝试使用较小的样例大小或缩小时间范围。",
- "xpack.ml.datavisualizer.metricsTitle": "指标",
- "xpack.ml.datavisualizer.overallFieldsInternalServerErrorTitle": "加载索引 {index} 中字段的数据时出错。{message}。请求可能已超时。请尝试使用较小的样例大小或缩小时间范围。",
- "xpack.ml.datavisualizer.sampleLabel": "样例",
- "xpack.ml.datavisualizer.searchButtonAriaLabel": "搜索",
- "xpack.ml.datavisualizer.searchFieldAriaLabel": "搜索输入",
- "xpack.ml.datavisualizer.searchFieldPlaceholder": "搜索……(例如,status:200 AND extension:PHP)",
- "xpack.ml.datavisualizer.selectFieldTypesAriaLabel": "选择字段类型",
"xpack.ml.datavisualizer.selector.dataVisualizerDescription": "Machine Learning Data Visualizer 工具通过分析日志文件或现有 Elasticsearch 索引中的指标和字段,帮助您理解数据。",
"xpack.ml.datavisualizer.selector.dataVisualizerTitle": "数据可视化工具",
"xpack.ml.datavisualizer.selector.experimentalBadgeLabel": "实验性",
@@ -6234,20 +6215,8 @@
"xpack.ml.datavisualizer.selector.startTrialButtonLabel": "开始试用",
"xpack.ml.datavisualizer.selector.startTrialTitle": "开始试用",
"xpack.ml.datavisualizer.selector.uploadFileButtonLabel": "上传文件",
- "xpack.ml.datavisualizer.showAllFieldsDescription": "{wrappedFieldCardsCount} {fieldCardsCount, plural, one { 个字段} other { 个字段}}({wrappedPopulatedNonMetricFieldCount} {populatedNonMetricFieldCount, plural, one { 存在} other { 存在}}于文档中)",
- "xpack.ml.datavisualizer.showAllMetricsDescription": "{wrappedMetricCardsCount} {metricCardsCount, plural, one { 个字段} other { 个字段}}({wrappedPopulatedMetricFieldCount} {populatedMetricFieldCount, plural, one { 存在} other { 存在}}于文档中)",
- "xpack.ml.datavisualizer.showEmptyFieldsLabel": "显示空字段",
- "xpack.ml.datavisualizer.showMetricsDescription": "{wrappedMetricCardsCount} {metricCardsCount, plural, one { 个字段存在} other { 个字段存在}}于文档中(共 {totalMetricFieldCount} 个)",
- "xpack.ml.datavisualizer.showMFieldDescription": "{wrappedFieldCardsCount} {fieldCardsCount, plural, one { 个字段存在} other { 个字段存在}}于文档中(共 {totalNonMetricFieldCount} 个)",
- "xpack.ml.datavisualizer.sidebar.advancedDescription": "使用全部选项为更高级的用例创建作业",
- "xpack.ml.datavisualizer.sidebar.advancedJobAriaLabel": "高级作业",
- "xpack.ml.datavisualizer.sidebar.advancedTitle": "高级",
- "xpack.ml.datavisualizer.sidebar.createJobDescription": "使用“高级作业”向导创建作业,以查找此数据中的异常:",
- "xpack.ml.datavisualizer.sidebar.createJobTitle": "创建作业",
- "xpack.ml.datavisualizer.sidebar.selectKnownConfigurationDescription": "选择已识别数据的已知配置:",
"xpack.ml.datavisualizer.startTrial.fullMLFeaturesDescription": "要体验 {platinumSubscriptionLink} 提供的完整 Machine Learning 功能,可以安装为期 30 天的试用版。",
"xpack.ml.datavisualizer.startTrial.platinumSubscriptionTitle": "白金级订阅",
- "xpack.ml.datavisualizer.typesOptionLabel": "{type} 种类型",
"xpack.ml.dataVisualizerPageLabel": "数据可视化工具",
"xpack.ml.explorer.annotationsTitle": "注释",
"xpack.ml.explorer.anomaliesTitle": "异常",
@@ -6301,44 +6270,18 @@
"xpack.ml.explorer.viewByLabel": "查看者",
"xpack.ml.feature.reserved.description": "要向用户授予访问权限,还应分配 machine_learning_user 或 machine_learning_admin 角色。",
"xpack.ml.featureRegistry.mlFeatureName": "机器学习",
- "xpack.ml.fieldDataCard.calculatedFromSampleDescription": "基于每个分片的 {topValuesSamplerShardSize} 文档样例计算",
- "xpack.ml.fieldDataCard.cardBoolean.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
"xpack.ml.fieldDataCard.cardBoolean.valuesLabel": "值",
- "xpack.ml.fieldDataCard.cardDate.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
- "xpack.ml.fieldDataCard.cardDate.earliestLabel": "最早的 {earliestCardStats}",
- "xpack.ml.fieldDataCard.cardDate.latestLabel": "最新的 {latestCardStats}",
"xpack.ml.fieldDataCard.cardDocumentCount.calculatedOverAllDocumentsLabel": "计算所有文档",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 不同的 {cardStatsCardinality, plural, one { 个值} other { 个值}}",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
- "xpack.ml.fieldDataCard.cardGeoPoint.cardStatsExamplesLabel": "{cardStatsExamplesLength, plural, one { 个值} other { 个示例}}",
- "xpack.ml.fieldDataCard.cardIp.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 不同的 {cardStatsCardinality, plural, one { 个值} other { 个值}}",
- "xpack.ml.fieldDataCard.cardIp.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
"xpack.ml.fieldDataCard.cardIp.topValuesLabel": "排在前面的值",
- "xpack.ml.fieldDataCard.cardKeyword.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 不同的 {cardStatsCardinality, plural, one { 个值} other { 个值}}",
- "xpack.ml.fieldDataCard.cardKeyword.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
"xpack.ml.fieldDataCard.cardKeyword.topValuesLabel": "排在前面的值",
- "xpack.ml.fieldDataCard.cardNumber.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 不同的 {cardStatsCardinality, plural, one { 个值} other { 个值}}",
- "xpack.ml.fieldDataCard.cardNumber.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
"xpack.ml.fieldDataCard.cardNumber.details.distributionOfValuesLabel": "值分布",
- "xpack.ml.fieldDataCard.cardNumber.details.selectMetricDetailsDisplayAriaLabel": "选择指标详情显示",
"xpack.ml.fieldDataCard.cardNumber.details.topValuesLabel": "排在前面的值",
"xpack.ml.fieldDataCard.cardNumber.maxLabel": "最大值",
"xpack.ml.fieldDataCard.cardNumber.medianLabel": "中值",
"xpack.ml.fieldDataCard.cardNumber.minLabel": "最小值",
- "xpack.ml.fieldDataCard.cardOther.cardStatsCardinalityDistinctValuesLabel": "{cardStatsCardinality} 不同的 {cardStatsCardinality, plural, one { 个值} other { 个值}}",
- "xpack.ml.fieldDataCard.cardOther.cardStatsCountDocumentsPercentsLabel": "{cardStatsCount, plural, one {# 个文档} other {# 个文档}}",
- "xpack.ml.fieldDataCard.cardOther.cardStatsExamplesLabel": "{cardStatsExamplesLength, plural, one { 个值} other { 个示例}}",
"xpack.ml.fieldDataCard.cardOther.cardTypeLabel": "{cardType} 类型",
- "xpack.ml.fieldDataCard.cardText.examplesLabel": "{examplesLength, plural, one { 个值} other { 个示例}}",
"xpack.ml.fieldDataCard.cardText.fieldMayBePopulatedDescription": "例如,可以使用文档映射中的 {copyToParam} 参数填充它,或可以通过使用 {includesParam} 和 {excludesParam} 参数从 {sourceParam} 字段中删除它。",
- "xpack.ml.fieldDataCard.cardText.fieldNotPresentInDocumentQueriedFieldDescription": "查询的文档的 {sourceParam} 字段中不存在此字段。",
- "xpack.ml.fieldDataCard.cardText.noExampleForFieldsTitle": "{icon} 没有获得此字段的示例。",
- "xpack.ml.fieldDataCard.documentCountChart.chartTooltip": "{formattedDate}{br}{hr}计数:{dataValue}",
- "xpack.ml.fieldDataCard.fieldDoesNotAppearInDocumentsDescription": "{icon} 此字段不会出现在所选时间范围的任何文档中",
"xpack.ml.fieldDataCard.loadingLabel": "正在加载",
- "xpack.ml.fieldDataCard.metricDistributionChart.displayingPercentilesLabel": "显示 {minPercent} - {maxPercent} 百分位数",
- "xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentBetweenValuesDescription": "{barPercent}% 的文档具有{br}介于 {minValFormatted} 和 {maxValFormatted} 之间的值",
- "xpack.ml.fieldDataCard.metricDistributionChart.documentsBarPercentValueDescription": "{barPercent}% 的文档的{br}值为 {minValFormatted}",
"xpack.ml.fieldTitleBar.documentCountLabel": "文档计数",
"xpack.ml.fieldTypeIcon.booleanTypeAriaLabel": "布尔类型",
"xpack.ml.fieldTypeIcon.dateTypeAriaLabel": "日期类型",