1 | import { a as __extends } from './tslib.es6-f952ba6f.js';
|
2 | import { U as Utils } from './Utils-38a0872e.js';
|
3 | import { stack, stackOffsetDiverging, min, max } from 'd3';
|
4 | import { C as ChartComponentData } from './Grid-170eaa9c.js';
|
5 |
|
6 | var GroupedBarChartData = (function (_super) {
|
7 | __extends(GroupedBarChartData, _super);
|
8 | function GroupedBarChartData() {
|
9 | var _this = _super.call(this) || this;
|
10 |
|
11 | _this.valuesOfVisibleType = [];
|
12 | _this.globalMax = -Number.MAX_VALUE;
|
13 | _this.globalMin = Number.MAX_VALUE;
|
14 | _this.stackMin = function (series) {
|
15 | return Number(min(series, function (d) { return d[0][0]; }));
|
16 | };
|
17 | _this.stackMax = function (series) {
|
18 | return Number(max(series, function (d) { return d[0][1]; }));
|
19 | };
|
20 | return _this;
|
21 | }
|
22 | GroupedBarChartData.prototype.mergeDataToDisplayStateAndTimeArrays = function (data, timestamp, aggregateExpressionOptions) {
|
23 | if (aggregateExpressionOptions === void 0) { aggregateExpressionOptions = null; }
|
24 | _super.prototype.mergeDataToDisplayStateAndTimeArrays.call(this, data, aggregateExpressionOptions);
|
25 | this.timestamp = timestamp;
|
26 | this.setValuesAtTimestamp();
|
27 | this.setFilteredAggregates();
|
28 | };
|
29 |
|
30 | GroupedBarChartData.prototype.setEntireRangeData = function (scaledToCurrentTime) {
|
31 | var _this = this;
|
32 | this.globalMax = -Number.MAX_VALUE;
|
33 | this.globalMin = Number.MAX_VALUE;
|
34 | this.aggsSeries = {};
|
35 | this.valuesOfVisibleType = [];
|
36 | Object.keys(this.displayState).forEach(function (aggKey, aggI) {
|
37 | var currentTimeSeries;
|
38 | _this.allTimestampsArray.forEach(function (ts) {
|
39 | if (_this.displayState[aggKey].visible) {
|
40 | var localSplitByNames = [];
|
41 | var stackedAggregateObject = Object.keys(_this.displayState[aggKey].splitBys).reverse().reduce(function (sAO, splitByName) {
|
42 | var splitBy = _this.displayState[aggKey].splitBys[splitByName];
|
43 | localSplitByNames.push(splitByName);
|
44 | var value;
|
45 | if (_this.data[aggI][_this.displayState[aggKey].name][splitByName][ts])
|
46 | value = _this.data[aggI][_this.displayState[aggKey].name][splitByName][ts][splitBy.visibleType];
|
47 | else
|
48 | value = Number.MIN_VALUE;
|
49 | if (!splitBy.visible) {
|
50 | if (value > 0)
|
51 | value = Number.MIN_VALUE;
|
52 | else
|
53 | value = -Number.MIN_VALUE;
|
54 | }
|
55 | sAO[splitByName] = value;
|
56 | if ((!scaledToCurrentTime || ts == _this.timestamp) && splitBy.visible) {
|
57 | _this.valuesOfVisibleType.push(value);
|
58 | }
|
59 | return sAO;
|
60 | }, {});
|
61 | var series = stack()
|
62 | .keys(localSplitByNames)
|
63 | .offset(stackOffsetDiverging)([stackedAggregateObject]);
|
64 | series.reverse();
|
65 | if (ts == _this.timestamp)
|
66 | currentTimeSeries = series;
|
67 | if ((ts == _this.timestamp || !scaledToCurrentTime) && series != undefined) {
|
68 | _this.globalMax = Math.max(_this.stackMax(series), _this.globalMax);
|
69 | _this.globalMin = Math.min(_this.stackMin(series), _this.globalMin);
|
70 | }
|
71 | }
|
72 | });
|
73 | _this.aggsSeries[aggKey] = currentTimeSeries;
|
74 | });
|
75 | };
|
76 | GroupedBarChartData.prototype.setValuesAtTimestamp = function () {
|
77 | var _this = this;
|
78 | var aggregateCounterMap = {};
|
79 | this.valuesAtTimestamp = {};
|
80 | this.data.forEach(function (aggregate, aggI) {
|
81 | var aggName = Object.keys(aggregate)[0];
|
82 | var aggKey;
|
83 | if (aggregateCounterMap[aggName]) {
|
84 | aggKey = Utils.createEntityKey(aggName, aggregateCounterMap[aggName]);
|
85 | aggregateCounterMap[aggName] += 1;
|
86 | }
|
87 | else {
|
88 | aggKey = Utils.createEntityKey(aggName, 0);
|
89 | aggregateCounterMap[aggName] = 1;
|
90 | }
|
91 | _this.valuesAtTimestamp[aggKey] = {};
|
92 | _this.valuesAtTimestamp[aggKey].splitBys = Object.keys(aggregate[aggName])
|
93 | .reduce(function (aggSplitBys, splitBy, splitByI) {
|
94 | aggSplitBys[splitBy] = {};
|
95 | aggSplitBys[splitBy].measurements = aggregate[aggName][splitBy][_this.timestamp];
|
96 | return aggSplitBys;
|
97 | }, {});
|
98 | });
|
99 | };
|
100 | GroupedBarChartData.prototype.getValueContainerData = function (aggKey) {
|
101 | var _this = this;
|
102 | return Object.keys(this.displayState[aggKey].splitBys).map(function (splitBy) {
|
103 | var measureType = _this.displayState[aggKey].splitBys[splitBy].visibleType;
|
104 | var val;
|
105 | if (_this.valuesAtTimestamp[aggKey].splitBys[splitBy].measurements &&
|
106 | _this.valuesAtTimestamp[aggKey].splitBys[splitBy].measurements[measureType])
|
107 | val = _this.valuesAtTimestamp[aggKey].splitBys[splitBy].measurements[measureType];
|
108 | else
|
109 | val = null;
|
110 | return {
|
111 | measureType: measureType,
|
112 | aggKey: aggKey,
|
113 | splitBy: splitBy,
|
114 | val: val
|
115 | };
|
116 | });
|
117 | };
|
118 | return GroupedBarChartData;
|
119 | }(ChartComponentData));
|
120 |
|
121 | export { GroupedBarChartData as G };
|