@elastic/charts 64.1.0 → 65.1.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/README.md +4 -4
- package/dist/chart_types/heatmap/state/selectors/compute_legend.js +2 -0
- package/dist/chart_types/heatmap/state/selectors/compute_legend.js.map +1 -1
- package/dist/chart_types/heatmap/state/selectors/get_legend_items_labels.js +5 -5
- package/dist/chart_types/heatmap/state/selectors/get_legend_items_labels.js.map +1 -1
- package/dist/chart_types/metric/renderer/dom/sparkline.js +21 -4
- package/dist/chart_types/metric/renderer/dom/sparkline.js.map +1 -1
- package/dist/chart_types/metric/renderer/dom/text.js +22 -8
- package/dist/chart_types/metric/renderer/dom/text.js.map +1 -1
- package/dist/chart_types/metric/specs/index.d.ts +19 -3
- package/dist/chart_types/metric/specs/index.d.ts.map +1 -1
- package/dist/chart_types/metric/specs/index.js +15 -4
- package/dist/chart_types/metric/specs/index.js.map +1 -1
- package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js +3 -2
- package/dist/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.js.map +1 -1
- package/dist/chart_types/partition_chart/state/chart_state.js +3 -3
- package/dist/chart_types/partition_chart/state/chart_state.js.map +1 -1
- package/dist/chart_types/partition_chart/state/selectors/compute_legend.js +10 -7
- package/dist/chart_types/partition_chart/state/selectors/compute_legend.js.map +1 -1
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_labels.js +2 -2
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_labels.js.map +1 -1
- package/dist/chart_types/specs.d.ts +1 -1
- package/dist/chart_types/specs.d.ts.map +1 -1
- package/dist/chart_types/specs.js.map +1 -1
- package/dist/chart_types/timeslip/timeslip/config.js +1 -0
- package/dist/chart_types/timeslip/timeslip/config.js.map +1 -1
- package/dist/chart_types/xy_chart/axes/timeslip/chrono/chrono_luxon/chrono_luxon.js.map +1 -1
- package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.js +2 -2
- package/dist/chart_types/xy_chart/axes/timeslip/continuous_time_rasters.js.map +1 -1
- package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js +2 -2
- package/dist/chart_types/xy_chart/axes/timeslip/multilayer_ticks.js.map +1 -1
- package/dist/chart_types/xy_chart/legend/legend.js +23 -30
- package/dist/chart_types/xy_chart/legend/legend.js.map +1 -1
- package/dist/chart_types/xy_chart/renderer/dom/highlighter.js +10 -2
- package/dist/chart_types/xy_chart/renderer/dom/highlighter.js.map +1 -1
- package/dist/chart_types/xy_chart/rendering/bars.js +26 -20
- package/dist/chart_types/xy_chart/rendering/bars.js.map +1 -1
- package/dist/chart_types/xy_chart/rendering/points.js +6 -6
- package/dist/chart_types/xy_chart/rendering/points.js.map +1 -1
- package/dist/chart_types/xy_chart/rendering/utils.js +5 -10
- package/dist/chart_types/xy_chart/rendering/utils.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_legend_items_labels.js +1 -11
- package/dist/chart_types/xy_chart/state/selectors/get_legend_items_labels.js.map +1 -1
- package/dist/chart_types/xy_chart/state/selectors/get_tooltip_values_highlighted_geoms.js +5 -1
- 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/visible_ticks.js +2 -2
- package/dist/chart_types/xy_chart/state/selectors/visible_ticks.js.map +1 -1
- package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts +2 -0
- package/dist/chart_types/xy_chart/state/utils/get_legend_values.d.ts.map +1 -0
- package/dist/chart_types/xy_chart/state/utils/get_legend_values.js +63 -0
- package/dist/chart_types/xy_chart/state/utils/get_legend_values.js.map +1 -0
- package/dist/chart_types/xy_chart/state/utils/utils.js +1 -1
- package/dist/chart_types/xy_chart/state/utils/utils.js.map +1 -1
- package/dist/chart_types/xy_chart/tooltip/tooltip.js +4 -3
- package/dist/chart_types/xy_chart/tooltip/tooltip.js.map +1 -1
- package/dist/chart_types/xy_chart/utils/specs.d.ts +3 -3
- package/dist/common/aggregations.d.ts +2 -0
- package/dist/common/aggregations.d.ts.map +1 -0
- package/dist/common/aggregations.js +151 -0
- package/dist/common/aggregations.js.map +1 -0
- package/dist/common/constants.d.ts +6 -6
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/legend.d.ts +51 -1
- package/dist/common/legend.d.ts.map +1 -1
- package/dist/common/legend.js +45 -0
- package/dist/common/legend.js.map +1 -1
- package/dist/components/chart.d.ts +1 -1
- package/dist/components/legend/label.js +48 -12
- package/dist/components/legend/label.js.map +1 -1
- package/dist/components/legend/legend.js +54 -13
- package/dist/components/legend/legend.js.map +1 -1
- package/dist/components/legend/legend_color_picker.d.ts +2 -0
- package/dist/components/legend/legend_color_picker.d.ts.map +1 -0
- package/dist/components/legend/legend_color_picker.js +42 -0
- package/dist/components/legend/legend_color_picker.js.map +1 -0
- package/dist/components/legend/legend_item.js +49 -100
- package/dist/components/legend/legend_item.js.map +1 -1
- package/dist/components/legend/legend_table/index.d.ts +2 -0
- package/dist/components/legend/legend_table/index.d.ts.map +1 -0
- package/dist/components/legend/legend_table/index.js +6 -0
- package/dist/components/legend/legend_table/index.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table.d.ts +2 -0
- package/dist/components/legend/legend_table/legend_table.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table.js +31 -0
- package/dist/components/legend/legend_table/legend_table.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table_body.d.ts +2 -0
- package/dist/components/legend/legend_table/legend_table_body.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table_body.js +13 -0
- package/dist/components/legend/legend_table/legend_table_body.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table_cell.d.ts +9 -0
- package/dist/components/legend/legend_table/legend_table_cell.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table_cell.js +16 -0
- package/dist/components/legend/legend_table/legend_table_cell.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table_header.d.ts +2 -0
- package/dist/components/legend/legend_table/legend_table_header.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table_header.js +24 -0
- package/dist/components/legend/legend_table/legend_table_header.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table_item.d.ts +2 -0
- package/dist/components/legend/legend_table/legend_table_item.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table_item.js +75 -0
- package/dist/components/legend/legend_table/legend_table_item.js.map +1 -0
- package/dist/components/legend/legend_table/legend_table_row.d.ts +7 -0
- package/dist/components/legend/legend_table/legend_table_row.d.ts.map +1 -0
- package/dist/components/legend/legend_table/legend_table_row.js +14 -0
- package/dist/components/legend/legend_table/legend_table_row.js.map +1 -0
- package/dist/components/legend/legend_table/legend_value.d.ts +2 -0
- package/dist/components/legend/legend_table/legend_value.d.ts.map +1 -0
- package/dist/components/legend/{extra.js → legend_table/legend_value.js} +7 -6
- package/dist/components/legend/legend_table/legend_value.js.map +1 -0
- package/dist/components/legend/types.d.ts +2 -0
- package/dist/components/legend/types.d.ts.map +1 -0
- package/dist/components/legend/types.js +3 -0
- package/dist/components/legend/types.js.map +1 -0
- package/dist/components/legend/utils.js +6 -6
- package/dist/components/legend/utils.js.map +1 -1
- package/dist/components/portal/types.d.ts +0 -1
- package/dist/components/portal/types.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_container.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_container.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_divider.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_divider.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_footer.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_footer.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_header.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_header.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_metric_row.d.ts +1 -1
- package/dist/components/tooltip/components/tooltip_metric_row.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_body.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table_body.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_cell.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table_cell.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_footer.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table_footer.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_header.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table_header.d.ts.map +1 -1
- package/dist/components/tooltip/components/tooltip_table_row.d.ts +2 -2
- package/dist/components/tooltip/components/tooltip_table_row.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/specs/constants.d.ts +1 -1
- package/dist/specs/constants.d.ts.map +1 -1
- package/dist/specs/constants.js +2 -1
- package/dist/specs/constants.js.map +1 -1
- package/dist/specs/settings.d.ts +20 -10
- package/dist/specs/settings.d.ts.map +1 -1
- package/dist/specs/settings.js.map +1 -1
- package/dist/state/actions/legend.js +2 -2
- package/dist/state/actions/legend.js.map +1 -1
- package/dist/state/reducers/interactions.js +14 -11
- package/dist/state/reducers/interactions.js.map +1 -1
- package/dist/state/selectors/get_legend_config_selector.js +3 -2
- package/dist/state/selectors/get_legend_config_selector.js.map +1 -1
- package/dist/state/selectors/get_legend_size.js +26 -18
- package/dist/state/selectors/get_legend_size.js.map +1 -1
- package/dist/state/selectors/get_legend_table_size.d.ts +2 -0
- package/dist/state/selectors/get_legend_table_size.d.ts.map +1 -0
- package/dist/state/selectors/get_legend_table_size.js +79 -0
- package/dist/state/selectors/get_legend_table_size.js.map +1 -0
- package/dist/state/selectors/get_settings_spec.js +12 -6
- package/dist/state/selectors/get_settings_spec.js.map +1 -1
- package/dist/theme.scss +304 -10
- 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/common.d.ts +1 -1
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/common.js +22 -3
- package/dist/utils/common.js.map +1 -1
- package/package.json +5 -1
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.d.ts +0 -2
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.d.ts.map +0 -1
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.js +0 -21
- package/dist/chart_types/partition_chart/state/selectors/get_legend_items_extra.js.map +0 -1
- package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts +0 -2
- package/dist/chart_types/xy_chart/state/utils/get_last_value.d.ts.map +0 -1
- package/dist/chart_types/xy_chart/state/utils/get_last_value.js +0 -32
- package/dist/chart_types/xy_chart/state/utils/get_last_value.js.map +0 -1
- package/dist/components/legend/extra.d.ts +0 -2
- package/dist/components/legend/extra.d.ts.map +0 -1
- package/dist/components/legend/extra.js.map +0 -1
package/dist/common/legend.d.ts
CHANGED
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
|
|
1
|
+
import { $Values } from 'utility-types';
|
|
2
|
+
import { PrimitiveValue } from '../chart_types/partition_chart/layout/utils/group_by_rollup';
|
|
3
|
+
/** @public */
|
|
4
|
+
export type LegendItemValue = {
|
|
5
|
+
value: PrimitiveValue;
|
|
6
|
+
label: string;
|
|
7
|
+
type: LegendValue;
|
|
8
|
+
};
|
|
9
|
+
/** @public */
|
|
10
|
+
export declare const LegendValue: Readonly<{
|
|
11
|
+
/** Value of the bucket being hovered or last bucket value when not hovering. */
|
|
12
|
+
CurrentAndLastValue: "currentAndLastValue";
|
|
13
|
+
/** Last value considering all data points in the chart */
|
|
14
|
+
LastValue: "lastValue";
|
|
15
|
+
/** Last non-null value */
|
|
16
|
+
LastNonNullValue: "lastNonNullValue";
|
|
17
|
+
/** Average value considering all data points in the chart */
|
|
18
|
+
Average: "average";
|
|
19
|
+
/** Median value considering all data points in the chart */
|
|
20
|
+
Median: "median";
|
|
21
|
+
/** Maximum value considering all data points in the chart */
|
|
22
|
+
Max: "max";
|
|
23
|
+
/** Minimum value considering all data points in the chart */
|
|
24
|
+
Min: "min";
|
|
25
|
+
/** First value considering all data points in the chart */
|
|
26
|
+
FirstValue: "firstValue";
|
|
27
|
+
/** First non-null value */
|
|
28
|
+
FirstNonNullValue: "firstNonNullValue";
|
|
29
|
+
/** Sum of al values plotted in the chart */
|
|
30
|
+
Total: "total";
|
|
31
|
+
/** number of data points plotted in the chart */
|
|
32
|
+
Count: "count";
|
|
33
|
+
/** number of data points with different values plotted in the chart */
|
|
34
|
+
DistinctCount: "distinctCount";
|
|
35
|
+
/** Variance of all data points plotted in the chart */
|
|
36
|
+
Variance: "variance";
|
|
37
|
+
/** Standard deviation of all data points plotted in the chart */
|
|
38
|
+
StdDeviation: "stdDeviation";
|
|
39
|
+
/** Difference between min and max values */
|
|
40
|
+
Range: "range";
|
|
41
|
+
/** Difference between first and last values */
|
|
42
|
+
Difference: "difference";
|
|
43
|
+
/** % difference between first and last values */
|
|
44
|
+
DifferencePercent: "differencePercent";
|
|
45
|
+
/** Partition section value */
|
|
46
|
+
Value: "value";
|
|
47
|
+
/** Partition section value in percent */
|
|
48
|
+
Percent: "percent";
|
|
49
|
+
}>;
|
|
50
|
+
/** @public */
|
|
51
|
+
export type LegendValue = $Values<typeof LegendValue>;
|
|
2
52
|
//# sourceMappingURL=legend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAQ7F,cAAc;AACd,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1F,cAAc;AACd,eAAO,MAAM,WAAW;IACtB,gFAAgF;;IAEhF,0DAA0D;;IAE1D,0BAA0B;;IAE1B,6DAA6D;;IAE7D,4DAA4D;;IAE5D,6DAA6D;;IAE7D,6DAA6D;;IAE7D,2DAA2D;;IAE3D,2BAA2B;;IAE3B,4CAA4C;;IAE5C,iDAAiD;;IAEjD,uEAAuE;;IAEvE,uDAAuD;;IAEvD,iEAAiE;;IAEjE,6CAA6C;;IAE7C,+CAA+C;;IAE/C,iDAAiD;;IAEjD,8BAA8B;;IAE9B,yCAAyC;;EAEzC,CAAC;AACH,cAAc;AACd,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
package/dist/common/legend.js
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.legendValueTitlesMap = exports.shouldDisplayTable = exports.LegendValue = void 0;
|
|
4
|
+
exports.LegendValue = Object.freeze({
|
|
5
|
+
CurrentAndLastValue: 'currentAndLastValue',
|
|
6
|
+
LastValue: 'lastValue',
|
|
7
|
+
LastNonNullValue: 'lastNonNullValue',
|
|
8
|
+
Average: 'average',
|
|
9
|
+
Median: 'median',
|
|
10
|
+
Max: 'max',
|
|
11
|
+
Min: 'min',
|
|
12
|
+
FirstValue: 'firstValue',
|
|
13
|
+
FirstNonNullValue: 'firstNonNullValue',
|
|
14
|
+
Total: 'total',
|
|
15
|
+
Count: 'count',
|
|
16
|
+
DistinctCount: 'distinctCount',
|
|
17
|
+
Variance: 'variance',
|
|
18
|
+
StdDeviation: 'stdDeviation',
|
|
19
|
+
Range: 'range',
|
|
20
|
+
Difference: 'difference',
|
|
21
|
+
DifferencePercent: 'differencePercent',
|
|
22
|
+
Value: 'value',
|
|
23
|
+
Percent: 'percent',
|
|
24
|
+
});
|
|
25
|
+
const shouldDisplayTable = (legendValues) => legendValues.some((v) => v !== exports.LegendValue.CurrentAndLastValue && v !== exports.LegendValue.Value);
|
|
26
|
+
exports.shouldDisplayTable = shouldDisplayTable;
|
|
27
|
+
exports.legendValueTitlesMap = {
|
|
28
|
+
[exports.LegendValue.CurrentAndLastValue]: 'Value',
|
|
29
|
+
[exports.LegendValue.Value]: 'Value',
|
|
30
|
+
[exports.LegendValue.Percent]: 'Percent',
|
|
31
|
+
[exports.LegendValue.LastValue]: 'Last',
|
|
32
|
+
[exports.LegendValue.LastNonNullValue]: 'Last non-null',
|
|
33
|
+
[exports.LegendValue.FirstValue]: 'First',
|
|
34
|
+
[exports.LegendValue.FirstNonNullValue]: 'First non-null',
|
|
35
|
+
[exports.LegendValue.Average]: 'Avg',
|
|
36
|
+
[exports.LegendValue.Median]: 'Mid',
|
|
37
|
+
[exports.LegendValue.Min]: 'Min',
|
|
38
|
+
[exports.LegendValue.Max]: 'Max',
|
|
39
|
+
[exports.LegendValue.Total]: 'Total',
|
|
40
|
+
[exports.LegendValue.Count]: 'Count',
|
|
41
|
+
[exports.LegendValue.DistinctCount]: 'Dist Count',
|
|
42
|
+
[exports.LegendValue.Variance]: 'Variance',
|
|
43
|
+
[exports.LegendValue.StdDeviation]: 'Std dev',
|
|
44
|
+
[exports.LegendValue.Range]: 'Range',
|
|
45
|
+
[exports.LegendValue.Difference]: 'Diff',
|
|
46
|
+
[exports.LegendValue.DifferencePercent]: 'Diff %',
|
|
47
|
+
};
|
|
3
48
|
//# sourceMappingURL=legend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../src/common/legend.ts"],"names":[],"mappings":";;;AAyBa,QAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAEvC,mBAAmB,EAAE,qBAA8B;IAEnD,SAAS,EAAE,WAAoB;IAE/B,gBAAgB,EAAE,kBAA2B;IAE7C,OAAO,EAAE,SAAkB;IAE3B,MAAM,EAAE,QAAiB;IAEzB,GAAG,EAAE,KAAc;IAEnB,GAAG,EAAE,KAAc;IAEnB,UAAU,EAAE,YAAqB;IAEjC,iBAAiB,EAAE,mBAA4B;IAE/C,KAAK,EAAE,OAAgB;IAEvB,KAAK,EAAE,OAAgB;IAEvB,aAAa,EAAE,eAAwB;IAEvC,QAAQ,EAAE,UAAmB;IAE7B,YAAY,EAAE,cAAuB;IAErC,KAAK,EAAE,OAAgB;IAEvB,UAAU,EAAE,YAAqB;IAEjC,iBAAiB,EAAE,mBAA4B;IAE/C,KAAK,EAAE,OAAgB;IAEvB,OAAO,EAAE,SAAkB;CAC5B,CAAC,CAAC;AA8BI,MAAM,kBAAkB,GAAG,CAAC,YAA2B,EAAE,EAAE,CAChE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAW,CAAC,mBAAmB,IAAI,CAAC,KAAK,mBAAW,CAAC,KAAK,CAAC,CAAC;AADhF,QAAA,kBAAkB,sBAC8D;AAKhF,QAAA,oBAAoB,GAAG;IAClC,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,OAAO;IAC1C,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,mBAAW,CAAC,SAAS,CAAC,EAAE,MAAM;IAC/B,CAAC,mBAAW,CAAC,gBAAgB,CAAC,EAAE,eAAe;IAC/C,CAAC,mBAAW,CAAC,UAAU,CAAC,EAAE,OAAO;IACjC,CAAC,mBAAW,CAAC,iBAAiB,CAAC,EAAE,gBAAgB;IACjD,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,KAAK;IAC5B,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,KAAK;IAC3B,CAAC,mBAAW,CAAC,GAAG,CAAC,EAAE,KAAK;IACxB,CAAC,mBAAW,CAAC,GAAG,CAAC,EAAE,KAAK;IACxB,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,aAAa,CAAC,EAAE,YAAY;IACzC,CAAC,mBAAW,CAAC,QAAQ,CAAC,EAAE,UAAU;IAClC,CAAC,mBAAW,CAAC,YAAY,CAAC,EAAE,SAAS;IACrC,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,OAAO;IAC5B,CAAC,mBAAW,CAAC,UAAU,CAAC,EAAE,MAAM;IAChC,CAAC,mBAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ;CAC1C,CAAC"}
|
|
@@ -41,7 +41,7 @@ export declare class Chart extends React.Component<ChartProps, ChartState> {
|
|
|
41
41
|
} | null;
|
|
42
42
|
getChartContainerRef: () => React.RefObject<HTMLDivElement>;
|
|
43
43
|
dispatchExternalPointerEvent(event: PointerEvent): void;
|
|
44
|
-
render(): JSX.Element;
|
|
44
|
+
render(): React.JSX.Element;
|
|
45
45
|
}
|
|
46
46
|
export {};
|
|
47
47
|
//# sourceMappingURL=chart.d.ts.map
|
|
@@ -26,26 +26,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.Label = void 0;
|
|
29
|
+
exports.NonInteractiveLabel = exports.Label = void 0;
|
|
30
30
|
const classnames_1 = __importDefault(require("classnames"));
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
32
|
const common_1 = require("../../utils/common");
|
|
33
|
-
|
|
33
|
+
const isAppleDevice = typeof window !== 'undefined' && /Mac|iPhone|iPad/.test(window.navigator.userAgent);
|
|
34
|
+
const modifierKey = isAppleDevice ? '⌘ (Command)' : 'Ctrl';
|
|
35
|
+
const isolateSeriesMessage = 'isolate series';
|
|
36
|
+
const showAllSeriesMessage = 'show all series';
|
|
37
|
+
const showSeriesMessage = 'show series';
|
|
38
|
+
const hideSeriesMessage = 'hide series';
|
|
39
|
+
function getInteractivityTitle(isSeriesVisible, hiddenSeries, allSeries) {
|
|
40
|
+
if (isSeriesVisible) {
|
|
41
|
+
if (allSeries - hiddenSeries === 1) {
|
|
42
|
+
return `
|
|
43
|
+
Click: ${showAllSeriesMessage}
|
|
44
|
+
${modifierKey} + click: ${hideSeriesMessage}`;
|
|
45
|
+
}
|
|
46
|
+
if (hiddenSeries > 0) {
|
|
47
|
+
return `
|
|
48
|
+
Click: ${hideSeriesMessage}
|
|
49
|
+
${modifierKey} + click: ${hideSeriesMessage}`;
|
|
50
|
+
}
|
|
51
|
+
return `
|
|
52
|
+
Click: ${isolateSeriesMessage}
|
|
53
|
+
${modifierKey} + click: ${hideSeriesMessage}`;
|
|
54
|
+
}
|
|
55
|
+
return `
|
|
56
|
+
Click: ${showSeriesMessage}
|
|
57
|
+
${modifierKey} + click: ${showSeriesMessage}`;
|
|
58
|
+
}
|
|
59
|
+
function Label({ label, onToggle, isToggleable, isSeriesHidden, options, hiddenSeriesCount, totalSeriesCount, }) {
|
|
60
|
+
const { className, dir, clampStyles } = getSharedProps(label, options, !!onToggle);
|
|
61
|
+
const onClick = (0, react_1.useCallback)(({ metaKey, ctrlKey }) => onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey), [onToggle]);
|
|
62
|
+
const onKeyDown = (0, react_1.useCallback)(({ key, metaKey, ctrlKey }) => {
|
|
63
|
+
if (key === ' ' || key === 'Enter')
|
|
64
|
+
onToggle === null || onToggle === void 0 ? void 0 : onToggle(isAppleDevice ? metaKey : ctrlKey);
|
|
65
|
+
}, [onToggle]);
|
|
66
|
+
const title = options.maxLines > 0 ? label : '';
|
|
67
|
+
const interactionsGuidanceText = getInteractivityTitle(!isSeriesHidden, hiddenSeriesCount, totalSeriesCount);
|
|
68
|
+
return isToggleable ? (react_1.default.createElement("div", { role: "button", tabIndex: 0, dir: dir, className: className, title: `${title}${interactionsGuidanceText}`, onClick: onClick, onKeyDown: onKeyDown, "aria-pressed": isSeriesHidden, style: clampStyles, "aria-label": `${label}; ${interactionsGuidanceText.replace('\n', '')}` }, label)) : (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
|
|
69
|
+
}
|
|
70
|
+
exports.Label = Label;
|
|
71
|
+
function NonInteractiveLabel({ label, options }) {
|
|
72
|
+
const { className, dir, clampStyles } = getSharedProps(label, options);
|
|
73
|
+
return (react_1.default.createElement("div", { dir: dir, className: className, title: label, style: clampStyles }, label));
|
|
74
|
+
}
|
|
75
|
+
exports.NonInteractiveLabel = NonInteractiveLabel;
|
|
76
|
+
function getSharedProps(label, options, isToggleable) {
|
|
34
77
|
const maxLines = Math.abs(options.maxLines);
|
|
35
|
-
const
|
|
36
|
-
'echLegendItem__label--clickable': Boolean(
|
|
78
|
+
const className = (0, classnames_1.default)('echLegendItem__label', {
|
|
79
|
+
'echLegendItem__label--clickable': Boolean(isToggleable),
|
|
37
80
|
'echLegendItem__label--singleline': maxLines === 1,
|
|
38
81
|
'echLegendItem__label--multiline': maxLines > 1,
|
|
39
82
|
});
|
|
40
|
-
const onClick = (0, react_1.useCallback)(({ shiftKey }) => onToggle === null || onToggle === void 0 ? void 0 : onToggle(shiftKey), [onToggle]);
|
|
41
|
-
const onKeyDown = (0, react_1.useCallback)(({ key, shiftKey }) => {
|
|
42
|
-
if (key === ' ' || key === 'Enter')
|
|
43
|
-
onToggle === null || onToggle === void 0 ? void 0 : onToggle(shiftKey);
|
|
44
|
-
}, [onToggle]);
|
|
45
83
|
const dir = (0, common_1.isRTLString)(label) ? 'rtl' : 'ltr';
|
|
46
|
-
const title = options.maxLines > 0 ? label : '';
|
|
47
84
|
const clampStyles = maxLines > 1 ? { WebkitLineClamp: maxLines } : {};
|
|
48
|
-
return
|
|
85
|
+
return { className, dir, clampStyles };
|
|
49
86
|
}
|
|
50
|
-
exports.Label = Label;
|
|
51
87
|
//# sourceMappingURL=label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/legend/label.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,4DAAoC;AACpC,+CAAoF;AAEpF,+CAAiD;
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/components/legend/label.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
exports.Legend = void 0;
|
|
7
30
|
const classnames_1 = __importDefault(require("classnames"));
|
|
8
|
-
const react_1 =
|
|
31
|
+
const react_1 = __importStar(require("react"));
|
|
9
32
|
const react_redux_1 = require("react-redux");
|
|
10
33
|
const redux_1 = require("redux");
|
|
11
34
|
const custom_legend_1 = require("./custom_legend");
|
|
12
35
|
const legend_item_1 = require("./legend_item");
|
|
36
|
+
const legend_table_1 = require("./legend_table");
|
|
13
37
|
const position_style_1 = require("./position_style");
|
|
14
38
|
const style_utils_1 = require("./style_utils");
|
|
39
|
+
const legend_1 = require("../../common/legend");
|
|
15
40
|
const specs_1 = require("../../specs");
|
|
16
41
|
const colors_1 = require("../../state/actions/colors");
|
|
17
|
-
const
|
|
42
|
+
const legend_2 = require("../../state/actions/legend");
|
|
18
43
|
const get_chart_theme_1 = require("../../state/selectors/get_chart_theme");
|
|
19
44
|
const get_internal_is_intialized_1 = require("../../state/selectors/get_internal_is_intialized");
|
|
20
45
|
const get_internal_main_projection_area_1 = require("../../state/selectors/get_internal_main_projection_area");
|
|
@@ -30,6 +55,20 @@ const light_theme_1 = require("../../utils/themes/light_theme");
|
|
|
30
55
|
function LegendComponent(props) {
|
|
31
56
|
var _a;
|
|
32
57
|
const { items, size, debug, isBrushing, chartTheme: { chartMargins, legend }, chartDimensions, containerDimensions, config, } = props;
|
|
58
|
+
const { onLegendItemOut, onLegendItemOver } = config;
|
|
59
|
+
const { onItemOutAction, onItemOverAction } = props;
|
|
60
|
+
const onLegendItemMouseOver = (0, react_1.useCallback)((seriesIdentifiers, path) => {
|
|
61
|
+
if (onLegendItemOver) {
|
|
62
|
+
onLegendItemOver(seriesIdentifiers);
|
|
63
|
+
}
|
|
64
|
+
onItemOverAction(path);
|
|
65
|
+
}, [onItemOverAction, onLegendItemOver]);
|
|
66
|
+
const onLegendItemMouseOut = (0, react_1.useCallback)(() => {
|
|
67
|
+
if (onLegendItemOut) {
|
|
68
|
+
onLegendItemOut();
|
|
69
|
+
}
|
|
70
|
+
onItemOutAction();
|
|
71
|
+
}, [onLegendItemOut, onItemOutAction]);
|
|
33
72
|
if (items.every(({ isItemHidden }) => isItemHidden)) {
|
|
34
73
|
return null;
|
|
35
74
|
}
|
|
@@ -51,23 +90,24 @@ function LegendComponent(props) {
|
|
|
51
90
|
positionConfig,
|
|
52
91
|
isMostlyRTL,
|
|
53
92
|
totalItems: items.length,
|
|
93
|
+
hiddenItems: items.filter(({ isSeriesHidden }) => isSeriesHidden).length,
|
|
54
94
|
extraValues: props.extraValues,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
95
|
+
legendValues: config.legendValues,
|
|
96
|
+
onLegendItemMouseOver,
|
|
97
|
+
onLegendItemMouseOut,
|
|
58
98
|
onClick: config.onLegendItemClick,
|
|
59
99
|
clearTemporaryColorsAction: props.clearTemporaryColors,
|
|
60
100
|
setPersistedColorAction: props.setPersistedColor,
|
|
61
101
|
setTemporaryColorAction: props.setTemporaryColor,
|
|
62
|
-
mouseOutAction: props.onItemOutAction,
|
|
63
|
-
mouseOverAction: props.onItemOverAction,
|
|
64
102
|
toggleDeselectSeriesAction: props.onToggleDeselectSeriesAction,
|
|
65
103
|
colorPicker: config.legendColorPicker,
|
|
66
104
|
action: config.legendAction,
|
|
67
105
|
labelOptions: legend.labelOptions,
|
|
68
106
|
flatLegend: (_a = config.flatLegend) !== null && _a !== void 0 ? _a : specs_1.DEFAULT_LEGEND_CONFIG.flatLegend,
|
|
107
|
+
legendTitle: config.legendTitle,
|
|
69
108
|
};
|
|
70
109
|
const positionStyle = (0, position_style_1.legendPositionStyle)(config, size, chartDimensions, containerDimensions);
|
|
110
|
+
const isTableView = (0, legend_1.shouldDisplayTable)(itemProps.legendValues);
|
|
71
111
|
return (react_1.default.createElement("div", { className: legendClasses, style: positionStyle, dir: isMostlyRTL ? 'rtl' : 'ltr' }, config.customLegend ? (react_1.default.createElement("div", { style: containerStyle },
|
|
72
112
|
react_1.default.createElement(custom_legend_1.CustomLegend, { component: config.customLegend, items: items.map(({ seriesIdentifiers, childId, path, ...customProps }) => {
|
|
73
113
|
var _a, _b, _c;
|
|
@@ -76,17 +116,18 @@ function LegendComponent(props) {
|
|
|
76
116
|
seriesIdentifiers,
|
|
77
117
|
path,
|
|
78
118
|
extraValue: (_c = itemProps.extraValues.get((_b = (_a = seriesIdentifiers[0]) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '')) === null || _c === void 0 ? void 0 : _c.get(childId !== null && childId !== void 0 ? childId : ''),
|
|
79
|
-
onItemOutAction
|
|
80
|
-
onItemOverActon: () =>
|
|
119
|
+
onItemOutAction,
|
|
120
|
+
onItemOverActon: () => onItemOverAction(path),
|
|
81
121
|
onItemClickAction: (negate) => itemProps.toggleDeselectSeriesAction(seriesIdentifiers, negate),
|
|
82
122
|
});
|
|
83
|
-
}) }))) : (react_1.default.createElement("div", { style: containerStyle, className: "
|
|
123
|
+
}) }))) : isTableView ? (react_1.default.createElement("div", { style: containerStyle, className: "echLegendTable__container" },
|
|
124
|
+
react_1.default.createElement(legend_table_1.LegendTable, { items: items, ...itemProps, seriesWidth: size.seriesWidth }))) : (react_1.default.createElement("div", { style: containerStyle, className: "echLegendListContainer" },
|
|
84
125
|
react_1.default.createElement("ul", { style: listStyle, className: "echLegendList" }, items.map((item, index) => (react_1.default.createElement(legend_item_1.LegendListItem, { key: `${index}`, item: item, ...itemProps }))))))));
|
|
85
126
|
}
|
|
86
127
|
const mapDispatchToProps = (dispatch) => (0, redux_1.bindActionCreators)({
|
|
87
|
-
onToggleDeselectSeriesAction:
|
|
88
|
-
onItemOutAction:
|
|
89
|
-
onItemOverAction:
|
|
128
|
+
onToggleDeselectSeriesAction: legend_2.onToggleDeselectSeriesAction,
|
|
129
|
+
onItemOutAction: legend_2.onLegendItemOutAction,
|
|
130
|
+
onItemOverAction: legend_2.onLegendItemOverAction,
|
|
90
131
|
clearTemporaryColors: colors_1.clearTemporaryColors,
|
|
91
132
|
setTemporaryColor: colors_1.setTemporaryColor,
|
|
92
133
|
setPersistedColor: colors_1.setPersistedColor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../src/components/legend/legend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"legend.js","sourceRoot":"","sources":["../../../src/components/legend/legend.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legend_color_picker.d.ts","sourceRoot":"","sources":["../../../src/components/legend/legend_color_picker.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useLegendColorPicker = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const color_1 = require("./color");
|
|
9
|
+
const useLegendColorPicker = ({ item: { color, isSeriesHidden, label, pointStyle, seriesIdentifiers }, colorPicker: ColorPickerRenderer, clearTemporaryColorsAction, setTemporaryColorAction, setPersistedColorAction, }) => {
|
|
10
|
+
const [isOpen, setIsOpen] = react_1.default.useState(false);
|
|
11
|
+
const colorRef = react_1.default.useRef(null);
|
|
12
|
+
const shouldClearPersistedColor = react_1.default.useRef(false);
|
|
13
|
+
const toggleIsOpen = () => {
|
|
14
|
+
setIsOpen((prevIsOpen) => !prevIsOpen);
|
|
15
|
+
};
|
|
16
|
+
const handleColorClick = (changeable) => changeable
|
|
17
|
+
? (event) => {
|
|
18
|
+
event.stopPropagation();
|
|
19
|
+
toggleIsOpen();
|
|
20
|
+
}
|
|
21
|
+
: undefined;
|
|
22
|
+
const handleColorPickerClose = () => {
|
|
23
|
+
const seriesKeys = seriesIdentifiers.map(({ key }) => key);
|
|
24
|
+
setPersistedColorAction(seriesKeys, shouldClearPersistedColor.current ? null : color);
|
|
25
|
+
clearTemporaryColorsAction();
|
|
26
|
+
requestAnimationFrame(() => { var _a; return (_a = colorRef.current) === null || _a === void 0 ? void 0 : _a.focus(); });
|
|
27
|
+
toggleIsOpen();
|
|
28
|
+
};
|
|
29
|
+
const handleColorPickerChange = (c) => {
|
|
30
|
+
const seriesKeys = seriesIdentifiers.map(({ key }) => key);
|
|
31
|
+
shouldClearPersistedColor.current = c === null;
|
|
32
|
+
setTemporaryColorAction(seriesKeys, c);
|
|
33
|
+
};
|
|
34
|
+
const hasColorPicker = Boolean(ColorPickerRenderer);
|
|
35
|
+
const renderItemColor = () => (react_1.default.createElement(color_1.Color, { ref: colorRef, color: color, seriesName: label, isSeriesHidden: isSeriesHidden, hasColorPicker: hasColorPicker, onClick: handleColorClick(hasColorPicker), pointStyle: pointStyle }));
|
|
36
|
+
const renderColorPickerPopup = () => ColorPickerRenderer &&
|
|
37
|
+
isOpen &&
|
|
38
|
+
colorRef.current && (react_1.default.createElement(ColorPickerRenderer, { anchor: colorRef.current, color: color, onClose: handleColorPickerClose, onChange: handleColorPickerChange, seriesIdentifiers: seriesIdentifiers }));
|
|
39
|
+
return { renderItemColor, renderColorPickerPopup };
|
|
40
|
+
};
|
|
41
|
+
exports.useLegendColorPicker = useLegendColorPicker;
|
|
42
|
+
//# sourceMappingURL=legend_color_picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legend_color_picker.js","sourceRoot":"","sources":["../../../src/components/legend/legend_color_picker.tsx"],"names":[],"mappings":";;;;;;AAQA,kDAA0B;AAE1B,mCAA6C;AAKtC,MAAM,oBAAoB,GAAG,CAAC,EACnC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,EACrE,WAAW,EAAE,mBAAmB,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,GACP,EAAE,EAAE;IACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,MAAM,yBAAyB,GAAG,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAE,EAAE,CAC/C,UAAU;QACR,CAAC,CAAC,CAAC,KAAuB,EAAE,EAAE;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,YAAY,EAAE,CAAC;QACjB,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3D,uBAAuB,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,0BAA0B,EAAE,CAAC;QAC7B,qBAAqB,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC,CAAC;QACvD,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,CAAe,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3D,yBAAyB,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC;QAC/C,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEpD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,8BAAC,aAAS,IACR,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACzC,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAClC,mBAAmB;QACnB,MAAM;QACN,QAAQ,CAAC,OAAO,IAAI,CAClB,8BAAC,mBAAmB,IAClB,MAAM,EAAE,QAAQ,CAAC,OAAO,EACxB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,uBAAuB,EACjC,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAC;IAEJ,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;AACrD,CAAC,CAAC;AAhEW,QAAA,oBAAoB,wBAgE/B"}
|
|
@@ -26,113 +26,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.LegendListItem = exports.LEGEND_HIERARCHY_MARGIN = void 0;
|
|
29
|
+
exports.LegendListItem = exports.prepareLegendValues = exports.LEGEND_HIERARCHY_MARGIN = void 0;
|
|
30
30
|
const classnames_1 = __importDefault(require("classnames"));
|
|
31
31
|
const react_1 = __importStar(require("react"));
|
|
32
|
-
const color_1 = require("./color");
|
|
33
|
-
const extra_1 = require("./extra");
|
|
34
32
|
const label_1 = require("./label");
|
|
33
|
+
const legend_color_picker_1 = require("./legend_color_picker");
|
|
35
34
|
const utils_1 = require("./utils");
|
|
35
|
+
const legend_1 = require("../../common/legend");
|
|
36
36
|
const common_1 = require("../../utils/common");
|
|
37
|
-
const fast_deep_equal_1 = require("../../utils/fast_deep_equal");
|
|
38
37
|
exports.LEGEND_HIERARCHY_MARGIN = 10;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
onMouseOver(item.seriesIdentifiers);
|
|
61
|
-
}
|
|
62
|
-
mouseOverAction(item.path);
|
|
63
|
-
};
|
|
64
|
-
this.onLegendItemMouseOut = () => {
|
|
65
|
-
const { onMouseOut, mouseOutAction } = this.props;
|
|
66
|
-
if (onMouseOut) {
|
|
67
|
-
onMouseOut();
|
|
68
|
-
}
|
|
69
|
-
mouseOutAction();
|
|
70
|
-
};
|
|
71
|
-
this.onLabelToggle = (legendItemId) => {
|
|
72
|
-
const { item, onClick, toggleDeselectSeriesAction, totalItems } = this.props;
|
|
73
|
-
if (totalItems <= 1 || (!item.isToggleable && !onClick)) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
return (negate) => {
|
|
77
|
-
if (onClick) {
|
|
78
|
-
onClick(legendItemId);
|
|
79
|
-
}
|
|
80
|
-
if (item.isToggleable) {
|
|
81
|
-
toggleDeselectSeriesAction(legendItemId, negate);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
shouldComponentUpdate(nextProps, nextState) {
|
|
87
|
-
return !(0, fast_deep_equal_1.deepEqual)(this.props, nextProps) || !(0, fast_deep_equal_1.deepEqual)(this.state, nextState);
|
|
88
|
-
}
|
|
89
|
-
renderColorPicker() {
|
|
90
|
-
const { colorPicker: ColorPicker, item, clearTemporaryColorsAction, setTemporaryColorAction, setPersistedColorAction, } = this.props;
|
|
91
|
-
const { seriesIdentifiers, color } = item;
|
|
92
|
-
const seriesKeys = seriesIdentifiers.map(({ key }) => key);
|
|
93
|
-
const handleClose = () => {
|
|
94
|
-
setPersistedColorAction(seriesKeys, this.shouldClearPersistedColor ? null : color);
|
|
95
|
-
clearTemporaryColorsAction();
|
|
96
|
-
requestAnimationFrame(() => { var _a, _b; return (_b = (_a = this.colorRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.focus(); });
|
|
97
|
-
this.toggleIsOpen();
|
|
98
|
-
};
|
|
99
|
-
const handleChange = (c) => {
|
|
100
|
-
this.shouldClearPersistedColor = c === null;
|
|
101
|
-
setTemporaryColorAction(seriesKeys, c);
|
|
38
|
+
const prepareLegendValues = (item, legendValues, totalItems, extraValues) => {
|
|
39
|
+
return legendValues.map((legendValue) => {
|
|
40
|
+
if (legendValue === legend_1.LegendValue.Value || legendValue === legend_1.LegendValue.CurrentAndLastValue) {
|
|
41
|
+
return (0, utils_1.getExtra)(extraValues, item, totalItems);
|
|
42
|
+
}
|
|
43
|
+
return item.values.find(({ type }) => type === legendValue);
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
exports.prepareLegendValues = prepareLegendValues;
|
|
47
|
+
const LegendListItem = (props) => {
|
|
48
|
+
const { extraValues, item, legendValues, totalItems, action: Action, positionConfig, labelOptions, isMostlyRTL, flatLegend, onClick, toggleDeselectSeriesAction, hiddenItems, onLegendItemMouseOver, onLegendItemMouseOut, } = props;
|
|
49
|
+
const { color, isSeriesHidden, isItemHidden, seriesIdentifiers, label, depth, path, isToggleable } = item;
|
|
50
|
+
const itemClassNames = (0, classnames_1.default)('echLegendItem', {
|
|
51
|
+
'echLegendItem--hidden': isSeriesHidden,
|
|
52
|
+
'echLegendItem--vertical': positionConfig.direction === common_1.LayoutDirection.Vertical,
|
|
53
|
+
});
|
|
54
|
+
const legendValueItems = (0, exports.prepareLegendValues)(item, legendValues, totalItems, extraValues).filter(common_1.isDefined);
|
|
55
|
+
const style = flatLegend
|
|
56
|
+
? {}
|
|
57
|
+
: {
|
|
58
|
+
[isMostlyRTL ? 'marginRight' : 'marginLeft']: exports.LEGEND_HIERARCHY_MARGIN * (depth !== null && depth !== void 0 ? depth : 0),
|
|
102
59
|
};
|
|
103
|
-
|
|
104
|
-
|
|
60
|
+
const onLabelToggle = (0, react_1.useCallback)((legendItemId) => (negate) => {
|
|
61
|
+
if (totalItems <= 1 || (!isToggleable && !onClick)) {
|
|
62
|
+
return;
|
|
105
63
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
react_1.default.createElement(color_1.Color, { ref: this.colorRef, color: color, seriesName: label, isSeriesHidden: isSeriesHidden, hasColorPicker: hasColorPicker, onClick: this.handleColorClick(hasColorPicker), pointStyle: pointStyle })),
|
|
129
|
-
react_1.default.createElement(label_1.Label, { label: label, options: labelOptions, isToggleable: totalItems > 1 && item.isToggleable, onToggle: this.onLabelToggle(seriesIdentifiers), isSeriesHidden: isSeriesHidden }),
|
|
130
|
-
extra && !isSeriesHidden && (0, extra_1.renderExtra)(extra.formatted),
|
|
131
|
-
Action && (react_1.default.createElement("div", { className: "echLegendItem__action" },
|
|
132
|
-
react_1.default.createElement(Action, { series: seriesIdentifiers, color: color, label: label })))),
|
|
133
|
-
this.renderColorPicker()));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
64
|
+
if (onClick) {
|
|
65
|
+
onClick(legendItemId);
|
|
66
|
+
}
|
|
67
|
+
if (isToggleable) {
|
|
68
|
+
toggleDeselectSeriesAction(legendItemId, negate);
|
|
69
|
+
}
|
|
70
|
+
}, [onClick, toggleDeselectSeriesAction, isToggleable, totalItems]);
|
|
71
|
+
const { renderItemColor, renderColorPickerPopup } = (0, legend_color_picker_1.useLegendColorPicker)(props);
|
|
72
|
+
if (isItemHidden)
|
|
73
|
+
return null;
|
|
74
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
75
|
+
react_1.default.createElement("li", { className: itemClassNames, onMouseEnter: () => onLegendItemMouseOver(seriesIdentifiers, path), onMouseLeave: onLegendItemMouseOut, style: style, dir: isMostlyRTL ? 'rtl' : 'ltr', "data-ech-series-name": label },
|
|
76
|
+
react_1.default.createElement("div", { className: "background" }),
|
|
77
|
+
react_1.default.createElement("div", { className: "echLegend__colorWrapper" }, renderItemColor()),
|
|
78
|
+
react_1.default.createElement(label_1.Label, { label: label, options: labelOptions, isToggleable: totalItems > 1 && item.isToggleable, onToggle: onLabelToggle(seriesIdentifiers), isSeriesHidden: isSeriesHidden, totalSeriesCount: totalItems, hiddenSeriesCount: hiddenItems }),
|
|
79
|
+
!isSeriesHidden
|
|
80
|
+
? legendValueItems.map((legendValueItem) => legendValueItem.label !== '' ? (react_1.default.createElement("div", { key: legendValueItem.label, className: "echLegendItem__legendValue" }, legendValueItem.label)) : null)
|
|
81
|
+
: null,
|
|
82
|
+
Action && (react_1.default.createElement("div", { className: "echLegendItem__action" },
|
|
83
|
+
react_1.default.createElement(Action, { series: seriesIdentifiers, color: color, label: label })))),
|
|
84
|
+
renderColorPickerPopup()));
|
|
85
|
+
};
|
|
136
86
|
exports.LegendListItem = LegendListItem;
|
|
137
|
-
LegendListItem.displayName = 'LegendItem';
|
|
138
87
|
//# sourceMappingURL=legend_item.js.map
|