Skip to content

Commit

Permalink
Add expand/minimize button to open/close the flyout.
Browse files Browse the repository at this point in the history
  • Loading branch information
awahab07 committed Jan 15, 2024
1 parent 06f9485 commit 210c691
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import {
EuiLink,
EuiSkeletonRectangle,
EuiToolTip,
EuiButtonIcon,
EuiText,
} from '@elastic/eui';
import { FieldFormatsStart } from '@kbn/field-formats-plugin/public';
import { ES_FIELD_TYPES, KBN_FIELD_TYPES } from '@kbn/field-types';
Expand All @@ -30,6 +32,12 @@ import { QualityIndicator, QualityPercentageIndicator } from '../quality_indicat
import { IntegrationIcon } from '../common';
import { useLinkToLogExplorer } from '../../hooks';

const expandDatasetAriaLabel = i18n.translate('xpack.datasetQuality.expandLabel', {
defaultMessage: 'Expand',
});
const collapseDatasetAriaLabel = i18n.translate('xpack.datasetQuality.collapseLabel', {
defaultMessage: 'Collapse',
});
const nameColumnName = i18n.translate('xpack.datasetQuality.nameColumnName', {
defaultMessage: 'Dataset Name',
});
Expand Down Expand Up @@ -96,16 +104,36 @@ const degradedDocsColumnTooltip = (
/>
);

export const getDatasetQualitTableColumns = ({
export const getDatasetQualityTableColumns = ({
fieldFormats,
selectedDataset,
setSelectedDataset,
loadingDegradedStats,
}: {
fieldFormats: FieldFormatsStart;
selectedDataset?: DataStreamStat;
loadingDegradedStats?: boolean;
setSelectedDataset: Dispatch<SetStateAction<DataStreamStat | undefined>>;
}): Array<EuiBasicTableColumn<DataStreamStat>> => {
return [
{
name: '',
render: (dataStreamStat: DataStreamStat) => {
const isExpanded = dataStreamStat === selectedDataset;

return (
<EuiButtonIcon
size="m"
color="text"
onClick={() => setSelectedDataset(isExpanded ? undefined : dataStreamStat)}
iconType={isExpanded ? 'minimize' : 'expand'}
title={!isExpanded ? expandDatasetAriaLabel : collapseDatasetAriaLabel}
aria-label={!isExpanded ? expandDatasetAriaLabel : collapseDatasetAriaLabel}
/>
);
},
width: '40px',
},
{
name: nameColumnName,
field: 'title',
Expand All @@ -118,7 +146,7 @@ export const getDatasetQualitTableColumns = ({
<EuiFlexItem grow={false}>
<IntegrationIcon integration={integration} />
</EuiFlexItem>
<EuiLink onClick={() => setSelectedDataset(dataStreamStat)}>{title}</EuiLink>
<EuiText size="s">{title}</EuiText>
</EuiFlexGroup>
);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export function QualityPercentageIndicator({ percentage = 0 }: { percentage?: nu
: 'good';

const description = (
<EuiText>
<EuiText size="s">
<FormattedNumber value={percentage} />%
</EuiText>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { find, orderBy } from 'lodash';
import React, { useCallback, useMemo, useState } from 'react';
import { DataStreamStat } from '../../common/data_streams_stats/data_stream_stat';
import { tableSummaryAllText, tableSummaryOfText } from '../../common/translations';
import { getDatasetQualitTableColumns } from '../components/dataset_quality/columns';
import { getDatasetQualityTableColumns } from '../components/dataset_quality/columns';
import { useDatasetQualityContext } from '../components/dataset_quality/context';
import { getDefaultTimeRange, useKibanaContextForPlugin } from '../utils';

Expand Down Expand Up @@ -48,8 +48,14 @@ export const useDatasetQualityTable = () => {
);

const columns = useMemo(
() => getDatasetQualitTableColumns({ fieldFormats, setSelectedDataset, loadingDegradedStats }),
[fieldFormats, loadingDegradedStats]
() =>
getDatasetQualityTableColumns({
fieldFormats,
selectedDataset,
setSelectedDataset,
loadingDegradedStats,
}),
[fieldFormats, loadingDegradedStats, selectedDataset, setSelectedDataset]
);

const pagination = {
Expand Down

0 comments on commit 210c691

Please sign in to comment.