UNPKG

@gooddata/react-components

Version:

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

97 lines 6.17 kB
"use strict"; 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 forEach = require("lodash/forEach"); 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 propertiesHelper_1 = require("./../propertiesHelper"); var columnMeasuresIcon = require("../../assets/column/bucket-title-measures.svg"); var columnViewIcon = require("../../assets/column/bucket-title-view.svg"); var columnStackIcon = require("../../assets/column/bucket-title-stack.svg"); var barMeasuresIcon = require("../../assets/bar/bucket-title-measures.svg"); var barViewIcon = require("../../assets/bar/bucket-title-view.svg"); var barStackIcon = require("../../assets/bar/bucket-title-stack.svg"); var visualizationTypes_1 = require("../../../constants/visualizationTypes"); function setBaseChartBucketWarningMessages(referencePoint, intl) { var buckets = get(referencePoint, bucket_1.BUCKETS, []); var updatedUiConfig = cloneDeep(get(referencePoint, uiConfig_1.UICONFIG)); forEach(buckets, function (bucket) { var localIdentifier = get(bucket, "localIdentifier", ""); var bucketUiConfig = get(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier]); // skip disabled buckets if (!get(bucketUiConfig, "enabled", false)) { return; } if (!get(bucketUiConfig, "canAddItems")) { var warningMessageId = void 0; if (bucket.localIdentifier === BucketNames.MEASURES) { warningMessageId = "dashboard.bucket.metric_stack_by_warning"; } else if (bucket.localIdentifier === BucketNames.STACK) { warningMessageId = "dashboard.bucket.category_stack_by_warning"; } if (warningMessageId) { var warningMessage = translations_1.getTranslation(warningMessageId, intl); set(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier, "warningMessage"], warningMessage); } } }); return updatedUiConfig; } function setBaseChartUiConfig(referencePoint, intl, visualizationType) { var _a, _b; var referencePointConfigured = cloneDeep(referencePoint); var buckets = get(referencePointConfigured, bucket_1.BUCKETS, []); var measuresCanAddItems = bucketRules_1.hasNoMeasures(buckets) || bucketRules_1.hasNoStacks(buckets); var stackCanAddItems = !bucketRules_1.hasMoreThanOneMasterMeasure(buckets, BucketNames.MEASURES); set(referencePointConfigured, [uiConfig_1.UICONFIG], bucketHelper_1.setBucketTitles(referencePoint, visualizationType, intl)); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "canAddItems"], measuresCanAddItems); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.VIEW, "canAddItems"], true); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.STACK, "canAddItems"], stackCanAddItems); set(referencePointConfigured, [uiConfig_1.UICONFIG, uiConfig_1.OPEN_AS_REPORT, uiConfig_1.SUPPORTED], !propertiesHelper_1.hasColorMapping(referencePointConfigured.properties)); var iconsMap = { column: (_a = {}, _a[BucketNames.MEASURES] = columnMeasuresIcon, _a[BucketNames.VIEW] = columnViewIcon, _a[BucketNames.STACK] = columnStackIcon, _a), bar: (_b = {}, _b[BucketNames.MEASURES] = barMeasuresIcon, _b[BucketNames.VIEW] = barViewIcon, _b[BucketNames.STACK] = barStackIcon, _b), }; set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "icon"], get(iconsMap, [visualizationType, BucketNames.MEASURES])); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.VIEW, "icon"], get(iconsMap, [visualizationType, BucketNames.VIEW])); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.STACK, "icon"], get(iconsMap, [visualizationType, BucketNames.STACK])); set(referencePointConfigured, uiConfig_1.UICONFIG, setBaseChartBucketWarningMessages(referencePointConfigured, intl)); return referencePointConfigured; } exports.setBaseChartUiConfig = setBaseChartUiConfig; function setBaseChartUiConfigRecommendations(referencePoint, visualizationType, weekFiltersEnabled) { // Recommendations if (visualizationType === visualizationTypes_1.VisualizationTypes.COLUMN) { var newReferencePoint = cloneDeep(referencePoint); var buckets = get(newReferencePoint, bucket_1.BUCKETS); var percentEnabled = bucketRules_1.percentRecommendationEnabled(buckets); var comparisonAndTrending = bucketRules_1.comparisonAndTrendingRecommendationEnabled(buckets); var overTimeComparison = bucketRules_1.overTimeComparisonRecommendationEnabled(newReferencePoint, weekFiltersEnabled); var previousPeriod = bucketRules_1.previousPeriodRecommendationEnabled(buckets); set(newReferencePoint, [uiConfig_1.UICONFIG, uiConfig_1.RECOMMENDATIONS, "percent"], percentEnabled); set(newReferencePoint, [uiConfig_1.UICONFIG, uiConfig_1.RECOMMENDATIONS, "comparison"], comparisonAndTrending); set(newReferencePoint, [uiConfig_1.UICONFIG, uiConfig_1.RECOMMENDATIONS, "trending"], comparisonAndTrending); set(newReferencePoint, [uiConfig_1.UICONFIG, uiConfig_1.RECOMMENDATIONS, "overTimeComparison"], overTimeComparison); set(newReferencePoint, [uiConfig_1.UICONFIG, uiConfig_1.RECOMMENDATIONS, "previousPeriod"], previousPeriod); return newReferencePoint; } return referencePoint; } exports.setBaseChartUiConfigRecommendations = setBaseChartUiConfigRecommendations; //# sourceMappingURL=baseChartUiConfigHelper.js.map