mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Fix fieldformatter calls in pipeline helper and add functional test for range aggs (#29842)
This commit is contained in:
parent
daf19f8a5a
commit
93fef68647
2 changed files with 24 additions and 10 deletions
|
@ -46,26 +46,23 @@ export const getFormat = (mapping: any) => {
|
|||
if (!mapping) {
|
||||
return defaultFormat;
|
||||
}
|
||||
let { id } = mapping;
|
||||
const { id } = mapping;
|
||||
if (id === 'range') {
|
||||
id = mapping.params.id;
|
||||
|
||||
const RangeFormat = FieldFormat.from((range: any) => {
|
||||
const format = getFieldFormat(id, mapping.params).convert;
|
||||
const format = getFieldFormat(id, mapping.params);
|
||||
return i18n.translate('common.ui.aggTypes.buckets.ranges.rangesFormatMessage', {
|
||||
defaultMessage: '{from} to {to}',
|
||||
values: {
|
||||
from: format(range.gte),
|
||||
to: format(range.lt),
|
||||
from: format.convert(range.gte),
|
||||
to: format.convert(range.lt),
|
||||
},
|
||||
});
|
||||
});
|
||||
return new RangeFormat();
|
||||
} else if (id === 'terms') {
|
||||
id = mapping.params.id;
|
||||
return {
|
||||
getConverterFor: (type: string) => {
|
||||
const format = getFieldFormat(id, mapping.params).convert;
|
||||
const format = getFieldFormat(mapping.params.id, mapping.params);
|
||||
return (val: string) => {
|
||||
if (val === '__other__') {
|
||||
return mapping.params.otherBucketLabel;
|
||||
|
@ -78,11 +75,11 @@ export const getFormat = (mapping: any) => {
|
|||
pathname: window.location.pathname,
|
||||
basePath: chrome.getBasePath(),
|
||||
};
|
||||
return format(val, undefined, undefined, parsedUrl);
|
||||
return format.convert(val, undefined, undefined, parsedUrl);
|
||||
};
|
||||
},
|
||||
convert: (val: string, type: string) => {
|
||||
const format = getFieldFormat(id, mapping.params);
|
||||
const format = getFieldFormat(mapping.params.id, mapping.params);
|
||||
if (val === '__other__') {
|
||||
return mapping.params.otherBucketLabel;
|
||||
}
|
||||
|
|
|
@ -188,6 +188,23 @@ export default function ({ getService, getPageObjects }) {
|
|||
expect(data.length).to.be.greaterThan(0);
|
||||
});
|
||||
|
||||
it('should show correct data for a data table with range agg', async () => {
|
||||
await PageObjects.visualize.navigateToNewVisualization();
|
||||
await PageObjects.visualize.clickDataTable();
|
||||
await PageObjects.visualize.clickNewSearch();
|
||||
await PageObjects.header.setAbsoluteRange(fromTime, toTime);
|
||||
await PageObjects.visualize.clickBucket('Split Rows');
|
||||
await PageObjects.visualize.selectAggregation('Range');
|
||||
await PageObjects.visualize.selectField('bytes');
|
||||
await PageObjects.visualize.clickGo();
|
||||
const data = await PageObjects.visualize.getTableVisData();
|
||||
expect(data.trim().split('\n')).to.be.eql([
|
||||
'0 to 1000', '1,351',
|
||||
'1000 to 2000', '737',
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
describe('otherBucket', () => {
|
||||
before(async () => {
|
||||
await PageObjects.visualize.navigateToNewVisualization();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue