UNPKG

@gooddata/react-components

Version:

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

52 lines 2.91 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 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