From 9694797b9144989e113216d3436d50e05fd6c05d Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Mon, 8 Feb 2021 19:57:42 +0100 Subject: [PATCH 1/6] refactor(partition): adopt new rules and restructure for small multipies (#1020) --- .playground/playground.tsx | 2 +- api/charts.api.md | 4 +- .../selectors/on_element_click_caller.ts | 29 +-- .../state/selectors/on_element_out_caller.ts | 18 +- .../state/selectors/on_element_over_caller.ts | 50 +--- .../layout/types/viewmodel_types.ts | 8 + .../layout/utils/circline_geometry.ts | 105 +++++++- .../layout/utils/highlighted_geoms.ts | 96 +++++++ .../partition_chart/layout/utils/legend.ts | 82 ++++++ .../layout/utils/legend_labels.ts | 64 +++++ .../layout/viewmodel/fill_text_layout.ts | 108 +------- .../layout/viewmodel/hierarchy_of_arrays.ts | 62 ++++- .../layout/viewmodel/link_text_layout.ts | 243 ++++++++++-------- .../layout/viewmodel/picked_shapes.ts | 66 +++++ .../viewmodel}/scenegraph.ts | 14 +- .../layout/viewmodel/tooltip_info.ts | 72 ++++++ .../layout/viewmodel/viewmodel.ts | 2 +- .../renderer/canvas/canvas_renderers.ts | 5 +- .../renderer/canvas/partition.tsx | 23 +- .../renderer/dom/highlighter_hover.tsx | 2 +- .../renderer/dom/highlighter_legend.tsx | 2 +- .../renderer/dom/layered_partition_chart.tsx | 37 +++ .../partition_chart/state/chart_state.tsx | 18 +- .../state/selectors/compute_legend.ts | 68 +---- .../state/selectors/geometries.ts | 28 +- .../state/selectors/get_highlighted_shapes.ts | 79 +----- .../state/selectors/get_legend_items_extra.ts | 53 +--- .../selectors/get_legend_items_labels.ts | 44 +--- .../state/selectors/get_partition_specs.ts | 33 +++ .../state/selectors/is_tooltip_visible.ts | 5 +- .../selectors/on_element_click_caller.ts | 31 +-- .../state/selectors/on_element_out_caller.ts | 18 +- .../state/selectors/on_element_over_caller.ts | 50 +--- .../state/selectors/partition_spec.ts | 4 +- .../state/selectors/picked_shapes.test.ts | 8 +- .../state/selectors/picked_shapes.ts | 52 +--- .../state/selectors/tooltip.ts | 56 +--- .../partition_chart/state/selectors/tree.ts | 33 +-- src/common/color_calcs.ts | 20 ++ src/common/event_handler_selectors.ts | 121 +++++++++ src/common/text_utils.ts | 32 +++ src/index.ts | 2 +- src/specs/settings.tsx | 2 +- src/state/chart_state.ts | 23 +- stories/icicle/02_unix_flame.tsx | 7 +- 45 files changed, 1076 insertions(+), 805 deletions(-) create mode 100644 src/chart_types/partition_chart/layout/utils/highlighted_geoms.ts create mode 100644 src/chart_types/partition_chart/layout/utils/legend.ts create mode 100644 src/chart_types/partition_chart/layout/utils/legend_labels.ts create mode 100644 src/chart_types/partition_chart/layout/viewmodel/picked_shapes.ts rename src/chart_types/partition_chart/{state/selectors => layout/viewmodel}/scenegraph.ts (87%) create mode 100644 src/chart_types/partition_chart/layout/viewmodel/tooltip_info.ts create mode 100644 src/chart_types/partition_chart/renderer/dom/layered_partition_chart.tsx create mode 100644 src/chart_types/partition_chart/state/selectors/get_partition_specs.ts create mode 100644 src/common/event_handler_selectors.ts diff --git a/.playground/playground.tsx b/.playground/playground.tsx index 26d1e2d7b5..b693e6ca70 100644 --- a/.playground/playground.tsx +++ b/.playground/playground.tsx @@ -19,7 +19,7 @@ import React from 'react'; -import { Example } from '../stories/icicle/02_unix_flame'; +import { Example } from '../stories/sunburst/9_sunburst_three_layers'; export class Playground extends React.Component { render() { diff --git a/api/charts.api.md b/api/charts.api.md index a47d23fc8f..5585d8c377 100644 --- a/api/charts.api.md +++ b/api/charts.api.md @@ -1741,7 +1741,7 @@ export type ScaleType = $Values; // Warning: (ae-missing-release-tag) "SectorGeomSpecY" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // -// @public (undocumented) +// @public export interface SectorGeomSpecY { // Warning: (ae-forgotten-export) The symbol "Distance" needs to be exported by the entry point index.d.ts // @@ -2224,7 +2224,7 @@ export type TreeLevel = number; // Warning: (ae-missing-release-tag) "TreeNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // -// @public (undocumented) +// @public export interface TreeNode extends AngleFromTo { // (undocumented) fill?: Color; diff --git a/src/chart_types/goal_chart/state/selectors/on_element_click_caller.ts b/src/chart_types/goal_chart/state/selectors/on_element_click_caller.ts index e919f044a3..61707c3ae3 100644 --- a/src/chart_types/goal_chart/state/selectors/on_element_click_caller.ts +++ b/src/chart_types/goal_chart/state/selectors/on_element_click_caller.ts @@ -21,13 +21,11 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'reselect'; import { ChartTypes } from '../../..'; -import { SeriesIdentifier } from '../../../../common/series_id'; -import { SettingsSpec, LayerValue } from '../../../../specs'; -import { GlobalChartState, PointerState } from '../../../../state/chart_state'; +import { getOnElementClickSelector } from '../../../../common/event_handler_selectors'; +import { GlobalChartState, PointerStates } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getLastClickSelector } from '../../../../state/selectors/get_last_click'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { isClicking } from '../../../../state/utils'; import { getSpecOrNull } from './goal_spec'; import { getPickedShapesLayerValues } from './picked_shapes'; @@ -39,32 +37,13 @@ import { getPickedShapesLayerValues } from './picked_shapes'; * @internal */ export function createOnElementClickCaller(): (state: GlobalChartState) => void { - let prevClick: PointerState | null = null; + const prev: { click: PointerStates['lastClick'] } = { click: null }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Goal) { selector = createCachedSelector( [getSpecOrNull, getLastClickSelector, getSettingsSpecSelector, getPickedShapesLayerValues], - (spec, lastClick: PointerState | null, settings: SettingsSpec, pickedShapes): void => { - if (!spec) { - return; - } - if (!settings.onElementClick) { - return; - } - const nextPickedShapesLength = pickedShapes.length; - if (nextPickedShapesLength > 0 && isClicking(prevClick, lastClick) && settings && settings.onElementClick) { - const elements = pickedShapes.map<[Array, SeriesIdentifier]>((values) => [ - values, - { - specId: spec.id, - key: `spec{${spec.id}}`, - }, - ]); - settings.onElementClick(elements); - } - prevClick = lastClick; - }, + getOnElementClickSelector(prev), )(getChartIdSelector); } if (selector) { diff --git a/src/chart_types/goal_chart/state/selectors/on_element_out_caller.ts b/src/chart_types/goal_chart/state/selectors/on_element_out_caller.ts index b83d5ca693..3c2fa65b9f 100644 --- a/src/chart_types/goal_chart/state/selectors/on_element_out_caller.ts +++ b/src/chart_types/goal_chart/state/selectors/on_element_out_caller.ts @@ -21,6 +21,7 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'react-redux'; import { ChartTypes } from '../../..'; +import { getOnElementOutSelector } from '../../../../common/event_handler_selectors'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; @@ -34,26 +35,13 @@ import { getPickedShapesLayerValues } from './picked_shapes'; * @internal */ export function createOnElementOutCaller(): (state: GlobalChartState) => void { - let prevPickedShapes: number | null = null; + const prev: { pickedShapes: number | null } = { pickedShapes: null }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Goal) { selector = createCachedSelector( [getSpecOrNull, getPickedShapesLayerValues, getSettingsSpecSelector], - (spec, pickedShapes, settings): void => { - if (!spec) { - return; - } - if (!settings.onElementOut) { - return; - } - const nextPickedShapes = pickedShapes.length; - - if (prevPickedShapes !== null && prevPickedShapes > 0 && nextPickedShapes === 0) { - settings.onElementOut(); - } - prevPickedShapes = nextPickedShapes; - }, + getOnElementOutSelector(prev), )(getChartIdSelector); } if (selector) { diff --git a/src/chart_types/goal_chart/state/selectors/on_element_over_caller.ts b/src/chart_types/goal_chart/state/selectors/on_element_over_caller.ts index 42a1b5a89e..db612a41b6 100644 --- a/src/chart_types/goal_chart/state/selectors/on_element_over_caller.ts +++ b/src/chart_types/goal_chart/state/selectors/on_element_over_caller.ts @@ -21,7 +21,7 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'react-redux'; import { ChartTypes } from '../../..'; -import { SeriesIdentifier } from '../../../../common/series_id'; +import { getOnElementOverSelector } from '../../../../common/event_handler_selectors'; import { LayerValue } from '../../../../specs'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; @@ -29,31 +29,6 @@ import { getSettingsSpecSelector } from '../../../../state/selectors/get_setting import { getSpecOrNull } from './goal_spec'; import { getPickedShapesLayerValues } from './picked_shapes'; -function isOverElement(prevPickedShapes: Array> = [], nextPickedShapes: Array>) { - if (nextPickedShapes.length === 0) { - return; - } - if (nextPickedShapes.length !== prevPickedShapes.length) { - return true; - } - return !nextPickedShapes.every((nextPickedShapeValues, index) => { - const prevPickedShapeValues = prevPickedShapes[index]; - if (prevPickedShapeValues === null) { - return false; - } - if (prevPickedShapeValues.length !== nextPickedShapeValues.length) { - return false; - } - return nextPickedShapeValues.every((layerValue, i) => { - const prevPickedValue = prevPickedShapeValues[i]; - if (!prevPickedValue) { - return false; - } - return layerValue.value === prevPickedValue.value && layerValue.groupByRollup === prevPickedValue.groupByRollup; - }); - }); -} - /** * Will call the onElementOver listener every time the following preconditions are met: * - the onElementOver listener is available @@ -61,32 +36,13 @@ function isOverElement(prevPickedShapes: Array> = [], nextPick * @internal */ export function createOnElementOverCaller(): (state: GlobalChartState) => void { - let prevPickedShapes: Array> = []; + const prev: { pickedShapes: LayerValue[][] } = { pickedShapes: [] }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Goal) { selector = createCachedSelector( [getSpecOrNull, getPickedShapesLayerValues, getSettingsSpecSelector], - (spec, nextPickedShapes, settings): void => { - if (!spec) { - return; - } - if (!settings.onElementOver) { - return; - } - - if (isOverElement(prevPickedShapes, nextPickedShapes)) { - const elements = nextPickedShapes.map<[Array, SeriesIdentifier]>((values) => [ - values, - { - specId: spec.id, - key: `spec{${spec.id}}`, - }, - ]); - settings.onElementOver(elements); - } - prevPickedShapes = nextPickedShapes; - }, + getOnElementOverSelector(prev), )({ keySelector: getChartIdSelector, }); diff --git a/src/chart_types/partition_chart/layout/types/viewmodel_types.ts b/src/chart_types/partition_chart/layout/types/viewmodel_types.ts index 301df67091..e062bd5bc7 100644 --- a/src/chart_types/partition_chart/layout/types/viewmodel_types.ts +++ b/src/chart_types/partition_chart/layout/types/viewmodel_types.ts @@ -144,6 +144,13 @@ export interface AngleFromTo { x1: Radian; } +/** @internal */ +export interface LayerFromTo { + y0: TreeLevel; + y1: TreeLevel; +} + +/** potential internal */ export interface TreeNode extends AngleFromTo { x0: Radian; x1: Radian; @@ -152,6 +159,7 @@ export interface TreeNode extends AngleFromTo { fill?: Color; } +/** potential internal */ export interface SectorGeomSpecY { y0px: Distance; y1px: Distance; diff --git a/src/chart_types/partition_chart/layout/utils/circline_geometry.ts b/src/chart_types/partition_chart/layout/utils/circline_geometry.ts index a4371517bc..07596143b2 100644 --- a/src/chart_types/partition_chart/layout/utils/circline_geometry.ts +++ b/src/chart_types/partition_chart/layout/utils/circline_geometry.ts @@ -19,13 +19,19 @@ import { TAU } from '../../../../common/constants'; import { - CirclineArc, Circline, + CirclineArc, CirclinePredicate, + Coordinate, Distance, PointObject, + Radian, + Radius, RingSectorConstruction, + trueBearingToStandardPositionAngle, } from '../../../../common/geometry'; +import { Config } from '../types/config_types'; +import { AngleFromTo, LayerFromTo, ShapeTreeNode } from '../types/viewmodel_types'; function euclideanDistance({ x: x1, y: y1 }: PointObject, { x: x2, y: y2 }: PointObject): Distance { return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)); @@ -109,7 +115,9 @@ function circlineValidSectors(refC: CirclinePredicate, c: CirclineArc): Circline // imperative, slightly optimized buildup of `result` as it's in the hot loop: const result = []; for (let i = 0; i < breakpoints.length - 1; i++) { + // eslint-disable-next-line no-shadow const from = breakpoints[i]; + // eslint-disable-next-line no-shadow const to = breakpoints[i + 1]; const midAngle = (from + to) / 2; // no winding clip ie. `meanAngle()` would be wrong here const xx = x + r * Math.cos(midAngle); @@ -135,3 +143,98 @@ export function conjunctiveConstraint(constraints: RingSectorConstruction, c: Ci } return valids; } + +/** @internal */ +export const INFINITY_RADIUS = 1e4; // far enough for a sub-2px precision on a 4k screen, good enough for text bounds; 64 bit floats still work well with it + +/** @internal */ +export function angleToCircline( + midRadius: Radius, + alpha: Radian, + direction: 1 | -1 /* 1 for clockwise and -1 for anticlockwise circline */, +) { + const sectorRadiusLineX = Math.cos(alpha) * midRadius; + const sectorRadiusLineY = Math.sin(alpha) * midRadius; + const normalAngle = alpha + (direction * Math.PI) / 2; + const x = sectorRadiusLineX + INFINITY_RADIUS * Math.cos(normalAngle); + const y = sectorRadiusLineY + INFINITY_RADIUS * Math.sin(normalAngle); + return { x, y, r: INFINITY_RADIUS, inside: false, from: 0, to: TAU }; +} + +function ringSectorStartAngle(d: AngleFromTo): Radian { + return trueBearingToStandardPositionAngle(d.x0 + Math.max(0, d.x1 - d.x0 - TAU / 2) / 2); +} + +function ringSectorEndAngle(d: AngleFromTo): Radian { + return trueBearingToStandardPositionAngle(d.x1 - Math.max(0, d.x1 - d.x0 - TAU / 2) / 2); +} + +function ringSectorInnerRadius(innerRadius: Radian, ringThickness: Distance) { + return (d: LayerFromTo): Radius => innerRadius + d.y0 * ringThickness; +} + +function ringSectorOuterRadius(innerRadius: Radian, ringThickness: Distance) { + return (d: LayerFromTo): Radius => innerRadius + (d.y0 + 1) * ringThickness; +} + +/** @internal */ +export function ringSectorConstruction(config: Config, innerRadius: Radius, ringThickness: Distance) { + return (ringSector: ShapeTreeNode): RingSectorConstruction => { + const { + circlePadding, + radialPadding, + fillOutside, + radiusOutside, + fillRectangleWidth, + fillRectangleHeight, + } = config; + const radiusGetter = fillOutside ? ringSectorOuterRadius : ringSectorInnerRadius; + const geometricInnerRadius = radiusGetter(innerRadius, ringThickness)(ringSector); + const innerR = geometricInnerRadius + circlePadding * 2; + const outerR = Math.max( + innerR, + ringSectorOuterRadius(innerRadius, ringThickness)(ringSector) - circlePadding + (fillOutside ? radiusOutside : 0), + ); + const startAngle = ringSectorStartAngle(ringSector); + const endAngle = ringSectorEndAngle(ringSector); + const innerCircline = { x: 0, y: 0, r: innerR, inside: true, from: 0, to: TAU }; + const outerCircline = { x: 0, y: 0, r: outerR, inside: false, from: 0, to: TAU }; + const midRadius = (innerR + outerR) / 2; + const sectorStartCircle = angleToCircline(midRadius, startAngle - radialPadding, -1); + const sectorEndCircle = angleToCircline(midRadius, endAngle + radialPadding, 1); + const outerRadiusFromRectangleWidth = fillRectangleWidth / 2; + const outerRadiusFromRectanglHeight = fillRectangleHeight / 2; + const fullCircle = ringSector.x0 === 0 && ringSector.x1 === TAU && geometricInnerRadius === 0; + const sectorCirclines = [ + ...(fullCircle && innerRadius === 0 ? [] : [innerCircline]), + outerCircline, + ...(fullCircle ? [] : [sectorStartCircle, sectorEndCircle]), + ]; + const rectangleCirclines = + outerRadiusFromRectangleWidth === Infinity && outerRadiusFromRectanglHeight === Infinity + ? [] + : [ + { x: INFINITY_RADIUS - outerRadiusFromRectangleWidth, y: 0, r: INFINITY_RADIUS, inside: true }, + { x: -INFINITY_RADIUS + outerRadiusFromRectangleWidth, y: 0, r: INFINITY_RADIUS, inside: true }, + { x: 0, y: INFINITY_RADIUS - outerRadiusFromRectanglHeight, r: INFINITY_RADIUS, inside: true }, + { x: 0, y: -INFINITY_RADIUS + outerRadiusFromRectanglHeight, r: INFINITY_RADIUS, inside: true }, + ]; + return [...sectorCirclines, ...rectangleCirclines]; + }; +} +/** @internal */ +export function makeRowCircline( + cx: Coordinate, + cy: Coordinate, + radialOffset: Distance, + rotation: Radian, + fontSize: number, + offsetSign: -1 | 0 | 1, +) { + const r = INFINITY_RADIUS; + const offset = (offsetSign * fontSize) / 2; + const topRadius = r - offset; + const x = cx + topRadius * Math.cos(-rotation + TAU / 4); + const y = cy + topRadius * Math.cos(-rotation + TAU / 2); + return { r: r + radialOffset, x, y }; +} diff --git a/src/chart_types/partition_chart/layout/utils/highlighted_geoms.ts b/src/chart_types/partition_chart/layout/utils/highlighted_geoms.ts new file mode 100644 index 0000000000..630b5f4622 --- /dev/null +++ b/src/chart_types/partition_chart/layout/utils/highlighted_geoms.ts @@ -0,0 +1,96 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import { $Values as Values } from 'utility-types'; + +import { LegendPath } from '../../../../state/actions/legend'; +import { DataName, QuadViewModel } from '../types/viewmodel_types'; + +type LegendStrategyFn = (legendPath: LegendPath) => (partialShape: { path: LegendPath; dataName: DataName }) => boolean; + +const legendStrategies: Record = { + node: (legendPath) => ({ path }) => + // highlight exact match in the path only + legendPath.length === path.length && + legendPath.every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), + + path: (legendPath) => ({ path }) => + // highlight members of the exact path; ie. exact match in the path, plus all its ancestors + path.every(({ index, value }, i) => index === legendPath[i]?.index && value === legendPath[i]?.value), + + keyInLayer: (legendPath) => ({ path, dataName }) => + // highlight all identically named items which are within the same depth (ring) as the hovered legend depth + legendPath.length === path.length && dataName === legendPath[legendPath.length - 1].value, + + key: (legendPath) => ({ dataName }) => + // highlight all identically named items, no matter where they are + dataName === legendPath[legendPath.length - 1].value, + + nodeWithDescendants: (legendPath) => ({ path }) => + // highlight exact match in the path, and everything that is its descendant in that branch + legendPath.every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), + + pathWithDescendants: (legendPath) => ({ path }) => + // highlight exact match in the path, and everything that is its ancestor, or its descendant in that branch + legendPath + .slice(0, path.length) + .every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), +}; + +/** @public */ +export const LegendStrategy = Object.freeze({ + /** + * Highlight the specific node(s) that the legend item stands for. + */ + Node: 'node' as const, + /** + * Highlight members of the exact path; ie. like `Node`, plus all its ancestors + */ + Path: 'path' as const, + /** + * Highlight all identically named (labelled) items within the tree layer (depth or ring) of the specific node(s) that the legend item stands for + */ + KeyInLayer: 'keyInLayer' as const, + /** + * Highlight all identically named (labelled) items, no matter where they are + */ + Key: 'key' as const, + /** + * Highlight the specific node(s) that the legend item stands for, plus all descendants + */ + NodeWithDescendants: 'nodeWithDescendants' as const, + /** + * Highlight the specific node(s) that the legend item stands for, plus all ancestors and descendants + */ + PathWithDescendants: 'pathWithDescendants' as const, +}); + +/** @public */ +export type LegendStrategy = Values; + +const defaultStrategy: LegendStrategy = LegendStrategy.Key; + +/** @internal */ +export function highlightedGeoms( + legendStrategy: LegendStrategy | undefined, + quadViewModel: QuadViewModel[], + highlightedLegendItemPath: LegendPath, +) { + const pickedLogic: LegendStrategy = legendStrategy ?? defaultStrategy; + return quadViewModel.filter(legendStrategies[pickedLogic](highlightedLegendItemPath)); +} diff --git a/src/chart_types/partition_chart/layout/utils/legend.ts b/src/chart_types/partition_chart/layout/utils/legend.ts new file mode 100644 index 0000000000..0f92045ba4 --- /dev/null +++ b/src/chart_types/partition_chart/layout/utils/legend.ts @@ -0,0 +1,82 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { CategoryKey } from '../../../../common/category'; +import { map } from '../../../../common/iterables'; +import { LegendItem } from '../../../../common/legend'; +import { identity, Position } from '../../../../utils/common'; +import { isHierarchicalLegend } from '../../../../utils/legend'; +import { Layer } from '../../specs'; +import { QuadViewModel } from '../types/viewmodel_types'; + +function makeKey(...keyParts: CategoryKey[]): string { + return keyParts.join('---'); +} + +function compareTreePaths({ path: a }: QuadViewModel, { path: b }: QuadViewModel): number { + for (let i = 0; i < Math.min(a.length, b.length); i++) { + const diff = a[i].index - b[i].index; + if (diff) { + return diff; + } + } + return a.length - b.length; // if one path is fully contained in the other, then parent (shorter) goes first +} + +/** @internal */ +export function getLegendItems( + id: string, + layers: Layer[], + flatLegend: boolean | undefined, + legendMaxDepth: number, + legendPosition: Position, + quadViewModel: QuadViewModel[], +): LegendItem[] { + const uniqueNames = new Set(map(({ dataName, fillColor }) => makeKey(dataName, fillColor), quadViewModel)); + const useHierarchicalLegend = isHierarchicalLegend(flatLegend, legendPosition); + + const excluded: Set = new Set(); + const items = quadViewModel.filter(({ depth, dataName, fillColor }) => { + if (legendMaxDepth != null) { + return depth <= legendMaxDepth; + } + if (!useHierarchicalLegend) { + const key = makeKey(dataName, fillColor); + if (uniqueNames.has(key) && excluded.has(key)) { + return false; + } + excluded.add(key); + } + return true; + }); + + items.sort(compareTreePaths); + + return items.map(({ dataName, fillColor, depth, path }) => { + const formatter = layers[depth - 1]?.nodeLabel ?? identity; + return { + color: fillColor, + label: formatter(dataName), + childId: dataName, + depth: useHierarchicalLegend ? depth - 1 : 0, + path, + seriesIdentifier: { key: dataName, specId: id }, + }; + }); +} diff --git a/src/chart_types/partition_chart/layout/utils/legend_labels.ts b/src/chart_types/partition_chart/layout/utils/legend_labels.ts new file mode 100644 index 0000000000..b7d85ffed9 --- /dev/null +++ b/src/chart_types/partition_chart/layout/utils/legend_labels.ts @@ -0,0 +1,64 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { LegendItemLabel } from '../../../../state/selectors/get_legend_items_labels'; +import { Layer } from '../../specs'; +import { CHILDREN_KEY, HIERARCHY_ROOT_KEY, HierarchyOfArrays } from './group_by_rollup'; + +/** @internal */ +export function getLegendLabels(layers: Layer[], tree: HierarchyOfArrays, legendMaxDepth: number) { + return flatSlicesNames(layers, 0, tree).filter(({ depth }) => depth <= legendMaxDepth); +} + +function flatSlicesNames( + layers: Layer[], + depth: number, + tree: HierarchyOfArrays, + keys: Map = new Map(), +): LegendItemLabel[] { + if (tree.length === 0) { + return []; + } + + for (let i = 0; i < tree.length; i++) { + const branch = tree[i]; + const arrayNode = branch[1]; + const key = branch[0]; + + // format the key with the layer formatter + const layer = layers[depth - 1]; + const formatter = layer?.nodeLabel; + let formattedValue = ''; + if (key != null) { + formattedValue = formatter ? formatter(key) : `${key}`; + } + // preventing errors from external formatters + if (formattedValue != null && formattedValue !== '' && formattedValue !== HIERARCHY_ROOT_KEY) { + // save only the max depth, so we can compute the the max extension of the legend + keys.set(formattedValue, Math.max(depth, keys.get(formattedValue) ?? 0)); + } + + const children = arrayNode[CHILDREN_KEY]; + flatSlicesNames(layers, depth + 1, children, keys); + } + return [...keys.keys()].map((k) => ({ + label: k, + depth: keys.get(k) ?? 0, + })); +} diff --git a/src/chart_types/partition_chart/layout/viewmodel/fill_text_layout.ts b/src/chart_types/partition_chart/layout/viewmodel/fill_text_layout.ts index 6521c1da2d..cea5eec3d4 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/fill_text_layout.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/fill_text_layout.ts @@ -20,29 +20,28 @@ import chroma from 'chroma-js'; import { - combineColors, - makeHighContrastColor, colorIsDark, + combineColors, getTextColorIfTextInvertible, isColorValid, + makeHighContrastColor, } from '../../../../common/color_calcs'; import { TAU } from '../../../../common/constants'; import { Coordinate, Distance, Pixels, + PointTuple, Radian, - Radius, Ratio, RingSectorConstruction, - PointTuple, trueBearingToStandardPositionAngle, wrapToTau, } from '../../../../common/geometry'; import { logarithm } from '../../../../common/math'; import { integerSnap, monotonicHillClimb } from '../../../../common/optimize'; import { Box, Font, PartialFont, TextContrast, TextMeasure, VerticalAlignments } from '../../../../common/text_utils'; -import { ValueFormatter, Color } from '../../../../utils/common'; +import { Color, ValueFormatter } from '../../../../utils/common'; import { Logger } from '../../../../utils/logger'; import { Layer } from '../../specs'; import { Config, Padding } from '../types/config_types'; @@ -55,109 +54,15 @@ import { ShapeTreeNode, ValueGetterFunction, } from '../types/viewmodel_types'; -import { conjunctiveConstraint } from '../utils/circline_geometry'; +import { conjunctiveConstraint, INFINITY_RADIUS, makeRowCircline } from '../utils/circline_geometry'; import { RectangleConstruction } from './viewmodel'; -const INFINITY_RADIUS = 1e4; // far enough for a sub-2px precision on a 4k screen, good enough for text bounds; 64 bit floats still work well with it - -function ringSectorStartAngle(d: ShapeTreeNode): Radian { - return trueBearingToStandardPositionAngle(d.x0 + Math.max(0, d.x1 - d.x0 - TAU / 2) / 2); -} - -function ringSectorEndAngle(d: ShapeTreeNode): Radian { - return trueBearingToStandardPositionAngle(d.x1 - Math.max(0, d.x1 - d.x0 - TAU / 2) / 2); -} - -function ringSectorInnerRadius(innerRadius: Radian, ringThickness: Distance) { - return (d: ShapeTreeNode): Radius => innerRadius + d.y0 * ringThickness; -} -function ringSectorOuterRadius(innerRadius: Radian, ringThickness: Distance) { - return (d: ShapeTreeNode): Radius => innerRadius + (d.y0 + 1) * ringThickness; -} - -function angleToCircline( - midRadius: Radius, - alpha: Radian, - direction: 1 | -1 /* 1 for clockwise and -1 for anticlockwise circline */, -) { - const sectorRadiusLineX = Math.cos(alpha) * midRadius; - const sectorRadiusLineY = Math.sin(alpha) * midRadius; - const normalAngle = alpha + (direction * Math.PI) / 2; - const x = sectorRadiusLineX + INFINITY_RADIUS * Math.cos(normalAngle); - const y = sectorRadiusLineY + INFINITY_RADIUS * Math.sin(normalAngle); - const sectorRadiusCircline = { x, y, r: INFINITY_RADIUS, inside: false, from: 0, to: TAU }; - return sectorRadiusCircline; -} - /** @internal */ // todo pick a better unique key for the slices (D3 doesn't keep track of an index) export function nodeId(node: ShapeTreeNode): string { return `${node.x0}|${node.y0}`; } -/** @internal */ -export function ringSectorConstruction(config: Config, innerRadius: Radius, ringThickness: Distance) { - return (ringSector: ShapeTreeNode): RingSectorConstruction => { - const { - circlePadding, - radialPadding, - fillOutside, - radiusOutside, - fillRectangleWidth, - fillRectangleHeight, - } = config; - const radiusGetter = fillOutside ? ringSectorOuterRadius : ringSectorInnerRadius; - const geometricInnerRadius = radiusGetter(innerRadius, ringThickness)(ringSector); - const innerR = geometricInnerRadius + circlePadding * 2; - const outerR = Math.max( - innerR, - ringSectorOuterRadius(innerRadius, ringThickness)(ringSector) - circlePadding + (fillOutside ? radiusOutside : 0), - ); - const startAngle = ringSectorStartAngle(ringSector); - const endAngle = ringSectorEndAngle(ringSector); - const innerCircline = { x: 0, y: 0, r: innerR, inside: true, from: 0, to: TAU }; - const outerCircline = { x: 0, y: 0, r: outerR, inside: false, from: 0, to: TAU }; - const midRadius = (innerR + outerR) / 2; - const sectorStartCircle = angleToCircline(midRadius, startAngle - radialPadding, -1); - const sectorEndCircle = angleToCircline(midRadius, endAngle + radialPadding, 1); - const outerRadiusFromRectangleWidth = fillRectangleWidth / 2; - const outerRadiusFromRectanglHeight = fillRectangleHeight / 2; - const fullCircle = ringSector.x0 === 0 && ringSector.x1 === TAU && geometricInnerRadius === 0; - const sectorCirclines = [ - ...(fullCircle && innerRadius === 0 ? [] : [innerCircline]), - outerCircline, - ...(fullCircle ? [] : [sectorStartCircle, sectorEndCircle]), - ]; - const rectangleCirclines = - outerRadiusFromRectangleWidth === Infinity && outerRadiusFromRectanglHeight === Infinity - ? [] - : [ - { x: INFINITY_RADIUS - outerRadiusFromRectangleWidth, y: 0, r: INFINITY_RADIUS, inside: true }, - { x: -INFINITY_RADIUS + outerRadiusFromRectangleWidth, y: 0, r: INFINITY_RADIUS, inside: true }, - { x: 0, y: INFINITY_RADIUS - outerRadiusFromRectanglHeight, r: INFINITY_RADIUS, inside: true }, - { x: 0, y: -INFINITY_RADIUS + outerRadiusFromRectanglHeight, r: INFINITY_RADIUS, inside: true }, - ]; - return [...sectorCirclines, ...rectangleCirclines]; - }; -} - -function makeRowCircline( - cx: Coordinate, - cy: Coordinate, - radialOffset: Distance, - rotation: Radian, - fontSize: number, - offsetSign: -1 | 0 | 1, -) { - const r = INFINITY_RADIUS; - const offset = (offsetSign * fontSize) / 2; - const topRadius = r - offset; - const x = cx + topRadius * Math.cos(-rotation + TAU / 4); - const y = cy + topRadius * Math.cos(-rotation + TAU / 2); - const circline = { r: r + radialOffset, x, y }; - return circline; -} - /** @internal */ export const getSectorRowGeometry: GetShapeRowGeometry = ( ringSector, @@ -319,7 +224,7 @@ export function getFillTextColor( if (bgColorAlpha < 1) { Logger.expected('Text contrast requires a background color with an alpha value of 1', 1, bgColorAlpha); } else if (containerBackgroundColor !== 'transparent') { - Logger.warn(`Invalid background color "${containerBackgroundColor}"`); + Logger.warn(`Invalid background color "${String(containerBackgroundColor)}"`); } return getTextColorIfTextInvertible( @@ -356,6 +261,7 @@ export function getFillTextColor( return adjustedTextColor; } + type GetShapeRowGeometry = ( container: C, cx: Distance, diff --git a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts index 44b51f8756..9a73c149a4 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts @@ -17,20 +17,28 @@ * under the License. */ +import { LegendItemExtraValues } from '../../../../common/legend'; +import { SeriesKey } from '../../../../common/series_id'; import { Relation } from '../../../../common/text_utils'; import { IndexedAccessorFn } from '../../../../utils/accessor'; -import { ValueAccessor } from '../../../../utils/common'; +import { Datum, ValueAccessor, ValueFormatter } from '../../../../utils/common'; +import { Layer } from '../../specs'; +import { PartitionLayout } from '../types/config_types'; import { - HierarchyOfArrays, aggregateComparator, aggregators, childOrders, + CHILDREN_KEY, groupByRollup, + HIERARCHY_ROOT_KEY, + HierarchyOfArrays, mapEntryValue, mapsToArrays, Sorter, } from '../utils/group_by_rollup'; +import { isSunburst, isTreemap } from './viewmodel'; +/* @internal */ export function getHierarchyOfArrays( rawFacts: Relation, valueAccessor: ValueAccessor, @@ -57,3 +65,53 @@ export function getHierarchyOfArrays( sorter && aggregateComparator(mapEntryValue, sorter), ); } + +/** @internal */ +export function partitionTree( + data: Datum[], + valueAccessor: ValueAccessor, + layers: Layer[], + defaultLayout: PartitionLayout, + layout: PartitionLayout = defaultLayout, +) { + const sorter = isTreemap(layout) || isSunburst(layout) ? childOrders.descending : null; + return getHierarchyOfArrays( + data, + valueAccessor, + // eslint-disable-next-line no-shadow + [() => HIERARCHY_ROOT_KEY, ...layers.map(({ groupByRollup }) => groupByRollup)], + sorter, + ); +} + +/** + * Creates flat extra value map from nested key path + * @internal + */ +export function getExtraValueMap( + layers: Layer[], + valueFormatter: ValueFormatter, + tree: HierarchyOfArrays, + maxDepth: number, + depth: number = 0, + keys: Map = new Map(), +): Map { + for (let i = 0; i < tree.length; i++) { + const branch = tree[i]; + const [key, arrayNode] = branch; + const { value, path, [CHILDREN_KEY]: children } = arrayNode; + + if (key != null) { + const values: LegendItemExtraValues = new Map(); + const formattedValue = valueFormatter ? valueFormatter(value) : value; + + values.set(key, formattedValue); + keys.set(path.map(({ index }) => index).join('__'), values); + } + + if (depth < maxDepth) { + getExtraValueMap(layers, valueFormatter, children, maxDepth, depth + 1, keys); + } + } + return keys; +} diff --git a/src/chart_types/partition_chart/layout/viewmodel/link_text_layout.ts b/src/chart_types/partition_chart/layout/viewmodel/link_text_layout.ts index af00ba6363..d6492f87b5 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/link_text_layout.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/link_text_layout.ts @@ -17,26 +17,22 @@ * under the License. */ -import { makeHighContrastColor, isColorValid } from '../../../../common/color_calcs'; +import { getOnPaperColorSet } from '../../../../common/color_calcs'; import { TAU } from '../../../../common/constants'; import { Distance, meanAngle, + Pixels, PointTuple, PointTuples, trueBearingToStandardPositionAngle, } from '../../../../common/geometry'; -import { integerSnap, monotonicHillClimb } from '../../../../common/optimize'; -import { Box, Font, TextAlign, TextMeasure } from '../../../../common/text_utils'; -import { ValueFormatter, Color } from '../../../../utils/common'; +import { cutToLength, fitText, Font, measureOneBoxWidth, TextMeasure } from '../../../../common/text_utils'; +import { Color, ValueFormatter } from '../../../../utils/common'; import { Point } from '../../../../utils/point'; -import { Config } from '../types/config_types'; +import { Config, LinkLabelConfig } from '../types/config_types'; import { LinkLabelVM, RawTextGetter, ShapeTreeNode, ValueGetterFunction } from '../types/viewmodel_types'; -function cutToLength(s: string, maxLength: number) { - return s.length <= maxLength ? s : `${s.slice(0, Math.max(0, maxLength - 1))}…`; // ellipsis is one char -} - /** @internal */ export interface LinkLabelsViewModelSpec { linkLabels: LinkLabelVM[]; @@ -65,117 +61,142 @@ export function linkTextLayout( const maxDepth = nodesWithoutRoom.reduce((p: number, n: ShapeTreeNode) => Math.max(p, n.depth), 0); const yRelativeIncrement = Math.sin(linkLabel.stemAngle) * linkLabel.minimumStemLength; const rowPitch = linkLabel.fontSize + linkLabel.spacing; - // determine the ideal contrast color for the link labels - const validBackgroundColor = isColorValid(containerBackgroundColor) - ? containerBackgroundColor - : 'rgba(255, 255, 255, 0)'; - const contrastTextColor = containerBackgroundColor - ? makeHighContrastColor(linkLabel.textColor, validBackgroundColor) - : linkLabel.textColor; - const strokeColor = containerBackgroundColor - ? makeHighContrastColor(sectorLineStroke, validBackgroundColor) - : undefined; - const labelFontSpec = { - ...linkLabel, - textColor: contrastTextColor, - }; - const valueFontSpec = { - ...linkLabel, - ...linkLabel.valueFont, - textColor: contrastTextColor, - }; + + const { contrastTextColor, strokeColor } = getOnPaperColorSet( + linkLabel.textColor, + sectorLineStroke, + containerBackgroundColor, + ); + const labelFontSpec: Font = { ...linkLabel, textColor: contrastTextColor }; + const valueFontSpec: Font = { ...linkLabel, ...linkLabel.valueFont, textColor: contrastTextColor }; const linkLabels: LinkLabelVM[] = nodesWithoutRoom .filter((n: ShapeTreeNode) => n.depth === maxDepth) // only the outermost ring can have links .sort((n1: ShapeTreeNode, n2: ShapeTreeNode) => Math.abs(n2.x0 - n2.x1) - Math.abs(n1.x0 - n1.x1)) .slice(0, linkLabel.maxCount) // largest linkLabel.MaxCount slices - .sort((n1: ShapeTreeNode, n2: ShapeTreeNode) => { - const mid1 = meanAngle(n1.x0, n1.x1); - const mid2 = meanAngle(n2.x0, n2.x1); - const dist1 = Math.min(Math.abs(mid1 - TAU / 4), Math.abs(mid1 - (3 * TAU) / 4)); - const dist2 = Math.min(Math.abs(mid2 - TAU / 4), Math.abs(mid2 - (3 * TAU) / 4)); - return dist1 - dist2; - }) - .map((node: ShapeTreeNode) => { - const midAngle = trueBearingToStandardPositionAngle((node.x0 + node.x1) / 2); - const north = midAngle < TAU / 2 ? 1 : -1; - const rightSide = TAU / 4 < midAngle && midAngle < (3 * TAU) / 4 ? 0 : 1; - const west = rightSide ? 1 : -1; - const cos = Math.cos(midAngle); - const sin = Math.sin(midAngle); - const x0 = cos * anchorRadius; - const y0 = sin * anchorRadius; - const x = cos * (anchorRadius + linkLabel.radiusPadding); - const y = sin * (anchorRadius + linkLabel.radiusPadding); - const poolIndex = rightSide + (1 - north); - const relativeY = north * y; - currentY[poolIndex] = Math.max(currentY[poolIndex] + rowPitch, relativeY + yRelativeIncrement, rowPitch / 2); - const cy = north * currentY[poolIndex]; - const stemFromX = x; - const stemFromY = y; - const stemToX = x + north * west * cy - west * relativeY; - const stemToY = cy; - const rawText = rawTextGetter(node); - const labelText = cutToLength(rawText, maxTextLength); - const valueText = valueFormatter(valueGetter(node)); - - const labelFontSpec: Font = { - ...linkLabel, - }; - const valueFontSpec: Font = { - ...linkLabel, - ...linkLabel.valueFont, - }; - const translateX = stemToX + west * (linkLabel.horizontalStemLength + linkLabel.gap); - const { width: valueWidth } = measure(linkLabel.fontSize, [{ ...valueFontSpec, text: valueText }])[0]; - const widthAdjustment = valueWidth + 2 * linkLabel.fontSize; // gap between label and value, plus possibly 2em wide ellipsis - const allottedLabelWidth = Math.max( - 0, - rightSide - ? rectWidth - diskCenter.x - translateX - widthAdjustment - : diskCenter.x + translateX - widthAdjustment, - ); - const { text, width, verticalOffset } = - linkLabel.fontSize / 2 <= cy + diskCenter.y && cy + diskCenter.y <= rectHeight - linkLabel.fontSize / 2 - ? fitText(measure, labelText, allottedLabelWidth, linkLabel.fontSize, { - ...labelFontSpec, - text: labelText, - }) - : { text: '', width: 0, verticalOffset: 0 }; - const linkLabels: PointTuples = [ - [x0, y0], - [stemFromX, stemFromY], - [stemToX, stemToY], - [stemToX + west * linkLabel.horizontalStemLength, stemToY], - ]; - const translate: PointTuple = [translateX, stemToY]; - const textAlign: TextAlign = rightSide ? 'left' : 'right'; - return { - linkLabels, - translate, - textAlign, - text, - valueText, - width, - valueWidth, - verticalOffset, - labelFontSpec, - valueFontSpec, - }; - }) + .sort(linkLabelCompare) + .map( + nodeToLinkLabel({ + linkLabel, + anchorRadius, + currentY, + rowPitch, + yRelativeIncrement, + rawTextGetter, + maxTextLength, + valueFormatter, + valueGetter, + measure, + rectWidth, + rectHeight, + diskCenter, + }), + ) .filter(({ text }) => text !== ''); // cull linked labels whose text was truncated to nothing; + return { linkLabels, valueFontSpec, labelFontSpec, strokeColor }; +} + +function linkLabelCompare(n1: ShapeTreeNode, n2: ShapeTreeNode) { + const mid1 = meanAngle(n1.x0, n1.x1); + const mid2 = meanAngle(n2.x0, n2.x1); + const dist1 = Math.min(Math.abs(mid1 - TAU / 4), Math.abs(mid1 - (3 * TAU) / 4)); + const dist2 = Math.min(Math.abs(mid2 - TAU / 4), Math.abs(mid2 - (3 * TAU) / 4)); + return dist1 - dist2; +} + +function nodeToLinkLabel({ + linkLabel, + anchorRadius, + currentY, + rowPitch, + yRelativeIncrement, + rawTextGetter, + maxTextLength, + valueFormatter, + valueGetter, + measure, + rectWidth, + rectHeight, + diskCenter, +}: { + linkLabel: LinkLabelConfig; + anchorRadius: Distance; + currentY: Distance[]; + rowPitch: Pixels; + yRelativeIncrement: Distance; + rawTextGetter: RawTextGetter; + maxTextLength: number; + valueFormatter: ValueFormatter; + valueGetter: ValueGetterFunction; + measure: TextMeasure; + rectWidth: Distance; + rectHeight: Distance; + diskCenter: Point; +}) { + const labelFont: Font = linkLabel; // only interested in the font properties + const valueFont: Font = { ...labelFont, ...linkLabel.valueFont }; // only interested in the font properties + return function nodeToLinkLabelMap(node: ShapeTreeNode): LinkLabelVM { + // geometry + const midAngle = trueBearingToStandardPositionAngle((node.x0 + node.x1) / 2); + const north = midAngle < TAU / 2 ? 1 : -1; + const rightSide = TAU / 4 < midAngle && midAngle < (3 * TAU) / 4 ? 0 : 1; + const west = rightSide ? 1 : -1; + const cos = Math.cos(midAngle); + const sin = Math.sin(midAngle); + const x0 = cos * anchorRadius; + const y0 = sin * anchorRadius; + const x = cos * (anchorRadius + linkLabel.radiusPadding); + const y = sin * (anchorRadius + linkLabel.radiusPadding); + const stemFromX = x; // might be different in the future, eg. to allow a small gap: doc purpose + const stemFromY = y; // might be different in the future, eg. to allow a small gap: doc purpose + + // calculate and remember vertical offset, as linked labels accrete + const poolIndex = rightSide + (1 - north); + const relativeY = north * y; + const yOffset = Math.max(currentY[poolIndex] + rowPitch, relativeY + yRelativeIncrement, rowPitch / 2); + currentY[poolIndex] = yOffset; + + // more geometry: the part that depends on vertical position + const cy = north * yOffset; + const stemToX = x + north * west * cy - west * relativeY; + const stemToY = cy; + const translateX = stemToX + west * (linkLabel.horizontalStemLength + linkLabel.gap); + const translate: PointTuple = [translateX, stemToY]; + + // the path points of the label link, ie. a polyline + const linkLabels: PointTuples = [ + [x0, y0], + [stemFromX, stemFromY], + [stemToX, stemToY], + [stemToX + west * linkLabel.horizontalStemLength, stemToY], + ]; + + // value text is simple: the full, formatted value is always shown, not truncated + const valueText = valueFormatter(valueGetter(node)); + const valueWidth = measureOneBoxWidth(measure, linkLabel.fontSize, { ...valueFont, text: valueText }); + const widthAdjustment = valueWidth + 2 * linkLabel.fontSize; // gap between label and value, plus possibly 2em wide ellipsis + + // label text removes space allotted for value and gaps, then tries to fit as much as possible + const labelText = cutToLength(rawTextGetter(node), maxTextLength); + const allottedLabelWidth = Math.max( + 0, + rightSide ? rectWidth - diskCenter.x - translateX - widthAdjustment : diskCenter.x + translateX - widthAdjustment, + ); + const { text, width, verticalOffset } = + linkLabel.fontSize / 2 <= cy + diskCenter.y && cy + diskCenter.y <= rectHeight - linkLabel.fontSize / 2 + ? fitText(measure, labelText, allottedLabelWidth, linkLabel.fontSize, labelFont) + : { text: '', width: 0, verticalOffset: 0 }; - function fitText(measure: TextMeasure, desiredText: string, allottedWidth: number, fontSize: number, box: Box) { - const desiredLength = desiredText.length; - const response = (v: number) => measure(fontSize, [{ ...box, text: box.text.slice(0, Math.max(0, v)) }])[0].width; - const visibleLength = monotonicHillClimb(response, desiredLength, allottedWidth, integerSnap); - const text = visibleLength < 2 && desiredLength >= 2 ? '' : cutToLength(box.text, visibleLength); - const { width, emHeightAscent, emHeightDescent } = measure(fontSize, [{ ...box, text }])[0]; return { - width, - verticalOffset: -(emHeightDescent + emHeightAscent) / 2, // meaning, `middle` + linkLabels, + translate, text, + valueText, + width, + valueWidth, + verticalOffset, + textAlign: rightSide ? 'left' : 'right', }; - } + }; } diff --git a/src/chart_types/partition_chart/layout/viewmodel/picked_shapes.ts b/src/chart_types/partition_chart/layout/viewmodel/picked_shapes.ts new file mode 100644 index 0000000000..3c2587fa38 --- /dev/null +++ b/src/chart_types/partition_chart/layout/viewmodel/picked_shapes.ts @@ -0,0 +1,66 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { LayerValue } from '../../../../specs'; +import { Point } from '../../../../utils/point'; +import { MODEL_KEY } from '../config'; +import { QuadViewModel, ShapeViewModel } from '../types/viewmodel_types'; +import { AGGREGATE_KEY, DEPTH_KEY, getNodeName, PARENT_KEY, PATH_KEY, SORT_INDEX_KEY } from '../utils/group_by_rollup'; + +/** @internal */ +export const pickedShapes = (models: ShapeViewModel[], pointerPosition: Point): QuadViewModel[] => { + const geoms = models[0]; + const picker = geoms.pickQuads; + const { diskCenter } = geoms; + const x = pointerPosition.x - diskCenter.x; + const y = pointerPosition.y - diskCenter.y; + return picker(x, y); +}; + +/** @internal */ +export function pickShapesLayerValues(shapes: QuadViewModel[]): LayerValue[][] { + const maxDepth = shapes.reduce((acc, curr) => Math.max(acc, curr.depth), 0); + return shapes + .filter(({ depth }) => depth === maxDepth) // eg. lowest layer in a treemap, where layers overlap in screen space; doesn't apply to sunburst/flame + .map>((viewModel) => { + const values: Array = []; + values.push({ + groupByRollup: viewModel.dataName, + value: viewModel[AGGREGATE_KEY], + depth: viewModel[DEPTH_KEY], + sortIndex: viewModel[SORT_INDEX_KEY], + path: viewModel[PATH_KEY], + }); + let node = viewModel[MODEL_KEY]; + while (node[DEPTH_KEY] > 0) { + const value = node[AGGREGATE_KEY]; + const dataName = getNodeName(node); + values.push({ + groupByRollup: dataName, + value, + depth: node[DEPTH_KEY], + sortIndex: node[SORT_INDEX_KEY], + path: node[PATH_KEY], + }); + + node = node[PARENT_KEY]; + } + return values.reverse(); + }); +} diff --git a/src/chart_types/partition_chart/state/selectors/scenegraph.ts b/src/chart_types/partition_chart/layout/viewmodel/scenegraph.ts similarity index 87% rename from src/chart_types/partition_chart/state/selectors/scenegraph.ts rename to src/chart_types/partition_chart/layout/viewmodel/scenegraph.ts index 9049b2bbb1..549c19feb6 100644 --- a/src/chart_types/partition_chart/state/selectors/scenegraph.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/scenegraph.ts @@ -20,18 +20,18 @@ import { measureText } from '../../../../common/text_utils'; import { identity, mergePartial, RecursivePartial, Color } from '../../../../utils/common'; import { Dimensions } from '../../../../utils/dimensions'; -import { config as defaultConfig, VALUE_GETTERS } from '../../layout/config'; -import { Config } from '../../layout/types/config_types'; +import { PartitionSpec, Layer } from '../../specs'; +import { config as defaultConfig, VALUE_GETTERS } from '../config'; +import { Config } from '../types/config_types'; import { ShapeTreeNode, ShapeViewModel, RawTextGetter, nullShapeViewModel, ValueGetter, -} from '../../layout/types/viewmodel_types'; -import { DEPTH_KEY, HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; -import { shapeViewModel } from '../../layout/viewmodel/viewmodel'; -import { PartitionSpec, Layer } from '../../specs'; +} from '../types/viewmodel_types'; +import { DEPTH_KEY, HierarchyOfArrays } from '../utils/group_by_rollup'; +import { shapeViewModel } from './viewmodel'; function rawTextGetter(layers: Layer[]): RawTextGetter { return (node: ShapeTreeNode) => { @@ -46,7 +46,7 @@ export function valueGetterFunction(valueGetter: ValueGetter) { } /** @internal */ -export function render( +export function getShapeViewModel( partitionSpec: PartitionSpec, parentDimensions: Dimensions, tree: HierarchyOfArrays, diff --git a/src/chart_types/partition_chart/layout/viewmodel/tooltip_info.ts b/src/chart_types/partition_chart/layout/viewmodel/tooltip_info.ts new file mode 100644 index 0000000000..a33793d99a --- /dev/null +++ b/src/chart_types/partition_chart/layout/viewmodel/tooltip_info.ts @@ -0,0 +1,72 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { TooltipInfo } from '../../../../components/tooltip/types'; +import { LabelAccessor, ValueFormatter } from '../../../../utils/common'; +import { percentValueGetter, sumValueGetter } from '../config'; +import { QuadViewModel, ValueGetter } from '../types/viewmodel_types'; +import { valueGetterFunction } from './scenegraph'; + +/** @internal */ +export const EMPTY_TOOLTIP = Object.freeze({ + header: null, + values: [], +}); + +/** @internal */ +export function getTooltipInfo( + pickedShapes: QuadViewModel[], + labelFormatters: (LabelAccessor | undefined)[], + valueGetter: ValueGetter, + valueFormatter: ValueFormatter, + percentFormatter: ValueFormatter, + id: string, +) { + if (!valueFormatter || !labelFormatters) { + return EMPTY_TOOLTIP; + } + + const tooltipInfo: TooltipInfo = { + header: null, + values: [], + }; + + const valueGetterFun = valueGetterFunction(valueGetter); + const primaryValueGetterFun = valueGetterFun === percentValueGetter ? sumValueGetter : valueGetterFun; + pickedShapes.forEach((shape) => { + const formatter = labelFormatters[shape.depth - 1]; + const value = primaryValueGetterFun(shape); + + tooltipInfo.values.push({ + label: formatter ? formatter(shape.dataName) : shape.dataName, + color: shape.fillColor, + isHighlighted: false, + isVisible: true, + seriesIdentifier: { + specId: id, + key: id, + }, + value, + formattedValue: `${valueFormatter(value)} (${percentFormatter(percentValueGetter(shape))})`, + valueAccessor: shape.depth, + }); + }); + + return tooltipInfo; +} diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index 6ed6af3f31..7d4d335569 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -43,6 +43,7 @@ import { ShapeViewModel, ValueGetterFunction, } from '../types/viewmodel_types'; +import { ringSectorConstruction } from '../utils/circline_geometry'; import { aggregateAccessor, ArrayEntry, @@ -60,7 +61,6 @@ import { getTopPadding, treemap } from '../utils/treemap'; import { fillTextLayout, getRectangleRowGeometry, - ringSectorConstruction, getSectorRowGeometry, inSectorRotation, nodeId, diff --git a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts index c6fe7e5a6e..4fd6d4358a 100644 --- a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts +++ b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts @@ -21,7 +21,7 @@ import { addOpacity } from '../../../../common/color_calcs'; import { TAU } from '../../../../common/constants'; import { Pixels } from '../../../../common/geometry'; import { cssFontShorthand } from '../../../../common/text_utils'; -import { clearCanvas, renderLayers, withContext } from '../../../../renderers/canvas'; +import { renderLayers, withContext } from '../../../../renderers/canvas'; import { Color } from '../../../../utils/common'; import { LinkLabelVM, @@ -261,9 +261,6 @@ export function renderPartitionCanvas2d( // unlike SVG and esp. WebGL, Canvas2d doesn't support the 3rd dimension well, see ctx.transform / ctx.setTransform). // The layers are callbacks, because of the need to not bake in the `ctx`, it feels more composable and uncoupled this way. renderLayers(ctx, [ - // clear the canvas - (ctx: CanvasRenderingContext2D) => clearCanvas(ctx, 200000, 200000), - // bottom layer: sectors (pie slices, ring sectors etc.) (ctx: CanvasRenderingContext2D) => isSunburst(config.partitionLayout) ? renderSectors(ctx, quadViewModel) : renderRectangles(ctx, quadViewModel), diff --git a/src/chart_types/partition_chart/renderer/canvas/partition.tsx b/src/chart_types/partition_chart/renderer/canvas/partition.tsx index ec26c18737..ef9d6055ad 100644 --- a/src/chart_types/partition_chart/renderer/canvas/partition.tsx +++ b/src/chart_types/partition_chart/renderer/canvas/partition.tsx @@ -21,6 +21,7 @@ import React, { MouseEvent, RefObject } from 'react'; import { connect } from 'react-redux'; import { bindActionCreators, Dispatch } from 'redux'; +import { clearCanvas } from '../../../../renderers/canvas'; import { onChartRendered } from '../../../../state/actions/chart'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartContainerDimensionsSelector } from '../../../../state/selectors/get_chart_container_dimensions'; @@ -29,12 +30,13 @@ import { Dimensions } from '../../../../utils/dimensions'; import { MODEL_KEY } from '../../layout/config'; import { nullShapeViewModel, QuadViewModel, ShapeViewModel } from '../../layout/types/viewmodel_types'; import { INPUT_KEY } from '../../layout/utils/group_by_rollup'; -import { partitionGeometries } from '../../state/selectors/geometries'; +import { partitionMultiGeometries } from '../../state/selectors/geometries'; import { renderPartitionCanvas2d } from './canvas_renderers'; interface ReactiveChartStateProps { initialized: boolean; geometries: ShapeViewModel; + multiGeometries: ShapeViewModel[]; chartContainerDimensions: Dimensions; } @@ -46,10 +48,11 @@ interface ReactiveChartOwnProps { } type PartitionProps = ReactiveChartStateProps & ReactiveChartDispatchProps & ReactiveChartOwnProps; + class PartitionComponent extends React.Component { static displayName = 'Partition'; - // firstRender = true; // this'll be useful for stable resizing of treemaps + // firstRender = true; // this will be useful for stable resizing of treemaps private ctx: CanvasRenderingContext2D | null; // see example https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#Example @@ -139,10 +142,13 @@ class PartitionComponent extends React.Component { private drawCanvas() { if (this.ctx) { const { width, height }: Dimensions = this.props.chartContainerDimensions; - renderPartitionCanvas2d(this.ctx, this.devicePixelRatio, { - ...this.props.geometries, - config: { ...this.props.geometries.config, width, height }, - }); + clearCanvas(this.ctx, width * this.devicePixelRatio, height * this.devicePixelRatio); + for (const geometries of this.props.multiGeometries) { + renderPartitionCanvas2d(this.ctx, this.devicePixelRatio, { + ...geometries, + config: { ...geometries.config, width, height }, + }); + } } } @@ -163,6 +169,7 @@ const mapDispatchToProps = (dispatch: Dispatch): ReactiveChartDispatchProps => const DEFAULT_PROPS: ReactiveChartStateProps = { initialized: false, geometries: nullShapeViewModel(), + multiGeometries: [], chartContainerDimensions: { width: 0, height: 0, @@ -175,9 +182,11 @@ const mapStateToProps = (state: GlobalChartState): ReactiveChartStateProps => { if (getInternalIsInitializedSelector(state) !== InitStatus.Initialized) { return DEFAULT_PROPS; } + const multiGeometries = partitionMultiGeometries(state); return { initialized: true, - geometries: partitionGeometries(state), + geometries: multiGeometries.length > 0 ? multiGeometries[0] : nullShapeViewModel(), + multiGeometries, chartContainerDimensions: getChartContainerDimensionsSelector(state), }; }; diff --git a/src/chart_types/partition_chart/renderer/dom/highlighter_hover.tsx b/src/chart_types/partition_chart/renderer/dom/highlighter_hover.tsx index 246c193197..398821940b 100644 --- a/src/chart_types/partition_chart/renderer/dom/highlighter_hover.tsx +++ b/src/chart_types/partition_chart/renderer/dom/highlighter_hover.tsx @@ -36,7 +36,7 @@ const hoverMapStateToProps = (state: GlobalChartState): HighlighterProps => { outerRadius, diskCenter, config: { partitionLayout }, - } = partitionGeometries(state); + } = partitionGeometries(state)[0]; const geometries = getPickedShapes(state); const canvasDimension = getChartContainerDimensionsSelector(state); diff --git a/src/chart_types/partition_chart/renderer/dom/highlighter_legend.tsx b/src/chart_types/partition_chart/renderer/dom/highlighter_legend.tsx index 334dceef8f..495c0d3188 100644 --- a/src/chart_types/partition_chart/renderer/dom/highlighter_legend.tsx +++ b/src/chart_types/partition_chart/renderer/dom/highlighter_legend.tsx @@ -36,7 +36,7 @@ const legendMapStateToProps = (state: GlobalChartState): HighlighterProps => { outerRadius, diskCenter, config: { partitionLayout }, - } = partitionGeometries(state); + } = partitionGeometries(state)[0]; const geometries = legendHoverHighlightNodes(state); const canvasDimension = getChartContainerDimensionsSelector(state); diff --git a/src/chart_types/partition_chart/renderer/dom/layered_partition_chart.tsx b/src/chart_types/partition_chart/renderer/dom/layered_partition_chart.tsx new file mode 100644 index 0000000000..4ccc91fd90 --- /dev/null +++ b/src/chart_types/partition_chart/renderer/dom/layered_partition_chart.tsx @@ -0,0 +1,37 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React, { RefObject } from 'react'; + +import { Tooltip } from '../../../../components/tooltip'; +import { BackwardRef } from '../../../../state/chart_state'; +import { Partition } from '../canvas/partition'; +import { HighlighterFromHover } from './highlighter_hover'; +import { HighlighterFromLegend } from './highlighter_legend'; + +export function render(containerRef: BackwardRef, forwardStageRef: RefObject) { + return ( + <> + + + + + + ); +} diff --git a/src/chart_types/partition_chart/state/chart_state.tsx b/src/chart_types/partition_chart/state/chart_state.tsx index e666eac543..416f8b8a58 100644 --- a/src/chart_types/partition_chart/state/chart_state.tsx +++ b/src/chart_types/partition_chart/state/chart_state.tsx @@ -17,18 +17,15 @@ * under the License. */ -import React, { RefObject } from 'react'; +import { RefObject } from 'react'; import { ChartTypes } from '../..'; import { DEFAULT_CSS_CURSOR } from '../../../common/constants'; -import { Tooltip } from '../../../components/tooltip'; import { BackwardRef, GlobalChartState, InternalChartState } from '../../../state/chart_state'; import { InitStatus } from '../../../state/selectors/get_internal_is_intialized'; import { DebugState } from '../../../state/types'; import { Dimensions } from '../../../utils/dimensions'; -import { Partition } from '../renderer/canvas/partition'; -import { HighlighterFromHover } from '../renderer/dom/highlighter_hover'; -import { HighlighterFromLegend } from '../renderer/dom/highlighter_legend'; +import { render } from '../renderer/dom/layered_partition_chart'; import { computeLegendSelector } from './selectors/compute_legend'; import { getLegendItemsExtra } from './selectors/get_legend_items_extra'; import { getLegendItemsLabels } from './selectors/get_legend_items_labels'; @@ -39,17 +36,6 @@ import { createOnElementOverCaller } from './selectors/on_element_over_caller'; import { getPartitionSpec } from './selectors/partition_spec'; import { getTooltipInfoSelector } from './selectors/tooltip'; -function render(containerRef: BackwardRef, forwardStageRef: RefObject) { - return ( - <> - - - - - - ); -} - /** @internal */ export class PartitionState implements InternalChartState { chartType = ChartTypes.Partition; diff --git a/src/chart_types/partition_chart/state/selectors/compute_legend.ts b/src/chart_types/partition_chart/state/selectors/compute_legend.ts index a604274d40..c6ce8bba1c 100644 --- a/src/chart_types/partition_chart/state/selectors/compute_legend.ts +++ b/src/chart_types/partition_chart/state/selectors/compute_legend.ts @@ -19,69 +19,27 @@ import createCachedSelector from 're-reselect'; -import { CategoryKey } from '../../../../common/category'; -import { map } from '../../../../common/iterables'; import { LegendItem } from '../../../../common/legend'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { identity } from '../../../../utils/common'; -import { isHierarchicalLegend } from '../../../../utils/legend'; -import { QuadViewModel } from '../../layout/types/viewmodel_types'; +import { getLegendItems } from '../../layout/utils/legend'; import { partitionGeometries } from './geometries'; import { getPartitionSpec } from './partition_spec'; /** @internal */ export const computeLegendSelector = createCachedSelector( [getPartitionSpec, getSettingsSpecSelector, partitionGeometries], - (pieSpec, { flatLegend, legendMaxDepth, legendPosition }, { quadViewModel }): LegendItem[] => { - if (!pieSpec) { - return []; - } - - const uniqueNames = new Set(map(({ dataName, fillColor }) => makeKey(dataName, fillColor), quadViewModel)); - const useHierarchicalLegend = isHierarchicalLegend(flatLegend, legendPosition); - - const excluded: Set = new Set(); - const items = quadViewModel.filter(({ depth, dataName, fillColor }) => { - if (legendMaxDepth != null) { - return depth <= legendMaxDepth; - } - if (!useHierarchicalLegend) { - const key = makeKey(dataName, fillColor); - if (uniqueNames.has(key) && excluded.has(key)) { - return false; - } - excluded.add(key); - } - return true; - }); - - items.sort(compareTreePaths); - - return items.map(({ dataName, fillColor, depth, path }) => { - const formatter = pieSpec.layers[depth - 1]?.nodeLabel ?? identity; - return { - color: fillColor, - label: formatter(dataName), - childId: dataName, - depth: useHierarchicalLegend ? depth - 1 : 0, - path, - seriesIdentifier: { key: dataName, specId: pieSpec.id }, - }; - }); + (partitionSpec, { flatLegend, legendMaxDepth, legendPosition }, geometries): LegendItem[] => { + const { quadViewModel } = geometries[0]; + return partitionSpec + ? getLegendItems( + partitionSpec.id, + partitionSpec.layers, + flatLegend, + legendMaxDepth, + legendPosition, + quadViewModel, + ) + : []; }, )(getChartIdSelector); - -function makeKey(...keyParts: CategoryKey[]): string { - return keyParts.join('---'); -} - -function compareTreePaths({ path: a }: QuadViewModel, { path: b }: QuadViewModel): number { - for (let i = 0; i < Math.min(a.length, b.length); i++) { - const diff = a[i].index - b[i].index; - if (diff) { - return diff; - } - } - return a.length - b.length; // if one path is fully contained in the other, then parent (shorter) goes first -} diff --git a/src/chart_types/partition_chart/state/selectors/geometries.ts b/src/chart_types/partition_chart/state/selectors/geometries.ts index 2ba3b017c4..24fad4d9a1 100644 --- a/src/chart_types/partition_chart/state/selectors/geometries.ts +++ b/src/chart_types/partition_chart/state/selectors/geometries.ts @@ -19,25 +19,29 @@ import createCachedSelector from 're-reselect'; -import { ChartTypes } from '../../..'; -import { SpecTypes } from '../../../../specs/constants'; -import { GlobalChartState } from '../../../../state/chart_state'; import { getChartContainerDimensionsSelector } from '../../../../state/selectors/get_chart_container_dimensions'; import { getChartThemeSelector } from '../../../../state/selectors/get_chart_theme'; -import { getSpecsFromStore } from '../../../../state/utils'; import { nullShapeViewModel, ShapeViewModel } from '../../layout/types/viewmodel_types'; -import { PartitionSpec } from '../../specs'; -import { render } from './scenegraph'; +import { getShapeViewModel } from '../../layout/viewmodel/scenegraph'; +import { getPartitionSpecs } from './get_partition_specs'; import { getTree } from './tree'; -const getSpecs = (state: GlobalChartState) => state.specs; - /** @internal */ export const partitionGeometries = createCachedSelector( - [getSpecs, getChartContainerDimensionsSelector, getTree, getChartThemeSelector], - (specs, parentDimensions, tree, { background }): ShapeViewModel => { - const pieSpecs = getSpecsFromStore(specs, ChartTypes.Partition, SpecTypes.Series); + [getPartitionSpecs, getChartContainerDimensionsSelector, getTree, getChartThemeSelector], + (partitionSpecs, parentDimensions, tree, { background }): ShapeViewModel[] => { + return [ + partitionSpecs.length > 0 // singleton! + ? getShapeViewModel(partitionSpecs[0], parentDimensions, tree, background.color) + : nullShapeViewModel(), + ]; + }, +)((state) => state.chartId); - return pieSpecs.length === 1 ? render(pieSpecs[0], parentDimensions, tree, background.color) : nullShapeViewModel(); +/** @internal */ +export const partitionMultiGeometries = createCachedSelector( + [getPartitionSpecs, getChartContainerDimensionsSelector, getTree, getChartThemeSelector], + (partitionSpecs, parentDimensions, tree, { background }): ShapeViewModel[] => { + return partitionSpecs.map((spec) => getShapeViewModel(spec, parentDimensions, tree, background.color)); }, )((state) => state.chartId); diff --git a/src/chart_types/partition_chart/state/selectors/get_highlighted_shapes.ts b/src/chart_types/partition_chart/state/selectors/get_highlighted_shapes.ts index dc6e1c516b..3aa4240431 100644 --- a/src/chart_types/partition_chart/state/selectors/get_highlighted_shapes.ts +++ b/src/chart_types/partition_chart/state/selectors/get_highlighted_shapes.ts @@ -18,88 +18,23 @@ */ import createCachedSelector from 're-reselect'; -import { $Values } from 'utility-types'; -import { LegendPath } from '../../../../state/actions/legend'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { DataName, QuadViewModel } from '../../layout/types/viewmodel_types'; +import { QuadViewModel } from '../../layout/types/viewmodel_types'; +import { highlightedGeoms } from '../../layout/utils/highlighted_geoms'; import { partitionGeometries } from './geometries'; const getHighlightedLegendItemPath = (state: GlobalChartState) => state.interactions.highlightedLegendPath; -type LegendStrategyFn = (legendPath: LegendPath) => (partialShape: { path: LegendPath; dataName: DataName }) => boolean; - -const legendStrategies: Record = { - node: (legendPath) => ({ path }) => - // highlight exact match in the path only - legendPath.length === path.length && - legendPath.every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), - - path: (legendPath) => ({ path }) => - // highlight members of the exact path; ie. exact match in the path, plus all its ancestors - path.every(({ index, value }, i) => index === legendPath[i]?.index && value === legendPath[i]?.value), - - keyInLayer: (legendPath) => ({ path, dataName }) => - // highlight all identically named items which are within the same depth (ring) as the hovered legend depth - legendPath.length === path.length && dataName === legendPath[legendPath.length - 1].value, - - key: (legendPath) => ({ dataName }) => - // highlight all identically named items, no matter where they are - dataName === legendPath[legendPath.length - 1].value, - - nodeWithDescendants: (legendPath) => ({ path }) => - // highlight exact match in the path, and everything that is its descendant in that branch - legendPath.every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), - - pathWithDescendants: (legendPath) => ({ path }) => - // highlight exact match in the path, and everything that is its ancestor, or its descendant in that branch - legendPath - .slice(0, path.length) - .every(({ index, value }, i) => index === path[i]?.index && value === path[i]?.value), -}; - -/** @public */ -export const LegendStrategy = Object.freeze({ - /** - * Highlight the specific node(s) that the legend item stands for. - */ - Node: 'node' as const, - /** - * Highlight members of the exact path; ie. like `Node`, plus all its ancestors - */ - Path: 'path' as const, - /** - * Highlight all identically named (labelled) items within the tree layer (depth or ring) of the specific node(s) that the legend item stands for - */ - KeyInLayer: 'keyInLayer' as const, - /** - * Highlight all identically named (labelled) items, no matter where they are - */ - Key: 'key' as const, - /** - * Highlight the specific node(s) that the legend item stands for, plus all descendants - */ - NodeWithDescendants: 'nodeWithDescendants' as const, - /** - * Highlight the specific node(s) that the legend item stands for, plus all ancestors and descendants - */ - PathWithDescendants: 'pathWithDescendants' as const, -}); - -/** @public */ -export type LegendStrategy = $Values; -const defaultStrategy: LegendStrategy = LegendStrategy.Key; - /** @internal */ export const legendHoverHighlightNodes = createCachedSelector( [getSettingsSpecSelector, getHighlightedLegendItemPath, partitionGeometries], - (specs, highlightedLegendItemPath, geoms): QuadViewModel[] => { - if (highlightedLegendItemPath.length === 0) { - return []; - } - const pickedLogic: LegendStrategy = specs.legendStrategy ?? defaultStrategy; - return geoms.quadViewModel.filter(legendStrategies[pickedLogic](highlightedLegendItemPath)); + ({ legendStrategy }, highlightedLegendItemPath, geometries): QuadViewModel[] => { + const { quadViewModel } = geometries[0]; + return highlightedLegendItemPath.length > 0 + ? highlightedGeoms(legendStrategy, quadViewModel, highlightedLegendItemPath) + : []; }, )(getChartIdSelector); diff --git a/src/chart_types/partition_chart/state/selectors/get_legend_items_extra.ts b/src/chart_types/partition_chart/state/selectors/get_legend_items_extra.ts index 9074bc2b01..97b37794e1 100644 --- a/src/chart_types/partition_chart/state/selectors/get_legend_items_extra.ts +++ b/src/chart_types/partition_chart/state/selectors/get_legend_items_extra.ts @@ -21,61 +21,18 @@ import createCachedSelector from 're-reselect'; import { LegendItemExtraValues } from '../../../../common/legend'; import { SeriesKey } from '../../../../common/series_id'; -import { SettingsSpec } from '../../../../specs'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { HierarchyOfArrays, CHILDREN_KEY } from '../../layout/utils/group_by_rollup'; -import { PartitionSpec } from '../../specs'; +import { getExtraValueMap } from '../../layout/viewmodel/hierarchy_of_arrays'; import { getPartitionSpec } from './partition_spec'; import { getTree } from './tree'; /** @internal */ export const getLegendItemsExtra = createCachedSelector( [getPartitionSpec, getSettingsSpecSelector, getTree], - (pieSpec, { legendMaxDepth }, tree): Map => { - const legendExtraValues = new Map(); - - return pieSpec && isValidLegendMaxDepth(legendMaxDepth) - ? getExtraValueMap(pieSpec, tree, legendMaxDepth) - : legendExtraValues; + (spec, { legendMaxDepth }, tree): Map => { + return spec && !Number.isNaN(legendMaxDepth) && legendMaxDepth > 0 + ? getExtraValueMap(spec.layers, spec.valueFormatter, tree, legendMaxDepth) + : new Map(); }, )(getChartIdSelector); - -/** - * Check if the legendMaxDepth from settings is a valid number (NaN or <=0) - * - * @param legendMaxDepth - SettingsSpec['legendMaxDepth'] - */ -function isValidLegendMaxDepth(legendMaxDepth: SettingsSpec['legendMaxDepth']): boolean { - return typeof legendMaxDepth === 'number' && !Number.isNaN(legendMaxDepth) && legendMaxDepth > 0; -} - -/** - * Creates flat extra value map from nested key path - */ -function getExtraValueMap( - { layers, valueFormatter }: Pick, - tree: HierarchyOfArrays, - maxDepth: number, - depth: number = 0, - keys: Map = new Map(), -): Map { - for (let i = 0; i < tree.length; i++) { - const branch = tree[i]; - const [key, arrayNode] = branch; - const { value, path, [CHILDREN_KEY]: children } = arrayNode; - - if (key != null) { - const values: LegendItemExtraValues = new Map(); - const formattedValue = valueFormatter ? valueFormatter(value) : value; - - values.set(key, formattedValue); - keys.set(path.map(({ index }) => index).join('__'), values); - } - - if (depth < maxDepth) { - getExtraValueMap({ layers, valueFormatter }, children, maxDepth, depth + 1, keys); - } - } - return keys; -} diff --git a/src/chart_types/partition_chart/state/selectors/get_legend_items_labels.ts b/src/chart_types/partition_chart/state/selectors/get_legend_items_labels.ts index b9a2c6da10..83330a80bf 100644 --- a/src/chart_types/partition_chart/state/selectors/get_legend_items_labels.ts +++ b/src/chart_types/partition_chart/state/selectors/get_legend_items_labels.ts @@ -22,51 +22,13 @@ import createCachedSelector from 're-reselect'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { LegendItemLabel } from '../../../../state/selectors/get_legend_items_labels'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { CHILDREN_KEY, HierarchyOfArrays, HIERARCHY_ROOT_KEY } from '../../layout/utils/group_by_rollup'; -import { Layer } from '../../specs'; +import { getLegendLabels } from '../../layout/utils/legend_labels'; import { getPartitionSpec } from './partition_spec'; import { getTree } from './tree'; /** @internal */ export const getLegendItemsLabels = createCachedSelector( [getPartitionSpec, getSettingsSpecSelector, getTree], - (pieSpec, { legendMaxDepth }, tree): LegendItemLabel[] => - pieSpec ? flatSlicesNames(pieSpec.layers, 0, tree).filter(({ depth }) => depth <= legendMaxDepth) : [], + (spec, { legendMaxDepth }, tree): LegendItemLabel[] => + spec ? getLegendLabels(spec.layers, tree, legendMaxDepth) : [], )(getChartIdSelector); - -function flatSlicesNames( - layers: Layer[], - depth: number, - tree: HierarchyOfArrays, - keys: Map = new Map(), -): LegendItemLabel[] { - if (tree.length === 0) { - return []; - } - - for (let i = 0; i < tree.length; i++) { - const branch = tree[i]; - const arrayNode = branch[1]; - const key = branch[0]; - - // format the key with the layer formatter - const layer = layers[depth - 1]; - const formatter = layer?.nodeLabel; - let formattedValue = ''; - if (key != null) { - formattedValue = formatter ? formatter(key) : `${key}`; - } - // preventing errors from external formatters - if (formattedValue != null && formattedValue !== '' && formattedValue !== HIERARCHY_ROOT_KEY) { - // save only the max depth, so we can compute the the max extension of the legend - keys.set(formattedValue, Math.max(depth, keys.get(formattedValue) ?? 0)); - } - - const children = arrayNode[CHILDREN_KEY]; - flatSlicesNames(layers, depth + 1, children, keys); - } - return [...keys.keys()].map((k) => ({ - label: k, - depth: keys.get(k) ?? 0, - })); -} diff --git a/src/chart_types/partition_chart/state/selectors/get_partition_specs.ts b/src/chart_types/partition_chart/state/selectors/get_partition_specs.ts new file mode 100644 index 0000000000..a5330bda5b --- /dev/null +++ b/src/chart_types/partition_chart/state/selectors/get_partition_specs.ts @@ -0,0 +1,33 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import createCachedSelector from 're-reselect'; + +import { ChartTypes } from '../../..'; +import { SpecTypes } from '../../../../specs'; +import { GlobalChartState } from '../../../../state/chart_state'; +import { getSpecsFromStore } from '../../../../state/utils'; +import { PartitionSpec } from '../../specs'; + +const getSpecs = (state: GlobalChartState) => state.specs; + +/** @internal */ +export const getPartitionSpecs = createCachedSelector([getSpecs], (specs) => { + return getSpecsFromStore(specs, ChartTypes.Partition, SpecTypes.Series); +})((state) => state.chartId); diff --git a/src/chart_types/partition_chart/state/selectors/is_tooltip_visible.ts b/src/chart_types/partition_chart/state/selectors/is_tooltip_visible.ts index 3c9ee27319..02b5f9f690 100644 --- a/src/chart_types/partition_chart/state/selectors/is_tooltip_visible.ts +++ b/src/chart_types/partition_chart/state/selectors/is_tooltip_visible.ts @@ -33,9 +33,6 @@ import { getTooltipInfoSelector } from './tooltip'; export const isTooltipVisibleSelector = createCachedSelector( [getSettingsSpecSelector, getTooltipInfoSelector], (settingsSpec, tooltipInfo): boolean => { - if (getTooltipType(settingsSpec) === TooltipType.None) { - return false; - } - return tooltipInfo.values.length > 0; + return getTooltipType(settingsSpec) !== TooltipType.None && tooltipInfo.values.length > 0; }, )(getChartIdSelector); diff --git a/src/chart_types/partition_chart/state/selectors/on_element_click_caller.ts b/src/chart_types/partition_chart/state/selectors/on_element_click_caller.ts index 8415076cc8..dc3940d0ab 100644 --- a/src/chart_types/partition_chart/state/selectors/on_element_click_caller.ts +++ b/src/chart_types/partition_chart/state/selectors/on_element_click_caller.ts @@ -21,12 +21,10 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'reselect'; import { ChartTypes } from '../../..'; -import { SeriesIdentifier } from '../../../../common/series_id'; -import { SettingsSpec, LayerValue } from '../../../../specs'; -import { GlobalChartState, PointerState } from '../../../../state/chart_state'; +import { getOnElementClickSelector } from '../../../../common/event_handler_selectors'; +import { GlobalChartState, PointerStates } from '../../../../state/chart_state'; import { getLastClickSelector } from '../../../../state/selectors/get_last_click'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; -import { isClicking } from '../../../../state/utils'; import { getPartitionSpec } from './partition_spec'; import { getPickedShapesLayerValues } from './picked_shapes'; @@ -38,34 +36,15 @@ import { getPickedShapesLayerValues } from './picked_shapes'; * @internal */ export function createOnElementClickCaller(): (state: GlobalChartState) => void { - let prevClick: PointerState | null = null; + const prev: { click: PointerStates['lastClick'] } = { click: null }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Partition) { selector = createCachedSelector( [getPartitionSpec, getLastClickSelector, getSettingsSpecSelector, getPickedShapesLayerValues], - (pieSpec, lastClick: PointerState | null, settings: SettingsSpec, pickedShapes): void => { - if (!pieSpec) { - return; - } - if (!settings.onElementClick) { - return; - } - const nextPickedShapesLength = pickedShapes.length; - if (nextPickedShapesLength > 0 && isClicking(prevClick, lastClick) && settings && settings.onElementClick) { - const elements = pickedShapes.map<[Array, SeriesIdentifier]>((values) => [ - values, - { - specId: pieSpec.id, - key: `spec{${pieSpec.id}}`, - }, - ]); - settings.onElementClick(elements); - } - prevClick = lastClick; - }, + getOnElementClickSelector(prev), )({ - keySelector: (state: GlobalChartState) => state.chartId, + keySelector: (s: GlobalChartState) => s.chartId, }); } if (selector) { diff --git a/src/chart_types/partition_chart/state/selectors/on_element_out_caller.ts b/src/chart_types/partition_chart/state/selectors/on_element_out_caller.ts index 1a6b6b1e00..eeb727babe 100644 --- a/src/chart_types/partition_chart/state/selectors/on_element_out_caller.ts +++ b/src/chart_types/partition_chart/state/selectors/on_element_out_caller.ts @@ -21,6 +21,7 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'react-redux'; import { ChartTypes } from '../../..'; +import { getOnElementOutSelector } from '../../../../common/event_handler_selectors'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; import { getSettingsSpecSelector } from '../../../../state/selectors/get_settings_specs'; @@ -34,26 +35,13 @@ import { getPickedShapesLayerValues } from './picked_shapes'; * @internal */ export function createOnElementOutCaller(): (state: GlobalChartState) => void { - let prevPickedShapes: number | null = null; + const prev: { pickedShapes: number | null } = { pickedShapes: null }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Partition) { selector = createCachedSelector( [getPartitionSpec, getPickedShapesLayerValues, getSettingsSpecSelector], - (pieSpec, pickedShapes, settings): void => { - if (!pieSpec) { - return; - } - if (!settings.onElementOut) { - return; - } - const nextPickedShapes = pickedShapes.length; - - if (prevPickedShapes !== null && prevPickedShapes > 0 && nextPickedShapes === 0) { - settings.onElementOut(); - } - prevPickedShapes = nextPickedShapes; - }, + getOnElementOutSelector(prev), )({ keySelector: getChartIdSelector, }); diff --git a/src/chart_types/partition_chart/state/selectors/on_element_over_caller.ts b/src/chart_types/partition_chart/state/selectors/on_element_over_caller.ts index 092ab38b32..fbd8016a83 100644 --- a/src/chart_types/partition_chart/state/selectors/on_element_over_caller.ts +++ b/src/chart_types/partition_chart/state/selectors/on_element_over_caller.ts @@ -21,7 +21,7 @@ import createCachedSelector from 're-reselect'; import { Selector } from 'react-redux'; import { ChartTypes } from '../../..'; -import { SeriesIdentifier } from '../../../../common/series_id'; +import { getOnElementOverSelector } from '../../../../common/event_handler_selectors'; import { LayerValue } from '../../../../specs'; import { GlobalChartState } from '../../../../state/chart_state'; import { getChartIdSelector } from '../../../../state/selectors/get_chart_id'; @@ -29,31 +29,6 @@ import { getSettingsSpecSelector } from '../../../../state/selectors/get_setting import { getPartitionSpec } from './partition_spec'; import { getPickedShapesLayerValues } from './picked_shapes'; -function isOverElement(prevPickedShapes: Array> = [], nextPickedShapes: Array>) { - if (nextPickedShapes.length === 0) { - return; - } - if (nextPickedShapes.length !== prevPickedShapes.length) { - return true; - } - return !nextPickedShapes.every((nextPickedShapeValues, index) => { - const prevPickedShapeValues = prevPickedShapes[index]; - if (prevPickedShapeValues === null) { - return false; - } - if (prevPickedShapeValues.length !== nextPickedShapeValues.length) { - return false; - } - return nextPickedShapeValues.every((layerValue, i) => { - const prevPickedValue = prevPickedShapeValues[i]; - if (!prevPickedValue) { - return false; - } - return layerValue.value === prevPickedValue.value && layerValue.groupByRollup === prevPickedValue.groupByRollup; - }); - }); -} - /** * Will call the onElementOver listener every time the following preconditions are met: * - the onElementOver listener is available @@ -61,32 +36,13 @@ function isOverElement(prevPickedShapes: Array> = [], nextPick * @internal */ export function createOnElementOverCaller(): (state: GlobalChartState) => void { - let prevPickedShapes: Array> = []; + const prev: { pickedShapes: LayerValue[][] } = { pickedShapes: [] }; let selector: Selector | null = null; return (state: GlobalChartState) => { if (selector === null && state.chartType === ChartTypes.Partition) { selector = createCachedSelector( [getPartitionSpec, getPickedShapesLayerValues, getSettingsSpecSelector], - (pieSpec, nextPickedShapes, settings): void => { - if (!pieSpec) { - return; - } - if (!settings.onElementOver) { - return; - } - - if (isOverElement(prevPickedShapes, nextPickedShapes)) { - const elements = nextPickedShapes.map<[Array, SeriesIdentifier]>((values) => [ - values, - { - specId: pieSpec.id, - key: `spec{${pieSpec.id}}`, - }, - ]); - settings.onElementOver(elements); - } - prevPickedShapes = nextPickedShapes; - }, + getOnElementOverSelector(prev), )({ keySelector: getChartIdSelector, }); diff --git a/src/chart_types/partition_chart/state/selectors/partition_spec.ts b/src/chart_types/partition_chart/state/selectors/partition_spec.ts index aba87e54f3..32dc018041 100644 --- a/src/chart_types/partition_chart/state/selectors/partition_spec.ts +++ b/src/chart_types/partition_chart/state/selectors/partition_spec.ts @@ -25,6 +25,6 @@ import { PartitionSpec } from '../../specs'; /** @internal */ export function getPartitionSpec(state: GlobalChartState): PartitionSpec | null { - const pieSpecs = getSpecsFromStore(state.specs, ChartTypes.Partition, SpecTypes.Series); - return pieSpecs.length > 0 ? pieSpecs[0] : null; + const partitionSpecs = getSpecsFromStore(state.specs, ChartTypes.Partition, SpecTypes.Series); + return partitionSpecs.length > 0 ? partitionSpecs[0] : null; // singleton! } diff --git a/src/chart_types/partition_chart/state/selectors/picked_shapes.test.ts b/src/chart_types/partition_chart/state/selectors/picked_shapes.test.ts index 8352fa2546..7d9264e327 100644 --- a/src/chart_types/partition_chart/state/selectors/picked_shapes.test.ts +++ b/src/chart_types/partition_chart/state/selectors/picked_shapes.test.ts @@ -68,11 +68,11 @@ describe('Picked shapes selector', () => { }); test('check initial geoms', () => { addSeries(store, treemapSpec); - const treemapGeometries = partitionGeometries(store.getState()); + const treemapGeometries = partitionGeometries(store.getState())[0]; expect(treemapGeometries.quadViewModel).toHaveLength(6); addSeries(store, sunburstSpec); - const sunburstGeometries = partitionGeometries(store.getState()); + const sunburstGeometries = partitionGeometries(store.getState())[0]; expect(sunburstGeometries.quadViewModel).toHaveLength(6); }); test('treemap check picked geometries', () => { @@ -83,7 +83,7 @@ describe('Picked shapes selector', () => { addSeries(store, treemapSpec, { onElementClick: onClickListener, }); - const geometries = partitionGeometries(store.getState()); + const geometries = partitionGeometries(store.getState())[0]; expect(geometries.quadViewModel).toHaveLength(6); const onElementClickCaller = createOnElementClickCaller(); @@ -134,7 +134,7 @@ describe('Picked shapes selector', () => { addSeries(store, sunburstSpec, { onElementClick: onClickListener, }); - const geometries = partitionGeometries(store.getState()); + const geometries = partitionGeometries(store.getState())[0]; expect(geometries.quadViewModel).toHaveLength(6); const onElementClickCaller = createOnElementClickCaller(); diff --git a/src/chart_types/partition_chart/state/selectors/picked_shapes.ts b/src/chart_types/partition_chart/state/selectors/picked_shapes.ts index 58f6342e43..ceb5b37042 100644 --- a/src/chart_types/partition_chart/state/selectors/picked_shapes.ts +++ b/src/chart_types/partition_chart/state/selectors/picked_shapes.ts @@ -19,18 +19,8 @@ import createCachedSelector from 're-reselect'; -import { LayerValue } from '../../../../specs'; import { GlobalChartState } from '../../../../state/chart_state'; -import { MODEL_KEY } from '../../layout/config'; -import { QuadViewModel } from '../../layout/types/viewmodel_types'; -import { - AGGREGATE_KEY, - DEPTH_KEY, - getNodeName, - PARENT_KEY, - PATH_KEY, - SORT_INDEX_KEY, -} from '../../layout/utils/group_by_rollup'; +import { pickedShapes, pickShapesLayerValues } from '../../layout/viewmodel/picked_shapes'; import { partitionGeometries } from './geometries'; function getCurrentPointerPosition(state: GlobalChartState) { @@ -40,13 +30,7 @@ function getCurrentPointerPosition(state: GlobalChartState) { /** @internal */ export const getPickedShapes = createCachedSelector( [partitionGeometries, getCurrentPointerPosition], - (geoms, pointerPosition): QuadViewModel[] => { - const picker = geoms.pickQuads; - const { diskCenter } = geoms; - const x = pointerPosition.x - diskCenter.x; - const y = pointerPosition.y - diskCenter.y; - return picker(x, y); - }, + pickedShapes, )((state) => state.chartId); /** @internal */ @@ -54,35 +38,3 @@ export const getPickedShapesLayerValues = createCachedSelector( [getPickedShapes], pickShapesLayerValues, )((state) => state.chartId); - -/** @internal */ -export function pickShapesLayerValues(pickedShapes: QuadViewModel[]): Array> { - const maxDepth = pickedShapes.reduce((acc, curr) => Math.max(acc, curr.depth), 0); - return pickedShapes - .filter(({ depth }) => depth === maxDepth) // eg. lowest layer in a treemap, where layers overlap in screen space; doesn't apply to sunburst/flame - .map>((viewModel) => { - const values: Array = []; - values.push({ - groupByRollup: viewModel.dataName, - value: viewModel[AGGREGATE_KEY], - depth: viewModel[DEPTH_KEY], - sortIndex: viewModel[SORT_INDEX_KEY], - path: viewModel[PATH_KEY], - }); - let node = viewModel[MODEL_KEY]; - while (node[DEPTH_KEY] > 0) { - const value = node[AGGREGATE_KEY]; - const dataName = getNodeName(node); - values.push({ - groupByRollup: dataName, - value, - depth: node[DEPTH_KEY], - sortIndex: node[SORT_INDEX_KEY], - path: node[PATH_KEY], - }); - - node = node[PARENT_KEY]; - } - return values.reverse(); - }); -} diff --git a/src/chart_types/partition_chart/state/selectors/tooltip.ts b/src/chart_types/partition_chart/state/selectors/tooltip.ts index c2e2c7213a..08b72972a8 100644 --- a/src/chart_types/partition_chart/state/selectors/tooltip.ts +++ b/src/chart_types/partition_chart/state/selectors/tooltip.ts @@ -20,55 +20,23 @@ import createCachedSelector from 're-reselect'; import { TooltipInfo } from '../../../../components/tooltip/types'; -import { percentValueGetter, sumValueGetter } from '../../layout/config'; +import { EMPTY_TOOLTIP, getTooltipInfo } from '../../layout/viewmodel/tooltip_info'; import { getPartitionSpec } from './partition_spec'; import { getPickedShapes } from './picked_shapes'; -import { valueGetterFunction } from './scenegraph'; - -const EMPTY_TOOLTIP = Object.freeze({ - header: null, - values: [], -}); /** @internal */ export const getTooltipInfoSelector = createCachedSelector( [getPartitionSpec, getPickedShapes], - (pieSpec, pickedShapes): TooltipInfo => { - if (!pieSpec) { - return EMPTY_TOOLTIP; - } - const { valueGetter, valueFormatter, layers: labelFormatters } = pieSpec; - if (!valueFormatter || !labelFormatters) { - return EMPTY_TOOLTIP; - } - - const tooltipInfo: TooltipInfo = { - header: null, - values: [], - }; - - const valueGetterFun = valueGetterFunction(valueGetter); - const primaryValueGetterFun = valueGetterFun === percentValueGetter ? sumValueGetter : valueGetterFun; - pickedShapes.forEach((shape) => { - const labelFormatter = labelFormatters[shape.depth - 1]; - const formatter = labelFormatter?.nodeLabel; - const value = primaryValueGetterFun(shape); - - tooltipInfo.values.push({ - label: formatter ? formatter(shape.dataName) : shape.dataName, - color: shape.fillColor, - isHighlighted: false, - isVisible: true, - seriesIdentifier: { - specId: pieSpec.id, - key: pieSpec.id, - }, - value, - formattedValue: `${valueFormatter(value)} (${pieSpec.percentFormatter(percentValueGetter(shape))})`, - valueAccessor: shape.depth, - }); - }); - - return tooltipInfo; + (spec, pickedShapes): TooltipInfo => { + return spec + ? getTooltipInfo( + pickedShapes, + spec.layers.map((l) => l.nodeLabel), + spec.valueGetter, + spec.valueFormatter, + spec.percentFormatter, + spec.id, + ) + : EMPTY_TOOLTIP; }, )((state) => state.chartId); diff --git a/src/chart_types/partition_chart/state/selectors/tree.ts b/src/chart_types/partition_chart/state/selectors/tree.ts index c258d8f27a..21d025fcab 100644 --- a/src/chart_types/partition_chart/state/selectors/tree.ts +++ b/src/chart_types/partition_chart/state/selectors/tree.ts @@ -19,34 +19,21 @@ import createCachedSelector from 're-reselect'; -import { ChartTypes } from '../../..'; -import { SpecTypes } from '../../../../specs'; -import { GlobalChartState } from '../../../../state/chart_state'; -import { getSpecsFromStore } from '../../../../state/utils'; import { configMetadata } from '../../layout/config'; -import { childOrders, HierarchyOfArrays, HIERARCHY_ROOT_KEY } from '../../layout/utils/group_by_rollup'; -import { getHierarchyOfArrays } from '../../layout/viewmodel/hierarchy_of_arrays'; -import { isSunburst, isTreemap } from '../../layout/viewmodel/viewmodel'; +import { HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; +import { partitionTree } from '../../layout/viewmodel/hierarchy_of_arrays'; import { PartitionSpec } from '../../specs'; +import { getPartitionSpecs } from './get_partition_specs'; -const getSpecs = (state: GlobalChartState) => state.specs; +function getTreeForSpec(spec: PartitionSpec) { + const { data, valueAccessor, layers, config } = spec; + return partitionTree(data, valueAccessor, layers, configMetadata.partitionLayout.dflt, config.partitionLayout); +} /** @internal */ export const getTree = createCachedSelector( - [getSpecs], - (specs): HierarchyOfArrays => { - const pieSpecs = getSpecsFromStore(specs, ChartTypes.Partition, SpecTypes.Series); - if (pieSpecs.length !== 1) { - return []; - } - const { data, valueAccessor, layers } = pieSpecs[0]; - const layout = pieSpecs[0].config.partitionLayout ?? configMetadata.partitionLayout.dflt; - const sorter = isTreemap(layout) || isSunburst(layout) ? childOrders.descending : null; - return getHierarchyOfArrays( - data, - valueAccessor, - [() => HIERARCHY_ROOT_KEY, ...layers.map(({ groupByRollup }) => groupByRollup)], - sorter, - ); + [getPartitionSpecs], + (partitionSpecs): HierarchyOfArrays => { + return partitionSpecs.length > 0 ? getTreeForSpec(partitionSpecs[0]) : []; // singleton! }, )((state) => state.chartId); diff --git a/src/common/color_calcs.ts b/src/common/color_calcs.ts index 3f0b4e823b..e5a27f0f1d 100644 --- a/src/common/color_calcs.ts +++ b/src/common/color_calcs.ts @@ -167,3 +167,23 @@ export function getTextColorIfTextInvertible( : makeHighContrastColor(textColor, backgroundColor, textContrast); } } + +/** + * This function generates color for non-occluded text rendering directly on the + * paper, with possible background color, ie. not on some data ink + * + * @internal + */ +export function getOnPaperColorSet(textColor: Color, sectorLineStroke: Color, containerBackgroundColor?: Color) { + // determine the ideal contrast color for the link labels + const validBackgroundColor = isColorValid(containerBackgroundColor) + ? containerBackgroundColor + : 'rgba(255, 255, 255, 0)'; + const contrastTextColor = containerBackgroundColor + ? makeHighContrastColor(textColor, validBackgroundColor) + : textColor; + const strokeColor = containerBackgroundColor + ? makeHighContrastColor(sectorLineStroke, validBackgroundColor) + : undefined; + return { contrastTextColor, strokeColor }; +} diff --git a/src/common/event_handler_selectors.ts b/src/common/event_handler_selectors.ts new file mode 100644 index 0000000000..517a5e02bb --- /dev/null +++ b/src/common/event_handler_selectors.ts @@ -0,0 +1,121 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { LayerValue, SettingsSpec, Spec } from '../specs'; +import { PointerStates } from '../state/chart_state'; +import { isClicking } from '../state/utils'; +import { SeriesIdentifier } from './series_id'; + +/** @internal */ +export const getOnElementClickSelector = (prev: { click: PointerStates['lastClick'] }) => ( + spec: Spec | null, + lastClick: PointerStates['lastClick'], + settings: SettingsSpec, + pickedShapes: LayerValue[][], +): void => { + if (!spec) { + return; + } + if (!settings.onElementClick) { + return; + } + const nextPickedShapesLength = pickedShapes.length; + if (nextPickedShapesLength > 0 && isClicking(prev.click, lastClick) && settings && settings.onElementClick) { + const elements = pickedShapes.map<[Array, SeriesIdentifier]>((values) => [ + values, + { + specId: spec.id, + key: `spec{${spec.id}}`, + }, + ]); + settings.onElementClick(elements); + } + prev.click = lastClick; +}; + +/** @internal */ +export const getOnElementOutSelector = (prev: { pickedShapes: number | null }) => ( + spec: Spec | null, + pickedShapes: LayerValue[][], + settings: SettingsSpec, +): void => { + if (!spec) { + return; + } + if (!settings.onElementOut) { + return; + } + const nextPickedShapes = pickedShapes.length; + + if (prev.pickedShapes !== null && prev.pickedShapes > 0 && nextPickedShapes === 0) { + settings.onElementOut(); + } + prev.pickedShapes = nextPickedShapes; +}; + +function isOverElement(prevPickedShapes: Array> = [], nextPickedShapes: Array>) { + if (nextPickedShapes.length === 0) { + return; + } + if (nextPickedShapes.length !== prevPickedShapes.length) { + return true; + } + return !nextPickedShapes.every((nextPickedShapeValues, index) => { + const prevPickedShapeValues = prevPickedShapes[index]; + if (prevPickedShapeValues === null) { + return false; + } + if (prevPickedShapeValues.length !== nextPickedShapeValues.length) { + return false; + } + return nextPickedShapeValues.every((layerValue, i) => { + const prevPickedValue = prevPickedShapeValues[i]; + if (!prevPickedValue) { + return false; + } + return layerValue.value === prevPickedValue.value && layerValue.groupByRollup === prevPickedValue.groupByRollup; + }); + }); +} + +/** @internal */ +export const getOnElementOverSelector = (prev: { pickedShapes: LayerValue[][] }) => ( + spec: Spec | null, + nextPickedShapes: LayerValue[][], + settings: SettingsSpec, +): void => { + if (!spec) { + return; + } + if (!settings.onElementOver) { + return; + } + + if (isOverElement(prev.pickedShapes, nextPickedShapes)) { + const elements = nextPickedShapes.map<[Array, SeriesIdentifier]>((values) => [ + values, + { + specId: spec.id, + key: `spec{${spec.id}}`, + }, + ]); + settings.onElementOver(elements); + } + prev.pickedShapes = nextPickedShapes; +}; diff --git a/src/common/text_utils.ts b/src/common/text_utils.ts index a03eee91ba..ffe17f4180 100644 --- a/src/common/text_utils.ts +++ b/src/common/text_utils.ts @@ -22,6 +22,7 @@ import { $Values as Values } from 'utility-types'; import { ArrayEntry } from '../chart_types/partition_chart/layout/utils/group_by_rollup'; import { Datum } from '../utils/common'; import { Pixels } from './geometry'; +import { integerSnap, monotonicHillClimb } from './optimize'; export const FONT_VARIANTS = Object.freeze(['normal', 'small-caps'] as const); export type FontVariant = typeof FONT_VARIANTS[number]; @@ -48,6 +49,7 @@ export type NumericFontWeight = number & typeof FONT_WEIGHTS[number]; export const FONT_STYLES = Object.freeze(['normal', 'italic', 'oblique', 'inherit', 'initial', 'unset'] as const); export type FontStyle = typeof FONT_STYLES[number]; +// this doesn't include the font size, so it's more like a font face (?) - unfortunately all vague terms export interface Font { fontStyle: FontStyle; fontVariant: FontVariant; @@ -127,3 +129,33 @@ export const VerticalAlignments = Object.freeze({ }); export type VerticalAlignments = Values; + +/** @internal */ +export function measureOneBoxWidth(measure: TextMeasure, fontSize: number, box: Box) { + return measure(fontSize, [box])[0].width; +} + +/** @internal */ +export function cutToLength(s: string, maxLength: number) { + return s.length <= maxLength ? s : `${s.slice(0, Math.max(0, maxLength - 1))}…`; // ellipsis is one char +} + +/** @internal */ +export function fitText( + measure: TextMeasure, + desiredText: string, + allottedWidth: number, + fontSize: number, + font: Font, +) { + const desiredLength = desiredText.length; + const response = (v: number) => measure(fontSize, [{ ...font, text: desiredText.slice(0, Math.max(0, v)) }])[0].width; + const visibleLength = monotonicHillClimb(response, desiredLength, allottedWidth, integerSnap); + const text = visibleLength < 2 && desiredLength >= 2 ? '' : cutToLength(desiredText, visibleLength); + const { width, emHeightAscent, emHeightDescent } = measure(fontSize, [{ ...font, text }])[0]; + return { + width, + verticalOffset: -(emHeightDescent + emHeightAscent) / 2, // meaning, `middle` + text, + }; +} diff --git a/src/index.ts b/src/index.ts index 62d049c7b5..f48f76e7e6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -32,7 +32,6 @@ export { SeriesIdentifier } from './common/series_id'; export { XYChartSeriesIdentifier, DataSeriesDatum, FilledValues } from './chart_types/xy_chart/utils/series'; export { AnnotationTooltipFormatter, CustomAnnotationTooltip } from './chart_types/xy_chart/annotations/types'; export { GeometryValue, BandedAccessorType } from './utils/geometry'; -export { LegendStrategy } from './chart_types/partition_chart/state/selectors/get_highlighted_shapes'; export { LegendPath, LegendPathElement } from './state/actions/legend'; export { CategoryKey } from './common/category'; export { @@ -89,3 +88,4 @@ export { export { DataGenerator } from './utils/data_generators/data_generator'; export * from './utils/themes/merge_utils'; export { MODEL_KEY } from './chart_types/partition_chart/layout/config'; +export { LegendStrategy } from './chart_types/partition_chart/layout/utils/highlighted_geoms'; diff --git a/src/specs/settings.tsx b/src/specs/settings.tsx index 654b0b9cfe..1d648d32fa 100644 --- a/src/specs/settings.tsx +++ b/src/specs/settings.tsx @@ -22,7 +22,7 @@ import React, { ComponentType, ReactChild } from 'react'; import { Spec } from '.'; import { Cell } from '../chart_types/heatmap/layout/types/viewmodel_types'; import { PrimitiveValue } from '../chart_types/partition_chart/layout/utils/group_by_rollup'; -import { LegendStrategy } from '../chart_types/partition_chart/state/selectors/get_highlighted_shapes'; +import { LegendStrategy } from '../chart_types/partition_chart/layout/utils/highlighted_geoms'; import { XYChartSeriesIdentifier } from '../chart_types/xy_chart/utils/series'; import { DomainRange } from '../chart_types/xy_chart/utils/specs'; import { SeriesIdentifier } from '../common/series_id'; diff --git a/src/state/chart_state.ts b/src/state/chart_state.ts index e2fe1200ef..a88e346fc7 100644 --- a/src/state/chart_state.ts +++ b/src/state/chart_state.ts @@ -36,7 +36,7 @@ import { Point } from '../utils/point'; import { StateActions } from './actions'; import { CHART_RENDERED } from './actions/chart'; import { UPDATE_PARENT_DIMENSION } from './actions/chart_settings'; -import { SET_PERSISTED_COLOR, SET_TEMPORARY_COLOR, CLEAR_TEMPORARY_COLORS } from './actions/colors'; +import { CLEAR_TEMPORARY_COLORS, SET_PERSISTED_COLOR, SET_TEMPORARY_COLOR } from './actions/colors'; import { DOMElement } from './actions/dom_element'; import { EXTERNAL_POINTER_EVENT } from './actions/events'; import { LegendPath } from './actions/legend'; @@ -410,17 +410,14 @@ function chartTypeFromSpecs(specs: SpecList): ChartTypes | null { return nonGlobalTypes[0]; } +const constructors: Record InternalChartState | null> = { + [ChartTypes.Goal]: () => new GoalState(), + [ChartTypes.Partition]: () => new PartitionState(), + [ChartTypes.XYAxis]: () => new XYAxisChartState(), + [ChartTypes.Heatmap]: () => new HeatmapState(), + [ChartTypes.Global]: () => null, +}; // with no default, TS signals if a new chart type isn't added here too + function newInternalState(chartType: ChartTypes | null): InternalChartState | null { - switch (chartType) { - case ChartTypes.Goal: - return new GoalState(); - case ChartTypes.Partition: - return new PartitionState(); - case ChartTypes.XYAxis: - return new XYAxisChartState(); - case ChartTypes.Heatmap: - return new HeatmapState(); - default: - return null; - } + return chartType ? constructors[chartType]() : null; } diff --git a/stories/icicle/02_unix_flame.tsx b/stories/icicle/02_unix_flame.tsx index ed7c1d0ecc..3e60cb7eaf 100644 --- a/stories/icicle/02_unix_flame.tsx +++ b/stories/icicle/02_unix_flame.tsx @@ -24,7 +24,7 @@ import { STORYBOOK_LIGHT_THEME } from '../shared'; import { config, getFlatData, getLayerSpec, maxDepth } from '../utils/hierarchical_input_utils'; import { plasma18 as palette } from '../utils/utils'; -const color = palette.slice().reverse(); +const color = [...palette].reverse(); export const Example = () => { return ( @@ -32,13 +32,10 @@ export const Example = () => { { - // eslint-disable-next-line no-console - console.log(e); - }} /> Date: Wed, 10 Feb 2021 10:57:17 +0100 Subject: [PATCH 2/6] feat(partition): drilldown (#995) Co-authored-by: Nick Partridge --- .playground/playground.tsx | 2 +- api/charts.api.md | 6 +-- .../partition_chart/layout/config.ts | 4 ++ .../layout/types/config_types.ts | 4 ++ .../layout/utils/group_by_rollup.ts | 49 ++++++++++++------- .../viewmodel/hierarchy_of_arrays.test.ts | 2 +- .../layout/viewmodel/hierarchy_of_arrays.ts | 9 +++- .../partition_chart/state/selectors/tree.ts | 22 +++++++-- src/state/chart_state.ts | 5 +- src/state/reducers/interactions.ts | 22 +++++++-- stories/icicle/01_unix_icicle.tsx | 2 +- stories/icicle/02_unix_flame.tsx | 2 +- 12 files changed, 93 insertions(+), 36 deletions(-) diff --git a/.playground/playground.tsx b/.playground/playground.tsx index b693e6ca70..26d1e2d7b5 100644 --- a/.playground/playground.tsx +++ b/.playground/playground.tsx @@ -19,7 +19,7 @@ import React from 'react'; -import { Example } from '../stories/sunburst/9_sunburst_three_layers'; +import { Example } from '../stories/icicle/02_unix_flame'; export class Playground extends React.Component { render() { diff --git a/api/charts.api.md b/api/charts.api.md index 5585d8c377..d9d27b7e21 100644 --- a/api/charts.api.md +++ b/api/charts.api.md @@ -1435,7 +1435,7 @@ export const Partition: React.FunctionComponent; @@ -2346,8 +2346,8 @@ export type YDomainRange = YDomainBase & DomainRange; // src/chart_types/heatmap/layout/types/config_types.ts:29:13 - (ae-forgotten-export) The symbol "SizeRatio" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:61:5 - (ae-forgotten-export) The symbol "TextAlign" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:62:5 - (ae-forgotten-export) The symbol "TextBaseline" needs to be exported by the entry point index.d.ts -// src/chart_types/partition_chart/layout/types/config_types.ts:126:5 - (ae-forgotten-export) The symbol "TimeMs" needs to be exported by the entry point index.d.ts -// src/chart_types/partition_chart/layout/types/config_types.ts:127:5 - (ae-forgotten-export) The symbol "AnimKeyframe" needs to be exported by the entry point index.d.ts +// src/chart_types/partition_chart/layout/types/config_types.ts:130:5 - (ae-forgotten-export) The symbol "TimeMs" needs to be exported by the entry point index.d.ts +// src/chart_types/partition_chart/layout/types/config_types.ts:131:5 - (ae-forgotten-export) The symbol "AnimKeyframe" needs to be exported by the entry point index.d.ts // src/common/series_id.ts:40:3 - (ae-forgotten-export) The symbol "SeriesKey" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) diff --git a/src/chart_types/partition_chart/layout/config.ts b/src/chart_types/partition_chart/layout/config.ts index 337197d46e..36c8523632 100644 --- a/src/chart_types/partition_chart/layout/config.ts +++ b/src/chart_types/partition_chart/layout/config.ts @@ -181,6 +181,10 @@ export const configMetadata: Record = { type: 'string', values: Object.keys(PartitionLayout), }, + drilldown: { + dflt: false, + type: 'boolean', + }, // fill text layout config circlePadding: { dflt: 2, min: 0.0, max: 8, type: 'number' }, diff --git a/src/chart_types/partition_chart/layout/types/config_types.ts b/src/chart_types/partition_chart/layout/types/config_types.ts index 2938ae7cc1..0516baf287 100644 --- a/src/chart_types/partition_chart/layout/types/config_types.ts +++ b/src/chart_types/partition_chart/layout/types/config_types.ts @@ -88,6 +88,8 @@ export interface StaticConfig extends FillFontSizeRange { clockwiseSectors: boolean; specialFirstInnermostSector: boolean; partitionLayout: PartitionLayout; + /** @alpha */ + drilldown: boolean; // general text config fontFamily: FontFamily; @@ -115,6 +117,7 @@ export interface StaticConfig extends FillFontSizeRange { export type EasingFunction = (x: Ratio) => Ratio; +/** @alpha */ export interface AnimKeyframe { time: number; easingFunction: EasingFunction; @@ -122,6 +125,7 @@ export interface AnimKeyframe { } export interface Config extends StaticConfig { + /** @alpha */ animation: { duration: TimeMs; keyframes: Array; diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 889f606344..b79cd4812f 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -108,6 +108,8 @@ export function groupByRollup( identity: () => any; }, factTable: Relation, + drilldown: boolean, + drilldownSelection: CategoryKey[], ): HierarchyOfMaps { const statistics: Statistics = { globalAggregate: NaN, @@ -115,26 +117,35 @@ export function groupByRollup( const reductionMap: HierarchyOfMaps = factTable.reduce((p: HierarchyOfMaps, n, index) => { const keyCount = keyAccessors.length; let pointer: HierarchyOfMaps = p; - keyAccessors.forEach((keyAccessor, i) => { - const key: Key = keyAccessor(n, index); - const last = i === keyCount - 1; - const node = pointer.get(key); - const inputIndices = node?.[INPUT_KEY] ?? []; - const childrenMap = node?.[CHILDREN_KEY] ?? new Map(); - const aggregate = node?.[AGGREGATE_KEY] ?? identity(); - const reductionValue = reducer(aggregate, valueAccessor(n)); - pointer.set(key, { - [AGGREGATE_KEY]: reductionValue, - [STATISTICS_KEY]: statistics, - [INPUT_KEY]: [...inputIndices, index], - [DEPTH_KEY]: i, - ...(!last && { [CHILDREN_KEY]: childrenMap }), + keyAccessors + .filter( + () => + !drilldown || + keyAccessors + .slice(0, drilldownSelection.length) + .map((keyAccessor) => keyAccessor(n, index)) + .join(' | ') === drilldownSelection.slice(0, drilldownSelection.length).join(' | '), + ) + .forEach((keyAccessor, i) => { + const key: Key = keyAccessor(n, index); + const last = i === keyCount - 1; + const node = pointer.get(key); + const inputIndices = node?.[INPUT_KEY] ?? []; + const childrenMap = node?.[CHILDREN_KEY] ?? new Map(); + const aggregate = node?.[AGGREGATE_KEY] ?? identity(); + const reductionValue = reducer(aggregate, valueAccessor(n)); + pointer.set(key, { + [AGGREGATE_KEY]: reductionValue, + [STATISTICS_KEY]: statistics, + [INPUT_KEY]: [...inputIndices, index], + [DEPTH_KEY]: i, + ...(!last && { [CHILDREN_KEY]: childrenMap }), + }); + if (childrenMap) { + // will always be true except when exiting from forEach, ie. upon encountering the leaf node + pointer = childrenMap; + } }); - if (childrenMap) { - // will always be true except when exiting from forEach, ie. upon encountering the leaf node - pointer = childrenMap; - } - }); return p; }, new Map()); if (reductionMap.get(HIERARCHY_ROOT_KEY) !== undefined) { diff --git a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.test.ts b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.test.ts index 9af02cb739..69b782b402 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.test.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.test.ts @@ -32,7 +32,7 @@ const groupByRollupAccessors = [() => null, (d: any) => d.sitc1]; describe('Test', () => { test('getHierarchyOfArrays should omit zero and negative values', () => { - const outerResult = getHierarchyOfArrays(rawFacts, valueAccessor, groupByRollupAccessors); + const outerResult = getHierarchyOfArrays(rawFacts, valueAccessor, groupByRollupAccessors, null, false, []); expect(outerResult.length).toBe(1); const results = outerResult[0]; diff --git a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts index 9a73c149a4..cc1a1c8c81 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts @@ -17,6 +17,7 @@ * under the License. */ +import { CategoryKey } from '../../../../common/category'; import { LegendItemExtraValues } from '../../../../common/legend'; import { SeriesKey } from '../../../../common/series_id'; import { Relation } from '../../../../common/text_utils'; @@ -44,6 +45,8 @@ export function getHierarchyOfArrays( valueAccessor: ValueAccessor, groupByRollupAccessors: IndexedAccessorFn[], sorter: Sorter | null = childOrders.descending, + drilldown: boolean, + drilldownSelection: CategoryKey[], ): HierarchyOfArrays { const aggregator = aggregators.sum; @@ -61,7 +64,7 @@ export function getHierarchyOfArrays( // By introducing `scale`, we no longer need to deal with the dichotomy of // size as data value vs size as number of pixels in the rectangle return mapsToArrays( - groupByRollup(groupByRollupAccessors, valueAccessor, aggregator, facts), + groupByRollup(groupByRollupAccessors, valueAccessor, aggregator, facts, drilldown, drilldownSelection), sorter && aggregateComparator(mapEntryValue, sorter), ); } @@ -73,6 +76,8 @@ export function partitionTree( layers: Layer[], defaultLayout: PartitionLayout, layout: PartitionLayout = defaultLayout, + drilldown: boolean, + drilldownSelection: CategoryKey[], ) { const sorter = isTreemap(layout) || isSunburst(layout) ? childOrders.descending : null; return getHierarchyOfArrays( @@ -81,6 +86,8 @@ export function partitionTree( // eslint-disable-next-line no-shadow [() => HIERARCHY_ROOT_KEY, ...layers.map(({ groupByRollup }) => groupByRollup)], sorter, + drilldown, + drilldownSelection, ); } diff --git a/src/chart_types/partition_chart/state/selectors/tree.ts b/src/chart_types/partition_chart/state/selectors/tree.ts index 21d025fcab..1247ea0b17 100644 --- a/src/chart_types/partition_chart/state/selectors/tree.ts +++ b/src/chart_types/partition_chart/state/selectors/tree.ts @@ -19,21 +19,33 @@ import createCachedSelector from 're-reselect'; +import { CategoryKey } from '../../../../common/category'; +import { GlobalChartState } from '../../../../state/chart_state'; import { configMetadata } from '../../layout/config'; import { HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; import { partitionTree } from '../../layout/viewmodel/hierarchy_of_arrays'; import { PartitionSpec } from '../../specs'; import { getPartitionSpecs } from './get_partition_specs'; -function getTreeForSpec(spec: PartitionSpec) { +function getTreeForSpec(spec: PartitionSpec, drilldownSelection: CategoryKey[]) { const { data, valueAccessor, layers, config } = spec; - return partitionTree(data, valueAccessor, layers, configMetadata.partitionLayout.dflt, config.partitionLayout); + return partitionTree( + data, + valueAccessor, + layers, + configMetadata.partitionLayout.dflt, + config.partitionLayout, + Boolean(config.drilldown), + drilldownSelection, + ); } +const getDrilldownSelection = (state: GlobalChartState) => state.interactions.drilldown || []; + /** @internal */ export const getTree = createCachedSelector( - [getPartitionSpecs], - (partitionSpecs): HierarchyOfArrays => { - return partitionSpecs.length > 0 ? getTreeForSpec(partitionSpecs[0]) : []; // singleton! + [getPartitionSpecs, getDrilldownSelection], + (partitionSpecs, drilldownSelection): HierarchyOfArrays => { + return partitionSpecs.length > 0 ? getTreeForSpec(partitionSpecs[0], drilldownSelection) : []; // singleton! }, )((state) => state.chartId); diff --git a/src/state/chart_state.ts b/src/state/chart_state.ts index a88e346fc7..8e0233e0d5 100644 --- a/src/state/chart_state.ts +++ b/src/state/chart_state.ts @@ -25,6 +25,7 @@ import { HeatmapState } from '../chart_types/heatmap/state/chart_state'; import { PrimitiveValue } from '../chart_types/partition_chart/layout/utils/group_by_rollup'; import { PartitionState } from '../chart_types/partition_chart/state/chart_state'; import { XYAxisChartState } from '../chart_types/xy_chart/state/chart_state'; +import { CategoryKey } from '../common/category'; import { LegendItem, LegendItemExtraValues } from '../common/legend'; import { SeriesIdentifier, SeriesKey } from '../common/series_id'; import { TooltipAnchorPosition, TooltipInfo } from '../components/tooltip/types'; @@ -186,6 +187,7 @@ export interface InteractionsState { highlightedLegendPath: LegendPath; deselectedDataSeries: SeriesIdentifier[]; hoveredDOMElement: DOMElement | null; + drilldown: CategoryKey[]; } /** @internal */ @@ -275,6 +277,7 @@ export const getInitialState = (chartId: string): GlobalChartState => ({ highlightedLegendPath: [], deselectedDataSeries: [], hoveredDOMElement: null, + drilldown: [], }, externalEvents: { pointer: null, @@ -391,7 +394,7 @@ export const chartStoreReducer = (chartId: string) => { return getInternalIsInitializedSelector(state) === InitStatus.Initialized ? { ...state, - interactions: interactionsReducer(state.interactions, action, getLegendItemsSelector(state)), + interactions: interactionsReducer(state, action, getLegendItemsSelector(state)), } : state; } diff --git a/src/state/reducers/interactions.ts b/src/state/reducers/interactions.ts index 5f26b693c9..c31580e225 100644 --- a/src/state/reducers/interactions.ts +++ b/src/state/reducers/interactions.ts @@ -17,9 +17,12 @@ * under the License. */ +import { ChartTypes } from '../../chart_types'; +import { getPickedShapesLayerValues } from '../../chart_types/partition_chart/state/selectors/picked_shapes'; import { getSeriesIndex } from '../../chart_types/xy_chart/utils/series'; import { LegendItem } from '../../common/legend'; import { SeriesIdentifier } from '../../common/series_id'; +import { LayerValue } from '../../specs'; import { getDelta } from '../../utils/point'; import { DOMElementActions, ON_DOM_ELEMENT_ENTER, ON_DOM_ELEMENT_LEAVE } from '../actions/dom_element'; import { KeyActions, ON_KEY_UP } from '../actions/key'; @@ -31,7 +34,7 @@ import { ToggleDeselectSeriesAction, } from '../actions/legend'; import { MouseActions, ON_MOUSE_DOWN, ON_MOUSE_UP, ON_POINTER_MOVE } from '../actions/mouse'; -import { InteractionsState } from '../chart_state'; +import { GlobalChartState, InteractionsState } from '../chart_state'; import { getInitialPointerState } from '../utils'; /** @@ -46,10 +49,11 @@ const DRAG_DETECTION_PIXEL_DELTA = 4; /** @internal */ export function interactionsReducer( - state: InteractionsState, + globalState: GlobalChartState, action: LegendActions | MouseActions | KeyActions | DOMElementActions, legendItems: LegendItem[], ): InteractionsState { + const { interactions: state } = globalState; switch (action.type) { case ON_KEY_UP: if (action.key === 'Escape') { @@ -81,6 +85,7 @@ export function interactionsReducer( case ON_MOUSE_DOWN: return { ...state, + drilldown: getDrilldownData(globalState), pointer: { ...state.pointer, dragging: false, @@ -169,7 +174,10 @@ export function interactionsReducer( } } -/** @internal */ +/** + * Helper functions that currently depend on chart type eg. xy or partition + */ + function toggleDeselectedDataSeries( { legendItemId: id, negate }: ToggleDeselectSeriesAction, deselectedDataSeries: SeriesIdentifier[], @@ -194,3 +202,11 @@ function toggleDeselectedDataSeries( } return [...deselectedDataSeries, id]; } + +function getDrilldownData(globalState: GlobalChartState) { + if (globalState.chartType !== ChartTypes.Partition) { + return []; + } + const layerValues: LayerValue[] = getPickedShapesLayerValues(globalState)[0]; + return layerValues ? layerValues[layerValues.length - 1].path.map((n) => n.value) : []; +} diff --git a/stories/icicle/01_unix_icicle.tsx b/stories/icicle/01_unix_icicle.tsx index d4bbecdf3b..8c4fde3696 100644 --- a/stories/icicle/01_unix_icicle.tsx +++ b/stories/icicle/01_unix_icicle.tsx @@ -36,7 +36,7 @@ export const Example = () => { valueAccessor={(d: Datum) => d.value as number} valueFormatter={() => ''} layers={getLayerSpec(color)} - config={{ ...config, partitionLayout: PartitionLayout.icicle }} + config={{ ...config, partitionLayout: PartitionLayout.icicle, drilldown: true }} /> ); diff --git a/stories/icicle/02_unix_flame.tsx b/stories/icicle/02_unix_flame.tsx index 3e60cb7eaf..3b117218af 100644 --- a/stories/icicle/02_unix_flame.tsx +++ b/stories/icicle/02_unix_flame.tsx @@ -43,7 +43,7 @@ export const Example = () => { valueAccessor={(d: Datum) => d.value as number} valueFormatter={() => ''} layers={getLayerSpec(color)} - config={{ ...config, partitionLayout: PartitionLayout.flame }} + config={{ ...config, partitionLayout: PartitionLayout.flame, drilldown: true }} /> ); From 9f9e5c2091ea0722dade18c9cfbaa5ad8025019c Mon Sep 17 00:00:00 2001 From: Elizabet Oliveira Date: Wed, 10 Feb 2021 15:21:03 +0000 Subject: [PATCH 3/6] style(crosshair): add z-index to crosshair line (#1021) Co-authored-by: nickofthyme --- ...ds-lines-visually-looks-correct-1-snap.png | Bin 0 -> 30416 bytes ...rosshair-lines-above-grid-lines-1-snap.png | Bin 0 -> 33401 bytes ...how-rectangular-brush-selection-1-snap.png | Bin 27319 -> 27259 bytes ...gular-brush-selection-90-degree-1-snap.png | Bin 28446 -> 28448 bytes ...brushing-show-x-brush-selection-1-snap.png | Bin 27405 -> 27380 bytes ...how-x-brush-selection-90-degree-1-snap.png | Bin 27800 -> 27807 bytes ...brushing-show-y-brush-selection-1-snap.png | Bin 26724 -> 26683 bytes ...how-y-brush-selection-90-degree-1-snap.png | Bin 28788 -> 28794 bytes ...ould-use-custom-mark-formatters-1-snap.png | Bin 79382 -> 79376 bytes ...w-synced-extra-values-in-legend-1-snap.png | Bin 58099 -> 58112 bytes ...-default-point-highlighter-size-1-snap.png | Bin 26375 -> 26371 bytes integration/tests/grid_stories.test.ts | 29 ++++++ .../xy_chart/renderer/dom/crosshair.tsx | 10 +- .../__snapshots__/chart.test.tsx.snap | 4 +- src/components/brush/brush.tsx | 6 +- stories/grids/3_lines.tsx | 97 ++++++++++++++++++ stories/grids/grids.stories.tsx | 1 + stories/utils/knobs.ts | 2 +- 18 files changed, 143 insertions(+), 6 deletions(-) create mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-grids-lines-visually-looks-correct-1-snap.png create mode 100644 integration/tests/__image_snapshots__/grid-stories-test-ts-grid-stories-should-render-crosshair-lines-above-grid-lines-1-snap.png create mode 100644 integration/tests/grid_stories.test.ts create mode 100644 stories/grids/3_lines.tsx diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-grids-lines-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-grids-lines-visually-looks-correct-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..b4e16cf34f70209e6c62fdc252f00ba0500f3b07 GIT binary patch literal 30416 zcmcG$Wmr^E7X>_k(p}OBNQ$I%DJ>F$2#9nG(v5U?h;&JVQX|rx15yIg-5oG$)#KYU>lL46?D*@&X}9k{C~3c%bL0VDUb{(pSM z!Ikh#;b!CJ74g$lExCWApo@GH$MG0OX$ANB%-`OL^z_WOYcSPeJnlb(L{S?@>ao4^ z{zNtJM0fBM*2W2UXCU7GP{wDiCGAp2JQ0*PFV1^XQLbw}{;;|r5% zdL0|9HkC2c|Jz;Y8kCWpBoh#Xtoj;wa=Fupv$M4hclZ6DM-cWqB$a-sF^hbA_Fy{2@?K-zT{D zKWp5Co+DpgS{fvo?JG^c1y8Q66`b|CzjaaUk_De^2r1A#u4}@&$75)|goM~OJ`z`} zUkV2sWobsplxXlbC6vnrJ&#`7?Zs})rDjI2N&EUh8n^4d&baD>Y{mQ+{`xPHhG<*1 z#3S|Y2?C_S77Mky9IAVJG1qJ@SZ>jsUaFs6y@$CY-}#W6bL9B=I4(BUx3#rZFXl&C zS@+ZOM*s5#AKJCG!Ma|R+yb0^LJZG26W#9FF2ddSZfHCLp1&WHgJoZ)aH0xH!o)Qg zY8RZ;wl~t1##1=UG@;+aBqA z`XxNolw{h`?#CsD+3)!rH1apEkkPK>|2FHqM*T%Q;VwEmN_k*5*qyVtungNtJjyKR zZN9&a=9-7c;2%S2%rCD9M%-M>8R^!Hxovn-HczEiyrR=u#DzJ1s?5a`3UC6NJf|hj zoa5Ub`ySXDL2F@GFIet<%7nqeZc{43ALH~se27?IH)}kbwt_%%heP?S#uwo*+7`1) ztQ5s@y;x>O#)ll*<97wON;bdL74rYEhk<6#-HZmoS_w5Oc(+OH#EmNgm7IM zZasw|Gi};Ur+TaK7uk3Bb=%-Hi>C4X1u`CzlE|6v>nUe3n&o;?h$&_#%`Gm*&@Lq< zARvhCTRS{G4N_<8>WX+om()i*H-EO|>fgOoMtpN|UL7@tMAUixBR~O|&2fX@nt9O1+o{`lVJ(rROdB$Mk0LdfG=3 zUHDUH$$kSWOI>V_J@auo5wOc zY+wl^Wf@F(-X~2NYvxbvWKZmD32n9Bq}SHf!Fg6zL$Og&oP?>L5Ms>E&Ao>aJcwTT zHf-?#o<3V;PNe3KnypaU-Y_-6+h^#lEKMIL6CYjHu9NGOIp)ITf3*c)j^M1m7ZVX_ zxIG{zC-3R$F(BwI^Vr@Ui4T#B>{^K4?_l0gS=!IebyJiD;h;7#ob=(Hprz>kttsyg zOQ+1R`ZwRNKS)B)s~Y9ee9d9XFTHO~Kb6(DzGVZ^w)0fIC_x?%S0*-unS&+mJ&cYc zG~CH=Q^n8b%;xO$V%L)ncWh!(kOc97da!-?8hTn+-{)#(@dS5#cu3R8M?DWKu3*e7ZR~_wbwZRv-@B$U}o~8M+=k&qPThmV*~n+(oRtZ4h%y z?wl!u22lwkmbwYB`(Br+%C;O{B>xEVp;Yc*aOA=S8wb5z0u%Sh!5eXOiux}W{EboP zWp>`@m}nn+v7ij#)V@RX)DUk0&*#`oxU?i$i+dD^tMjsGvJxC@EUX>BH&pG(XXNaR z{&(W}=hN}#vgRvJj$+;=fC`)9Ruh{|Paicqvm8pjuipATUnXP~F{NO^0 zX2IkOa>15{tJMfns}g&6(Kmc5s}j@L@LGCs{cnnla{km{87_>vjYM5PNer^4?K+4d z1{`;Cw$JbEPIo3PBW%p4`Il^W3nyjL`<_H(eIfjV>s=_5b=q9nD=-8>|L>$EMxHnI z)VXPLVPdLrgIX!teh)Gya$PqrM%Kt~=Y$*dlMoo@d-Fa)E`7!%5y@60e2ig^5N4wj z&Asq88v$n^V&!rN7Dn<<5L=R!z}{3nk5}WnrEHEqe!Lal(P3v2?<3>0#Cz^Kad6x8 zPe?2uE?>F1rj6$lea@!OfT|@Rheeu=AQ>e4aNP-;@z^ZfGE`zC<`ZA*=YxdAMtsC! z+@D=swqCht5!)!sx8bx5)g=&)~ulFG*SDi??T$f3`mduA>jUw}iP zCti|kU_bjN5*xGa7=~974dy41%dpqskuN_#{n<+yVJXREnS;&dRVR5Fqnn0J!5tRF zb#+r9>gOZg(A<(gEURj9%5F@_^jJ1BVto)O? zXaPPxI!;c!7_l=ljS?-tC`tjza@U)7)leB>NTc{i(s?0A>}v{+oZfF;b1k3z70QjN zBM=xtsZKlWLVP?oEgvl;M}8Q+bhyWnZTWZdqb;U*j5Gn;?%6uW&!X$QQlC6>mbm}yoRW%( z^Ri?9z}>5UEgsMYiIe~9o&M(jUdK6oMKH9hI_um_J8xoqJg2UXyu9g*0@7;n+-M+` z&+P^dD|bh}xw-kK&Nd^V!InVAV-ngm5!bioMUy*bS?-Pmxw&H&_&Bpjm(VV^J-#Qn zFmYgYGxh70;J7+kzH&r}Y-C$|R&zJrs13fNxW)=<01~(pBWQB?iH&#Yn>g=;HUnRE zwmtiFXYgP3yiqs(m38`zuJeg-Qbzi@CU%aIwL>K|wakai1=1B`f2n`a-p%vx15pPPfx8UnCW9j= znE*u;C;{eZo(6id!}8TWCbj>~oG7%1ktHeQpIl|bX<$OpJ7;sY&E=eN3iicS58+5J zHN?Etw1|%^IgPX}h|4eY)L5nIRbyZnYxhI%V4p2LdEO{SoXiuGkYs0PBfU;!e`#mO z#iX1bI-&1FZ3HF5B4yt^#@N9NlQycMZ~FNzN?PCW(H6CjV>)$$FNk4!;$CD!k%Oet z;-o9Gxdc=&)wtmfL6WVOEvxmQgB>hu9kzt(d;izvv=j#)!6K72Y$dm!pIZGY4Lyd} z)T0k#M#fO578E(2bx%oKD=k#Pp5D`6;zWyK%J&=37+Fv1mbI?joLr6gHyU$VfU9t3q zKS^n3;Bp=GEp$We;hD~N6Y3!FG($10W;j!Ej`3u5XGmC_C}`9OH05N386@X=dI+-= zKZI_?(7q`Cen9Df0U~I2r5Qu+;LrA)*w+m)gfwsB2IcFt{oK&fUkS`KExPEmocjFv z@Mr!DB5?ooyHPCg-U{RdF?q2F00I%W4&9#FL)INKfE+4Z{;Gd_|N1qf*3N;$BSLu&vQ*k)&u7-204*{q|C1Toojj?7upy#>?F*_SG`cJFcDq`kUgk zW|2%p95vOCf6vtD$EciO1!@<{G!;}G1YkgsNw%=RekYc9`g6LO5k*ZEJrggx7~?MT z9#NHsz>QvVWKxTesF<4=4*825!lX{bz9#tf=cFlNMoH2gKFkqV7 z?Y=PSytr7>FO2yY$#GxykrV8%p+L~j4g(vskg4ZZI-~)*sr8!G(wVA&Zvw2N{M6N=a6FWbZ6NfS< zs&MgQfq=|z^(>;v-FSrEQ`G@gj*_Dikwg4lO0r2iZqc%fig6PxAFjimK%-ZGep1bY zU0k%a+SmS_Hp*2Gd=qEm%GQMIF&Jv#sxq$X2A^|&4PW%jdb8jXa9KK}zX=`(- zmWZj|HLRwS+1TqnLFp@VlgE_g&eCZV1Rrwg=LU7M<&(m?E$W<0&W zW8`9$V*n+QxzLz;pkO9r*hJFW3XA@F${Wg{ouvFJD%?rLu>jofs}rnF-rP$2bI!DX z{J~3>uL1@K`D~)kjTDohpW{d2Ao#eL_sz9*G-AvF^xYakOYIRYgeqFItkTM zj0x?~kJ&dx?C<2A#{T?Vd_2xbtgzO^?}Q?S4%XG$F*dT5Tb+qT@-@7gDX#5%o+dTJ}O@3+k$B{~zZ(@d(oK=$*-?k&H@>O*Dk6L+;@G(gG+s|$@7yKGrh$z{@N6zE>A z&7S;Rhv`rnykYWSabtrAv9@5ks1v@g>Q39#QEUSwWlw@;$(bWr+Da{@R_ZZ(WVof} z8f`XuX~tz=WNRf8m=vQll!n;We>pQIAz%Rjz{6kN_qzuHg0kAD4>91wZ9lIM6)wL$ zf6&&53gPU8s~p9KI+^UG$qw*HG1$if%tiSP+_O&ct�WfRw$ygD}nD+~B{@F2kin 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 literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/grid-stories-test-ts-grid-stories-should-render-crosshair-lines-above-grid-lines-1-snap.png b/integration/tests/__image_snapshots__/grid-stories-test-ts-grid-stories-should-render-crosshair-lines-above-grid-lines-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..d834825dbd4d433c3a4ef0ca4ee624bd5e0c4160 GIT binary patch literal 33401 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 Af&c&j literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-rectangular-brush-selection-1-snap.png b/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-rectangular-brush-selection-1-snap.png index 186aa65987efddb0c02706ccf6409b0296eb6876..93e2cbccc566abecf1abf286dfa0f2b56394e5ef 100644 GIT binary patch literal 27259 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
UH^ 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 literal 27319 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 diff --git a/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-x-brush-selection-1-snap.png b/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-x-brush-selection-1-snap.png index aa04ba5541dca92963bc9c8e3926f1742a742318..66f9386ae76521844e38508c426d22ef2077a983 100644 GIT binary patch literal 27380 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 literal 27405 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 diff --git a/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-y-brush-selection-1-snap.png b/integration/tests/__image_snapshots__/interactions-test-ts-interactions-brushing-show-y-brush-selection-1-snap.png index 65d40a21ebcf32f76d4bb93b4b5c3b2a00ea98fd..c9a96b77fc06b3b87169aa6ca3e7b1a0f71df694 100644 GIT binary patch literal 26683 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 literal 26724 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 delta 12441 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 diff --git a/integration/tests/__image_snapshots__/interactions-test-ts-interactions-tooltip-formatting-should-use-custom-mark-formatters-1-snap.png b/integration/tests/__image_snapshots__/interactions-test-ts-interactions-tooltip-formatting-should-use-custom-mark-formatters-1-snap.png index b9300e4f8657e8579b3843cd4dcf603f00f0745f..46d1a2d2b1880ad0ff8920da9d1d1c3e454a7d8c 100644 GIT binary patch literal 79376 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 diff --git a/integration/tests/__image_snapshots__/interactions-test-ts-interactions-tooltip-sync-show-synced-extra-values-in-legend-1-snap.png b/integration/tests/__image_snapshots__/interactions-test-ts-interactions-tooltip-sync-show-synced-extra-values-in-legend-1-snap.png index 642004a548d9cce7c50a77b7ce8e61c977a17b0a..fce8fb07ce505d3bb15c5dc3d145ca3a161fbd3c 100644 GIT binary patch literal 58112 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 z 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 literal 58099 zcmc$`Wmr|w+c$^^(gLC&Euw&=v~+`XcY}0yhtjPeT>?_l-Q9KQ?mTqEp_#@1d7pXb zotf*J`84xE#pB_y_uBWm?_VuLW@|QUf_Rxm8tw8`03lhUn@fqu>Z&RtNeQRUtb}QQoj=ZA0MUh z|KW!+`%P~XSsqgd{MWUylRef76vU+c|8!Gp)yhiRebXViU*gh@_H&-DBK2vpg69>? z%^1;~?>l3Y2y`NrdV=g2yRD0(9lr6V3Jn1Ipylg z_5J(zuKQ&@R8&;&sHsDZ2IAz^)%%c0J$*|`7`C>yURZdzxp8o&z9b|h^qc(jRBcmX z9I?SNNMr){5sRZ`%zXt>$!f6!Y1_*wa$t9|t zUcY^Mhz;);mdk1NYR~^uqIBQR(~y0`!_lV-)rIWr7#*OHuCcM`wKW4J>ez?3u@WL0 z8XA7(A3uJanVo(1M~U;pUnX!p&7gM&|>KGj{|k^67I&OBp6aX$Q>TK9@M z0LA5e+iaf#<>^U_1|h%a=H_-i>B8$97%)7Tt3oIGQrgDInOZzrK5b*OV+RT$UL|+E zi@ZS`#fJdSg4v;&!zZatW-(%c34B5z6Ro2`%&m^k#mAgwj%@8Yc}2yJ$NN2@m&BYB z-U83k(sggpPi~-!(2jSzw~Slh*-{-Kcl4VG2R;*?B7~K#AN<<{7&U@ zj~I^k=8Bp3(O%lm(BpZ@j zVlHP>#~}&HZ@qr!f(Kntty|v;HIaSg!x0soWG<-9qlWt><<}xl5}n68`{ai`{EEZP zh-n>z?UA_+o~^9|7c?zxML&2%n&mrEcSjc^n~i62Eq9!Jh4)0VvY1k@QMVmj^IS`4Q54g=RH1zl}y>5Zs039JO8vPm4xSPO$lyn0L9j_Buwb!VKSx3l4HH#Ayl}k=G^UY!E%!J15tO!{! z;cq4;XV=j5tWi@r>e#_F9zrA}B)F}i zF9{nP-&BgVLaM4*S65g0t)_BEM&wkAGy=fxWHy0VDjQRb<4TnlCL_@MZ*#{H-$ZCL z#1uPM^ z(UXr4zhTQBVZ>Z8HaD&P5XINHxJ>$YGu3Ptf#D>=2rpi|di!=}yBR#blXf(W1}9uP zjlYj`6BEA?(QsKby!U6y!ihaBmcEb)L(gi~k<^$zBZy@i`FY*%6WPjXyh@Gl`i#d; zUMYi2)>##~Va!&?uxdZwvthQ03F+tBK0}gy(q8tE-1#zP(9Y&Ei`MyzwLWE) zm%n1KA-Sxm4*Mt}aIUg?(vqL%=b6tF#jsME!6r1I$fc|FM zk35}|UU|#)r6ylSQ|uVmG$0cd)%{HeVWA0E$fQWcpDg zcl@M=U8j4Z(yC^qtSq;;Z^-a+an)Zsy$7o6Jy4c_Ggx2XEm!6-%uBR?fX{R_g)tfn zAjRnBJ#-(X`~3Kuuh*Fm!nYq)VB4XG*^D^c<+fs56}#;IM)5q~!PBZ!5S6he(e*ha zc9BUgTuzU6|D{`PDONC9elfk=3xSY1c9ycG%Vv$9_7~VFC}{K(mK5=4jVdTB7o`tk z$SEsJJ4qirFWlWF0K5I-HnOX;+`2;+ZZHMAdy90s^fLMJ=@*vwGWU-k@K>j2n0u*b zP~B=~!yBd7s3OVpi$qV$rmZ2Mj7Zwmbv(T?O2_G)A^UDQEuKtT5Lw?+pQq{Caoj*Zo~vKrc-tvI>7 zeDSBSFdT!B?PpqAWL+HxChyg|!^4Z79<%>f(B^QO(%;l47uDhVKmk?N{GVNEsiiX9 zvlf`>f1y_v$aY5}05EE`wq!Iag)7AkhX!B{-+1voT#+}qU#xA$>l)9N8_mqmvr~~0 z5{79M8DF1nN+mJ{1P3F-p`xM&hlUz}H*jBX#0U!u%PEq_d<@v$1)KlW{G9j3xdJNe z&E~aF@UUbGNlo(#>F@iKSAU9IDF?9L_8n+C=ev_=l$4bB)5^-qd6VW6l9J-m(nbrl zc2uuXe@lFvnwrAs@9FAdbljGMySuyV?eEY0_b(K{DR_8z(3bO*s6pcpmyj@@w!jgr zY#D~6t!%EyFD&-Nr?+oaFmBSmA#f_#`-L(kh-`P8$nN4iP1Ns*_Le8Ob}9si^7!<$ zeQ+=w)aw4hfqIQK@lo?F{oZs*Zhd{dKw@2!^IyMyNhK=q4L8W-Hmt&itZXFQ+}tX9CMG8IjHmRM1j!JN$9{4p zR9O*=oiWYYGlsZ`$yhhbk-MwSt{kll9uBfl)Yn)k%Rgb$f?X^gY(zxFCs2$;;>yo= zB#^D3Z($J@ACCucuCFf~6Eh*bPq9Ki6+Qh6^XCEeB*N1q5Phc=gdiuzJ|ENPlL%+(( z=IXY1(^_;(mjX%uxd0^?H+?!3`ygWG%$F73p+A- ze7Hv^;eMN~5Yo`VMaX8U2VO`>PGQr;^Ow!IglhBdoRWv>Ow#+#VIq_Q-BMc4ss2YN|Gth8*qr zr(q^jr}CKv>7QL&{@bp`cQ?;%f@D6lwspO`c%!8Jc{9F>D7|Lp-31C+(loRI^Q%rN z0#3jW-SL>~PprRWyBFL#m?G%dD4+S+iR+EFy>%_)$ig&vC5S8}PDi&DT0f`v48b>M z4Alq87(S zI`-_;n7bAyj3+`|@9&@KIVdf)V*=G1ac@Y}{OP<23!omx-CVb}vKVndCL`eVsPk=k z5!K!`mSpHa`f;OY_~LehqSE5$V-I9#nx{+O_$;4=l9S} z!^%vxl;IgBVj%UKzO7xxBALSxa2CPmV#qF~wf#bkmfbc??tit|_e1LiC#PY~)xEmO z`C`;(%W*uSragV~YN-WO&Quu+eHTH|qma_lQoYsofI_vh9}S1~VO18>yD;fA?!-4V zDy850UR@q8K5Z?()3UNM&=KPpbRoY#DS~2!Gsi0p`(N7awqiLdS$$e?rLZxfD=&g? zY8_&7&Qb@9tj*2b?0S|x%hl7Oi$IN-2D802oK8q7D8l1%;QdWLrUPa*H;c;`GuWbg}FD@P)9@zJUzoWv!47W!z;I6K(f5pa% zfH$6;oFE_|{86Ho&sTDFcaQ%4d%_!!!rzp=43VQ&Lt|Zk{2(sXFuDN`^MbS!v+ty4 zpGYuRL(G90|4@T3cx1;BfwLa0A3_+p599W=wWDJ3q&dc^dC9v>o;i<#ukS|d{+B*o z_&`-~cjtL}dU||*ZYh`Z_b&oyVt?33%TiN`!BfAeeh%i8qJqNMpGK_Av-y;y8Ouvt zp@hl#po5)0C5x(>J1xNlNbylf?d6tzbP!$)_f6^AcACoc{DQQds(ZOlg~lx}{%%u! z>hc*Rrvm{yF)?v}t}4v!Y-@5}M_#@S0RMqTw=+3v!bqX!hmNU}+chm7JVG*rmxm;!XtCnu_=*Izc1-kgTy+rgulM`}-Gb=0+Wlsl2GIONC+5 zQ!ZJ_S}1Qda_e9Na!1*Bx{fc2-v{8``TWm^5#GxUmq8B8ey|vB@%0 zrhe1a)y01hR9uYI4uQzD5Cb`)R%ck)0Tm4`*-KePrTQc^0LzJ*)!f)dw(S8#r7a}jYEv3t;4qUkgwebA6tFVbUt{w}k!@;5`vU38rTbnWoLV>(-K3e_uh*Ov*hw=#vj56ObC_ja_twG0AJ`)^ zynYWQ8o9zSwXimyXX>-YBY(kvY|owz{!@C>lzUnnps-<^Qh%fr^RY# zEPG>XEBfb8eo@gE^78UtFETt<|cvz zxJ6J%NWIGZ4Fv_oUNilu~OsvNRa|rJhWm}`~vbnH36iC?r19@-9b1@ zxEM@ulT*`V*_7blAkF@Q%c;c(T6^g=vO^%-HaAmUZ$Eu#@vm`v;dOoE+m46IFGz%y z^^t{*jYO$3K@kxVWy$Y_b1&Qny(Rt?xH3}xc99|Jh6wf*2=!Fv?E@&$EY979w{Ehy zrZS}p6uH`98xFT&!vl96vikZT|4?)8%HtC1qN=yAFxL#f#3lE=Pv=)j=ji?-iI;}Y zrP9)p@4F)UT~zW1vLPaY>I5ryBRf1_ESd>Dlxd+WH9n9h?Nd`(LI*#oMjjskQa=OVWOKNegG=oL9OD1Crj~`On&fBm;LBLOBrFErw>t z(H-{N(EP;UKU?i-9PX@3>T(5X+VchoX0&{_*>9?K_F05Y*Eg#Qx__w0ePSk}@tQi_ zk%_SNzm;n>K%4MfR(W7{cCXlE%l%kxzOmtKsxRb(Q}{6$tKBwo%ZTZ&USunYd3iqS zddd6m=7!y$FUcA8fi%;)q}--e8j&PC{Xh`p*U%s^GBSE$=HrnsX>9>ddk?EQ@b(5m zpF8Yu$P2dEbG+ICwul*9!q1hAJ;s|(bF$8Z14n)OL$<~9+1Q-RbK}|qE*~!MmB7vF z97^V*T$eDY%v%jLS(}%}xeg-QhQH6yM&F1)jbE*eou&nIa;8S^$TZC+rB7}1=B3x) zueA9!-s~21_Vl>a!)20F(a@0d@}{Zkdd2!7VX}So^2w^Bu-aMNG361=jC)e6v&=2O zj;ud_p_n0mc5uxs9mhN+mt!$>v^VT74x{!Lm@uvSpan7fnPrjOf2%f|A=CqA-+i^k z^Wb_Nj1jJ z^ZtUnqKP2V!`jCC5|Tjm?$EyZKU*0uHGVQDL&{0E`I%_J!c2UsjJ%VPALY7Jht(#>}m}*E`XdWsj5yBLL9AzWetn(`EXL>NBxi`B_$gh8$UA_EPqmfwJ8=%f=V?v zHz&}x;{+HzLnsJ-1qu~YQNab23{(t|$N?o5&Q@66*%1fBwW#GCnQ+(vif7wf2Cbf)!)qLhb&)@5 ze*ZJa0-v)Z7Ts)D4X{9#uDQ7+v+db6Whz%$kL-_paLsv&ORR>5q3NI^Net zz**q%yt4IM*QjU8_EZblc6Bz&Vd`tTex2WBd2r>Y`&qH3I6Lnjyd*R8`wIGM@Doj} zj3KTyI+oJ1Y|e`Q+m#S4NJkF@J3HSjY=Gs$WpQdSMf}if=C?iWm6xgX;xs|T))pb{ z?x-ot#gCx9=d5+?dr9HEW%c0xKB;MFWGZNDL%dh`A*ozqrlzJ%>q`Hb`?U=XS>rqB zJXp@o&ad(C_M&L$>AQP!Hx2Vj=;mKXh>q)J)?j5CW!f_#J0Fg&B?k_fL9b2ESww5y zKZ8c)#^t?ntc?j;ef8j7^MhxMYv@jz*OS4(nLS0%q?((*%8ZHmwlkF6BVoLu#oNPS z{k(+TVu}`U*MOQDcCZgTVT&%FH#@mE_us#Nr`2hEtE;OE z+uw_@2Px{f6b5K1CNWW5T^%1Zz|Kx#EiEm$uac7EKF9a>_aPx6&)$)dJ!5BQ2g1U` z!$W6Rm%OsFh`c;D*yQJ+RdqpY%FE3!jjXM$uh8(;*ha^|7IWkzo-(fDb5O}KPDrBK zrW!7#sE2I{3%mqdw%a-sD^&rM99hxZ{t2y{5jZ3~T4||}zTvT>f`&dTGg<$rC`_=8 zz8M>{)h~B+JlE8mR~f2F`K%8g85v2$=bZu!mK)g7@LowvB*1n}>-P5c!I6v z6^>6%zEM5S$RRB-Rf$x(oiO+^*FvZ5Cq6Qf>d|D?eH@9a6S1cXgZsR~qz+B-Y_6PZn_cXO88 z+cRekC(NrnuL4Z778A|rG-B%^XaX7BcvUe$x0q|mXSr^SrXPrR@TZ!V9ts<yH<+8#iulv&NQ zQOKmsn4(_mG`XKls_Fv!EPt5)`lN@{VQUb-QiBduW}$jT;NfBe&g<8m0F#~@Wo2ew zO}9Kunl^aforn<;5nXkVKD2^=nrZRj1H)wc$Y&=zK7rGT+SNrgLa00%#a% zUYF{iq-QJ5aKMD@1_sB~RkAF)-TkeHSCs$x7e{Fzhe%0Dsg)UsWZia0kq%#-V4U?Z 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%0D*{3y*nF-RLjD#E(4m3I!ai9bY4BMz<);7=Ty$z% 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 DUh( { + it('should render crosshair lines above grid lines', async () => { + await common.expectChartWithMouseAtUrlToMatchScreenshot( + 'http://localhost:9001/?path=/story/grids--lines&knob-Stroke_Crosshair line=red&knob-Stroke width_Crosshair line=10&knob-Dash_Crosshair line[0]=0&knob-Dash_Crosshair line[1]=0&knob-Stroke_Crosshair cross line=red&knob-Stroke width_Crosshair cross line=10&knob-Dash_Crosshair cross line[0]=0&knob-Dash_Crosshair cross line[1]=0&knob-debug=&knob-Tooltip type=cross&knob-Show gridline_Left axis=true&knob-Opacity_Left axis=1&knob-Stroke_Left axis=rgba(0,0,0,1)&knob-Stroke width_Left axis=2&knob-Dash_Left axis[0]=4&knob-Dash_Left axis[1]=4&knob-Show gridline_Bottom axis=true&knob-Opacity_Bottom axis=1&knob-Stroke_Bottom axis=rgba(0,0,0,1)&knob-Stroke width_Bottom axis=2', + { top: 115, right: 120 }, + ); + }); +}); diff --git a/src/chart_types/xy_chart/renderer/dom/crosshair.tsx b/src/chart_types/xy_chart/renderer/dom/crosshair.tsx index c3830d60a7..4a9db4dcaf 100644 --- a/src/chart_types/xy_chart/renderer/dom/crosshair.tsx +++ b/src/chart_types/xy_chart/renderer/dom/crosshair.tsx @@ -103,12 +103,18 @@ class CrosshairComponent extends React.Component { } render() { - const { zIndex } = this.props; + const { zIndex, cursorPosition } = this.props; return ( <> - + {this.renderCursor()} + {this.renderCrossLine()} diff --git a/src/components/__snapshots__/chart.test.tsx.snap b/src/components/__snapshots__/chart.test.tsx.snap index ab35a43e06..a354f9c450 100644 --- a/src/components/__snapshots__/chart.test.tsx.snap +++ b/src/components/__snapshots__/chart.test.tsx.snap @@ -67,7 +67,7 @@ exports[`Chart should render the legend name test 1`] = `

