Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[XY] xyVis and layeredXyVis. #128255

Merged
Merged
Show file tree
Hide file tree
Changes from 185 commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
9388bba
added xy plugin.
Kuznietsov Mar 8, 2022
8df9659
Merge branch 'main' into chart_expressions-xy
kibanamachine Mar 9, 2022
ab72728
Added expressionXY limits.
Kuznietsov Mar 9, 2022
5747322
Merge branch 'chart_expressions-xy' of github.com:Kunzetsov/kibana in…
Kuznietsov Mar 9, 2022
b4ee9c1
Added xy expression functions to the expression_xy plugin.
Kuznietsov Mar 10, 2022
400845d
Moved xy to a separate plugin.
Kuznietsov Mar 11, 2022
b2090f3
Small refactoring.
Kuznietsov Mar 11, 2022
33a06fa
Fixed types.
Kuznietsov Mar 14, 2022
d94fa4f
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 14, 2022
663e093
Fixed import of scss.
Kuznietsov Mar 14, 2022
cbffe77
Fixed imports.
Kuznietsov Mar 14, 2022
389f933
Added required plugins.
Kuznietsov Mar 14, 2022
90aa97a
Fixed import
Kuznietsov Mar 14, 2022
1d3a264
Fixed types.
Kuznietsov Mar 14, 2022
a78d45d
Changed expression names.
Kuznietsov Mar 14, 2022
35cab91
Fixed bugs, caused by the refactoring process.
Kuznietsov Mar 14, 2022
847b3c4
Merge branch 'main' into chart_expressions-xy
kibanamachine Mar 15, 2022
ed7f8ea
Fixed lens snapshots.
Kuznietsov Mar 15, 2022
b6daa5d
Removed new line.
Kuznietsov Mar 15, 2022
bda6524
Merge branch 'chart_expressions-xy' of github.com:Kunzetsov/kibana in…
Kuznietsov Mar 15, 2022
c8d40fe
Fixed xy_chart tests.
Kuznietsov Mar 15, 2022
5fed60c
Added lazy loading for xy chart.
Kuznietsov Mar 15, 2022
dc195b2
Fixed xy chart test.
Kuznietsov Mar 15, 2022
d39681f
Fixed broken chart selectors.
Kuznietsov Mar 16, 2022
b901d68
Fixed dashboard tests.
Kuznietsov Mar 16, 2022
d327dfe
dashboard test fixed.
Kuznietsov Mar 16, 2022
b500961
Fixed heatmap vis.
Kuznietsov Mar 16, 2022
7a25b74
Smokescreen test fixed.
Kuznietsov Mar 16, 2022
0004794
more fixes.
Kuznietsov Mar 16, 2022
fc8c0b3
async dashboard tests fixed.
Kuznietsov Mar 16, 2022
98454ad
Fixed xy smokescreen tests selectors.
Kuznietsov Mar 16, 2022
05cccac
fixed show_underlying_data tests.
Kuznietsov Mar 16, 2022
bcf5201
Updated snapshots.
Kuznietsov Mar 16, 2022
99dc773
updated limits.
Kuznietsov Mar 16, 2022
94a5850
Fixed more selectors
Kuznietsov Mar 16, 2022
bfea6f1
Fixed persistent context test.
Kuznietsov Mar 16, 2022
7cb4db4
Fixed some more test at ml.
Kuznietsov Mar 16, 2022
98e8661
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 16, 2022
5ea9cc5
Fixed types and imports
Kuznietsov Mar 16, 2022
4f72658
Fixed handlers.inspectorAdapters.tables.logDatatable
Kuznietsov Mar 16, 2022
ee4ec20
Fixed logDatatable
Kuznietsov Mar 17, 2022
e72005c
Translations fixed.
Kuznietsov Mar 17, 2022
902972d
Fixed "Visualize App ... cleans filters and query" test.
Kuznietsov Mar 17, 2022
05b0f8d
Fixed "lens disable auto-apply tests" test.
Kuznietsov Mar 17, 2022
cae1e75
Updated dashboard tests.
Kuznietsov Mar 17, 2022
00c7e28
Fixed translations.
Kuznietsov Mar 17, 2022
0ad3793
Expression tests fixed.
Kuznietsov Mar 17, 2022
2fbe81f
Cleaned up expression_xy.
Kuznietsov Mar 17, 2022
e9c497f
cleaned up lens xy_visualization.
Kuznietsov Mar 17, 2022
ea299ec
fixed more tests.
Kuznietsov Mar 17, 2022
9ea2cbb
Fix of tsvb.
Kuznietsov Mar 17, 2022
46edc6b
Fixed more tests.
Kuznietsov Mar 17, 2022
672885c
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 17, 2022
f109200
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 17, 2022
498b34e
Fixed xy chart limits.
Kuznietsov Mar 18, 2022
eeefc8b
Merge branch 'chart_expressions-xy' of github.com:Kunzetsov/kibana in…
Kuznietsov Mar 18, 2022
e00f089
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 18, 2022
4996ea6
Fixed new tests.
Kuznietsov Mar 18, 2022
97bb678
Fixed types.
Kuznietsov Mar 18, 2022
df91d70
Added extended layers expressions.
Kuznietsov Mar 18, 2022
f91c8d5
Merge branch 'main' into chart_expressions-xy
kibanamachine Mar 20, 2022
0b6db50
Merge branch 'main' into chart_expressions-xy
kibanamachine Mar 21, 2022
d3065be
Added support of tables at layers.
Kuznietsov Mar 21, 2022
f49d5f4
Fixed tests.
Kuznietsov Mar 22, 2022
f45c81c
Fixed more tests.
Kuznietsov Mar 22, 2022
eb78296
Fixed lens types.
Kuznietsov Mar 22, 2022
bb91aee
Added tables to layers.
Kuznietsov Mar 23, 2022
3e6d15a
Checks fixed.
Kuznietsov Mar 23, 2022
ac86ab9
updated tests.
Kuznietsov Mar 23, 2022
75b2e91
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 23, 2022
5c9f160
Merge branch 'chart_expressions-xy' into chart_expressions-xy-extende…
Kuznietsov Mar 24, 2022
fe16d49
Fixed types.
Kuznietsov Mar 24, 2022
902dae6
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 24, 2022
21e34b4
First try to fix merge conflicts.
Kuznietsov Mar 24, 2022
9cc22c8
Fixed annotatations.
Kuznietsov Mar 25, 2022
a99a223
Fixed types.
Kuznietsov Mar 25, 2022
b553456
Updated snapshots
Kuznietsov Mar 25, 2022
60f5645
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 25, 2022
dec0d18
Fixed tests.
Kuznietsov Mar 25, 2022
628ade6
Fixed dependencies.
Kuznietsov Mar 25, 2022
cc63956
Fixed i18n.
Kuznietsov Mar 25, 2022
0e4092d
Moved XY state types to lens.
Kuznietsov Mar 25, 2022
ef30205
Fixed more types.
Kuznietsov Mar 25, 2022
f29bdcf
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 28, 2022
8139986
Update src/plugins/chart_expressions/expression_xy/README.md
Kuznietsov Mar 28, 2022
8307b73
[CI] Auto-commit changed files from 'node scripts/build_plugin_list_d…
kibanamachine Mar 28, 2022
27af05d
Merge branch 'chart_expressions-xy' into chart_expressions-xy-extende…
Kuznietsov Mar 28, 2022
500fb78
Removed yConfig from *Layers types
Kuznietsov Mar 28, 2022
839b023
Fixed styles.
Kuznietsov Mar 28, 2022
b61e59a
Fixed types.
Kuznietsov Mar 28, 2022
53a6659
Removed not used utils and styles.
Kuznietsov Mar 28, 2022
490159a
Merge branch 'main' into chart_expressions-xy
Kuznietsov Mar 28, 2022
38982d7
Merge branch 'chart_expressions-xy' into chart_expressions-xy-extende…
Kuznietsov Mar 29, 2022
73df8aa
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Mar 29, 2022
65f9520
Fixed types and tests.
Kuznietsov Mar 29, 2022
9a97062
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Mar 29, 2022
d7a014a
updated size.
Kuznietsov Mar 29, 2022
1563ea0
Added right behavior, related to the tables, comming from the express…
Kuznietsov Mar 30, 2022
363578b
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Mar 30, 2022
5e99314
Fixed reference lines.
Kuznietsov Mar 31, 2022
69eb3fd
Fixed jsdoc.
Kuznietsov Mar 31, 2022
a80a660
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Mar 31, 2022
ed03e2c
Added annotations to layeredXyVIs.
Kuznietsov Apr 1, 2022
c441652
Fixed limits.
Kuznietsov Apr 1, 2022
b200e37
Refactored the implementation to be reusable.
Kuznietsov Apr 1, 2022
27f44e2
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 4, 2022
8c2ea64
Fixed undefined layers.
Kuznietsov Apr 4, 2022
fb370d9
Fixed empty arrays problems.
Kuznietsov Apr 5, 2022
10c85fe
Fixed input translations and removed not used arguments.
Kuznietsov Apr 5, 2022
bb91cf8
Fixed missing required args error, and added required to arguments.
Kuznietsov Apr 5, 2022
a5d15e4
Simplified expression configuration.
Kuznietsov Apr 5, 2022
7bb36b0
Added strict to all the expressions.
Kuznietsov Apr 5, 2022
7979799
refactored code, according to the nit.
Kuznietsov Apr 5, 2022
595ace3
Moved dataLayer to the separate component.
Kuznietsov Apr 6, 2022
1baee1b
Fixed jest tests.
Kuznietsov Apr 7, 2022
a78a466
Fixed tests.
Kuznietsov Apr 7, 2022
5c89811
Refactored dataLayers helpers and xy_chart.
Kuznietsov Apr 7, 2022
b43a793
More fixes of the expression
Kuznietsov Apr 7, 2022
5f661b0
Fixed tests and snapshots.
Kuznietsov Apr 8, 2022
0b15a32
Icons at annotations and reference lines are strict.
Kuznietsov Apr 8, 2022
7bc0f95
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 12, 2022
c17026f
axis extent validation added.
Kuznietsov Apr 12, 2022
17ea44f
Added checks to the legend config.
Kuznietsov Apr 12, 2022
3111467
fillOpacity usage validation is added.
Kuznietsov Apr 12, 2022
bd282eb
Fixed valueLabels argument options. Removed not used. Added validatio…
Kuznietsov Apr 12, 2022
d35c9eb
Removed not used tests and imports.
Kuznietsov Apr 12, 2022
2fb11f4
Fixed valueLabels and added migrations.
Kuznietsov Apr 13, 2022
54e1b66
Fixed type checks.
Kuznietsov Apr 13, 2022
dbd4a8f
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 13, 2022
e4a40dc
Added test for the migrations.
Kuznietsov Apr 13, 2022
05f854f
Fixed imports.
Kuznietsov Apr 13, 2022
e50bc1f
Fixed types
Kuznietsov Apr 13, 2022
2f74299
Fixed i18n checks.
Kuznietsov Apr 14, 2022
786bbf1
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 14, 2022
6def533
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 15, 2022
f5b4aee
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 18, 2022
02ba394
Fixed imports and types.
Kuznietsov Apr 18, 2022
dfccec6
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Apr 18, 2022
acabb8f
Update src/plugins/chart_expressions/expression_xy/common/expression_…
Kuznietsov Apr 19, 2022
435f89a
Removed extra extends.
Kuznietsov Apr 19, 2022
eec1c42
Update src/plugins/chart_expressions/expression_xy/common/expression_…
Kuznietsov Apr 19, 2022
471546e
Added guard.
Kuznietsov Apr 19, 2022
d19a331
Merge branch 'chart_expressions-xy-extended_layers' of github.com:Kun…
Kuznietsov Apr 19, 2022
b52c1b5
Fixed the code duplication.
Kuznietsov Apr 19, 2022
844c7b1
Removed table from the annotation layer.
Kuznietsov Apr 19, 2022
612ce22
Changed the `convertActiveDataFromIndexesToLayers` location.
Kuznietsov Apr 19, 2022
9d63b48
Added tests for convertActiveDataFromIndexesToLayers
Kuznietsov Apr 19, 2022
a947ff7
Reduced the bundle size a little bit.
Kuznietsov Apr 19, 2022
9eaecc1
Reused strings and args.
Kuznietsov Apr 19, 2022
7a8c452
Refactored expression functions. Added asynchronous behavior.
Kuznietsov Apr 19, 2022
3c4a3dd
Fixed tests.
Kuznietsov Apr 19, 2022
04c5e6d
Updated limits.
Kuznietsov Apr 19, 2022
1310c15
Updated the limit.
Kuznietsov Apr 19, 2022
6d62065
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 19, 2022
e97b67c
Fixed types.
Kuznietsov Apr 19, 2022
822bf73
fixed types.
Kuznietsov Apr 19, 2022
acc63a9
Turned back layerIds.
Kuznietsov Apr 20, 2022
40ba7c0
Removed convertActiveData from Lens.
Kuznietsov Apr 20, 2022
cb25e61
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 20, 2022
7cd49d0
Added test to the layerIds generator.
Kuznietsov Apr 20, 2022
6cd5376
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 21, 2022
128643d
Fixed types.
Kuznietsov Apr 21, 2022
1b32193
Fixed problems with resetting of the inspector.
Kuznietsov Apr 21, 2022
d978efa
Fixed migrations.
Kuznietsov Apr 21, 2022
adb6d93
Removed types.
Kuznietsov Apr 21, 2022
6c05adb
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov Apr 22, 2022
37c79b8
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 25, 2022
48ed45d
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 26, 2022
73d0442
Removed tones of `areFormatted` calculations.
Kuznietsov Apr 26, 2022
945c9e7
Fixed `isTimeViz` and `isHistogramViz` by replacing filteredLayers wi…
Kuznietsov Apr 26, 2022
083fd6b
Removed referenceLineLayers from the `groupAxesByType` fn.
Kuznietsov Apr 26, 2022
854e5ee
Added validation to the layeredXyVis.
Kuznietsov Apr 26, 2022
0612cad
Fixed extent validation.
Kuznietsov Apr 26, 2022
ad0533c
Removed comments.
Kuznietsov Apr 26, 2022
95a8ed2
Reduced limit.
Kuznietsov Apr 26, 2022
3806d78
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 26, 2022
7cc9b96
Added optimizations.
Kuznietsov Apr 27, 2022
d04a78b
Fixed floatingColumns error.
Kuznietsov Apr 27, 2022
867d3da
Fixed types.
Kuznietsov Apr 27, 2022
fa77166
Updated limits.
Kuznietsov Apr 27, 2022
5a1ce2a
Turned back extent validation.
Kuznietsov Apr 27, 2022
a73390e
Fixed stacked error.
Kuznietsov Apr 27, 2022
5a83b3d
Parallelized async import of functions.
Kuznietsov Apr 27, 2022
50ec457
Decreased the complexity of the algorithm.
Kuznietsov Apr 27, 2022
ac1553b
Fixed snapshot.
Kuznietsov Apr 27, 2022
320983a
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine Apr 29, 2022
59ee004
Merge branch 'main' into chart_expressions-xy-extended_layers
kibanamachine May 2, 2022
b516bb3
Merge commit '27d1fa1797b21a975173e89e9d65a2d029b64304' into chart_ex…
mbondyra May 3, 2022
c4b7119
xy_chart.test types
mbondyra May 3, 2022
76c3c78
icon type
mbondyra May 3, 2022
b41f51d
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov May 3, 2022
2906aef
Removed not used check.
Kuznietsov May 3, 2022
0f4835f
Replaced `an` with `the`.
Kuznietsov May 3, 2022
773ec7f
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine May 3, 2022
c407547
Fixed tests.
Kuznietsov May 3, 2022
168b032
Merge branch 'main' into chart_expressions-xy-extended_layers
Kuznietsov May 3, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/kbn-optimizer/limits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ pageLoadAssetSize:
visTypeGauge: 24113
unifiedSearch: 104869
data: 454087
expressionXY: 26500
eventAnnotation: 19334
screenshotting: 22870
synthetics: 40958
expressionXY: 29000
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Position } from '@elastic/charts';
import type { PaletteOutput } from '@kbn/coloring';
import { Datatable, DatatableRow } from '@kbn/expressions-plugin';
import { LayerTypes } from '../constants';
import { DataLayerConfigResult, LensMultiTable, XYArgs } from '../types';
import { DataLayerConfig, XYProps } from '../types';

