UNPKG

@gooddata/react-components

Version:

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

61 lines 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2019 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 lineMeasuresIcon = require("../../assets/line/bucket-title-measures.svg"); var lineTrendIcon = require("../../assets/line/bucket-title-trend.svg"); var lineSegmentIcon = require("../../assets/line/bucket-title-segment.svg"); var propertiesHelper_1 = require("../propertiesHelper"); function setLineChartBucketWarningMessages(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_segment_by_warning"; } else if (bucket.localIdentifier === BucketNames.SEGMENT) { warningMessageId = "dashboard.bucket.category_segment_by_warning"; } if (warningMessageId) { var warningMessage = translations_1.getTranslation(warningMessageId, intl); set(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier, "warningMessage"], warningMessage); } } }); return updatedUiConfig; } function setLineChartUiConfig(referencePoint, intl, visualizationType) { var referencePointConfigured = cloneDeep(referencePoint); var buckets = get(referencePointConfigured, bucket_1.BUCKETS, []); var measuresCanAddItems = bucketRules_1.hasNoMeasures(buckets) || bucketRules_1.hasNoStacks(buckets); var segmentCanAddItems = bucketRules_1.hasSomeSegmentByItems(buckets) || bucketRules_1.hasNoMeasures(buckets) || bucketRules_1.hasOneMeasure(buckets); 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.TREND, "canAddItems"], true); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "canAddItems"], segmentCanAddItems); set(referencePointConfigured, uiConfig_1.UICONFIG, setLineChartBucketWarningMessages(referencePointConfigured, intl)); set(referencePointConfigured, [uiConfig_1.UICONFIG, uiConfig_1.OPEN_AS_REPORT, uiConfig_1.SUPPORTED], !propertiesHelper_1.hasColorMapping(referencePoint.properties)); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.MEASURES, "icon"], lineMeasuresIcon); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.TREND, "icon"], lineTrendIcon); set(referencePointConfigured, [uiConfig_1.UICONFIG, bucket_1.BUCKETS, BucketNames.SEGMENT, "icon"], lineSegmentIcon); return referencePointConfigured; } exports.setLineChartUiConfig = setLineChartUiConfig; //# sourceMappingURL=lineChartUiConfigHelper.js.map