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

[Lens] Improve color stop UI #119165

Merged
merged 114 commits into from
Jan 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
a56b23e
First very draft version
VladLasitsa Nov 19, 2021
9e7715b
Added validation, clean up code
VladLasitsa Nov 24, 2021
7029192
Some fixes
VladLasitsa Nov 24, 2021
e10e350
Adapt components to the new UI design
VladLasitsa Nov 26, 2021
924efe3
Some fixes
VladLasitsa Nov 29, 2021
bc9d87f
Fix validation
VladLasitsa Nov 29, 2021
be37180
Fix lint errors
VladLasitsa Nov 30, 2021
c3d0786
Fix metric vis for new color stop UI
VladLasitsa Nov 30, 2021
fea83b3
Fix problems with keeping state of auto detecting max/min value
VladLasitsa Dec 2, 2021
35ad9b3
Add tests
VladLasitsa Dec 3, 2021
2f9b2f1
Fix CI
VladLasitsa Dec 6, 2021
a9017f8
Fix tests
VladLasitsa Dec 6, 2021
212dd76
Fix some lint problems
VladLasitsa Dec 6, 2021
ebc6a3a
Fix CI
VladLasitsa Dec 7, 2021
4ea7daa
Merge remote-tracking branch 'upstream/main' into 116422
VladLasitsa Dec 7, 2021
5765073
Fix min/max behavior for heatmap
VladLasitsa Dec 7, 2021
c863aa4
Fix checks.
VladLasitsa Dec 7, 2021
956b3ba
Fix auto value when we add new color range
VladLasitsa Dec 7, 2021
084461e
Fix check task
VladLasitsa Dec 7, 2021
7dd40d0
Fix some issues
VladLasitsa Dec 7, 2021
93927da
Some fixes
VladLasitsa Dec 8, 2021
a5c6430
Fix functional tests
VladLasitsa Dec 8, 2021
e6a5b25
small fix for heatmap
VladLasitsa Dec 9, 2021
8581e8e
Fix test
VladLasitsa Dec 9, 2021
e21bf05
Update comment-description
VladLasitsa Dec 9, 2021
33ed775
Merge branch 'main' into 116422
kibanamachine Dec 14, 2021
72c8e05
fix PR comments
alexwizp Dec 14, 2021
ae7fedc
Merge remote-tracking branch 'upstream/main' into 116422
alexwizp Dec 15, 2021
3cce2dc
Merge remote-tracking branch 'upstream/main' into 116422
alexwizp Dec 16, 2021
7e5265a
do some refactoring (work in progress)
alexwizp Dec 16, 2021
9f124be
do some refactoring (work in progress)
alexwizp Dec 16, 2021
857e79e
some cleanup
alexwizp Dec 16, 2021
fa174eb
some cleanup
alexwizp Dec 16, 2021
1ac0c85
wp: fix validation
alexwizp Dec 20, 2021
2c5daf3
wip: fix validation
alexwizp Dec 20, 2021
fcaba4d
push some refactoring
alexwizp Dec 20, 2021
2d45297
do some refactoring
alexwizp Dec 20, 2021
495ca70
add useDebounce
alexwizp Dec 20, 2021
9775347
add useReducer
alexwizp Dec 21, 2021
dddd143
Merge remote-tracking branch 'upstream/main' into 116422
alexwizp Dec 21, 2021
b61bcbc
remove autoValue
alexwizp Dec 21, 2021
e3cfa20
fix validation
alexwizp Dec 21, 2021
aced21d
update validation logic
alexwizp Dec 21, 2021
e0fbdb6
revert getStopsForFixedMode
alexwizp Dec 21, 2021
65f8cef
some updates
alexwizp Dec 21, 2021
43968da
Merge branch 'main' into 116422
kibanamachine Dec 22, 2021
a209e56
update EuiColorPaletteDisplay palette arg
alexwizp Dec 22, 2021
70276c9
push some logic
alexwizp Dec 22, 2021
ac911a8
push some logic
alexwizp Dec 22, 2021
1c86832
update validation messages
alexwizp Dec 23, 2021
a1d0584
push some updates
alexwizp Dec 23, 2021
5d75740
fix some logic
alexwizp Dec 24, 2021
833db8d
fix some cases
alexwizp Dec 24, 2021
5912c27
fix JES
alexwizp Dec 27, 2021
9f5e407
Merge branch 'main' into 116422
kibanamachine Dec 27, 2021
66fb5ed
fix CI
alexwizp Dec 27, 2021
88f460b
Merge branch 'main' into 116422
kibanamachine Dec 27, 2021
86b5c5f
reset continuity
alexwizp Dec 28, 2021
91ecc15
fix functional tests
alexwizp Dec 28, 2021
7bf0b6f
fix issue with -infinite/+infinite
alexwizp Dec 28, 2021
0fcd666
fix CI
alexwizp Dec 29, 2021
64f6ec4
push some updates
alexwizp Dec 29, 2021
7d0e872
Update x-pack/plugins/lens/public/shared_components/coloring/color_ra…
alexwizp Dec 29, 2021
6792ee9
Update x-pack/plugins/lens/public/shared_components/coloring/color_ra…
alexwizp Dec 29, 2021
32a9539
fix some comments
alexwizp Dec 29, 2021
04a9c16
make color ranges crud methods "immutable"
alexwizp Dec 30, 2021
a15d351
fix Max. value input size
alexwizp Dec 30, 2021
73ae6c7
Merge branch 'main' into 116422
kibanamachine Dec 30, 2021
806b1a8
fix PR comment
alexwizp Dec 30, 2021
57d89f8
fix tests
alexwizp Dec 30, 2021
45c4ebb
Merge branch 'main' into 116422
kibanamachine Jan 3, 2022
97b1eb2
Merge branch 'main' into 116422
kibanamachine Jan 4, 2022
676396f
Fix edit/min/max buttons behavior
VladLasitsa Jan 5, 2022
cd5d5c1
Fix entering decimal values and max/min value behavior
VladLasitsa Jan 10, 2022
5fa1e1b
Fix lint
VladLasitsa Jan 10, 2022
63aeaa8
Fix getNormalizedValueByRange for case when min == max
VladLasitsa Jan 10, 2022
7663daf
Fix table cell coloring
VladLasitsa Jan 11, 2022
1260e3f
add warning messages
alexwizp Jan 12, 2022
c66d811
Move color ranges reducer upper to palette_configuration (#3)
VladLasitsa Jan 13, 2022
ca4684f
Fix lint
VladLasitsa Jan 13, 2022
7a6013c
Merge remote-tracking branch 'upstream/main' into 116422
alexwizp Jan 13, 2022
a4ef93d
Merge branch 'main' into 116422
kibanamachine Jan 14, 2022
ef5f658
use one dataBounds type across palette configuration
alexwizp Jan 14, 2022
a51b833
cleanup
alexwizp Jan 14, 2022
08f4454
Fix some behavior
VladLasitsa Jan 14, 2022
45a17d9
Fix checks
VladLasitsa Jan 14, 2022
d303747
Some clean up
VladLasitsa Jan 14, 2022
0b22b92
Some fixes
VladLasitsa Jan 14, 2022
e057bb9
Some fixes
VladLasitsa Jan 14, 2022
6474301
Fix validation
VladLasitsa Jan 17, 2022
f22826c
Fix CI
VladLasitsa Jan 17, 2022
2e3436c
Add unit tests for color_ranges_crud util
VladLasitsa Jan 17, 2022
0c0e8f6
Fix unit test
VladLasitsa Jan 17, 2022
bad0ecb
Merge branch 'main' into 116422
kibanamachine Jan 17, 2022
9ea3af8
Add unit tests for color ranges utils.ts
VladLasitsa Jan 17, 2022
463b8bf
Add allowEditMinMaxValues props and fix validation
VladLasitsa Jan 17, 2022
fb909e9
Fix CI
VladLasitsa Jan 18, 2022
b711798
Rename allowEditMinMaxValues to disableSwitchingContinuity
VladLasitsa Jan 18, 2022
006a714
Add unit tests for color_ranges_validation
VladLasitsa Jan 18, 2022
e551e8e
Merge remote-tracking branch 'upstream/main' into 116422
VladLasitsa Jan 18, 2022
b90c368
Add unit tests for updateRangeType and changeColorPalette functions
VladLasitsa Jan 18, 2022
9fea8a4
Add unit tests for color_ranges_extra_actions
VladLasitsa Jan 19, 2022
0d23316
Fix checks
VladLasitsa Jan 19, 2022
29662c1
Clean up code
VladLasitsa Jan 19, 2022
2eb5ca9
Some fixes
VladLasitsa Jan 19, 2022
2a11580
Fix unit-tests
VladLasitsa Jan 19, 2022
daa5aaa
Fix comments
VladLasitsa Jan 21, 2022
67194be
Some changes
VladLasitsa Jan 21, 2022
6aa3aa8
Fix tests
VladLasitsa Jan 21, 2022
9e0ddd9
Merge branch 'main' into 116422
kibanamachine Jan 21, 2022
fc02977
Fix all comments
VladLasitsa Jan 21, 2022
262a2ea
Fix Checks
VladLasitsa Jan 21, 2022
84bbe33
Fix CI
VladLasitsa Jan 22, 2022
1b323d3
Merge branch 'main' into 116422
kibanamachine Jan 24, 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
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ describe('HeatmapComponent', function () {
expect(component.find(Heatmap).prop('colorScale')).toEqual({
bands: [
{ color: 'rgb(0, 0, 0)', end: 0, start: 0 },
{ color: 'rgb(112, 38, 231)', end: 150, start: 0 },
{ color: 'rgb(112, 38, 231)', end: 150.00001, start: 0 },
],
type: 'bands',
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,10 @@ export const HeatmapComponent: FC<HeatmapRenderProps> = memo(
);

// adds a very small number to the max value to make sure the max value will be included
const smattering = 0.00001;
const endValue =
paletteParams && paletteParams.range === 'number' ? paletteParams.rangeMax : max + 0.00000001;
(paletteParams?.range === 'number' ? paletteParams.rangeMax : max) + smattering;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are applying the smattering on both conditions now. Is it due to the changes in the palette?


const overwriteColors = uiState?.get('vis.colors') ?? null;

const bands = ranges.map((start, index, array) => {
Expand Down
5 changes: 3 additions & 2 deletions src/plugins/charts/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ export type {
export { defaultCustomColors, palette, systemPalette } from './palette';

export { paletteIds } from './constants';

export type { ColorSchema, RawColorSchema, ColorMap } from './static';
export {
ColorSchemas,
Expand All @@ -31,6 +30,8 @@ export {
LabelRotation,
defaultCountLabel,
MULTILAYER_TIME_AXIS_STYLE,
checkIsMinContinuity,
checkIsMaxContinuity,
} from './static';

export type { ColorSchemaParams, Labels, Style } from './types';
export type { ColorSchemaParams, Labels, Style, PaletteContinuity } from './types';
17 changes: 12 additions & 5 deletions src/plugins/charts/common/palette.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@
* Side Public License, v 1.
*/

import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common';
import type { ExpressionFunctionDefinition } from 'src/plugins/expressions/common';
import { i18n } from '@kbn/i18n';
import { last } from 'lodash';
import { paletteIds } from './constants';
import { checkIsMaxContinuity, checkIsMinContinuity } from './static';

import type { PaletteContinuity } from './types';

export interface CustomPaletteArguments {
color?: string[];
Expand All @@ -19,7 +22,7 @@ export interface CustomPaletteArguments {
range?: 'number' | 'percent';
rangeMin?: number;
rangeMax?: number;
continuity?: 'above' | 'below' | 'all' | 'none';
continuity?: PaletteContinuity;
}

export interface CustomPaletteState {
Expand All @@ -29,7 +32,7 @@ export interface CustomPaletteState {
range: 'number' | 'percent';
rangeMin: number;
rangeMax: number;
continuity?: 'above' | 'below' | 'all' | 'none';
continuity?: PaletteContinuity;
}

export interface SystemPaletteArguments {
Expand Down Expand Up @@ -169,8 +172,12 @@ export function palette(): ExpressionFunctionDefinition<
range: range ?? 'percent',
gradient,
continuity,
rangeMin: calculateRange(rangeMin, stops[0], rangeMinDefault),
rangeMax: calculateRange(rangeMax, last(stops), rangeMaxDefault),
rangeMin: checkIsMinContinuity(continuity)
? Number.NEGATIVE_INFINITY
: calculateRange(rangeMin, stops[0], rangeMinDefault),
rangeMax: checkIsMaxContinuity(continuity)
? Number.POSITIVE_INFINITY
: calculateRange(rangeMax, last(stops), rangeMaxDefault),
},
};
},
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/charts/common/static/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ export {
} from './color_maps';

export { ColorMode, LabelRotation, defaultCountLabel } from './components';

export { checkIsMaxContinuity, checkIsMinContinuity } from './palette';
export * from './styles';
15 changes: 15 additions & 0 deletions src/plugins/charts/common/static/palette/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* 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 { PaletteContinuity } from '../../types';

export const checkIsMinContinuity = (continuity: PaletteContinuity | undefined) =>
Boolean(continuity && ['below', 'all'].includes(continuity));

export const checkIsMaxContinuity = (continuity: PaletteContinuity | undefined) =>
Boolean(continuity && ['above', 'all'].includes(continuity));
2 changes: 2 additions & 0 deletions src/plugins/charts/common/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

import { ColorSchemas, LabelRotation } from './static';

export type PaletteContinuity = 'above' | 'below' | 'none' | 'all';

export interface ColorSchemaParams {
colorSchema: ColorSchemas;
invertColors: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ describe('workoutColorForValue', () => {
{
...DEFAULT_PROPS,
continuity: 'all',
rangeMax: 100,
rangeMax: Infinity,
stops: [20, 40, 60, 80],
},
{ min: 0, max: 200 }
Expand Down
97 changes: 67 additions & 30 deletions src/plugins/charts/public/services/palettes/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
* Side Public License, v 1.
*/

import { CustomPaletteState } from '../..';
import { checkIsMinContinuity, checkIsMaxContinuity } from '../../../common';
import type { CustomPaletteState } from '../..';

function findColorSegment(
value: number,
Expand All @@ -20,7 +21,11 @@ function findColorSegment(

// what about values in range
const index = colors.findIndex((c, i) => comparison(value, rangeMin + (1 + i) * step) <= 0);
return colors[index] || colors[0];
// see comment below in function 'findColorsByStops'
return (
colors[index] ??
(value >= rangeMin + colors.length * step ? colors[colors.length - 1] : colors[0])
);
}

function findColorsByStops(
Expand All @@ -30,25 +35,62 @@ function findColorsByStops(
stops: number[]
) {
const index = stops.findIndex((s) => comparison(value, s) < 0);
return colors[index] || colors[0];
// as we now we can provide 'rangeMax' as end for last interval (iterval [lastStop, rangeMax]),
// value can be more that last stop but will be valid
// because of this we should provide for that value the last color.
// (For example, value = 100, last stop = 80, rangeMax = 120, before we was return the first color,
// but now we will return the last one)
return (
colors[index] ?? (value >= stops[stops.length - 1] ? colors[colors.length - 1] : colors[0])
);
}

function getNormalizedValueByRange(
value: number,
{ range }: CustomPaletteState,
{ range, rangeMin }: CustomPaletteState,
minMax: { min: number; max: number }
) {
let result = value;
if (range === 'percent') {
result = (100 * (value - minMax.min)) / (minMax.max - minMax.min);

// for a range of 1 value the formulas above will divide by 0, so here's a safety guard
if (Number.isNaN(result)) {
return rangeMin;
}
}
// for a range of 1 value the formulas above will divide by 0, so here's a safety guard
if (Number.isNaN(result)) {
return 1;
}

return result;
}

const getNormalizedMaxRange = (
{
stops,
colors,
rangeMax,
}: Pick<CustomPaletteState, 'stops' | 'continuity' | 'colors' | 'rangeMax'>,
isMaxContinuity: boolean,
[min, max]: [number, number]
) => {
if (isMaxContinuity) {
return Number.POSITIVE_INFINITY;
}

return stops.length ? rangeMax : max - (max - min) / colors.length;
};

const getNormalizedMinRange = (
{ stops, rangeMin }: Pick<CustomPaletteState, 'stops' | 'continuity' | 'rangeMin'>,
isMinContinuity: boolean,
min: number
) => {
if (isMinContinuity) {
return Number.NEGATIVE_INFINITY;
}

return stops.length ? rangeMin : min;
};

/**
* When stops are empty, it is assumed a predefined palette, so colors are distributed uniformly in the whole data range
* When stops are passed, then rangeMin/rangeMax are used as reference for user defined limits:
Expand All @@ -63,29 +105,30 @@ export function workoutColorForValue(
return;
}
const { colors, stops, range = 'percent', continuity = 'above', rangeMax, rangeMin } = params;

const isMinContinuity = checkIsMinContinuity(continuity);
const isMaxContinuity = checkIsMaxContinuity(continuity);
// ranges can be absolute numbers or percentages
// normalized the incoming value to the same format as range to make easier comparisons
const normalizedValue = getNormalizedValueByRange(value, params, minMax);
const dataRangeArguments = range === 'percent' ? [0, 100] : [minMax.min, minMax.max];
const comparisonFn = (v: number, threshold: number) => v - threshold;

// if steps are defined consider the specific rangeMax/Min as data boundaries
// as of max reduce its value by 1/colors.length for correct continuity checks
const maxRange = stops.length
? rangeMax
: dataRangeArguments[1] - (dataRangeArguments[1] - dataRangeArguments[0]) / colors.length;
const minRange = stops.length ? rangeMin : dataRangeArguments[0];
const [min, max]: [number, number] = range === 'percent' ? [0, 100] : [minMax.min, minMax.max];

// in case of shorter rangers, extends the steps on the sides to cover the whole set
if (comparisonFn(normalizedValue, maxRange) > 0) {
if (continuity === 'above' || continuity === 'all') {
return colors[colors.length - 1];
const minRange = getNormalizedMinRange({ stops, rangeMin }, isMinContinuity, min);
const maxRange = getNormalizedMaxRange({ stops, colors, rangeMax }, isMaxContinuity, [min, max]);

const comparisonFn = (v: number, threshold: number) => v - threshold;

if (comparisonFn(normalizedValue, minRange) < 0) {
if (isMinContinuity) {
return colors[0];
}
return;
}
if (comparisonFn(normalizedValue, minRange) < 0) {
if (continuity === 'below' || continuity === 'all') {
return colors[0];

if (comparisonFn(normalizedValue, maxRange) > 0) {
if (isMaxContinuity) {
return colors[colors.length - 1];
}
return;
}
Expand All @@ -94,11 +137,5 @@ export function workoutColorForValue(
return findColorsByStops(normalizedValue, comparisonFn, colors, stops);
}

return findColorSegment(
normalizedValue,
comparisonFn,
colors,
dataRangeArguments[0],
dataRangeArguments[1]
);
return findColorSegment(normalizedValue, comparisonFn, colors, min, max);
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"bucket":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":100,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"bucket":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"bucket":{"accessor":1,"format":{"id":"string","params":{}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":100,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"bucket":{"accessor":1,"format":{"id":"string","params":{}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[],"type":"datatable"},"visParams":{"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":100,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"field":"response.raw","missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"rows":[],"type":"datatable"},"visParams":{"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"string","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}}
Loading