export const mockPaletteOutput: PaletteOutput = {
type: 'palette',
Expand Down Expand Up @@ -46,9 +46,9 @@ export const createSampleDatatableWithRows = (rows: DatatableRow[]): Datatable =
rows,
});

export const sampleLayer: DataLayerConfigResult = {
type: 'dataLayer',
export const sampleLayer: DataLayerConfig = {
layerId: 'first',
type: 'dataLayer',
layerType: LayerTypes.DATA,
seriesType: 'line',
xAccessor: 'c',
Expand All @@ -59,9 +59,12 @@ export const sampleLayer: DataLayerConfigResult = {
yScaleType: 'linear',
isHistogram: false,
palette: mockPaletteOutput,
table: createSampleDatatableWithRows([]),
};

export const createArgsWithLayers = (layers: DataLayerConfigResult[] = [sampleLayer]): XYArgs => ({
export const createArgsWithLayers = (
layers: DataLayerConfig | DataLayerConfig[] = sampleLayer
): XYProps => ({
xTitle: '',
yTitle: '',
yRightTitle: '',
Expand Down Expand Up @@ -104,25 +107,17 @@ export const createArgsWithLayers = (layers: DataLayerConfigResult[] = [sampleLa
mode: 'full',
type: 'axisExtentConfig',
},
layers,
layers: Array.isArray(layers) ? layers : [layers],
});

export function sampleArgs() {
const data: LensMultiTable = {
type: 'lens_multitable',
tables: {
first: createSampleDatatableWithRows([
{ a: 1, b: 2, c: 'I', d: 'Foo' },
{ a: 1, b: 5, c: 'J', d: 'Bar' },
]),
},
dateRange: {
fromDate: new Date('2019-01-02T05:00:00.000Z'),
toDate: new Date('2019-01-03T05:00:00.000Z'),
},
};

const args: XYArgs = createArgsWithLayers();
const data = createSampleDatatableWithRows([
{ a: 1, b: 2, c: 'I', d: 'Foo' },
{ a: 1, b: 5, c: 'J', d: 'Bar' },
]);

return { data, args };
return {
data,
args: createArgsWithLayers({ ...sampleLayer, table: data }),
};
}
26 changes: 24 additions & 2 deletions src/plugins/chart_expressions/expression_xy/common/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@
*/

export const XY_VIS = 'xyVis';
export const LAYERED_XY_VIS = 'layeredXyVis';
export const Y_CONFIG = 'yConfig';
export const EXTENDED_Y_CONFIG = 'extendedYConfig';
export const MULTITABLE = 'lens_multitable';
export const DATA_LAYER = 'dataLayer';
export const EXTENDED_DATA_LAYER = 'extendedDataLayer';
export const LEGEND_CONFIG = 'legendConfig';
export const XY_VIS_RENDERER = 'xyVis';
export const GRID_LINES_CONFIG = 'gridlinesConfig';
export const ANNOTATION_LAYER = 'annotationLayer';
export const EXTENDED_ANNOTATION_LAYER = 'extendedAnnotationLayer';
export const TICK_LABELS_CONFIG = 'tickLabelsConfig';
export const AXIS_EXTENT_CONFIG = 'axisExtentConfig';
export const REFERENCE_LINE_LAYER = 'referenceLineLayer';
export const EXTENDED_REFERENCE_LINE_LAYER = 'extendedReferenceLineLayer';
export const LABELS_ORIENTATION_CONFIG = 'labelsOrientationConfig';
export const AXIS_TITLES_VISIBILITY_CONFIG = 'axisTitlesVisibilityConfig';

Expand Down Expand Up @@ -106,6 +111,23 @@ export const XYCurveTypes = {

export const ValueLabelModes = {
HIDE: 'hide',
INSIDE: 'inside',
OUTSIDE: 'outside',
SHOW: 'show',
} as const;

export const AvailableReferenceLineIcons = {
EMPTY: 'empty',
ASTERISK: 'asterisk',
ALERT: 'alert',
BELL: 'bell',
BOLT: 'bolt',
BUG: 'bug',
CIRCLE: 'circle',
EDITOR_COMMENT: 'editorComment',
FLAG: 'flag',
HEART: 'heart',
MAP_MARKER: 'mapMarker',
PIN_FILLED: 'pinFilled',
STAR_EMPTY: 'starEmpty',
TAG: 'tag',
TRIANGLE: 'triangle',
} as const;
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,40 @@
* Side Public License, v 1.
*/

import type { ExpressionFunctionDefinition } from '@kbn/expressions-plugin/common';
import type { Datatable, ExpressionFunctionDefinition } from '@kbn/expressions-plugin/common';
import { LayerTypes, ANNOTATION_LAYER } from '../constants';
import { AnnotationLayerArgs, AnnotationLayerConfigResult } from '../types';
import { strings } from '../i18n';

export function annotationLayerConfigFunction(): ExpressionFunctionDefinition<
export function annotationLayerFunction(): ExpressionFunctionDefinition<
typeof ANNOTATION_LAYER,
null,
Datatable,
AnnotationLayerArgs,
AnnotationLayerConfigResult
> {
return {
name: ANNOTATION_LAYER,
aliases: [],
type: ANNOTATION_LAYER,
inputTypes: ['null'],
help: 'Annotation layer in lens',
inputTypes: ['datatable'],
help: strings.getAnnotationLayerFnHelp(),
args: {
layerId: {
types: ['string'],
help: '',
},
hide: {
types: ['boolean'],
default: false,
help: 'Show details',
help: strings.getAnnotationLayerHideHelp(),
},
annotations: {
types: ['manual_event_annotation'],
help: '',
help: strings.getAnnotationLayerAnnotationsHelp(),
multi: true,
},
},
fn: (input, args) => {
return {
type: ANNOTATION_LAYER,
...args,
annotations: args.annotations ?? [],
layerType: LayerTypes.ANNOTATIONS,
};
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ import type { ExpressionFunctionDefinition } from '@kbn/expressions-plugin/commo
import { AxisExtentConfig, AxisExtentConfigResult } from '../types';
import { AxisExtentModes, AXIS_EXTENT_CONFIG } from '../constants';

const errors = {
upperBoundLowerOrEqualToLowerBoundError: () =>
i18n.translate('expressionXY.reusable.function.axisExtentConfig.errors.emptyUpperBound', {
defaultMessage: 'Upper bound should be greater than lower bound, if custom mode is enabled.',
}),
};

export const axisExtentConfigFunction: ExpressionFunctionDefinition<
typeof AXIS_EXTENT_CONFIG,
null,
Expand All @@ -27,10 +34,12 @@ export const axisExtentConfigFunction: ExpressionFunctionDefinition<
args: {
mode: {
types: ['string'],
options: [...Object.values(AxisExtentModes)],
help: i18n.translate('expressionXY.axisExtentConfig.extentMode.help', {
defaultMessage: 'The extent mode',
}),
options: [...Object.values(AxisExtentModes)],
strict: true,
default: AxisExtentModes.FULL,
},
lowerBound: {
types: ['number'],
Expand All @@ -46,6 +55,16 @@ export const axisExtentConfigFunction: ExpressionFunctionDefinition<
},
},
fn(input, args) {
if (args.mode === AxisExtentModes.CUSTOM) {
if (
args.lowerBound !== undefined &&
args.upperBound !== undefined &&
args.lowerBound >= args.upperBound
) {
throw new Error(errors.upperBoundLowerOrEqualToLowerBoundError());
}
}

return {
type: AXIS_EXTENT_CONFIG,
...args,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { SeriesTypes, XScaleTypes, YScaleTypes, Y_CONFIG } from '../constants';
import { strings } from '../i18n';
import { DataLayerFn, ExtendedDataLayerFn } from '../types';

type CommonDataLayerFn = DataLayerFn | ExtendedDataLayerFn;

export const commonDataLayerArgs: CommonDataLayerFn['args'] = {
hide: {
types: ['boolean'],
default: false,
help: strings.getHideHelp(),
},
xAccessor: {
types: ['string'],
help: strings.getXAccessorHelp(),
},
seriesType: {
types: ['string'],
options: [...Object.values(SeriesTypes)],
help: strings.getSeriesTypeHelp(),
required: true,
strict: true,
},
xScaleType: {
options: [...Object.values(XScaleTypes)],
help: strings.getXScaleTypeHelp(),
default: XScaleTypes.ORDINAL,
strict: true,
},
isHistogram: {
types: ['boolean'],
default: false,
help: strings.getIsHistogramHelp(),
},
yScaleType: {
options: [...Object.values(YScaleTypes)],
help: strings.getYScaleTypeHelp(),
default: YScaleTypes.LINEAR,
strict: true,
},
splitAccessor: {
types: ['string'],
help: strings.getSplitAccessorHelp(),
},
accessors: {
types: ['string'],
help: strings.getAccessorsHelp(),
multi: true,
},
yConfig: {
types: [Y_CONFIG],
help: strings.getYConfigHelp(),
multi: true,
},
columnToLabel: {
types: ['string'],
help: strings.getColumnToLabelHelp(),
},
palette: {
types: ['palette', 'system_palette'],
help: strings.getPaletteHelp(),
default: '{palette}',
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/

import { EXTENDED_Y_CONFIG } from '../constants';
import { strings } from '../i18n';
import { ReferenceLineLayerFn, ExtendedReferenceLineLayerFn } from '../types';

type CommonReferenceLineLayerFn = ReferenceLineLayerFn | ExtendedReferenceLineLayerFn;

export const commonReferenceLineLayerArgs: CommonReferenceLineLayerFn['args'] = {
accessors: {
types: ['string'],
help: strings.getRLAccessorsHelp(),
multi: true,
},
yConfig: {
types: [EXTENDED_Y_CONFIG],
help: strings.getRLYConfigHelp(),
multi: true,
},
columnToLabel: {
types: ['string'],
help: strings.getColumnToLabelHelp(),
},
};
Loading