UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

47 lines 2.22 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2019-2020 GoodData Corporation var cloneDeep = require("lodash/cloneDeep"); var bucketHelper_1 = require("../../utils/bucketHelper"); var AbstractPluggableVisualization = /** @class */ (function () { function AbstractPluggableVisualization() { } AbstractPluggableVisualization.prototype.addNewDerivedBucketItems = function (referencePoint, newDerivedBucketItems) { var _this = this; if (!referencePoint.buckets) { return Promise.resolve(referencePoint); } var newReferencePoint = cloneDeep(referencePoint); newReferencePoint.buckets = referencePoint.buckets.map(function (bucket) { return __assign({}, bucket, { items: _this.mergeDerivedBucketItems(referencePoint, bucket, newDerivedBucketItems) }); }); return Promise.resolve(newReferencePoint); }; AbstractPluggableVisualization.prototype.mergeDerivedBucketItems = function (referencePoint, bucket, newDerivedBucketItems) { return bucket.items.reduce(function (resultItems, bucketItem) { var newDerivedBucketItem = bucketHelper_1.findDerivedBucketItem(bucketItem, newDerivedBucketItems); var shouldAddItem = newDerivedBucketItem && !bucketHelper_1.isDerivedBucketItem(bucketItem) && !bucketHelper_1.hasDerivedBucketItems(bucketItem, referencePoint.buckets); if (shouldAddItem) { resultItems.push(newDerivedBucketItem); } resultItems.push(bucketItem); return resultItems; }, []); }; return AbstractPluggableVisualization; }()); exports.AbstractPluggableVisualization = AbstractPluggableVisualization; //# sourceMappingURL=AbstractPluggableVisualization.js.map