- + @@ -100,7 +100,7 @@ exports[`Chart should render the legend name test 1`] = ` - +
diff --git a/src/components/brush/brush.tsx b/src/components/brush/brush.tsx index 410ea621c4..e89ef7d8ff 100644 --- a/src/components/brush/brush.tsx +++ b/src/components/brush/brush.tsx @@ -42,6 +42,7 @@ interface StateProps { isBrushing: boolean | undefined; isBrushAvailable: boolean | undefined; brushArea: Dimensions | null; + zIndex: number; } const DEFAULT_FILL_COLOR: RgbObject = { @@ -129,7 +130,7 @@ class BrushToolComponent extends React.Component { } render() { - const { initialized, isBrushAvailable, isBrushing, projectionContainer } = this.props; + const { initialized, isBrushAvailable, isBrushing, projectionContainer, zIndex } = this.props; if (!initialized || !isBrushAvailable || !isBrushing) { this.ctx = null; return null; @@ -144,6 +145,7 @@ class BrushToolComponent extends React.Component { style={{ width, height, + zIndex, }} /> ); @@ -169,6 +171,7 @@ const mapStateToProps = (state: GlobalChartState): StateProps => { isBrushing: false, isBrushAvailable: false, brushArea: null, + zIndex: 0, }; } return { @@ -178,6 +181,7 @@ const mapStateToProps = (state: GlobalChartState): StateProps => { isBrushAvailable: getInternalIsBrushingAvailableSelector(state), isBrushing: getInternalIsBrushingSelector(state), brushArea: getInternalBrushAreaSelector(state), + zIndex: state.zIndex, }; }; diff --git a/stories/grids/3_lines.tsx b/stories/grids/3_lines.tsx new file mode 100644 index 0000000000..fc0974bdb4 --- /dev/null +++ b/stories/grids/3_lines.tsx @@ -0,0 +1,97 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { array, boolean, color, number } from '@storybook/addon-knobs'; +import { startCase } from 'lodash'; +import React from 'react'; + +import { + Axis, + LineSeries, + Chart, + Position, + ScaleType, + Settings, + TooltipType, + PartialTheme, + StrokeStyle, + StrokeDashArray, +} from '../../src'; +import { SeededDataGenerator } from '../../src/mocks/utils'; +import { getTooltipTypeKnob } from '../utils/knobs'; + +const dg = new SeededDataGenerator(); +const data = dg.generateBasicSeries(20); + +type LineProps = StrokeStyle & StrokeDashArray; + +const getLineStyles = ({ stroke, strokeWidth, dash }: Partial = {}, group?: string): LineProps => ({ + stroke: color('Stroke', stroke ?? '#ccc', group), + strokeWidth: number('Stroke width', strokeWidth ?? 2, { min: 1, max: 6, range: true, step: 1 }, group), + dash: ( + array( + 'Dash', + (dash ?? []).map((n) => `${n}`), + ',', + group, + ) ?? [] + ).map((s) => parseInt(s, 10)), +}); + +const getAxisKnobs = (position: Position) => { + const title = `${startCase(position)} axis`; + const visible = boolean('Show gridline', true, title); + return { + id: position, + position, + title, + tickFormat: (n: number) => n.toFixed(1), + gridLine: { + visible, + opacity: number('Opacity', 0.2, { min: 0, max: 1, range: true, step: 0.1 }, title), + ...getLineStyles( + { + dash: position === Position.Left ? [4, 4] : undefined, + }, + title, + ), + }, + }; +}; + +export const Example = () => { + const theme: PartialTheme = { + crosshair: { + line: getLineStyles({ stroke: 'red' }, 'Crosshair line'), + crossLine: getLineStyles({ stroke: 'red', dash: [4, 4] }, 'Crosshair cross line'), + }, + }; + return ( + + + + + + + ); +}; diff --git a/stories/grids/grids.stories.tsx b/stories/grids/grids.stories.tsx index a5f87767d1..a67b867c92 100644 --- a/stories/grids/grids.stories.tsx +++ b/stories/grids/grids.stories.tsx @@ -28,3 +28,4 @@ export default { export { Example as basic } from './1_basic'; export { Example as multipleAxesWithTheSamePosition } from './2_multiple_axes'; +export { Example as lines } from './3_lines'; diff --git a/stories/utils/knobs.ts b/stories/utils/knobs.ts index a9ff4ceb1b..3f83a277da 100644 --- a/stories/utils/knobs.ts +++ b/stories/utils/knobs.ts @@ -48,7 +48,7 @@ export const getChartRotationKnob = () => export const getTooltipTypeKnob = ( name = 'tooltip type', - defaultValue = TooltipType.VerticalCursor, + defaultValue: TooltipType = TooltipType.VerticalCursor, groupId?: string, ) => select( From 7a5a410931ad2a3b7909859bdc5f9c11d19d8946 Mon Sep 17 00:00:00 2001 From: Marco Vettorello Date: Thu, 11 Feb 2021 14:42:40 +0100 Subject: [PATCH 4/6] docs: add favicon and brandImage (#1022) --- .storybook/config.ts | 3 +-- .storybook/manager-head.html | 1 - public/favicon.ico | Bin 0 -> 4717 bytes public/logo-name.svg | 19 +++++++++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) delete mode 100644 .storybook/manager-head.html create mode 100644 public/favicon.ico create mode 100644 public/logo-name.svg diff --git a/.storybook/config.ts b/.storybook/config.ts index 7c3391082f..6ebf39a7c5 100644 --- a/.storybook/config.ts +++ b/.storybook/config.ts @@ -33,8 +33,7 @@ addParameters({ base: 'light', brandTitle: 'Elastic Charts', brandUrl: 'https://github.com/elastic/elastic-charts', - brandImage: - 'https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6ae3d6980b5fd629/5bbca1d1af3a954c36f95ed3/logo-elastic.svg', + brandImage: 'logo-name.svg', }), panelPosition: 'right', sidebarAnimations: true, diff --git a/.storybook/manager-head.html b/.storybook/manager-head.html deleted file mode 100644 index 1c18c9e88b..0000000000 --- a/.storybook/manager-head.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..82c04278dc5bf10f9cfad0a8dfb9450f418ff32b GIT binary patch literal 4717 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 literal 0 HcmV?d00001 diff --git a/public/logo-name.svg b/public/logo-name.svg new file mode 100644 index 0000000000..c9a8d0f2f6 --- /dev/null +++ b/public/logo-name.svg @@ -0,0 +1,19 @@ + + + + Group + Created with Sketch. + + + + + Elastic-Charts + + + + \ No newline at end of file From 993c60530ddbd29c2d87beb47830bd95e5c82beb Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Thu, 11 Feb 2021 08:41:00 -0600 Subject: [PATCH 5/6] docs: fix: line color function (#1024) --- ...function-visually-looks-correct-1-snap.png | Bin 40470 -> 39387 bytes .../9_custom_series_colors_function.tsx | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-stylings-custom-series-colors-via-accessor-function-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-stylings-custom-series-colors-via-accessor-function-visually-looks-correct-1-snap.png index 87c6c9c2a9d63b71555d2f4ebf4b82e2f39370cf..1c69df1961b034fb03c3f293bb0463499db0e1f2 100644 GIT binary patch literal 39387 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
EHyV_F`#y+=+td1aXb#M_bmy9b5iAJ zV!fU$!dEu*ZbopdYffpOD@O!kqo2j%#cf7fn z5RHhO^JF+4PYVP3qB=1x5y@TwbP~a~O7J;PxX!tsTf>S+T)+^z3|}mPNx@e#-DT?u ze$JLu@U8a|^ja(vtu<1plcT$zTPCNfOT^X$92aO5vd=<&u=72i`i`XClIZ!Fo05rj z88K&b@GR2y+{`N(SGGvk14vS~0D8G9fZSTH{!w$5_?R>1q`6t2aEFSWDJP z1AL}fSa=o?;sx#~w-*kRSS>9r;M$Q2Go_?h%Tl^49r!zf>7{PpxdTm@VbJ2zliV~J z)(b9XVCTq78+38HDG=shm3*~-+`iY~?&f;2ZFWO(TXup^c2$4%0yG)mP9g7LqkJfe?PnF0CQsiWh=B7BhWN7ki%)< z)CSo>E}ZrzrluNBq_#hfFtf5G=fAV88)Dxev(c`S@ahb}e2I zT+qK|?Lh3xb?-{)xzh7$TV*`d=K{}JVrcN381}W_VBJH1N;Z5-=Wu}$fq{Vm7^!iU zXIEB&xXKm*cVuyKF*G8AnjQb6l)IzjFQJSVG8Om^A$1>XnJ?sfu46`=gRT_MOQ@4- z4Pi2RiD22dE~=2TsFoHbi|wdNTYRgtD}#gm4X=jxgoM5=B;~k%;w$IsP^9>jw?6-v++S4; zg-a+fSN#-@sn9N}H3e<$PP89B7<&Kg>=c?RUmY&ty0$^{_(LwZ2q22hem?>_4r&WL zvitAA-a=kWs~yt6-(@z8;1XuJcWS@THCd_+3I;wqzVAdkgc|}=o8sOL7pzdHaWQt8 z-qhSo62TpaBrOTHJ9l(i!&z2_ihOsM2hUmcE2~=9Vv*)THL|s}1#<)R4mKvy=_NpK zFg>=hFI^F1VW{YC@)LhuFgb^GmmS!mp<;828P>(n7A!Y$>rLkB-7Lz=U6n3JIEdgO zh3`NUc>*MFr9YRUjbmWLHHOnX^1gv&$Trx--(hCvXF0rfAqrS~wK1pVs6;Qg4{-`f z0wZv2OPFLaFT#Hmn$>#Xk*9plOMxRnf<{jw0{-};#$Z+nI3fJ#wcv+1WK!ku!)y1$ zZQ+M^^#3=#Q39X0CXXL=vR#QfJGNcw`^2|iS@4r*(;=2#D*Ty(!Xs!SgQkV%#X%&vFguFCgBz**>Z(bvjI-$#F1x!pnc@ZoNx4Ip0ipxi(-|NNO$ zSQxsrWWs4VCT(HCiY_&iVKjsy-Zj?UxCs&tJQ zfb`vl$s$at@TxvDBNqv|TUVPZT`H~7H_q(QX=C@C_mkv$U3Tyr5Tgw;RuciKAR~$I z!#3XrUA*h}5`Pb~+`Vf$Pzk-5dM{A*ss4R^O%(o&S4lC0o=htXX*4wT6Z>;r%du36 z=V)L|u$}lcKJbv7dQ;-<8<{q?-->lD*eYD)sN*xOG@8-hGzN7!-+uSi2ReLNobL(P z=Tap7J!X6|LX-S-HPkv|8XmkJH=WcG5XLY>|dm#?tlHg-wii+x+DGDH|{l@)9DyatK95O3YE^;AE_mWeUkX$ z58OOIUyrmO;WrAF6I^VzMD>)WxTA#MipaE~j^j;8P9}DrOg~TFPxxSK^f464oH|z{ zM6PXZjbfNzKX}P8o3Lj7U`)XIGc3Xs5|X9hvz3C*eAnYQOiWCX97g!ScF*E!A7Gje ze5YY!3xsKs9|)*Bip_`7zXaG*I*ymv1F+8fCVjU-y&|QcaFvKbIuT?s80$gsd~98k zSQoiQZ52bN;V3pesD>Rcu0_Mf%$x!e@Iw6%^plR@IP*`2#nSWp|HhX1cQ)Zq5p3>o zxQNXuU$(1(O=P^bw*jO#eZWW+SfKy&s-&dkQ?Mvn>Pv_AsB<3wA})%+fiF2jJE`8fNrSO0E^ z+p&OyNrI8NkY0eq_lo}$3RdxC`IgpJiuSu~Y>WZ|lparSfq@h6?Ch+#-#LAK{RfWD zf9)q%>7#l2tDg-0x$MU_m6Vij*vp!mvwRYrinIxgW9%`m1V!f0!`)pO%lUCGdDkZEvlXm?@`m^1!(osvadt1|oNrh``Rp{#?@^ln%2ro+_rVVR#Q=T#`gpbE+(who zSrEh+n+9Ul8|>>*M)5jus?E&Ie13W>QoxyW{B+I!5XOK=J32bnouFq_fPMVy*RP}P zP~cO`Tf}EeUO#OO3CSzabalyNDn5TM0nOzS5=p1YU9Xf?RmELh1t4zW@=Csh?W1ld z@-01`=IW=eVsoM#K@Cq)S`lSsVjvwv#4kzP**ye88(f_ja`7m6Z7;4=e=SfpR_!Us z&;R!ATOyo}R02-VG&S4aT_QsKs&?fA_zjLo^f3YLe(+XwAX3R8%6XFsRE$|p%;E(XJ-eBv1(Wu~@7V1ush zVh{boZBIyVU>lSNv&I>y&wEzFA5`#u{%^!rx!T+C>F@pSE~4M^KM%>buqlO6(f{Re zz~xo&9Rg1rHsr~DYWEX%t`Vzqq%RzFx`NdEAir^(d{27&?p-<_o+ucx!df;HoTyjy zZMHRHd#z#}6WS|&+6`)n!}F<0S097P!wx&$;$;U@z8a(Jo?^Zv@(`*a@j#T$hHEsp zwBT?nw;nAd2dWjDkwKyhVm*Ht5MKFZhXMBhQ>(xS#GOCZ9J1&!wH^!9Xu;g8PL z=3cMdKG^A%^MXm0*S4%8IG(+FbqAI{T5b;h%dlD;;rMzR(Ep{}cJUE(;$&*Ew?Olc zHqs4&?rB^bt+0WaFdm9U-(lt>#z*bK#_3Iu-t*I51cK)QbO#cQtwknJ71pG0XFF5)~jFrfD(VbSeLkpRK^dCIf~ zE$7vuzQMum9x1jwow^Iv2Muf&DAOA%&yJS;Ztw*6_4T2j25c1A=zzhi!Q?W_%FPSf zXIl|o0sXpDo7_M|j<_AK-eP3jhGxm&xVUy`0j9QnAd%*QzUDu<|K$k1yz5YoU@#~U zE-fvom0Hojd}%zG=Ci=x81nCm`ZYV1&!{sX~DD*6KY|zEEGcOt?KE3q= zDk!x=<0~+h4v&KKdw<+0*vbjbL?BP-;YdVlYSGi7D%Q&HE~v4jrlh=M(J0O}9b^St z9fBHVRjmdrQcXgu{P1m93m@E1rm3Mg=muMs?6SG&M7s3%r%S3xS_qtI=9?wNd4 z(B&n2jf4cfVW9dW)v~>E?gHLL-tZK~TfrM1hUn0##E+E>>COKzr9Z_bVOA3c<5ifD zi_hzGYmr%BBEnV^Jk7vF9ytlli}IQ_?GKsN3%~syhLB-g>I(B&>JEmAOrh?YZ=|r~ zr|g!Cfgx1EF)>om$?X+DE5VCP52sg86xzYUkAf=z4)HvvT@$yhkOcJk0ORt!0tTkC zE4L)!e=Ui6PlG!YvQwl?ih)J7S+CmPnx;lY+H~+>dq4sGVcGq3S)0S4(Xmo8;w zMsitFp##wGf{);M^T83u^ul8=cv*|NR=F*U7<1j%f=@u7Y8VFx(}9O$`_)aQ*3;`haI zp{i&%F=)l_6xbh0cUqvA$bxcAp}-ZwX$BOl8n9TB~JL&Pq4+>RgzwaA%#zW_B z1sUHPW(3SrnMwLcMGFuKIJk3}8Ewt{grxnwh}VUOq5E*h(6HNqa`bDGE&o1E7Ap=YHmbsNRlSx9Z@T&xO1c{Jk5J0|g~P=@1184a6w( z!YXkp$9M2~)kpm~Te~^#aS&Yc;iwF8?}Doh{#fzUq!?C19jxys7wU<{Kuwp@EEqJ@PA%lh_SJ1 z=^g_imaD8PBZCP6*!mMFDHT(tp=3O*r`DGUwxZYSxwJ4^!3A$e=Pa;_Hui=sw}0sc zV&ppSTOiQDQ4O3_Qs@|an}tOn>G;r0!}Vx~=FXi(@6|KZFtAI6!jEaF_#N&c;&|;a zxu;|@5=y{Q0fHSXtbg=6h5c7Ei6n6`T+dpM}YAQFp*7%8_>1<{X_oc zXWH818>dFopG3dttQ459{>n?%Su<*?HZm}v44N%~;`QlykC~adQ%|e2lf#oq0{54Y z-nJzOA$9D|wt3w4E5_xa=m1H}w~P$ku}Vkr(J@&4e;!P^?H#C0ZX!DQxAEWzZEvBI z=$Usc^-VE6UWwfC@xg&q!4AP%zCeq}uG&*~+exNow_np7b2~PN;Dkinvl!w2(tR7z zZ5*n`+(_WIaSk5;9VVtP;BGAIVw*k+#jSWwYal&%&JFF^k<_(#w}Qe+Az zZRkp?5!=nBYxb literal 40470 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

