diff --git a/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map.tsx b/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map.tsx
index ed4886f728e0a..96c51fecb9530 100644
--- a/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map.tsx
+++ b/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map.tsx
@@ -136,7 +136,7 @@ export function MlEmbeddedMapComponent({
return (
diff --git a/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map_tooltip.tsx b/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map_tooltip.tsx
deleted file mode 100644
index 72a3e211d7550..0000000000000
--- a/x-pack/plugins/ml/public/application/components/ml_embedded_map/ml_embedded_map_tooltip.tsx
+++ /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 React, { useEffect } from 'react';
-import {
- EuiDescriptionList,
- EuiDescriptionListDescription,
- EuiDescriptionListTitle,
- EuiOutsideClickDetector,
- EuiPopoverTitle,
-} from '@elastic/eui';
-import { RenderTooltipContentParams } from '../../../../../maps/public';
-
-type MapToolTipProps = Partial;
-
-function MapToolTipComponent({
- closeTooltip,
- features = [],
- loadFeatureProperties,
-}: MapToolTipProps) {
- const { id: featureId, layerId } = features[0] ?? {};
- return (
- {
- if (closeTooltip != null) {
- closeTooltip();
- }
- }}
- >
- <>
- Test
-
- description title
- description
-
- >
-
- );
-}
-
-export const MapToolTip = React.memo(MapToolTipComponent);
diff --git a/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/expanded_row/geo_point_content/geo_point_content.tsx b/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/expanded_row/geo_point_content/geo_point_content.tsx
index ad15ba4fe4ee6..e233fa9533a47 100644
--- a/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/expanded_row/geo_point_content/geo_point_content.tsx
+++ b/x-pack/plugins/ml/public/application/datavisualizer/file_based/components/expanded_row/geo_point_content/geo_point_content.tsx
@@ -66,7 +66,10 @@ export const GeoPointContent: FC = ({ config }) => {
)}
{formattedResults && Array.isArray(formattedResults.layerList) && (
-
+
)}
diff --git a/x-pack/plugins/ml/public/application/datavisualizer/index_based/components/expanded_row/geo_point_content.tsx b/x-pack/plugins/ml/public/application/datavisualizer/index_based/components/expanded_row/geo_point_content.tsx
index 30320373cbfde..d908f7793dc64 100644
--- a/x-pack/plugins/ml/public/application/datavisualizer/index_based/components/expanded_row/geo_point_content.tsx
+++ b/x-pack/plugins/ml/public/application/datavisualizer/index_based/components/expanded_row/geo_point_content.tsx
@@ -7,7 +7,6 @@
import React, { FC, useEffect, useState } from 'react';
import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
-import uuid from 'uuid';
import { ExamplesList } from '../../../index_based/components/field_data_row/examples_list';
import { FieldVisConfig } from '../../../stats_table/types';
import { IndexPattern } from '../../../../../../../../../src/plugins/data/common/index_patterns/index_patterns';
diff --git a/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts b/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts
index 531eba54f931d..e80908eabc3b1 100644
--- a/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts
+++ b/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts
@@ -112,6 +112,47 @@ export default function ({ getService }: FtrProviderContext) {
fieldNameFiltersResultCount: 1,
},
},
+ {
+ suiteSuffix: 'with a file containing geo field',
+ filePath: path.join(__dirname, 'files_to_import', 'geo_file.csv'),
+ indexName: 'user-import_1',
+ createIndexPattern: false,
+ fieldTypeFilters: [ML_JOB_FIELD_TYPES.GEO_POINT],
+ fieldNameFilters: ['Coordinates'],
+ expected: {
+ results: {
+ title: 'geo_file.csv',
+ numberOfFields: 3,
+ },
+ metricFields: [],
+ nonMetricFields: [
+ {
+ fieldName: 'Context',
+ type: ML_JOB_FIELD_TYPES.UNKNOWN,
+ docCountFormatted: '0 (0%)',
+ exampleCount: 0,
+ },
+ {
+ fieldName: 'Coordinates',
+ type: ML_JOB_FIELD_TYPES.GEO_POINT,
+ docCountFormatted: '13 (100%)',
+ exampleCount: 7,
+ },
+ {
+ fieldName: 'Location',
+ type: ML_JOB_FIELD_TYPES.KEYWORD,
+ docCountFormatted: '13 (100%)',
+ exampleCount: 7,
+ },
+ ],
+ visibleMetricFieldsCount: 0,
+ totalMetricFieldsCount: 0,
+ populatedFieldsCount: 3,
+ totalFieldsCount: 3,
+ fieldTypeFiltersResultCount: 1,
+ fieldNameFiltersResultCount: 1,
+ },
+ },
];
const testDataListNegative = [
diff --git a/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv
new file mode 100644
index 0000000000000..df7417f474d83
--- /dev/null
+++ b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv
@@ -0,0 +1,14 @@
+Coordinates,Location,Context
+POINT (-2.516919 51.423683),On or near A4175,
+POINT (-2.515072 51.419357),On or near Stockwood Hill,
+POINT (-2.509126 51.416137),On or near St Francis Road,
+POINT (-2.509384 51.40959),On or near Barnard Walk,
+POINT (-2.509126 51.416137),On or near St Francis Road,
+POINT (-2.516919 51.423683),On or near A4175,
+POINT (-2.511571 51.414895),On or near Orchard Close,
+POINT (-2.534338 51.417697),On or near Scotland Lane,
+POINT (-2.509384 51.40959),On or near Barnard Walk,
+POINT (-2.495055 51.422132),On or near Cross Street,
+POINT (-2.509384 51.40959),On or near Barnard Walk,
+POINT (-2.495055 51.422132),On or near Cross Street,
+POINT (-2.509126 51.416137),On or near St Francis Road,
\ No newline at end of file
diff --git a/x-pack/test/functional/services/ml/data_visualizer_table.ts b/x-pack/test/functional/services/ml/data_visualizer_table.ts
index ad4625ed4dcb4..7bf697743ec52 100644
--- a/x-pack/test/functional/services/ml/data_visualizer_table.ts
+++ b/x-pack/test/functional/services/ml/data_visualizer_table.ts
@@ -308,6 +308,32 @@ export function MachineLearningDataVisualizerTableProvider(
await this.ensureDetailsClosed(fieldName);
}
+ public async assertGeoPointFieldContents(
+ fieldName: string,
+ docCountFormatted: string,
+ topValuesCount: number
+ ) {
+ await this.assertRowExists(fieldName);
+ await this.assertFieldDocCount(fieldName, docCountFormatted);
+ await this.ensureDetailsOpen(fieldName);
+
+ await testSubjects.existOrFail(this.detailsSelector(fieldName, 'mlFieldDataTopValues'));
+ await this.assertTopValuesContents(fieldName, topValuesCount);
+ await testSubjects.existOrFail(this.detailsSelector(fieldName, 'mlEmbeddedMapContent'));
+
+ await this.ensureDetailsClosed(fieldName);
+ }
+
+ public async assertUnknownFieldContents(fieldName: string, docCountFormatted: string) {
+ await this.assertRowExists(fieldName);
+ await this.assertFieldDocCount(fieldName, docCountFormatted);
+ await this.ensureDetailsOpen(fieldName);
+
+ await testSubjects.existOrFail(this.detailsSelector(fieldName, 'mlDVDocumentStatsContent'));
+
+ await this.ensureDetailsClosed(fieldName);
+ }
+
public async assertNonMetricFieldContents(
fieldType: string,
fieldName: string,
@@ -321,6 +347,10 @@ export function MachineLearningDataVisualizerTableProvider(
await this.assertKeywordFieldContents(fieldName, docCountFormatted, exampleCount);
} else if (fieldType === ML_JOB_FIELD_TYPES.TEXT) {
await this.assertTextFieldContents(fieldName, docCountFormatted, exampleCount);
+ } else if (fieldType === ML_JOB_FIELD_TYPES.GEO_POINT) {
+ await this.assertGeoPointFieldContents(fieldName, docCountFormatted, exampleCount);
+ } else if (fieldType === ML_JOB_FIELD_TYPES.UNKNOWN) {
+ await this.assertUnknownFieldContents(fieldName, docCountFormatted);
}
}