diff --git a/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.scss b/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.scss new file mode 100644 index 000000000000..90b645f70084 --- /dev/null +++ b/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.scss @@ -0,0 +1,4 @@ +.dscFieldDetails__barContainer { + // Constrains value to the flex item, and allows for truncation when necessary + min-width: 0; +} diff --git a/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.tsx b/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.tsx index 398a945e0f87..281fc9a392d7 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_field_bucket.tsx @@ -17,11 +17,12 @@ * under the License. */ import React from 'react'; -import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; +import { EuiText, EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { StringFieldProgressBar } from './string_progress_bar'; import { Bucket } from './types'; import { IndexPatternField } from '../../../../../data/public'; +import './discover_field_bucket.scss'; interface Props { bucket: Bucket; @@ -47,18 +48,40 @@ export function DiscoverFieldBucket({ field, bucket, onAddFilter }: Props) { return ( <> - - - - {bucket.display === '' ? emptyTxt : bucket.display} - + + + + + + {bucket.display === '' ? emptyTxt : bucket.display} + + + + + {bucket.percent}% + + + + {field.filterable && (
onAddFilter(field, bucket.value, '+')} aria-label={addLabel} data-test-subj={`plus-${field.name}-${bucket.value}`} @@ -73,7 +96,7 @@ export function DiscoverFieldBucket({ field, bucket, onAddFilter }: Props) { /> onAddFilter(field, bucket.value, '-')} aria-label={removeLabel} data-test-subj={`minus-${field.name}-${bucket.value}`} @@ -90,7 +113,7 @@ export function DiscoverFieldBucket({ field, bucket, onAddFilter }: Props) { )} - + ); } diff --git a/src/plugins/discover/public/application/components/sidebar/discover_field_details.tsx b/src/plugins/discover/public/application/components/sidebar/discover_field_details.tsx index b56f7ba8a852..dd95a45f7162 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_field_details.tsx +++ b/src/plugins/discover/public/application/components/sidebar/discover_field_details.tsx @@ -17,7 +17,7 @@ * under the License. */ import React from 'react'; -import { EuiLink, EuiSpacer, EuiIconTip, EuiText } from '@elastic/eui'; +import { EuiLink, EuiIconTip, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { DiscoverFieldBucket } from './discover_field_bucket'; import { getWarnings } from './lib/get_warnings'; @@ -78,7 +78,6 @@ export function DiscoverFieldDetails({ {details.visualizeUrl && ( <> - { getServices().core.application.navigateToApp(details.visualizeUrl.app, { diff --git a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.scss b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.scss index 9f7700c7f395..ae7e915f0977 100644 --- a/src/plugins/discover/public/application/components/sidebar/discover_sidebar.scss +++ b/src/plugins/discover/public/application/components/sidebar/discover_sidebar.scss @@ -121,14 +121,6 @@ } } -/* - Fixes EUI known issue https://github.com/elastic/eui/issues/1749 -*/ -.dscProgressBarTooltip__anchor { - display: block; -} - - .dscFieldSearch { padding: $euiSizeS; } diff --git a/src/plugins/discover/public/application/components/sidebar/string_progress_bar.tsx b/src/plugins/discover/public/application/components/sidebar/string_progress_bar.tsx index 7ea41aa4bf27..c8693727b072 100644 --- a/src/plugins/discover/public/application/components/sidebar/string_progress_bar.tsx +++ b/src/plugins/discover/public/application/components/sidebar/string_progress_bar.tsx @@ -17,35 +17,18 @@ * under the License. */ import React from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiProgress, EuiText, EuiToolTip } from '@elastic/eui'; +import { EuiProgress } from '@elastic/eui'; interface Props { percent: number; count: number; + value: string; } -export function StringFieldProgressBar(props: Props) { +export function StringFieldProgressBar({ value, percent, count }: Props) { + const ariaLabel = `${value}: ${count} (${percent}%)`; + return ( - - - - - - - {props.percent}% - - - + ); }