@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
47 lines • 2.22 kB
JavaScript
;
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