H!7$Nk9#Ho0EV;@C@fw-&CcVXZ;EMu8Y z%XRn}dTQ#I(Cabu;Sx5L2yBv2sz1=vK$;lgpHmiM=vCV|ii5#2V@0LBq1}U1)K-pE zB7caSnm1Ge7)6Zw(*vmD5AO|9@Yt?~q5TTlG{Kr6qzTzWnq#|tj*80k@c2taCPyKU zO|K&gTQ7mzHXG8UQq6A{CE~f|fl8!YX`#i}MT~fddMR?{wK*KB`RdaAE=Pq_=<_Wk z6#`J@5II%V2Z`OZBEErv`Ap*>;5%~!&b4@NT$Kw#78ZaWr(!p9cIRFPqSIz2D1s#>*8@c2f=^j74gS;1~7cwsmHa2tf}K_mMLG=j+hM8s}3!381| zA|dE2=!|(e2ZzC+7ij?r?2$7ePFY*O7Km0Em_b{UX diff --git a/stories/stylings/9_custom_series_colors_function.tsx b/stories/stylings/9_custom_series_colors_function.tsx index 280a6d0c3d..baab617a74 100644 --- a/stories/stylings/9_custom_series_colors_function.tsx +++ b/stories/stylings/9_custom_series_colors_function.tsx @@ -39,7 +39,7 @@ export const Example = () => { const lineColor = color('linelineSeriesColor', '#ff0'); const lineSeriesColorAccessor: SeriesColorAccessor = ({ specId, yAccessor, splitAccessors }) => { - if (specId === 'lines' && yAccessor === 'y1' && splitAccessors.size === 0) { + if (specId === 'lines' && yAccessor === 'y' && splitAccessors.size === 0) { return lineColor; } return null; From e1da4e578f619f19813c7c3172ca2c972fe188a2 Mon Sep 17 00:00:00 2001 From: Nick Partridge Date: Thu, 11 Feb 2021 11:27:36 -0600 Subject: [PATCH 6/6] feat: sort values in actions by closest to cursor (#1023) orders array of values in `onElement___` listeners closest to the cursor point. --- ...d-hovers-visually-looks-correct-1-snap.png | Bin 24383 -> 30516 bytes .../get_elements_at_cursor_pos.test.ts | 98 +++++++++++++++++ .../selectors/get_elements_at_cursor_pos.ts | 15 +-- .../xy_chart/state/utils/common.test.ts | 100 ++++++++++++++++-- .../xy_chart/state/utils/common.ts | 11 +- src/utils/common.ts | 5 +- stories/interactions/3_line_point_clicks.tsx | 15 ++- 7 files changed, 229 insertions(+), 15 deletions(-) create mode 100644 src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.test.ts diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-interactions-line-point-clicks-and-hovers-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-interactions-line-point-clicks-and-hovers-visually-looks-correct-1-snap.png index b49ab72d60331904c6c539d19bccde5ca93afc00..970d228afc9769df496f72da893381200f28fd9b 100644 GIT binary patch literal 30516 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

