UNPKG

@gooddata/react-components

Version:

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

71 lines 4.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _a, _b; // (C) 2019 GoodData Corporation var cloneDeep = require("lodash/cloneDeep"); var set = require("lodash/set"); var get = require("lodash/get"); var BucketNames = require("../../../constants/bucketNames"); var bucket_1 = require("../../constants/bucket"); var translations_1 = require("../translations"); var bucketHelper_1 = require("../bucketHelper"); var columnMeasureIcon = require("../../assets/combo/bucket-title-measures-column.svg"); var lineMeasureIcon = require("../../assets/combo/bucket-title-measures-line.svg"); var areaMeasureIcon = require("../../assets/combo/bucket-title-measures-area.svg"); var columnLineIcon = require("../../assets/combo/bucket-title-view-column-line.svg"); var columnAreaIcon = require("../../assets/combo/bucket-title-view-column-area.svg"); var lineAreaIcon = require("../../assets/combo/bucket-title-view-line-area.svg"); var columnViewIcon = require("../../assets/column/bucket-title-view.svg"); var lineViewIcon = require("../../assets/combo/bucket-title-view-line-line.svg"); var areaViewIcon = require("../../assets/area/bucket-title-view.svg"); var properties_1 = require("../../constants/properties"); var uiConfig_1 = require("../../constants/uiConfig"); var visualizationTypes_1 = require("../../../constants/visualizationTypes"); var common_1 = require("../../../components/visualizations/utils/common"); var COLUMN = visualizationTypes_1.VisualizationTypes.COLUMN, LINE = visualizationTypes_1.VisualizationTypes.LINE, AREA = visualizationTypes_1.VisualizationTypes.AREA; var MEASURE_BUCKET_ICONS = (_a = {}, _a[COLUMN] = columnMeasureIcon, _a[LINE] = lineMeasureIcon, _a[AREA] = areaMeasureIcon, _a); var VIEW_BY_ICONS = (_b = {}, _b[COLUMN + "-" + COLUMN] = columnViewIcon, _b[COLUMN + "-" + LINE] = columnLineIcon, _b[COLUMN + "-" + AREA] = columnAreaIcon, _b[LINE + "-" + COLUMN] = columnLineIcon, _b[LINE + "-" + LINE] = lineViewIcon, _b[LINE + "-" + AREA] = lineAreaIcon, _b[AREA + "-" + COLUMN] = columnAreaIcon, _b[AREA + "-" + LINE] = lineAreaIcon, _b[AREA + "-" + AREA] = areaViewIcon, _b); function setCanStackInPercent(uiConfig, secondaryChartType, isDualAxis) { var canStackInPercent = !(isDualAxis === false && common_1.isLineChart(secondaryChartType)); set(uiConfig, "optionalStacking.canStackInPercent", canStackInPercent); } function setComboChartUiConfig(referencePoint, intl, visualizationType) { var referencePointConfigured = cloneDeep(referencePoint); var measureBuckets = bucketHelper_1.getBucketsByNames(get(referencePointConfigured, bucket_1.BUCKETS), [ BucketNames.MEASURES, BucketNames.SECONDARY_MEASURES, ]); var chartTypes = [ get(referencePointConfigured, properties_1.PROPERTY_CONTROLS_PRIMARY_CHART_TYPE, COLUMN), get(referencePointConfigured, properties_1.PROPERTY_CONTROLS_SECONDARY_CHART_TYPE, LINE), ]; var updatedUiConfig = bucketHelper_1.setBucketTitles(referencePointConfigured, visualizationType, intl); var isDualAxis = get(referencePointConfigured, "properties.controls.dualAxis", true); setCanStackInPercent(updatedUiConfig, chartTypes[1], isDualAxis); measureBuckets.forEach(function (bucket, index) { var type = chartTypes[index]; var localIdentifier = get(bucket, "localIdentifier", ""); var subtitle = translations_1.getTranslation("dashboard.bucket.combo.subtitle." + type, intl); set(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier, "subtitle"], subtitle); set(updatedUiConfig, [bucket_1.BUCKETS, localIdentifier, "icon"], MEASURE_BUCKET_ICONS[type]); }); set(updatedUiConfig, [bucket_1.BUCKETS, BucketNames.VIEW, "icon"], VIEW_BY_ICONS[chartTypes.join("-")]); set(referencePointConfigured, uiConfig_1.UICONFIG, updatedUiConfig); return referencePointConfigured; } exports.setComboChartUiConfig = setComboChartUiConfig; //# sourceMappingURL=comboChartUiConfigHelper.js.map