public setEntireRangeData()

in src/UXClient/Models/GroupedBarChartData.ts [37:87]


    public setEntireRangeData (scaledToCurrentTime) {
        this.globalMax = -Number.MAX_VALUE;
        this.globalMin = Number.MAX_VALUE;
        this.aggsSeries = {};
        this.valuesOfVisibleType = [];
        Object.keys(this.displayState).forEach((aggKey, aggI) => {
            var splitByNames = [];
            var currentTimeSeries;

            this.allTimestampsArray.forEach((ts) => {
                if (this.displayState[aggKey].visible) {
                    var localSplitByNames = [];
                    var stackedAggregateObject = Object.keys(this.displayState[aggKey].splitBys).reverse().reduce((sAO, splitByName) => {
                        var splitBy = this.displayState[aggKey].splitBys[splitByName];
                        localSplitByNames.push(splitByName);
                        var value;
                        if (this.data[aggI][this.displayState[aggKey].name][splitByName][ts])
                            value = this.data[aggI][this.displayState[aggKey].name][splitByName][ts][splitBy.visibleType];
                        else
                            value = Number.MIN_VALUE;
                        if (!splitBy.visible){
                            if (value > 0)
                                value = Number.MIN_VALUE;
                            else
                                value = -Number.MIN_VALUE;
                        } 
                        sAO[splitByName] = value;

                        if ((!scaledToCurrentTime || ts == this.timestamp) && splitBy.visible){ 
                            this.valuesOfVisibleType.push(value);
                        }
                        return sAO;
                    }, {});

                    var series = d3.stack()
                        .keys(localSplitByNames)
                        .offset(d3.stackOffsetDiverging)
                        ([stackedAggregateObject]);
                    series.reverse();
                    if (ts == this.timestamp)
                        currentTimeSeries = series;

                    if ((ts == this.timestamp || !scaledToCurrentTime) && series != undefined) {
                        this.globalMax = Math.max(this.stackMax(series), this.globalMax);
                        this.globalMin = Math.min(this.stackMin(series), this.globalMin);
                    }
                }
            });
            this.aggsSeries[aggKey] = currentTimeSeries;
        });
    }