>#<*%DVNde!C+ybOFdC~Pw%bOen0xF4c1=51 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 APyhe` literal 24383 zcmb5W1z449yDdBs5hSG>q*GF)LFo{r1VmC06_A{CgLDaqfRr>yDiV^?AdMg*4I&^d z-Tyt;`u6$u*=L>o?=vs1YpykY<9VML_dUivo;OTGT@eqP3LAky;3+G~X(14oRuBlZ zr&w3um*1Zsufi9ala`_kqO_j|{^dGCS?-RGTk6`BtIjLEmMdFNf(1q>!!Kp&bA&T} z*VGIPeH;2cs;z({FDZ*T<T>YOd7?iYhB|l`S5*vkL~Od5G8^iMVL|Q{)DdzX!7OQiU2Y&L zyx!f+jG^&te<^5!XdUDLFVe zUMewT;o${o7213qxQ)7Cj_PEiRG9{;S3P%YBZCIOIH^ zfBc}L6+_mn8Yn1Sxq?S^8L|8|p8y*hTjT!yAh;ZRf=ZW#06PhG&8JTc;^K8B*~FA- zPH%`#?SEbFf2Ja*$iT>GmAIRiLoe=vdvvS)Gd=}lJ&0)&f; z3;fsfxWq1f+Ik<1oderD4OMh8>l5MVW4sa3@PH#5SVkLvLXM9;QpKFHV`F0v>Ptth zE_R!!J_(0dID)l5`2OnbOqPn;Xx;^kH*>*A&9A*v$|=>?Y^Kh@8dBZ<+DrI|NoH(gY7~gqsFN+DTT`At8>Y=8F z*PkltH1;hFJ~j4pmk_42pZ)oSgxaOgw+Wb;nXgMo&>&`)mqX23gUwcka}Qy_uaS{; zq#1?Mecq24@8Z&4NPJsZ@b#Oy^Q;B;4uL{bQUZJ7I}+NM(9j=+%G!)Clbx?1wl+@a z&G+7zV6a(v6Fqk#cdQm%TwENqsw}UnBBKo|xX)tJ*D0K=xa~Civ##`+)jNJM9;zA4 z7iOlIY}?~W4J>Kb~XXWTf$e)kIfrAiKk zur2Pi#{%yGjb~9kjqgS06D1Y(AVb>-HhN!@ulYg3hBJvZ^cM#Eb|hq^X19G!>UYM* z2H%@wo*mA!6NWk0ABssyria(Od~i_DBP`hYeg%h5h=DA|gPp%Yar2hClAK&H_qi5+ zqqH|oGE30lh>m%Z_7k~%>hQV#w3IVr*$`ZtpciWSqgLC0xa^u6^zNO~G!T)Ik#+U- zG;JR8o>yKHR#AEHyu(}b(v>j6#2_GDvd;XrFTG)-mS6S7KEt%<5*{wC09J-q74ByJ z0imwfo~Wvrrl;#%9#w?ae5}Yb+iY`TjDgQRg>^5pIogXFTYp@qB_yP*JyaES6I-bk zPZzg86R_Nze&KAMf2*#b>Eyg~d9(=gSHC+2^{oyD4p9sj7wlBglqgv7_1nj)6e6F= z5gK0Emot2-XcVLA0)v7u80pf36&Wq12A7o8)q@O5np5mfF<4ov^`ga{>rYbY5d|eB z@?I@;+$Zx)-zO%Tr>F530y<15_T6xoHvu`#SOX7^DO zBMfuOen+HD{OFC&;6*vo?Hae5+Vth!L292(jJ>IUd(sp<&@@Jy?H6>lu_@L(zZlTd(fR!2xPQmZ)`WM-kvwbv-R7~~ zOa9elvL>HLdalUoO4*FPnd=;0JYoi0gS>z+bVh5&SsJHHku-vWf=ansIyySDR?R{> zVHT84i%pJOds&!8#hN%{{t z6up1+(+$_zaa2==kx_umN4@kQP3@qn>A=9&$lhfG>)}J{w$o!KW}>kE>9MH>HUYtV z!q1AW*~kILQ+xXF_|Ets{3@3Ev!4uXApBr0Fx^;x+Ina`hLid2>0reZR~}aeE4z;8 zCK03l@pF#~Q=ZG0-0gdLYyGO1$2`JEGNUm5fSHkTVcTN!{Gef9OS(z7t}H~6x5mY> zInks<&fOj3_wV1a@t$auln)4Y8_m(tU;3^HxU5fy{Pr3U=@gY9+JcR(TF zhDc2l`;bFi$@bNE#xEu~+CRVL&eA3=@l8C%@Y4AOa}F_IJLnoi1|yG0i_02^qMus6 zt?essKv&)PF`g@$qs1Y0vMY;%qu-H=gd_r#o4$t}wy&o=-X1t3%R8TBc!eg+oWBU^ z2sYdK^<4jWd?xedjIoQ;ZyhosqWznZzDK!B4AqtL%Q+9+_V$|Q+R4*9{LZBie*I}i z+s&SK^Et;a`?JD7e!)9Cz_o_3e*E^8QG$UGt^>lEW= z7iJ@$N!I^ZOJA7snD2>g-ZDI}BYBlrIqnUqNo3I0B2TsLl#GoH_n(~|GfT_hPfklM zqkH|dj9OY+*XZd9lJ8zYP>8#5pPt(K4*l1xW8|3>Oas}f-L^YPO1b*QG>kvb@9#Nd zg+7eRZ4KmW`4sUI7h-m>(ji$SwXm(+Sg8@e-L!;`o?doo=|=j(rAwEtQBb&bI<>dA zE2*i;TUao2a&Zxol49`k@+KuGSIQ$98}`qV7iu18N4Z{!B6@v?RjApYBZlG8fu&(h zVF%NOchF-~XVl^KhCCq# zCAKwrxhA-(8 zCZly|So5HV+81&ZO>rh9>(tN?;jLS@*xA_;h*WV`d>$SigkODqeK3)cj?M_5YWnNf z-}pKvCa5VXDGT1clX>=x118zr#>Vu|6LArdo5$rJKaMOavRaYqed*b1YkcluGI%k| zQ{8zqKEUv3%#zupkDN9Ha_vp5nSky2_K5E_4op^7R=)rTm z(_20^@yjbl9&%*d( zm9|UM*A!qKGE?27VG%HudOtIN7@3b-`xgB(W+3`tpF(u!{&P~=AZR#mc@8mUfu_UI z_gm*??7fe(vX|Qyj2n|SR{{Z{(!*rmKK7S6XLablKvaQo2i=&G~C4}Ula4elmcbv&sIxHBg-GnbW(B|O}Y z*K|cKu(Ou5>)Wf)Xz0$7cYs;DI)>AtG_^h$^!Qh=(aPH)-&e`2x9zyGt_ZKyrgEX4 zP_qa~)UfOc_MdWwrJIer1cbEmyzBTWfhHdWx7Sz9|9(R3FkLPe|0PJ-uTfJ+oSu3C znwV`&ezJFVZZN-VWJLSO+&nfV1xHm?6`u8TclTAq%hc4!SFcEvn2BBl2g?-d{Jv@8 z?k)-xs<@=Y`M6Q;Al}#uZ!?$0%&F_{kml}mh~mM5?sGg?;0k}CMjDY+e51pH0&@Ka zsa?Y!8E`7ICr@0*l6H5IBj3I~g0&4vFwOk@JOc4=yi0fgMG0IiGcPZ%MEX)}f9lw) zS>D1r{lS#wb$_Ozf#$0fu69I!&8GYpuXj^~?dDs8aImnj{Nxz@foLQoj2bNf)!=(N zcpY&&L&{r2L&NXgJ5CErOLztu*7!S_8lU_6@W#i-pP%uEBC`rUT&i$+-j-f2nw3rQ zN^$b!(R)Ys(_3eL?~cWW9AHq9EjmB@A|fK7@gaMwV+(&4dzODxaDg1cL5)= z;}Vmw5@O3{)j4)CBEs0_L$Ou%{@2rf`Dy6s>w+3cnqyy?C&R0&s}74_NO7re;qo?} z3LviYZ*Rn7T)2*(p1mHzF*d$8^61On%lr#!E}iHLhL7*A&Sr5%Z8EnFj{ zd_hX7X#a7UGkt5feJHC)Kh{AG$qbiPt(D32i;BXlb=|}dle?6w6~?7kI_Z>ZP;$k- zF7$%Gf+w+uIvo>HX)wjNFipb3!V)FL$;nA~8c1{&#z5WFdCsxJ5dS7L`Vk2ctAgp* zps$CntQT1fjK_kNKRlSp4BMK5V*-cYGo1^0(GcPAWa&QS6{EUiuk4CMzJU7zTSg$3 z`qKgyLTD}2H`MsYwGHR zkIt*As-mPU1d^krg@$}1r>d?rT~-Ttw6u68CMJi+ z$62MN`276*UESUO2??ZtJhN+Sxc?UzHR$>HLcdrc=&N%gwx%b`=`Deaj znj6-IML*ibCnqxn0Amgs2udhSUKWv)YiV$HqyL~1UfwHBVf(E*@#>RTBw1zNip|~2 zP49Dr16b0K&mB}Qb=0_YzS>9!G@}kmSfrq>rh31SmtE$KiJI3hzB`MON9bI2bMlj> z+Z$Y;i^=iiUWqbQW-~grHei(aiJ!DIeh>M|g#+0sCNbuE4U((SXc@T?ORL|j??qV9 z?mIi{Z_wjfpBH7_nH5G4{n3@*N$`1m_zi~9+Zop0j_3%{!#_H2PyysQBP$z@_c!0D zFr%sWoTiL8wPSI>L> z1i$`oRfjg;^@kh^F!YD1o8#08evj=Wi)bN9GY&Drqh&50n{PZTmU6{T33!5PWsdfY zMeagfF%p=52i6i#)`A9(!zUa~t{=%6fs%SWxXaW*0I)VjPCqOS+3gW`YHJ*V3}gquj*%7yX%9_a_3WS)XJfH zHTKO^Q{_@GvljHD|EE_@B@hN12)S2AbiO1dD5d?Ou<7fCxJ@hKupstpZ91}T%iaFv z15^N8pM0|hWViskNAa?`VIm!j0QEKF;Thix@1!?xE+KmR`nJDtl}!qd1Hl3a#{XU zlA`}A4#6A5bk4ua0Mi98IUN6bf(lCiyCueR{W`+m-*rRC$j~ryWJE_!K_TnI2O>>P z&8T|0E%{s-r#64h+62_$@GkG6hx~m%6PD8+wcd&c|V7ijY3SBh>bFL`zrbM+b zn{FfxFJuXng$L2h3-)uQUgBaT4L|p@7GB2Cj_oQO6o6n9d!uqhiNyJst1kfdvT)&(0<%|l)u z1LPG1;_>6hB2K?>4GnEK-@Z&t9Mkw55gtzU#nHgPpq0YT&d$QZ;_bV4*txm6T>}Fl zb#i%0OD$pR~97Q?5+0=S&&6ji(Wn&x|JfV$eP z=@Paqh3F8-irLwDi2T9?`SU~wajd3RDB$AIr~(h%?>gM?EapqCL1g&Dz5w+bmOKgb zpI>!uEf(G^?(4q>_xmxp(L+AydM3Q}!Rd3}EG75y$fLgl!UX++GuKO@)dxw+N8;R) zHNyDoL6wD+({vD%NEof;oegdn>$GQoC?)GTlQlK}awBu4xjg9FS)xC+?%eE1=Yv7z zC;!2P868p}N{*;Ja#C+KpTfSo_B(nLy+waenN1{q8akz#-n{BO@;*UOW`0Q;bma>d zlSaR${GxI;n`k&OhY6y)ezD4JHfw4xDQ+bsjex*kk=%}+wX<`!p*eeKW(a^m;L(y0 z3)YWDGUYj^Im>L^uC2woX!+qlhFl;oo{0YoU%xr8-5H5(qE@x(DYH%iq^>xPC)=x`(B=Dvc zGmWmZy~tp&de@Z4(jv#$ToEyo?2|9u zJ$Z8Lhh#{i-+|3&hp=XPXX;3$qmp3`6Hc|RVjf&Su;i$U%)lU5RsXIz!5`}V>u*M~ zK4W;YyAl`>a7pL>eTM&2i6KjUy*oAbKvC1Atli05lv-w9a$_;D)APg>IcWs}dAVt= zOPXN7`J%%QpGTkmW)w!+kJPQ?U8w$e9k1l`@$>sPHA$bIo^DWO4?Vq}I5U0q4rAXof!ym5|gvHIo>&W?+bzbL;QV_9)~cV(XK4 zeJH=c%b2CBsi_ws|L$^<60?Zt>a(sK)+{DXahCd=ro;J&^6KhNNS@2BMma^q#j`yR zHe4f*W*+YxJXDyOT-;Nm9M~MCidiSGh&6l}L(0?%9K}~t8O5-NGE`D;lB0@e zlPS4wEj@Zjnk<(&6?aOq!uh#O`_C&O8Kkr!SbnoYE2N~P>|9*vh*t>-bG^xeP!&T% z{9IfVBC&_~KqKmS8Sye9AxJ$<><(*u^FJ#(t^njiAqfcyz)&hHD7qfA}CHCwDnD%`O8s`PHk-2`U(cI^kD|SwDAnD&|vu z!pJu3;nFtWNEZPH0eMrwxNe4c7?4AKVi7;V-p8IGu4SoNj**Zyq>H`Y7b%TzTo?KHyxBf+ z0(J7eEAKIwG@V8PGs?|Kal|O=V|i>3g`QGLd@H$Kl_!U!VGOLgu#&oBbBLc-VpHzj z(#pM@Gxj&sQL}CWm)-ivX8Qa~U`dx7irJ|i$9%5gk%XWjAi|rw(E>;hN$+KR0USUg zh&D(8vDRA`p;Kl~`h(reYbfc%N#MNz7m9QR5+=IhPmTEmY4RAAv)T(lb8!ET7{M%% z=a<{a@p(*$0)ZH@I!`Z^d7vibnsxn{`1fy4Zgpk9l4Q}>Cn0__%hzRF z6zYEq;>xBOLfUKPY+WIEEzy;1wL=|xR%!FpZU6G?bP-gHap$9;qNrjIKQ0k9XF&Xp{-qAol=6|d33*<-PTihB04Np4<`NLy%{K+ z&2A23eD&N#RUZ3{N@{|J9%c~=`;aBNYu4?zcguc%<#`3gHc;?RlZDyA8y$DY^FT>J z)!*{te|Q0oMUfVF@?Cn`hpC=C;cc6Lbr~=Oazf1%Ro=#6(BfVql&~{;0@M`(1y`bG z@7A6lk9ErqUUDm((SR}EZK>!MpIu#k5j2frWLCt!YN~DB^Q%Dp0!nW=LVJW4c z!5fSj7A=#L_-)C;?Cj`nTXYJK7!*;-)6VeJJPzFkuj7{0dp38$rsY zdz&-i(OgTAtI<7WokKA|fJhKYoO=%>R!> zzs<{Rj$A$_^@>l3PI~(cLf%RP1Fg83;<63y_@U&tn3OBI-ioLP$$|7VLVJGB=2_rm z=#qRVgOy;*SWY4U&f)d~g_M_Dg-J?s^3`0et59+Xl0g#|7Pffuq*_LWXg#u)!j4|u z;trcta5R~2SLza6>+t+wt}h!DiwN=%n;wNn5C{7&?L>yr%Ocm7WrZHafkP>5-c2@ zZFh|pY-c%^Lmm|+me0}5cwgc)t!}pKBO5fFNM`x&@zKr_L#)zZgXe)X?b5!n65ufJS0Z?oC37%8srL*4+Ofpj`8o`Klk?HY88?IWvKBw z5u{|$uGt)@BvowHdU-x-p zd>j`Q(b3V6t}Cgk{-s}ihA03WN=8HD8fauMGcsbvE1rN(1s;{C=)!mJteV-F zjFy|`#A(v@nRAH3P|$B~5Hr1OYmGVcee)%W6gjq2^0JbgzN0;F{|t9CWSh$tkC~t! zjITAap7{{{U%5h4!$DbgHd8PjbuffT8O{VoZtmg-;&n+W!i`NpC z`vN620ptso2jUR5(zh4XJT0aZq(mtg5Y#ILr7@v&zdb!Wbokva5(e8to_Ak)?8zis z!+OxVVN6W0)C(VcZhX0t8xlT}>07^JIHn}!6*FCO-j(9>zME%=Mf51XxNZ4}QH&^d z+6U1*Ec_aXM0KH82HH?Gh;Zl#S2Xb%7seMM_^KR94 zM`pwF((DV+aZ#Xd`y2>{T}8Cn#NmUi?3b|*VjV6IEvY{`3N?jVFhu*V>sZnbua>iS zNstxy%ij`Tz4a-DO^WLH+ADr8hwSi)f#JX&b`F`rDxsPO52Mhv>C9o(UHKcoN>*o* z6;VJJcisvu%DQl^$fL?$$l5l#P4Slk7=k+jqBzsy4;GYq5;AFw3Vp4~NFqzMeU6`r zQ?P=E1*tx}sSmmdjfC&AJ z`1SyG3&d-Df`H0G(e#NXZJ>|l4|n=AJ9#y?Tvq~w{I&H5!;pS|2LW4JuEt>3;ka@Z zi#+K35!?x0%LULB){^)h!ih|8-dJ(#wzvN1r2({*<%|uDmb19|#%LIHa!^zJd5mgj zhjUfG*E(~pt*`TYA0tuKOI>v{{b6S|NRH`ds_{-(B~e0F}ma zKoB6GAsKcrCjU{gFV-a^kU(WEkZ@^oZhgN$e;kV+R9u;xoBONE*84^Xr>tS$py&lj z7>ki`co8R`?SuhM+IbGNc^AR?+lt>q^(IirB^QtNk#+$*$n=H=hOW}%;sf*OdMf0p z<^c@j3ISbYYAOv035n@Qfu_ByYiGKorvVc^rN6;*$za=4e~h#)Ed4i0^N^Qpt%RZL zyGm&Ti!i?sbH{Spx9JcMRIGSQTq*GNSL5url82BKE5cO~rst?X#SEX z@ips)*5afb=H(z{EsPXuqblZ5gngNw9&OyGC5Y%=_lrYnTOb-^Wuz4CpU%Y7^CjI7}&{&yk);wc*v@Q+n; z^`%dH%>|LqE-i(Ghhs-l@Lz(V01KauzR$4XM75owk`h+V@X1BvTNGvLK|=t$1XclZ z4N7Bc_dOph|C=&t;t!XsT&3Q6KSSZhzH!0JEN4L@Q@bli@KD^X_@RH!miw~B=pWw) zEZZLuFwqg-)VbjO`t=J%nkucw1}m-g5Y>q(h}#3{k`IwP z5MX4XS_>Si#%+7vyYp=G%FTm`mwBHaHtOBKFC>-+4m42Y`aEX#H^SPUyOnNU$K4oI z1{|vfg zUd;gS$Lw&~fCP@PlHaM21T#+}Skc9^R42}{RB~$kb(jW0iD2DWj8aeF$hgFg)9Yfpns7s@8jJ&y1Hay&c821 zZUjFT8&qQ7xpSwWpy0NTkCf$r?eQ}=U+&B!LEp7_^(ara8&}W7Ma->Sc_9EPy{$CQ zpY4-9*=im-J6!!73&J#0qqsLNmq4^Bs1gdbHL!@}F3QG3C@Wt}s~pomoY#kdT zZ)|KVC@PW#J=D?B(e&|SC~0E>?L|k##l^kVDg>FC->l{G;o;%(O>zQ3t2YDpXkH}i zgv)j1O>^r zI>8vYZ8jWiEhd`$mU#OVg5n8W0P?eK0(ZvR9uTIs4v?h#FZu{+gU)-{I<*NiG6I2y zY5Z^{0qJTZbKF|*md$rRXk@B{I}xJXdW;7Jn1zLfVg!oEyik(KSB-cu7`B`a0~T$k z7?K5{phmxAs#;FmP~UGZ#rFk-3YU;RGl)~>ed)>Bj5*AY2E&G zvu%%P-$S9hNW72lcA_Jy5Um@H58*v@*RVl1!mp%g`+$MK44Ge=weV5Zj^;;%({E~E z5SR39L7<@A*Z^F7lOD;`)fy!r)mgfi$8leuONi0;Ca{+?V;m`Pc8d_SHaBy&Rbah+$ z`tW>DCT93dKl^?A!hx%LJSCtSzLkhxS8guz)pZ!EmaQ|xL<|W^TN`hOpcGsQ^}G(qbL3^WuZj3(E7mZ`9p-&zu#?d9S{u4YbYRvq5y@W3AaEf}t{aJI-=87ee2G zN$-WYcW)qg37?C41dAx9`?1>*`FFWIx zLzP1Qd>KIrdk~7l>8f0^7AQXYKA~%ld7=(00qZo?@UIJvWbsBDH~G-!tEb5*D|gf8 zJM<^<%jVDRqNyG~2fGKOs23e5&8X4AlKi;$&A(#F1L&LDzKIY(I!M}6(OF?7iC6nnCG5w%hXJ-udhBY%&O-g7$& zkAB35V&;x_q`=z{9MXb9jNwd6dduBD;Te=pFC`^~K%o3lNlB(#v&}HK=hY^+xflp~aZ;$Q^?qKVkdP4gDuTd`04n5Yk)D~kIeLQ1=vs<(r2$BZnZ?Dph`}-wX_T*m zF?N!l=RYc7wq+r7e|gJJ5s2>YZY5=9e>uiGPoEYH(Y+h_maaDK@1A~!vXP-uvi{z^ zI0&iIb9!n28XC;c3i&ul*C{Mk?JfW#Igz=9AL6GQnVK=fQ5DI}iu z+>}K4MXBw?P`p-RPLlSOvU&bo^Wnn?aAD1Z3mmFpwbnM^8@q(QIjR1xriKDQBQ!En z?(t)mtgNir#YGH3!3xVKnHO&BvviRT>m3cwVMUB_Mog#c-EUx< zT3h4H?iYJF3BT#??R}wD_yW2Tyb8c2KU7pad=+SWvbF5v#!jp z;eeUhu-)OAR_U^c4Ag>&e88hXiGq`go)f#q6AcpcptY^i? zsp95F{k&#SSavHnL;tc;$;w^&_%vhpn+D{>FcHj854XWPvPwG!g{bTC-KLKo1+=yO zl_VABr?>2{Ph@Ja^Ev)hLfkeqqyf_}^|zu`8PD+m{^K>})UT5$LlvraQkxIzzlN@M z6xcWkX>;%25O=0{FZw|L79$0^xV`q3tbG-`#whb=&#vCPchBPS<0`6pJ{3qqqaC)}{g_G3YleNyP&C;pq6LGF&&w?<3d*qBwQ_aTs;H$g2jj;}C z8nkcEuVQ_#r2>1t5`IQ!fci+kkmsie9#A^Lv~y*De;*ZwEiGAt37WhO41mC|t*t># zR6|GSvZA6Q*oks-bA@aUme<##?icAYu(M-<+6tAnPMCNpUKi1{)H4QKG08~t$^#X; zTZ`$Az`S(b0K-zy6 zP;b(F$l>a!pIm%8bl=M!DSZoL;2NqS4@&P(wg7c*3+k1DQsj_>fsM%>I!MB|w4|ja zHgYGLnnJtEVbu}POVJQWpYnnAi8}pZoy!d(BBHH@7->{I?=Tpy5Mueu$%UT+`a7X! zM9}Fz4&w=)P}dD}@eF-rGgSm*g1t=6UN{;>HjZT;HuAN(oiz9mV>eZwJD%Gr2l`m2F zbWRQFsV=B5jA;hLz9NqtKk%I$;C<(_tz8yzJv#4oKowO@jzdgeMWlf2V1a;krl+Rj zBHUJT6Zt%LpWaOqBSk=hH3#k+SJ#7YsvIx*`*H}T4<%h*^eZUhaG@5XfxLkkTDtN% zp7Pv|>2oVqG5mgOm2$AE$coj@r`^d$H4}X}Cwcclh2`A)PCD7APual{>T$3UrI~#g z62)*8D)C^$dwhqDG5c1HIa^zZQ~=88bnNi;?MFMWqN#6xR<_Z<$NJLsC|u6Y2&|!z zvq*Xat}0-UhMycU5ca=EIG)~oql+hBD+IeSptB;39X-V&m{V>bX~bQ>Y!>XRy>p7}X3m1bj~2Pz8B)b@dvLJ>#J_7`yP4blLl^Hjz-Z@@`0n9sCgUYAey6#BVwULprh1`*uhkH^@CST;i zzW+8OkoZ<)NKBJAMpe;4+geo!8jDrrIx@%EqUj{uu7UGv z`CAD!n4KZB!q)!Ey7}{|J?{G)Uq=bjZ+XAm8aJ<_I&oLQV_Qg~%9RTW5WjySGED}a z%&)hefDP($<`uVj4#Jgc%M1}Q(G*4>&@8oHmFaz+CORfb#M^Di^1BQx>Z zmT&b1Nfx$);R33(|Ll%W*)s+%34+I8#iHHSF#;${f+*-3Sp+-*OyrJEPG--ZfwLS- zL{t>5roq=!MFpFgNV%0Pc73!K3`}Jl&8U10wZc?gevygrFL1o*EbBy>Vt-5(Jt(^X zOCV|s4~Sm;y@gI(xy+1K&38TE(h`!A+k0as!V*gx8__^#Z=U=D;tC|PGmb@d3!F9J zs3UkXkltWz`0oNIxX$q%92^jS^Yf3ua`0c6{u)h(sp7f&T3sB#y4=WR2ZoB5Zi|di z(D$NM)Ohe5#s0U$J(79)M5C@_f&NkCP+ zKu$^z-`7u#^W#;#vH-Hj4|d4KT>FeSKw=_?am6sIMWP`f&Y7)#D}i~mIB|NzsFp<7 zcJi|y8v5+Yiu;%|I5Eq4>;A!`IktgsAm*NZjXt-i{P}6?UpG%}|H2U3BOX$owz}

