Skip to content

Commit

Permalink
[XY Charts] fix partial histogram endzones annotations (#93091)
Browse files Browse the repository at this point in the history
  • Loading branch information
nickofthyme committed Mar 4, 2021
1 parent df5e547 commit b5a46dd
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 27 deletions.
2 changes: 0 additions & 2 deletions src/plugins/vis_type_xy/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import {
setDataActions,
setFormatService,
setThemeService,
setTimefilter,
setUISettings,
setDocLinks,
setPalettesService,
Expand Down Expand Up @@ -80,7 +79,6 @@ export class VisTypeXyPlugin
public start(core: CoreStart, { data }: VisTypeXyPluginStartDependencies) {
setFormatService(data.fieldFormats);
setDataActions(data.actions);
setTimefilter(data.query.timefilter.timefilter);
setDocLinks(core.docLinks);

return {};
Expand Down
4 changes: 0 additions & 4 deletions src/plugins/vis_type_xy/public/services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ export const [getFormatService, setFormatService] = createGetterSetter<
DataPublicPluginStart['fieldFormats']
>('xy data.fieldFormats');

export const [getTimefilter, setTimefilter] = createGetterSetter<
DataPublicPluginStart['query']['timefilter']['timefilter']
>('xy data.query.timefilter.timefilter');

export const [getThemeService, setThemeService] = createGetterSetter<ChartsPluginSetup['theme']>(
'xy charts.theme'
);
Expand Down
9 changes: 9 additions & 0 deletions src/plugins/vis_type_xy/public/to_ast.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { DateHistogramParams, Dimensions, HistogramParams, VisParams } from './t
import { visName, VisTypeXyExpressionFunctionDefinition } from './xy_vis_fn';
import { XyVisType } from '../common';
import { getEsaggsFn } from './to_ast_esaggs';
import { TimeRangeBounds } from '../../data/common';

export const toExpressionAst: VisToExpressionAst<VisParams> = async (vis, params) => {
const schemas = getVisSchemas(vis, params);
Expand All @@ -42,6 +43,14 @@ export const toExpressionAst: VisToExpressionAst<VisParams> = async (vis, params
.duration(esValue, esUnit)
.asMilliseconds();
(dimensions.x.params as DateHistogramParams).format = xAgg.buckets.getScaledDateFormat();
const bounds = xAgg.buckets.getBounds() as TimeRangeBounds | undefined;

if (bounds && bounds?.min && bounds?.max) {
(dimensions.x.params as DateHistogramParams).bounds = {
min: bounds.min.valueOf(),
max: bounds.max.valueOf(),
};
}
} else if (xAgg.type.name === BUCKET_TYPES.HISTOGRAM) {
const intervalParam = xAgg.type.paramByName('interval');
const output = { params: {} as any };
Expand Down
20 changes: 9 additions & 11 deletions src/plugins/vis_type_xy/public/utils/domain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,20 @@ import { DomainRange } from '@elastic/charts';
import { getAdjustedInterval } from '../../../charts/public';
import { Datatable } from '../../../expressions/public';

import { getTimefilter } from '../services';
import { Aspect, DateHistogramParams, HistogramParams } from '../types';

export const getXDomain = (params: Aspect['params']): DomainRange => {
const minInterval = (params as DateHistogramParams | HistogramParams)?.interval ?? undefined;
const bounds = (params as DateHistogramParams).date
? (params as DateHistogramParams).bounds
: null;

if ((params as DateHistogramParams).date) {
const bounds = getTimefilter().getActiveBounds();

if (bounds) {
return {
min: bounds.min ? bounds.min.valueOf() : undefined,
max: bounds.max ? bounds.max.valueOf() : undefined,
minInterval,
};
}
if (bounds) {
return {
min: bounds.min as number,
max: bounds.max as number,
minInterval,
};
}

return {
Expand Down
9 changes: 1 addition & 8 deletions test/functional/apps/visualize/_area_chart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should show correct chart', async function () {
const xAxisLabels = await PageObjects.visChart.getExpectedValue(
['2015-09-20 00:00', '2015-09-21 00:00', '2015-09-22 00:00', '2015-09-23 00:00'],
[
'2015-09-20 00:00',
'2015-09-20 12:00',
'2015-09-21 00:00',
'2015-09-21 12:00',
'2015-09-22 00:00',
'2015-09-22 12:00',
]
['2015-09-19 12:00', '2015-09-20 12:00', '2015-09-21 12:00', '2015-09-22 12:00']
);
const yAxisLabels = await PageObjects.visChart.getExpectedValue(
['0', '200', '400', '600', '800', '1,000', '1,200', '1,400', '1,600'],
Expand Down
10 changes: 8 additions & 2 deletions test/functional/apps/visualize/_point_series_options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should show round labels in default timezone', async function () {
const expectedLabels = await PageObjects.visChart.getExpectedValue(
['2015-09-20 00:00', '2015-09-21 00:00', '2015-09-22 00:00'],
['2015-09-20 00:00', '2015-09-20 18:00', '2015-09-21 12:00', '2015-09-22 06:00']
['2015-09-19 12:00', '2015-09-20 12:00', '2015-09-21 12:00', '2015-09-22 12:00']
);
await initChart();
const labels = await PageObjects.visChart.getXAxisLabels();
Expand All @@ -279,7 +279,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
it('should show round labels in different timezone', async function () {
const expectedLabels = await PageObjects.visChart.getExpectedValue(
['2015-09-20 00:00', '2015-09-21 00:00', '2015-09-22 00:00'],
['2015-09-19 18:00', '2015-09-20 12:00', '2015-09-21 06:00', '2015-09-22 00:00']
[
'2015-09-19 12:00',
'2015-09-20 06:00',
'2015-09-21 00:00',
'2015-09-21 18:00',
'2015-09-22 12:00',
]
);

await kibanaServer.uiSettings.update({ 'dateFormat:tz': 'America/Phoenix' });
Expand Down

0 comments on commit b5a46dd

Please sign in to comment.