@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
52 lines • 2.91 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 get = require("lodash/get");
var set = require("lodash/set");
var BucketNames = require("../../../constants/bucketNames");
var uiConfig_1 = require("../../constants/uiConfig");
var bucket_1 = require("../../constants/bucket");
var bucketRules_1 = require("./../bucketRules");
var bucketHelper_1 = require("./../bucketHelper");
var translations_1 = require("./../translations");
var headlineMeasuresIcon = require("../../assets/headline/bucket-title-measures.svg");
var headlineSecondaryMeasuresIcon = require("../../assets/headline/bucket-title-secondary-measures.svg");
var visualizationTypes_1 = require("../../../constants/visualizationTypes");
function getDefaultHeadlineUiConfig() {
return cloneDeep(uiConfig_1.DEFAULT_HEADLINE_UICONFIG);
}
exports.getDefaultHeadlineUiConfig = getDefaultHeadlineUiConfig;
function getHeadlineUiConfig(referencePoint, intl) {
var uiConfig = getDefaultHeadlineUiConfig();
var buckets = get(referencePoint, bucket_1.BUCKETS, []);
var viewCanAddPrimaryItems = bucketRules_1.hasNoMeasures(buckets);
var viewCanAddSecondaryItems = bucketRules_1.hasNoSecondaryMeasures(buckets);
uiConfig = bucketHelper_1.setBucketTitles(__assign({}, referencePoint, { uiConfig: uiConfig }), visualizationTypes_1.VisualizationTypes.HEADLINE, intl);
set(uiConfig, [bucket_1.BUCKETS, BucketNames.MEASURES, "canAddItems"], viewCanAddPrimaryItems);
set(uiConfig, [bucket_1.BUCKETS, BucketNames.SECONDARY_MEASURES, "canAddItems"], viewCanAddSecondaryItems);
set(uiConfig, [bucket_1.BUCKETS, BucketNames.MEASURES, "icon"], headlineMeasuresIcon);
set(uiConfig, [bucket_1.BUCKETS, BucketNames.SECONDARY_MEASURES, "icon"], headlineSecondaryMeasuresIcon);
var primaryMeasuresCount = bucketHelper_1.getItemsCount(buckets, BucketNames.MEASURES);
var secondaryMeasuresCount = bucketHelper_1.getItemsCount(buckets, BucketNames.SECONDARY_MEASURES);
if (primaryMeasuresCount === 0 && secondaryMeasuresCount !== 0) {
uiConfig.customError = {
heading: translations_1.getTranslation("dashboard.error.missing_primary_bucket_item.heading", intl),
text: translations_1.getTranslation("dashboard.error.missing_primary_bucket_item.text", intl),
};
}
return uiConfig;
}
exports.getHeadlineUiConfig = getHeadlineUiConfig;
//# sourceMappingURL=headlineUiConfigHelper.js.map