UNPKG

@gooddata/react-components

Version:

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

74 lines 3.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2019 GoodData Corporation var cloneDeep = require("lodash/cloneDeep"); var every = require("lodash/every"); var BucketNames = require("../../../../constants/bucketNames"); var bucket_1 = require("../../../constants/bucket"); var bucketHelper_1 = require("../../../utils/bucketHelper"); function findSecondMasterMeasure(allMeasures) { var masterBucketItems = bucketHelper_1.findMasterBucketItems(allMeasures); return masterBucketItems.length > 1 ? masterBucketItems[1] : null; } exports.findSecondMasterMeasure = findSecondMasterMeasure; function tryToMapForeignBuckets(extendedReferencePoint) { var newReferencePoint = setHeadlineRefPointBuckets(extendedReferencePoint); var totalBuckets = extendedReferencePoint.buckets.length; var allMeasuresCompatible = true; var bucketIndex = -1; while (allMeasuresCompatible && ++bucketIndex < totalBuckets) { var sourceBucket = extendedReferencePoint.buckets[bucketIndex]; var targetBucket = newReferencePoint[bucket_1.BUCKETS][bucketIndex]; if (!targetBucket) { if (sourceBucket.items.length) { allMeasuresCompatible = false; } continue; } var targetBucketUiConfig = newReferencePoint.uiConfig.buckets[targetBucket.localIdentifier]; if (!targetBucketUiConfig || !targetBucketUiConfig.enabled) { allMeasuresCompatible = false; continue; } var measuresFitToLimit = sourceBucket.items.length <= targetBucketUiConfig.itemsLimit; if (!measuresFitToLimit) { allMeasuresCompatible = false; continue; } var isCompatibleMeasureType = every(sourceBucket.items, function (item) { return item.type === bucket_1.METRIC; }); if (!isCompatibleMeasureType) { allMeasuresCompatible = false; continue; } targetBucket.items = sourceBucket.items; } return allMeasuresCompatible ? newReferencePoint : null; } exports.tryToMapForeignBuckets = tryToMapForeignBuckets; function setHeadlineRefPointBuckets(extendedReferencePoint, primaryMeasure, secondaryMeasure) { var newReferencePoint = cloneDeep(extendedReferencePoint); newReferencePoint[bucket_1.BUCKETS] = [ { localIdentifier: BucketNames.MEASURES, items: primaryMeasure ? [primaryMeasure] : [], }, { localIdentifier: BucketNames.SECONDARY_MEASURES, items: secondaryMeasure ? [secondaryMeasure] : [], }, ]; return newReferencePoint; } exports.setHeadlineRefPointBuckets = setHeadlineRefPointBuckets; function findComplementaryOverTimeComparisonMeasure(primaryMeasure, allMeasures) { if (!primaryMeasure) { return null; } if (bucketHelper_1.isDerivedBucketItem(primaryMeasure)) { return bucketHelper_1.findMasterBucketItem(primaryMeasure, allMeasures) || null; } var derivedOfPrimaryMeasure = bucketHelper_1.findDerivedBucketItems(primaryMeasure, allMeasures); return derivedOfPrimaryMeasure.length > 0 ? derivedOfPrimaryMeasure[0] : null; } exports.findComplementaryOverTimeComparisonMeasure = findComplementaryOverTimeComparisonMeasure; //# sourceMappingURL=headlineBucketHelper.js.map