@elastic/charts 50.1.0 → 51.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chart_types/flame_chart/flame_api.d.ts +5 -4
- package/dist/chart_types/flame_chart/flame_api.d.ts.map +1 -1
- package/dist/chart_types/flame_chart/flame_api.js.map +1 -1
- package/dist/chart_types/flame_chart/flame_chart.js +175 -59
- package/dist/chart_types/flame_chart/flame_chart.js.map +1 -1
- package/dist/chart_types/flame_chart/internal_chart_state.js +1 -1
- package/dist/chart_types/flame_chart/internal_chart_state.js.map +1 -1
- package/dist/chart_types/flame_chart/render/draw_a_frame.js +4 -4
- package/dist/chart_types/flame_chart/render/draw_a_frame.js.map +1 -1
- package/dist/chart_types/flame_chart/render/draw_webgl.js +2 -2
- package/dist/chart_types/flame_chart/render/draw_webgl.js.map +1 -1
- package/dist/chart_types/flame_chart/shaders.js +2 -2
- package/dist/chart_types/flame_chart/shaders.js.map +1 -1
- package/dist/chart_types/goal_chart/specs/index.d.ts +1 -1
- package/dist/chart_types/goal_chart/state/chart_state.js +8 -2
- package/dist/chart_types/goal_chart/state/chart_state.js.map +1 -1
- package/dist/chart_types/goal_chart/state/selectors/picked_shapes.js +2 -4
- package/dist/chart_types/goal_chart/state/selectors/picked_shapes.js.map +1 -1
- package/dist/chart_types/heatmap/specs/heatmap.d.ts +2 -2
- package/dist/chart_types/heatmap/state/chart_state.js +1 -1
- package/dist/chart_types/heatmap/state/chart_state.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_brush_area.js +2 -2
- package/dist/chart_types/heatmap/state/selectors/get_brush_area.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js +3 -2
- package/dist/chart_types/heatmap/state/selectors/get_brushed_highlighted_shapes.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js +5 -6
- package/dist/chart_types/heatmap/state/selectors/get_cursor_band.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_cursor_pointer.js +10 -2
- package/dist/chart_types/heatmap/state/selectors/get_cursor_pointer.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js +2 -4
- package/dist/chart_types/heatmap/state/selectors/get_tooltip_anchor.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/is_tooltip_visible.js +20 -4
- package/dist/chart_types/heatmap/state/selectors/is_tooltip_visible.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/on_pointer_update_caller.js +2 -1
- package/dist/chart_types/heatmap/state/selectors/on_pointer_update_caller.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/picked_shapes.js +4 -7
- package/dist/chart_types/heatmap/state/selectors/picked_shapes.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/tooltip.js +5 -0
- package/dist/chart_types/heatmap/state/selectors/tooltip.js.map +1 -1
- package/dist/chart_types/metric/state/chart_state.js +6 -1
- package/dist/chart_types/metric/state/chart_state.js.map +1 -1
- package/dist/chart_types/partition_chart/specs/index.d.ts +2 -2
- package/dist/chart_types/partition_chart/state/chart_state.js +4 -1
- package/dist/chart_types/partition_chart/state/chart_state.js.map +1 -1
- package/dist/chart_types/partition_chart/state/selectors/get_cursor_pointer.js +4 -1
- package/dist/chart_types/partition_chart/state/selectors/get_cursor_pointer.js.map +1 -1
- package/dist/chart_types/partition_chart/state/selectors/picked_shapes.js +2 -4
- package/dist/chart_types/partition_chart/state/selectors/picked_shapes.js.map +1 -1
- package/dist/chart_types/timeslip/internal_chart_state.js +6 -1
- package/dist/chart_types/timeslip/internal_chart_state.js.map +1 -1
- package/dist/chart_types/timeslip/timeslip/data.js.map +1 -1
- package/dist/chart_types/wordcloud/state/chart_state.js +6 -1
- package/dist/chart_types/wordcloud/state/chart_state.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/canvas/animations/animation.d.ts.map +1 -1
- package/dist/chart_types/xy_chart/renderer/canvas/animations/animation.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/annotations/annotation_tooltip.js +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/annotations/annotation_tooltip.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/cursor_band.js +13 -4
- package/dist/chart_types/xy_chart/renderer/dom/cursor_band.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/cursor_line.js +13 -4
- package/dist/chart_types/xy_chart/renderer/dom/cursor_line.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/highlighter.js +5 -1
- package/dist/chart_types/xy_chart/renderer/dom/highlighter.js.map +1 -1
- package/dist/chart_types/xy_chart/specs/axis.d.ts +1 -1
- package/dist/chart_types/xy_chart/state/chart_state.js +2 -2
- package/dist/chart_types/xy_chart/state/chart_state.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_cursor_pointer.js +9 -1
- package/dist/chart_types/xy_chart/state/selectors/get_cursor_pointer.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.d.ts +2 -0
- package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.d.ts.map +1 -0
- package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.js +11 -0
- package/dist/chart_types/xy_chart/state/selectors/get_legend_item_extra_values.js.map +1 -0
- package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js +2 -2
- package/dist/chart_types/xy_chart/state/selectors/get_projected_pointer_position.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js +26 -7
- package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/is_tooltip_visible.js +18 -9
- package/dist/chart_types/xy_chart/state/selectors/is_tooltip_visible.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/on_element_out_caller.js +1 -1
- package/dist/chart_types/xy_chart/state/selectors/on_element_out_caller.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/on_element_over_caller.js +1 -1
- package/dist/chart_types/xy_chart/state/selectors/on_element_over_caller.js.map +1 -1
- package/dist/chart_types/xy_chart/tooltip/tooltip.js +3 -3
- package/dist/chart_types/xy_chart/tooltip/tooltip.js.map +1 -1
- package/dist/common/constants.js +3 -2
- package/dist/common/constants.js.map +1 -1
- package/dist/common/hooks/use_render_skip.d.ts +2 -0
- package/dist/common/hooks/use_render_skip.d.ts.map +1 -0
- package/dist/common/hooks/use_render_skip.js +32 -0
- package/dist/common/hooks/use_render_skip.js.map +1 -0
- package/dist/components/chart_container.js +53 -16
- package/dist/components/chart_container.js.map +1 -1
- package/dist/components/legend/label.js.map +1 -1
- package/dist/components/legend/legend.js +4 -1
- package/dist/components/legend/legend.js.map +1 -1
- package/dist/components/portal/tooltip_portal.js +14 -1
- package/dist/components/portal/tooltip_portal.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_actions.d.ts +2 -0
- package/dist/components/tooltip/components/tooltip_actions.d.ts.map +1 -0
- package/dist/components/tooltip/components/tooltip_actions.js +155 -0
- package/dist/components/tooltip/components/tooltip_actions.js.map +1 -0
- package/dist/components/tooltip/components/tooltip_body.js +49 -8
- package/dist/components/tooltip/components/tooltip_body.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_divider.js +1 -1
- package/dist/components/tooltip/components/tooltip_divider.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_footer.js +1 -1
- package/dist/components/tooltip/components/tooltip_footer.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_header.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_header.js +7 -2
- package/dist/components/tooltip/components/tooltip_header.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_prompt.d.ts +2 -0
- package/dist/components/tooltip/components/tooltip_prompt.d.ts.map +1 -0
- package/dist/components/tooltip/components/tooltip_prompt.js +16 -0
- package/dist/components/tooltip/components/tooltip_prompt.js.map +1 -0
- package/dist/components/tooltip/components/tooltip_provider.js +22 -2
- package/dist/components/tooltip/components/tooltip_provider.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table.d.ts +11 -3
- package/dist/components/tooltip/components/tooltip_table.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table.js +47 -9
- package/dist/components/tooltip/components/tooltip_table.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_body.d.ts +4 -1
- package/dist/components/tooltip/components/tooltip_table_body.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_body.js +35 -8
- package/dist/components/tooltip/components/tooltip_table_body.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_cell.d.ts +3 -1
- package/dist/components/tooltip/components/tooltip_table_cell.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_cell.js +7 -6
- package/dist/components/tooltip/components/tooltip_table_cell.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_color_cell.d.ts +3 -2
- package/dist/components/tooltip/components/tooltip_table_color_cell.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_color_cell.js +25 -7
- package/dist/components/tooltip/components/tooltip_table_color_cell.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_footer.d.ts +2 -3
- package/dist/components/tooltip/components/tooltip_table_footer.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_footer.js +4 -4
- package/dist/components/tooltip/components/tooltip_table_footer.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_header.d.ts +2 -3
- package/dist/components/tooltip/components/tooltip_table_header.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_header.js +3 -3
- package/dist/components/tooltip/components/tooltip_table_header.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_row.d.ts +5 -3
- package/dist/components/tooltip/components/tooltip_table_row.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_row.js +7 -3
- package/dist/components/tooltip/components/tooltip_table_row.js.map +1 -1
- package/dist/components/tooltip/components/tooltip_wrapper.js +64 -4
- package/dist/components/tooltip/components/tooltip_wrapper.js.map +1 -1
- package/dist/components/tooltip/components/types.d.ts +9 -0
- package/dist/components/tooltip/components/types.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.js +48 -16
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tooltip/types.d.ts +33 -0
- package/dist/components/tooltip/types.d.ts.map +1 -1
- package/dist/specs/constants.d.ts +1 -1
- package/dist/specs/tooltip.d.ts +64 -4
- package/dist/specs/tooltip.d.ts.map +1 -1
- package/dist/specs/tooltip.js +8 -0
- package/dist/specs/tooltip.js.map +1 -1
- package/dist/state/actions/mouse.js +6 -1
- package/dist/state/actions/mouse.js.map +1 -1
- package/dist/state/actions/tooltip.d.ts +2 -0
- package/dist/state/actions/tooltip.d.ts.map +1 -0
- package/dist/state/actions/tooltip.js +20 -0
- package/dist/state/actions/tooltip.js.map +1 -0
- package/dist/state/chart_state.js +5 -2
- package/dist/state/chart_state.js.map +1 -1
- package/dist/state/reducers/interactions.js +47 -0
- package/dist/state/reducers/interactions.js.map +1 -1
- package/dist/state/selectors/can_pin_tooltip.d.ts +2 -0
- package/dist/state/selectors/can_pin_tooltip.d.ts.map +1 -0
- package/dist/state/selectors/can_pin_tooltip.js +28 -0
- package/dist/state/selectors/can_pin_tooltip.js.map +1 -0
- package/dist/state/selectors/get_active_pointer_position.d.ts +2 -0
- package/dist/state/selectors/get_active_pointer_position.d.ts.map +1 -0
- package/dist/state/selectors/get_active_pointer_position.js +10 -0
- package/dist/state/selectors/get_active_pointer_position.js.map +1 -0
- package/dist/state/selectors/get_internal_cursor_pointer.js.map +1 -1
- package/dist/state/selectors/get_internal_is_tooltip_visible.js +1 -1
- package/dist/state/selectors/get_internal_is_tooltip_visible.js.map +1 -1
- package/dist/state/selectors/get_tooltip_interaction_state.d.ts +2 -0
- package/dist/state/selectors/get_tooltip_interaction_state.d.ts.map +1 -0
- package/dist/state/selectors/get_tooltip_interaction_state.js +9 -0
- package/dist/state/selectors/get_tooltip_interaction_state.js.map +1 -0
- package/dist/state/selectors/get_tooltip_selected_items.d.ts +2 -0
- package/dist/state/selectors/get_tooltip_selected_items.d.ts.map +1 -0
- package/dist/state/selectors/get_tooltip_selected_items.js +15 -0
- package/dist/state/selectors/get_tooltip_selected_items.js.map +1 -0
- package/dist/state/utils.js +7 -1
- package/dist/state/utils.js.map +1 -1
- package/dist/theme.scss +241 -61
- package/dist/theme_dark.css +1 -1
- package/dist/theme_dark.css.map +1 -1
- package/dist/theme_light.css +1 -1
- package/dist/theme_light.css.map +1 -1
- package/dist/theme_only_dark.css +1 -1
- package/dist/theme_only_dark.css.map +1 -1
- package/dist/theme_only_light.css +1 -1
- package/dist/theme_only_light.css.map +1 -1
- package/dist/utils/themes/dark_theme.d.ts.map +1 -1
- package/dist/utils/themes/dark_theme.js +5 -0
- package/dist/utils/themes/dark_theme.js.map +1 -1
- package/dist/utils/themes/light_theme.d.ts.map +1 -1
- package/dist/utils/themes/light_theme.js +5 -0
- package/dist/utils/themes/light_theme.js.map +1 -1
- package/dist/utils/themes/theme.d.ts +25 -0
- package/dist/utils/themes/theme.d.ts.map +1 -1
- package/dist/utils/themes/theme.js.map +1 -1
- package/package.json +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.d.ts +0 -2
- package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.d.ts.map +0 -1
- package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.js +0 -11
- package/dist/chart_types/xy_chart/state/selectors/get_highlighted_values.js.map +0 -1
|
@@ -29,10 +29,11 @@ export interface ControlReceiverCallbacks {
|
|
|
29
29
|
* - label: array of N strings
|
|
30
30
|
* - value: Float64Array of N numbers, for tooltip value display
|
|
31
31
|
* - color: Float32Array of 4 * N numbers, eg. green[i] = color[4 * i + 1]
|
|
32
|
-
* - position0: Float32Array of 2 * N numbers with unit coordinates [x0, y0, x1, y1, ..., xN-1, yN-1]
|
|
33
|
-
* - position1:
|
|
34
|
-
* - size0: Float32Array of N numbers with unit widths [width0, width1, ... , widthN-1]
|
|
35
|
-
* - size1:
|
|
32
|
+
* - position0: Tween from: Float32Array of 2 * N numbers with unit coordinates [x0, y0, x1, y1, ..., xN-1, yN-1]
|
|
33
|
+
* - position1: Tween to: Float32Array of 2 * N numbers with unit coordinates [x0, y0, x1, y1, ..., xN-1, yN-1]
|
|
34
|
+
* - size0: Tween from: Float32Array of N numbers with unit widths [width0, width1, ... , widthN-1]
|
|
35
|
+
* - size1: Tween to: Float32Array of N numbers with unit widths [width0, width1, ... , widthN-1]
|
|
36
|
+
* If position0 === position1 and size0 === size1, then the nodes are not animated
|
|
36
37
|
* @public
|
|
37
38
|
*/
|
|
38
39
|
export interface ColumnarViewModel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flame_api.d.ts","sourceRoot":"","sources":["../../../src/chart_types/flame_chart/flame_api.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAgB,OAAO,EAAkB,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,KAAK,EAAkB,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;GAGG;AACH,oBAAY,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C;;;GAGG;AACH,oBAAY,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAED
|
|
1
|
+
{"version":3,"file":"flame_api.d.ts","sourceRoot":"","sources":["../../../src/chart_types/flame_chart/flame_api.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAgB,OAAO,EAAkB,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,KAAK,EAAkB,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;GAGG;AACH,oBAAY,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C;;;GAGG;AACH,oBAAY,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,CAAE,SAAQ,IAAI,EAAE,qBAAqB;IACzF,QAAQ,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC;IAClC,YAAY,EAAE,iBAAiB,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC3D,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C;AAED,QAAA,MAAM,UAAU,qNAWf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,yNAYjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flame_api.js","sourceRoot":"","sources":["../../../src/chart_types/flame_chart/flame_api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wBAA+B;AAG/B,mDAAiD;AACjD,yDAAiF;AACjF,6CAA0F;
|
|
1
|
+
{"version":3,"file":"flame_api.js","sourceRoot":"","sources":["../../../src/chart_types/flame_chart/flame_api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,wBAA+B;AAG/B,mDAAiD;AACjD,yDAAiF;AACjF,6CAA0F;AA6D1F,IAAM,UAAU,GAAG,IAAA,2BAAY,GAAa,CAC1C;IACE,SAAS,EAAE,aAAS,CAAC,KAAK;IAC1B,QAAQ,EAAE,oBAAQ,CAAC,MAAM;CAC1B,EACD;IACE,aAAa,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA/B,CAA+B;IACrD,WAAW,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC;IACrB,cAAc,EAAE,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,EAAT,CAAS;IAChC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;CAC3B,CACF,CAAC;AAMK,IAAM,KAAK,GAAG,UACnB,KAMC;IAEO,IAAA,QAAQ,GAAgB,UAAU,SAA1B,EAAE,SAAS,GAAK,UAAU,UAAf,CAAgB;IAC3C,IAAA,6BAAc,iCAAoB,QAAQ,GAAK,IAAA,uBAAc,EAAC,KAAK,CAAC,GAAK,SAAS,EAAG,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,KAAK,SAYhB"}
|
|
@@ -95,6 +95,7 @@ var SHOULD_DISABLE_WOBBLE = (typeof process === 'object' && process.env && proce
|
|
|
95
95
|
var WOBBLE_DURATION = SHOULD_DISABLE_WOBBLE ? 0 : 1000;
|
|
96
96
|
var WOBBLE_REPEAT_COUNT = 2;
|
|
97
97
|
var WOBBLE_FREQUENCY = SHOULD_DISABLE_WOBBLE ? 0 : 2 * Math.PI * (WOBBLE_REPEAT_COUNT / WOBBLE_DURATION);
|
|
98
|
+
var NODE_TWEEN_DURATION_MS = 500;
|
|
98
99
|
var unitRowPitch = function (position) { return (position.length >= 4 ? position[1] - position[3] : 1); };
|
|
99
100
|
var initialPixelRowPitch = function () { return 16; };
|
|
100
101
|
var specValueFormatter = function (d) { return d; };
|
|
@@ -168,9 +169,15 @@ var FlameComponent = (function (_super) {
|
|
|
168
169
|
_this.pinchZoomSetInterval = NaN;
|
|
169
170
|
_this.pointerX = NaN;
|
|
170
171
|
_this.pointerY = NaN;
|
|
172
|
+
_this.pinnedPointerX = NaN;
|
|
173
|
+
_this.pinnedPointerY = NaN;
|
|
174
|
+
_this.tooltipPinned = false;
|
|
175
|
+
_this.tooltipSelectedSeries = [];
|
|
171
176
|
_this.hoverIndex = NaN;
|
|
177
|
+
_this.tooltipValues = [];
|
|
172
178
|
_this.animationRafId = NaN;
|
|
173
|
-
_this.
|
|
179
|
+
_this.prevFocusTime = NaN;
|
|
180
|
+
_this.prevNodeTweenTime = NaN;
|
|
174
181
|
_this.startOfDragX = NaN;
|
|
175
182
|
_this.startOfDragY = NaN;
|
|
176
183
|
_this.startOfDragFocusLeft = NaN;
|
|
@@ -183,6 +190,24 @@ var FlameComponent = (function (_super) {
|
|
|
183
190
|
_this.focusedMatchIndex = NaN;
|
|
184
191
|
_this.wobbleTimeLeft = 0;
|
|
185
192
|
_this.wobbleIndex = NaN;
|
|
193
|
+
_this.pinTooltip = function (pinned) {
|
|
194
|
+
if (!pinned) {
|
|
195
|
+
_this.unpinTooltip(true);
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
_this.tooltipPinned = true;
|
|
199
|
+
_this.tooltipSelectedSeries = _this.tooltipValues;
|
|
200
|
+
};
|
|
201
|
+
_this.toggleSelectedTooltipItem = function (tooltipValue) {
|
|
202
|
+
if (!_this.tooltipPinned)
|
|
203
|
+
return;
|
|
204
|
+
_this.tooltipSelectedSeries = _this.tooltipSelectedSeries.length === 0 ? [tooltipValue] : [];
|
|
205
|
+
_this.setState({});
|
|
206
|
+
};
|
|
207
|
+
_this.setSelectedTooltipItems = function (tooltipValues) {
|
|
208
|
+
_this.tooltipSelectedSeries = tooltipValues;
|
|
209
|
+
_this.setState({});
|
|
210
|
+
};
|
|
186
211
|
_this.setupDevicePixelRatioChangeListener = function () {
|
|
187
212
|
window.matchMedia("(resolution: ".concat(window.devicePixelRatio, "dppx)")).addEventListener('change', function () {
|
|
188
213
|
_this.setState({});
|
|
@@ -212,9 +237,13 @@ var FlameComponent = (function (_super) {
|
|
|
212
237
|
_this.ensurePickTexture();
|
|
213
238
|
_this.drawCanvas();
|
|
214
239
|
};
|
|
215
|
-
_this.componentDidUpdate = function () {
|
|
240
|
+
_this.componentDidUpdate = function (_a) {
|
|
241
|
+
var chartDimensions = _a.chartDimensions;
|
|
216
242
|
if (!_this.ctx)
|
|
217
243
|
_this.tryCanvasContext();
|
|
244
|
+
if (_this.tooltipPinned && _this.chartDimensionsChanged(chartDimensions)) {
|
|
245
|
+
_this.unpinTooltip();
|
|
246
|
+
}
|
|
218
247
|
_this.bindControls();
|
|
219
248
|
_this.ensureTextureAndDraw();
|
|
220
249
|
};
|
|
@@ -227,9 +256,9 @@ var FlameComponent = (function (_super) {
|
|
|
227
256
|
};
|
|
228
257
|
_this.getHoveredDatumIndex = function () {
|
|
229
258
|
var pr = window.devicePixelRatio * _this.pinchZoomScale;
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
259
|
+
var x = _this.tooltipPinned ? _this.pinnedPointerX : _this.pointerX;
|
|
260
|
+
var y = _this.tooltipPinned ? _this.pinnedPointerY : _this.pointerY;
|
|
261
|
+
return _this.datumAtXY(pr * x, pr * (_this.props.chartDimensions.height - y));
|
|
233
262
|
};
|
|
234
263
|
_this.getDragDistanceX = function () { return _this.pointerX - _this.startOfDragX; };
|
|
235
264
|
_this.getDragDistanceY = function () { return -(_this.pointerY - _this.startOfDragY); };
|
|
@@ -241,20 +270,8 @@ var FlameComponent = (function (_super) {
|
|
|
241
270
|
if (!_this.isDragging(e)) {
|
|
242
271
|
e.stopPropagation();
|
|
243
272
|
_this.updatePointerLocation(e);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
if (hovered) {
|
|
247
|
-
_this.hoverIndex = hovered.datumIndex;
|
|
248
|
-
if (!Object.is(_this.hoverIndex, prevHoverIndex)) {
|
|
249
|
-
if (Number.isFinite(hovered.datumIndex)) {
|
|
250
|
-
_this.props.onElementOver([{ vmIndex: hovered.datumIndex }]);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
_this.hoverIndex = NaN;
|
|
254
|
-
_this.props.onElementOut();
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
_this.setState({});
|
|
273
|
+
if (!_this.tooltipPinned) {
|
|
274
|
+
_this.updateHoverIndex();
|
|
258
275
|
}
|
|
259
276
|
}
|
|
260
277
|
};
|
|
@@ -311,43 +328,84 @@ var FlameComponent = (function (_super) {
|
|
|
311
328
|
};
|
|
312
329
|
_this.handleMouseDown = function (e) {
|
|
313
330
|
e.stopPropagation();
|
|
331
|
+
if (e.button === constants_1.SECONDARY_BUTTON || e.ctrlKey)
|
|
332
|
+
return;
|
|
314
333
|
if (Number.isNaN(_this.pointerX + _this.pointerY))
|
|
315
334
|
return;
|
|
335
|
+
if (_this.tooltipPinned)
|
|
336
|
+
return;
|
|
316
337
|
_this.resetDrag();
|
|
317
338
|
window.addEventListener('mousemove', _this.handleMouseDragMove, { passive: true });
|
|
318
339
|
window.addEventListener('mouseup', _this.handleMouseUp, { passive: true });
|
|
319
340
|
};
|
|
341
|
+
_this.handleContextMenu = function (e) {
|
|
342
|
+
e.stopPropagation();
|
|
343
|
+
e.preventDefault();
|
|
344
|
+
if (_this.tooltipPinned) {
|
|
345
|
+
_this.handleUnpinningTooltip();
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (!Number.isFinite(_this.getHoveredDatumIndex())) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
window.addEventListener('keyup', _this.handleKeyUp);
|
|
352
|
+
window.addEventListener('click', _this.handleUnpinningTooltip);
|
|
353
|
+
window.addEventListener('visibilitychange', _this.handleUnpinningTooltip);
|
|
354
|
+
_this.pinTooltip(true);
|
|
355
|
+
_this.setState({});
|
|
356
|
+
};
|
|
320
357
|
_this.handleMouseUp = function (e) {
|
|
321
358
|
e.stopPropagation();
|
|
322
359
|
window.removeEventListener('mousemove', _this.handleMouseDragMove);
|
|
323
360
|
window.removeEventListener('mouseup', _this.handleMouseUp);
|
|
361
|
+
if (_this.tooltipPinned) {
|
|
362
|
+
_this.unpinTooltip();
|
|
363
|
+
_this.clearDrag();
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
324
366
|
_this.updatePointerLocation(e);
|
|
325
367
|
var dragDistanceX = _this.getDragDistanceX();
|
|
326
368
|
var dragDistanceY = _this.getDragDistanceY();
|
|
327
369
|
if (!dragDistanceX && !dragDistanceY) {
|
|
328
|
-
var
|
|
370
|
+
var hoveredDatumIndex = _this.getHoveredDatumIndex();
|
|
329
371
|
var isDoubleClick = e.detail > 1;
|
|
330
|
-
var hasClickedOnRectangle = Number.isFinite(
|
|
372
|
+
var hasClickedOnRectangle = Number.isFinite(hoveredDatumIndex);
|
|
331
373
|
var mustFocus = SINGLE_CLICK_EMPTY_FOCUS || isDoubleClick !== hasClickedOnRectangle;
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
var rect = focusRect(_this.props.columnarViewModel, _this.props.chartDimensions.height,
|
|
335
|
-
_this.navigator.add(__assign(__assign({}, rect), { index:
|
|
336
|
-
_this.focusOnNode(
|
|
337
|
-
_this.props.onElementClick([{ vmIndex:
|
|
374
|
+
var isContextClick = e.button === constants_1.SECONDARY_BUTTON || e.ctrlKey;
|
|
375
|
+
if (mustFocus && !isContextClick && !_this.pointerInMinimap(_this.pointerX, _this.pointerY)) {
|
|
376
|
+
var rect = focusRect(_this.props.columnarViewModel, _this.props.chartDimensions.height, hoveredDatumIndex);
|
|
377
|
+
_this.navigator.add(__assign(__assign({}, rect), { index: hoveredDatumIndex }));
|
|
378
|
+
_this.focusOnNode(hoveredDatumIndex);
|
|
379
|
+
_this.props.onElementClick([{ vmIndex: hoveredDatumIndex }]);
|
|
338
380
|
}
|
|
339
381
|
}
|
|
340
382
|
_this.clearDrag();
|
|
341
383
|
_this.setState({});
|
|
342
384
|
};
|
|
385
|
+
_this.handleUnpinningTooltip = function () {
|
|
386
|
+
window.removeEventListener('keyup', _this.handleKeyUp);
|
|
387
|
+
window.removeEventListener('click', _this.handleUnpinningTooltip);
|
|
388
|
+
window.removeEventListener('visibilitychange', _this.handleUnpinningTooltip);
|
|
389
|
+
_this.pinTooltip(false);
|
|
390
|
+
};
|
|
391
|
+
_this.handleKeyUp = function (_a) {
|
|
392
|
+
var key = _a.key;
|
|
393
|
+
if (!FlameComponent.watchedKeys.includes(key))
|
|
394
|
+
return;
|
|
395
|
+
window.removeEventListener('keyup', _this.handleKeyUp);
|
|
396
|
+
_this.unpinTooltip();
|
|
397
|
+
};
|
|
343
398
|
_this.handleMouseLeave = function (e) {
|
|
344
399
|
e.stopPropagation();
|
|
345
|
-
_this.
|
|
400
|
+
if (!_this.tooltipPinned) {
|
|
401
|
+
_this.smartDraw();
|
|
402
|
+
}
|
|
346
403
|
};
|
|
347
404
|
_this.preventScroll = function (e) { return e.metaKey === IS_META_REQUIRED_FOR_ZOOM && e.preventDefault(); };
|
|
348
405
|
_this.handleWheel = function (e) {
|
|
349
406
|
if (e.metaKey !== IS_META_REQUIRED_FOR_ZOOM)
|
|
350
407
|
return;
|
|
408
|
+
_this.unpinTooltip();
|
|
351
409
|
_this.updatePointerLocation(e);
|
|
352
410
|
var _a = _this.currentFocus, x0 = _a.x0, x1 = _a.x1, y0 = _a.y0, y1 = _a.y1;
|
|
353
411
|
var wheelDelta = -e.deltaY;
|
|
@@ -460,7 +518,6 @@ var FlameComponent = (function (_super) {
|
|
|
460
518
|
_this.searchForText(false);
|
|
461
519
|
};
|
|
462
520
|
_this.handleEscapeKey = function (e) {
|
|
463
|
-
e.stopPropagation();
|
|
464
521
|
if (e.key === 'Escape') {
|
|
465
522
|
_this.clearSearchText();
|
|
466
523
|
}
|
|
@@ -493,7 +550,7 @@ var FlameComponent = (function (_super) {
|
|
|
493
550
|
}
|
|
494
551
|
if (hitEnumerator >= 0) {
|
|
495
552
|
_this.targetFocus = focusRect(_this.props.columnarViewModel, _this.props.chartDimensions.height, datumIndex);
|
|
496
|
-
_this.
|
|
553
|
+
_this.prevFocusTime = NaN;
|
|
497
554
|
_this.hoverIndex = NaN;
|
|
498
555
|
_this.wobbleTimeLeft = WOBBLE_DURATION;
|
|
499
556
|
_this.wobbleIndex = datumIndex;
|
|
@@ -537,18 +594,17 @@ var FlameComponent = (function (_super) {
|
|
|
537
594
|
margin: 0,
|
|
538
595
|
border: 0,
|
|
539
596
|
position: 'absolute',
|
|
540
|
-
cursor: _this.
|
|
597
|
+
cursor: _this.getActiveCursor(),
|
|
541
598
|
};
|
|
542
599
|
var dpr = window.devicePixelRatio * _this.pinchZoomScale;
|
|
543
600
|
var canvasWidth = width * dpr;
|
|
544
601
|
var canvasHeight = height * dpr;
|
|
545
|
-
var columns = _this.props.columnarViewModel;
|
|
546
602
|
var hitCount = _this.currentSearchHitCount;
|
|
547
603
|
var _c = theme.navigation, textColor = _c.textColor, buttonDisabledTextColor = _c.buttonDisabledTextColor, buttonBackgroundColor = _c.buttonBackgroundColor, buttonDisabledBackgroundColor = _c.buttonDisabledBackgroundColor, buttonTextColor = _c.buttonTextColor;
|
|
548
604
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
549
605
|
react_1.default.createElement("figure", { "aria-labelledby": a11ySettings.labelId, "aria-describedby": a11ySettings.descriptionId },
|
|
550
606
|
react_1.default.createElement("canvas", { ref: _this.glCanvasRef, className: "echCanvasRenderer", width: canvasWidth, height: canvasHeight, style: style, role: "presentation" }),
|
|
551
|
-
react_1.default.createElement("canvas", { ref: forwardStageRef, tabIndex: 0, className: "echCanvasRenderer", width: canvasWidth, height: canvasHeight, onMouseMove: _this.handleMouseHoverMove, onMouseDown: _this.handleMouseDown, onMouseLeave: _this.handleMouseLeave, onKeyPress: _this.handleEnterKey, onKeyUp: _this.handleEscapeKey, onWheel: _this.handleWheel, style: __assign(__assign({}, style), { outline: 'none' }), role: "presentation" })),
|
|
607
|
+
react_1.default.createElement("canvas", { ref: forwardStageRef, tabIndex: 0, className: "echCanvasRenderer", width: canvasWidth, height: canvasHeight, onMouseMove: _this.handleMouseHoverMove, onMouseDown: _this.handleMouseDown, onContextMenu: _this.props.pinnableTooltip ? _this.handleContextMenu : undefined, onMouseLeave: _this.handleMouseLeave, onKeyPress: _this.handleEnterKey, onKeyUp: _this.handleEscapeKey, onWheel: _this.handleWheel, style: __assign(__assign({}, style), { outline: 'none' }), role: "presentation" })),
|
|
552
608
|
react_1.default.createElement("div", { style: {
|
|
553
609
|
position: 'absolute',
|
|
554
610
|
transform: "translateY(".concat(_this.props.chartDimensions.height - draw_a_frame_1.PADDING_BOTTOM + 4, "px)"),
|
|
@@ -681,22 +737,11 @@ var FlameComponent = (function (_super) {
|
|
|
681
737
|
transition: 'opacity 250ms ease-in-out',
|
|
682
738
|
color: textColor,
|
|
683
739
|
} }, "Match".concat(Number.isNaN(_this.focusedMatchIndex) ? 'es:' : ": ".concat(_this.focusedMatchIndex + 1, " /"), " ").concat(hitCount))),
|
|
684
|
-
react_1.default.createElement(tooltip_1.BasicTooltip, { onPointerMove: function () { return ({ type: mouse_1.ON_POINTER_MOVE, position: { x: NaN, y: NaN }, time: NaN }); }, position:
|
|
740
|
+
react_1.default.createElement(tooltip_1.BasicTooltip, { canPinTooltip: true, onPointerMove: function () { return ({ type: mouse_1.ON_POINTER_MOVE, position: { x: NaN, y: NaN }, time: NaN }); }, position: _this.tooltipPinned
|
|
741
|
+
? { x: _this.pinnedPointerX, y: _this.pinnedPointerY, width: 0, height: 0 }
|
|
742
|
+
: { x: _this.pointerX, y: _this.pointerY, width: 0, height: 0 }, pinned: _this.tooltipPinned, selected: _this.tooltipSelectedSeries, pinTooltip: _this.pinTooltip, toggleSelectedTooltipItem: _this.toggleSelectedTooltipItem, setSelectedTooltipItems: _this.setSelectedTooltipItems, visible: _this.tooltipPinned || (_this.props.tooltipRequired && _this.hoverIndex >= 0 && !(_this.wobbleTimeLeft > 0)), info: {
|
|
685
743
|
header: null,
|
|
686
|
-
values: _this.
|
|
687
|
-
? [
|
|
688
|
-
{
|
|
689
|
-
label: columns.label[_this.hoverIndex],
|
|
690
|
-
color: getColor(columns.color, _this.hoverIndex),
|
|
691
|
-
isHighlighted: false,
|
|
692
|
-
isVisible: true,
|
|
693
|
-
seriesIdentifier: { specId: '', key: '' },
|
|
694
|
-
value: columns.value[_this.hoverIndex],
|
|
695
|
-
formattedValue: "".concat(specValueFormatter(columns.value[_this.hoverIndex])),
|
|
696
|
-
valueAccessor: _this.hoverIndex,
|
|
697
|
-
},
|
|
698
|
-
]
|
|
699
|
-
: [],
|
|
744
|
+
values: _this.tooltipValues,
|
|
700
745
|
}, getChartContainerRef: _this.props.containerRef }),
|
|
701
746
|
debugHistory && (react_1.default.createElement("div", { style: {
|
|
702
747
|
position: 'absolute',
|
|
@@ -714,8 +759,12 @@ var FlameComponent = (function (_super) {
|
|
|
714
759
|
return;
|
|
715
760
|
var renderFrame = (0, draw_a_frame_1.drawFrame)(_this.ctx, _this.glContext, _this.props.chartDimensions.width, _this.props.chartDimensions.height, _this.getMinimapWidth(), _this.getMinimapHeight(), _this.getMinimapLeft(), _this.getMinimapTop(), window.devicePixelRatio * _this.pinchZoomScale, _this.props.columnarViewModel, _this.pickTexture, _this.glResources.pickTextureRenderer, _this.glResources.roundedRectRenderer, _this.hoverIndex, unitRowPitch(_this.props.columnarViewModel.position1), _this.currentColor, _this.props.theme);
|
|
716
761
|
var anim = function (t) {
|
|
717
|
-
var
|
|
718
|
-
_this.
|
|
762
|
+
var focusTimeDeltaMs = Number.isNaN(_this.prevFocusTime) ? 0 : t - _this.prevFocusTime;
|
|
763
|
+
_this.prevFocusTime = t;
|
|
764
|
+
if (_this.prevNodeTweenTime === Infinity)
|
|
765
|
+
_this.prevNodeTweenTime = t;
|
|
766
|
+
var nodeTweenTime = (0, common_1.clamp)((t - _this.prevNodeTweenTime) / NODE_TWEEN_DURATION_MS, 0, 1);
|
|
767
|
+
var nodeTweenInProgress = nodeTweenTime < 1;
|
|
719
768
|
var dx0 = _this.targetFocus.x0 - _this.currentFocus.x0;
|
|
720
769
|
var dx1 = _this.targetFocus.x1 - _this.currentFocus.x1;
|
|
721
770
|
var dy0 = _this.targetFocus.y0 - _this.currentFocus.y0;
|
|
@@ -725,22 +774,23 @@ var FlameComponent = (function (_super) {
|
|
|
725
774
|
var relativeExpansionX = Math.max(1, (currentExtentX + dx1 - dx0) / currentExtentX);
|
|
726
775
|
var relativeExpansionY = Math.max(1, (currentExtentX + dy1 - dy0) / currentExtentY);
|
|
727
776
|
var jointRelativeExpansion = (relativeExpansionX + relativeExpansionY) / 2;
|
|
728
|
-
var convergenceRateX = Math.min(1,
|
|
729
|
-
var convergenceRateY = Math.min(1,
|
|
777
|
+
var convergenceRateX = Math.min(1, focusTimeDeltaMs * RECURRENCE_ALPHA_PER_MS_X) / jointRelativeExpansion;
|
|
778
|
+
var convergenceRateY = Math.min(1, focusTimeDeltaMs * RECURRENCE_ALPHA_PER_MS_Y) / jointRelativeExpansion;
|
|
730
779
|
_this.currentFocus.x0 += convergenceRateX * dx0;
|
|
731
780
|
_this.currentFocus.x1 += convergenceRateX * dx1;
|
|
732
781
|
_this.currentFocus.y0 += convergenceRateY * dy0;
|
|
733
782
|
_this.currentFocus.y1 += convergenceRateY * dy1;
|
|
734
|
-
_this.wobbleTimeLeft -=
|
|
735
|
-
var
|
|
783
|
+
_this.wobbleTimeLeft -= focusTimeDeltaMs;
|
|
784
|
+
var wobbleAnimationInProgress = _this.wobbleTimeLeft > 0;
|
|
736
785
|
var timeFromWobbleStart = (0, common_1.clamp)(WOBBLE_DURATION - _this.wobbleTimeLeft, 0, WOBBLE_DURATION);
|
|
737
|
-
renderFrame([_this.currentFocus.x0, _this.currentFocus.x1, _this.currentFocus.y0, _this.currentFocus.y1], _this.wobbleIndex,
|
|
786
|
+
renderFrame([_this.currentFocus.x0, _this.currentFocus.x1, _this.currentFocus.y0, _this.currentFocus.y1], _this.wobbleIndex, wobbleAnimationInProgress ? 0.01 + 0.99 * (0.5 - 0.5 * Math.cos(timeFromWobbleStart * WOBBLE_FREQUENCY)) : 0, nodeTweenTime);
|
|
738
787
|
var maxDiff = Math.max(Math.abs(dx0), Math.abs(dx1), Math.abs(dy0), Math.abs(dy1));
|
|
739
|
-
|
|
788
|
+
var focusAnimationInProgress = maxDiff > 1e-12;
|
|
789
|
+
if (focusAnimationInProgress || wobbleAnimationInProgress || nodeTweenInProgress) {
|
|
740
790
|
_this.animationRafId = window.requestAnimationFrame(anim);
|
|
741
791
|
}
|
|
742
792
|
else {
|
|
743
|
-
_this.
|
|
793
|
+
_this.prevFocusTime = NaN;
|
|
744
794
|
_this.currentFocus.x0 = _this.targetFocus.x0;
|
|
745
795
|
_this.currentFocus.x1 = _this.targetFocus.x1;
|
|
746
796
|
_this.currentFocus.y0 = _this.targetFocus.y0;
|
|
@@ -840,6 +890,8 @@ var FlameComponent = (function (_super) {
|
|
|
840
890
|
_this.pinchZoomScale = (_b = (_a = browserRootWindow().visualViewport) === null || _a === void 0 ? void 0 : _a.scale) !== null && _b !== void 0 ? _b : 1;
|
|
841
891
|
_this.setupViewportScaleChangeListener();
|
|
842
892
|
_this.currentColor = columns.color;
|
|
893
|
+
_this.prevNodeTweenTime =
|
|
894
|
+
columns.position0 === columns.position1 && columns.size0 === columns.size1 ? -Infinity : Infinity;
|
|
843
895
|
return _this;
|
|
844
896
|
}
|
|
845
897
|
FlameComponent.prototype.focusOnNavElement = function (element) {
|
|
@@ -883,7 +935,7 @@ var FlameComponent = (function (_super) {
|
|
|
883
935
|
FlameComponent.prototype.wobble = function (nodeIndex) {
|
|
884
936
|
this.wobbleTimeLeft = WOBBLE_DURATION;
|
|
885
937
|
this.wobbleIndex = nodeIndex;
|
|
886
|
-
this.
|
|
938
|
+
this.prevFocusTime = NaN;
|
|
887
939
|
this.hoverIndex = NaN;
|
|
888
940
|
this.setState({});
|
|
889
941
|
};
|
|
@@ -894,12 +946,73 @@ var FlameComponent = (function (_super) {
|
|
|
894
946
|
var _a;
|
|
895
947
|
(_a = this.props.containerRef().current) === null || _a === void 0 ? void 0 : _a.removeEventListener('wheel', this.preventScroll);
|
|
896
948
|
};
|
|
949
|
+
FlameComponent.prototype.chartDimensionsChanged = function (_a) {
|
|
950
|
+
var height = _a.height, width = _a.width;
|
|
951
|
+
return this.props.chartDimensions.height !== height || this.props.chartDimensions.width !== width;
|
|
952
|
+
};
|
|
897
953
|
FlameComponent.prototype.updatePointerLocation = function (e) {
|
|
898
954
|
if (!this.props.forwardStageRef.current || !this.ctx)
|
|
899
955
|
return;
|
|
900
956
|
var box = this.props.forwardStageRef.current.getBoundingClientRect();
|
|
901
957
|
this.pointerX = e.clientX - box.left;
|
|
902
958
|
this.pointerY = e.clientY - box.top;
|
|
959
|
+
if (!this.tooltipPinned) {
|
|
960
|
+
this.pinnedPointerX = this.pointerX;
|
|
961
|
+
this.pinnedPointerY = this.pointerY;
|
|
962
|
+
}
|
|
963
|
+
};
|
|
964
|
+
FlameComponent.prototype.unpinTooltip = function (redraw) {
|
|
965
|
+
if (redraw === void 0) { redraw = false; }
|
|
966
|
+
this.pinnedPointerX = NaN;
|
|
967
|
+
this.pinnedPointerY = NaN;
|
|
968
|
+
this.tooltipPinned = false;
|
|
969
|
+
this.tooltipSelectedSeries = [];
|
|
970
|
+
this.updateHoverIndex();
|
|
971
|
+
if (redraw) {
|
|
972
|
+
this.smartDraw();
|
|
973
|
+
}
|
|
974
|
+
};
|
|
975
|
+
FlameComponent.prototype.updateHoverIndex = function () {
|
|
976
|
+
var hoveredDatumIndex = this.getHoveredDatumIndex();
|
|
977
|
+
var prevHoverIndex = this.hoverIndex >= 0 ? this.hoverIndex : NaN;
|
|
978
|
+
this.hoverIndex = hoveredDatumIndex;
|
|
979
|
+
if (!Object.is(this.hoverIndex, prevHoverIndex)) {
|
|
980
|
+
if (Number.isFinite(hoveredDatumIndex)) {
|
|
981
|
+
this.props.onElementOver([{ vmIndex: hoveredDatumIndex }]);
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
this.hoverIndex = NaN;
|
|
985
|
+
this.props.onElementOut();
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
if (prevHoverIndex !== this.hoverIndex) {
|
|
989
|
+
var columns = this.props.columnarViewModel;
|
|
990
|
+
this.tooltipValues =
|
|
991
|
+
this.hoverIndex >= 0
|
|
992
|
+
? [
|
|
993
|
+
{
|
|
994
|
+
label: columns.label[this.hoverIndex],
|
|
995
|
+
color: getColor(columns.color, this.hoverIndex),
|
|
996
|
+
isHighlighted: false,
|
|
997
|
+
isVisible: true,
|
|
998
|
+
seriesIdentifier: { specId: '', key: '' },
|
|
999
|
+
value: columns.value[this.hoverIndex],
|
|
1000
|
+
formattedValue: "".concat(specValueFormatter(columns.value[this.hoverIndex])),
|
|
1001
|
+
valueAccessor: this.hoverIndex,
|
|
1002
|
+
},
|
|
1003
|
+
]
|
|
1004
|
+
: [];
|
|
1005
|
+
}
|
|
1006
|
+
this.setState({});
|
|
1007
|
+
};
|
|
1008
|
+
FlameComponent.prototype.getActiveCursor = function () {
|
|
1009
|
+
if (this.tooltipPinned)
|
|
1010
|
+
return constants_1.DEFAULT_CSS_CURSOR;
|
|
1011
|
+
if (this.startOfDragX)
|
|
1012
|
+
return 'grabbing';
|
|
1013
|
+
if (this.hoverIndex >= 0)
|
|
1014
|
+
return 'pointer';
|
|
1015
|
+
return 'grab';
|
|
903
1016
|
};
|
|
904
1017
|
FlameComponent.prototype.smartDraw = function () {
|
|
905
1018
|
if (Number.isFinite(this.hoverIndex)) {
|
|
@@ -911,12 +1024,14 @@ var FlameComponent = (function (_super) {
|
|
|
911
1024
|
}
|
|
912
1025
|
};
|
|
913
1026
|
FlameComponent.displayName = 'Flame';
|
|
1027
|
+
FlameComponent.watchedKeys = ['Escape'];
|
|
914
1028
|
return FlameComponent;
|
|
915
1029
|
}(react_1.default.Component));
|
|
916
1030
|
var mapStateToProps = function (state) {
|
|
917
1031
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
918
1032
|
var flameSpec = (0, utils_1.getSpecsFromStore)(state.specs, __1.ChartType.Flame, specs_1.SpecType.Series)[0];
|
|
919
1033
|
var settingsSpec = (0, get_settings_spec_1.getSettingsSpecSelector)(state);
|
|
1034
|
+
var tooltipSpec = (0, get_tooltip_spec_1.getTooltipSpecSelector)(state);
|
|
920
1035
|
return {
|
|
921
1036
|
theme: (0, get_chart_theme_1.getChartThemeSelector)(state).flamegraph,
|
|
922
1037
|
debugHistory: settingsSpec.debug,
|
|
@@ -925,7 +1040,8 @@ var mapStateToProps = function (state) {
|
|
|
925
1040
|
animationDuration: (_c = flameSpec === null || flameSpec === void 0 ? void 0 : flameSpec.animation.duration) !== null && _c !== void 0 ? _c : 0,
|
|
926
1041
|
chartDimensions: state.parentDimensions,
|
|
927
1042
|
a11ySettings: (0, get_accessibility_config_1.getA11ySettingsSelector)(state),
|
|
928
|
-
tooltipRequired:
|
|
1043
|
+
tooltipRequired: tooltipSpec.type !== specs_1.TooltipType.None,
|
|
1044
|
+
pinnableTooltip: tooltipSpec.actions.length > 0,
|
|
929
1045
|
onElementOver: (_d = settingsSpec.onElementOver) !== null && _d !== void 0 ? _d : (function () { }),
|
|
930
1046
|
onElementClick: (_e = settingsSpec.onElementClick) !== null && _e !== void 0 ? _e : (function () { }),
|
|
931
1047
|
onElementOut: (_f = settingsSpec.onElementOut) !== null && _f !== void 0 ? _f : (function () { }),
|