>O}j7AB0lSxcw->k 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%0D8Q(%oBVj%+?)2dTPz2!L;wE{C zoZ0N&insn23Cwkq^P`0tcq6!+)X=G$cm}VzObM-WmF%W$K+}G1Pp`RH2+Ja_M(aj zR*H;IE+`ra<>}_PZ6Ra=N)f#qnDG#6gBE=|)#>qxD`?XgW`;K2ns10Fs$VvWYIoCY(3fc6@o(Gat#d^?K|+L(&s;9Sa(B~zw^(?J8^5*bhn?CtE* zS8u+wcf~5{R${o0j#=oZBO%H-1a*-(S%8rdIp*wvghh&!)KVl%_UBtOkUZxdd1{_h z{V!P=&}mE;f2~6hX6w1%s+}8967=^E;dM1MH-ngzptCts-=p~~2n29Qt6>K{J$QP+ zvo1o0m4OdC3=Hhi%hw*zVwwfi?TtbTw(*7BpozCR;8NBRCri5+C2sYy7?P2LB9r+U zuH+Gjbsjz|?z!|hdXrHaSuxCX+$;gW&+7i}Be+(6ZP zO8j94LJ~w}Rz^i{_;G*)SWQPsie>6-!S&TZ4t31y4X& z$2gQbP@cQ?BtR?K4zz;b2kz#Vdh!Vp1UdukGF_VOBk#r~WZaO-gV64jys#hkb%%)5 zL{i71?CJEka^k^NQlDJzomh@51y#z)&OSs8-a2JZj(TdSEh}(w_B@pbc&19-vSkaw z3aU9A&U|t6PkLs!HQ3DA3vWMc_J&;o=mAHvGC+(GPI3`4mvrH~e4F2k7$TGiodsRt zfN~J3JQr$4<-u#KQmwN}UY|RcNMVNGNc;dkLVO?^5mG?4u)kg65l1dYBk>;25>XEg#h&9RRX>qnY16;U&c8vLc# zg|~NO%FY@+Y&tXTvGzw4xFPevz*&d|+RUFY)j5WCOm!G4zAcS*7u->eis@&?)h_3% z>PIoxwz#;s^uj1jJbsR8Cs`7gh0OSk_i`x@_CThM8P|f}D6E~&#jV&MJ-VGra0dEc z4Lq7R)ri`UcY)L?Dk(YOnL)vKBF{|b>$hJ}M>+~q!B)#~yP!hfkUNAphV+EMzf$;0 zzXeF%8p%NpzM>4qZ#wm28zBQsxy7D~y*)cx(%oObg>ut3i4sdQFHzHhfPj*e@Oe+@ zyry&gcYt(kVadb-$ba>XuJGy9Q#SJdGnGmO0pi0@)u=^9Mae9Asa9PYZy9|OV;pml zL?D7N?uxNAH>j4}t5l0D%>A22Y(v!IM2;6)OWAdQegC^!G#%0S=aI zNJLoz@tP`O!XH2k1=DjvbVhigIgP}{Xl0YnRa6R5(pOz)`aZ!MGC#rHfm8idv8a&g zfU^}Fsd-`+!Ea7KMx_u=|3KshOg%) za`Nq_mP;9*(Fb)j`GmwC$*KQ0%k`h-hkq*7ixi0>+bLGP6w;@Z6!oC>p9}V%xcU#O Cq@gMR diff --git a/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.test.ts b/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.test.ts new file mode 100644 index 0000000000..6847e8a1dc --- /dev/null +++ b/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.test.ts @@ -0,0 +1,98 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Store } from 'redux'; + +import { MockGlobalSpec, MockSeriesSpec } from '../../../../mocks/specs/specs'; +import { MockStore } from '../../../../mocks/store/store'; +import { ScaleType } from '../../../../scales/constants'; +import { onPointerMove } from '../../../../state/actions/mouse'; +import { GlobalChartState } from '../../../../state/chart_state'; +import { getElementAtCursorPositionSelector } from './get_elements_at_cursor_pos'; + +const data = [ + { x: 0, y: 2 }, + { x: 0, y: 2.2 }, + { x: 1, y: 2 }, + { x: 2, y: 3 }, +]; + +describe('getElementAtCursorPositionSelector', () => { + let store: Store; + + describe('Area', () => { + beforeEach(() => { + store = MockStore.default({ width: 300, height: 300, top: 0, left: 0 }, 'chartId'); + MockStore.addSpecs( + [ + MockGlobalSpec.settingsNoMargins(), + MockSeriesSpec.area({ + data, + xScaleType: ScaleType.Ordinal, + }), + ], + store, + ); + }); + + it('should correctly sort matched points near y = 2', () => { + store.dispatch(onPointerMove({ x: 0, y: 100 }, 0)); + const elements = getElementAtCursorPositionSelector(store.getState()); + expect(elements).toHaveLength(2); + expect(elements.map(({ value }) => value.datum.y)).toEqual([2, 2.2]); + }); + + it('should correctly sort matched points near y = 2.2', () => { + store.dispatch(onPointerMove({ x: 0, y: 80 }, 0)); + const elements = getElementAtCursorPositionSelector(store.getState()); + expect(elements).toHaveLength(2); + expect(elements.map(({ value }) => value.datum.y)).toEqual([2.2, 2]); + }); + }); + + describe('Bubble', () => { + beforeEach(() => { + store = MockStore.default({ width: 300, height: 300, top: 0, left: 0 }, 'chartId'); + MockStore.addSpecs( + [ + MockGlobalSpec.settingsNoMargins(), + MockSeriesSpec.bubble({ + data, + xScaleType: ScaleType.Ordinal, + }), + ], + store, + ); + }); + + it('should correctly sort matched points near y = 2', () => { + store.dispatch(onPointerMove({ x: 0, y: 100 }, 0)); + const elements = getElementAtCursorPositionSelector(store.getState()); + expect(elements).toHaveLength(3); + expect(elements.map(({ value }) => value.datum.y)).toEqual([2, 2.2, 2]); + }); + + it('should correctly sort matched points near y = 2.2', () => { + store.dispatch(onPointerMove({ x: 0, y: 80 }, 0)); + const elements = getElementAtCursorPositionSelector(store.getState()); + expect(elements).toHaveLength(4); + expect(elements.map(({ value }) => value.datum.y)).toEqual([2.2, 2, 2, 3]); + }); + }); +}); diff --git a/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.ts b/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.ts index 4966e32f4c..e2ad8e77a8 100644 --- a/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.ts +++ b/src/chart_types/xy_chart/state/selectors/get_elements_at_cursor_pos.ts @@ -26,6 +26,7 @@ import { isValidPointerOverEvent } from '../../../../utils/events'; import { IndexedGeometry } from '../../../../utils/geometry'; import { ChartDimensions } from '../../utils/dimensions'; import { IndexedGeometryMap } from '../../utils/indexed_geometry_map'; +import { sortClosestToPoint } from '../utils/common'; import { ComputedScales } from '../utils/types'; import { computeChartDimensionsSelector } from './compute_chart_dimensions'; import { getComputedScalesSelector } from './get_computed_scales'; @@ -71,10 +72,12 @@ function getElementAtCursorPosition( return []; } // get the elements at cursor position - return geometriesIndex.find( - xValue?.value, - orientedProjectedPointerPosition, - orientedProjectedPointerPosition.horizontalPanelValue, - orientedProjectedPointerPosition.verticalPanelValue, - ); + return geometriesIndex + .find( + xValue?.value, + orientedProjectedPointerPosition, + orientedProjectedPointerPosition.horizontalPanelValue, + orientedProjectedPointerPosition.verticalPanelValue, + ) + .sort(sortClosestToPoint(orientedProjectedPointerPosition)); } diff --git a/src/chart_types/xy_chart/state/utils/common.test.ts b/src/chart_types/xy_chart/state/utils/common.test.ts index 9924025159..938498a978 100644 --- a/src/chart_types/xy_chart/state/utils/common.test.ts +++ b/src/chart_types/xy_chart/state/utils/common.test.ts @@ -22,6 +22,7 @@ import { LegendItem } from '../../../../common/legend'; import { ScaleType } from '../../../../scales/constants'; import { SpecTypes } from '../../../../specs'; import { BARCHART_1Y1G } from '../../../../utils/data_samples/test_dataset'; +import { Point } from '../../../../utils/point'; import { AreaSeriesSpec, SeriesTypes, LineSeriesSpec, BarSeriesSpec } from '../../utils/specs'; import { isHorizontalRotation, @@ -29,10 +30,11 @@ import { isLineAreaOnlyChart, isChartAnimatable, isAllSeriesDeselected, + sortClosestToPoint, } from './common'; describe('Type Checks', () => { - test('is horizontal chart rotation', () => { + it('is horizontal chart rotation', () => { expect(isHorizontalRotation(0)).toBe(true); expect(isHorizontalRotation(180)).toBe(true); expect(isHorizontalRotation(-90)).toBe(false); @@ -42,7 +44,7 @@ describe('Type Checks', () => { expect(isVerticalRotation(0)).toBe(false); expect(isVerticalRotation(180)).toBe(false); }); - test('is vertical chart rotation', () => { + it('is vertical chart rotation', () => { expect(isVerticalRotation(-90)).toBe(true); expect(isVerticalRotation(90)).toBe(true); expect(isVerticalRotation(0)).toBe(false); @@ -50,7 +52,7 @@ describe('Type Checks', () => { }); describe('#isLineAreaOnlyChart', () => { - test('is an area or line only map', () => { + it('is an area or line only map', () => { const area: AreaSeriesSpec = { chartType: ChartTypes.XYAxis, specType: SpecTypes.Series, @@ -106,7 +108,7 @@ describe('Type Checks', () => { }); describe('#isChartAnimatable', () => { - test('can enable the chart animation if we have a valid number of elements', () => { + it('can enable the chart animation if we have a valid number of elements', () => { const geometriesCounts = { points: 0, bars: 0, @@ -131,7 +133,7 @@ describe('Type Checks', () => { }); }); - test('displays no data available if chart is empty', () => { + it('displays no data available if chart is empty', () => { const legendItems1: LegendItem[] = [ { color: '#1EA593', @@ -158,7 +160,7 @@ describe('Type Checks', () => { ]; expect(isAllSeriesDeselected(legendItems1)).toBe(true); }); - test('displays data availble if chart is not empty', () => { + it('displays data availble if chart is not empty', () => { const legendItems2: LegendItem[] = [ { color: '#1EA593', @@ -185,4 +187,90 @@ describe('Type Checks', () => { ]; expect(isAllSeriesDeselected(legendItems2)).toBe(false); }); + + describe('#sortClosestToPoint', () => { + describe('positive cursor', () => { + const cursor: Point = { x: 10, y: 10 }; + + it('should sort points with same x', () => { + const points: Point[] = [ + { x: 10, y: -10 }, + { x: 10, y: 12 }, + { x: 10, y: 11 }, + { x: 10, y: 10 }, + { x: 10, y: 5 }, + { x: 10, y: -12 }, + ]; + expect(points.sort(sortClosestToPoint(cursor))).toEqual([ + { x: 10, y: 10 }, + { x: 10, y: 11 }, + { x: 10, y: 12 }, + { x: 10, y: 5 }, + { x: 10, y: -10 }, + { x: 10, y: -12 }, + ]); + }); + + it('should sort points with different x', () => { + const points: Point[] = [ + { x: 9, y: -10 }, + { x: -6, y: 12 }, + { x: 3, y: 11 }, + { x: 9, y: 10 }, + { x: 1, y: 5 }, + { x: -9, y: -12 }, + ]; + expect(points.sort(sortClosestToPoint(cursor))).toEqual([ + { x: 9, y: 10 }, + { x: 3, y: 11 }, + { x: 1, y: 5 }, + { x: -6, y: 12 }, + { x: 9, y: -10 }, + { x: -9, y: -12 }, + ]); + }); + }); + + describe('negative cursor', () => { + const cursor: Point = { x: -10, y: -10 }; + + it('should sort points with same x', () => { + const points: Point[] = [ + { x: 10, y: -10 }, + { x: 10, y: 12 }, + { x: 10, y: 11 }, + { x: 10, y: 10 }, + { x: 10, y: 5 }, + { x: 10, y: -12 }, + ]; + expect(points.sort(sortClosestToPoint(cursor))).toEqual([ + { x: 10, y: -10 }, + { x: 10, y: -12 }, + { x: 10, y: 5 }, + { x: 10, y: 10 }, + { x: 10, y: 11 }, + { x: 10, y: 12 }, + ]); + }); + + it('should sort points with different x', () => { + const points: Point[] = [ + { x: 9, y: -10 }, + { x: -6, y: 12 }, + { x: 3, y: 11 }, + { x: 9, y: 10 }, + { x: 1, y: 5 }, + { x: -9, y: -12 }, + ]; + expect(points.sort(sortClosestToPoint(cursor))).toEqual([ + { x: -9, y: -12 }, + { x: 1, y: 5 }, + { x: 9, y: -10 }, + { x: -6, y: 12 }, + { x: 3, y: 11 }, + { x: 9, y: 10 }, + ]); + }); + }); + }); }); diff --git a/src/chart_types/xy_chart/state/utils/common.ts b/src/chart_types/xy_chart/state/utils/common.ts index a5edb6299b..63a762b420 100644 --- a/src/chart_types/xy_chart/state/utils/common.ts +++ b/src/chart_types/xy_chart/state/utils/common.ts @@ -18,7 +18,8 @@ */ import { LegendItem } from '../../../../common/legend'; -import { Rotation } from '../../../../utils/common'; +import { getDistance, Rotation } from '../../../../utils/common'; +import { Point } from '../../../../utils/point'; import { BasicSeriesSpec, SeriesTypes } from '../../utils/specs'; import { GeometriesCounts } from './types'; @@ -64,3 +65,11 @@ export function isAllSeriesDeselected(legendItems: LegendItem[]): boolean { } return true; } + +/** + * Sorts points in order from closest to farthest from cursor + * @internal + */ +export const sortClosestToPoint = (cursor: Point) => (a: Point, b: Point): number => { + return getDistance(cursor, a) - getDistance(cursor, b); +}; diff --git a/src/utils/common.ts b/src/utils/common.ts index 121a26562b..302f327106 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -426,7 +426,10 @@ export type ValueAccessor = (d: Datum) => number; export type LabelAccessor = (value: PrimitiveValue) => string; export type ShowAccessor = (value: PrimitiveValue) => boolean; -/** @internal */ +/** + * Returns planar distance bewtween two points + * @internal + */ export function getDistance(a: Point, b: Point): number { return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2)); } diff --git a/stories/interactions/3_line_point_clicks.tsx b/stories/interactions/3_line_point_clicks.tsx index 7f0b8abb67..4787ebd0de 100644 --- a/stories/interactions/3_line_point_clicks.tsx +++ b/stories/interactions/3_line_point_clicks.tsx @@ -35,7 +35,7 @@ export const Example = () => ( Number(d).toFixed(2)} /> ( { x: 3, y: 6 }, ]} /> + );