UNPKG

@gooddata/react-components

Version:

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

112 lines 4.34 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 }); var get = require("lodash/get"); var commonConfiguration_1 = require("./commonConfiguration"); var lineConfiguration_1 = require("./lineConfiguration"); var visualizationTypes_1 = require("../../../../constants/visualizationTypes"); var common_1 = require("../../utils/common"); var mdObjBucketHelper_1 = require("../../../../helpers/mdObjBucketHelper"); var bucketNames_1 = require("../../../../constants/bucketNames"); var COLUMN = visualizationTypes_1.VisualizationTypes.COLUMN, LINE = visualizationTypes_1.VisualizationTypes.LINE; function getDefaultComboTypes(config) { return { primaryChartType: get(config, "primaryChartType", COLUMN), secondaryChartType: get(config, "secondaryChartType", LINE), }; } function getDefaultChartType(config) { var _a = getDefaultComboTypes(config), primaryChartType = _a.primaryChartType, secondaryChartType = _a.secondaryChartType; if (primaryChartType === secondaryChartType) { return primaryChartType; } if (primaryChartType === COLUMN || secondaryChartType === COLUMN) { return COLUMN; } return LINE; } exports.getDefaultChartType = getDefaultChartType; function isOnlyLineSeries(config) { var _a = getDefaultComboTypes(config), primaryChartType = _a.primaryChartType, secondaryChartType = _a.secondaryChartType; var buckets = get(config, "mdObject.buckets", []); var isEmptyPrimaryMeasure = mdObjBucketHelper_1.isBucketEmpty(buckets, bucketNames_1.MEASURES); var isEmptySecondaryMeasure = mdObjBucketHelper_1.isBucketEmpty(buckets, bucketNames_1.SECONDARY_MEASURES); var isLineChartOnLeftAxis = common_1.isLineChart(primaryChartType); var isLineChartOnRightAxis = common_1.isLineChart(secondaryChartType); return ((isLineChartOnLeftAxis && isLineChartOnRightAxis) || (isLineChartOnLeftAxis && isEmptySecondaryMeasure) || (isEmptyPrimaryMeasure && isLineChartOnRightAxis)); } function getComboConfiguration(config) { var series = isOnlyLineSeries(config) ? { series: { states: { inactive: { opacity: 1, }, }, }, } : {}; var COMBO_TEMPLATE = { chart: { type: getDefaultChartType(config), spacingTop: 20, }, plotOptions: __assign({ column: { dataLabels: { enabled: true, crop: false, overflow: "none", padding: 2, }, maxPointWidth: commonConfiguration_1.MAX_POINT_WIDTH, borderColor: "#00000000", }, line: { marker: { symbol: "circle", radius: 4.5, }, lineWidth: lineConfiguration_1.LINE_WIDTH, fillOpacity: 0.3, stickyTracking: false, states: { hover: { lineWidth: lineConfiguration_1.LINE_WIDTH + 1, }, }, dataLabels: { style: { fontWeight: "normal", }, }, }, area: { marker: { symbol: "circle", radius: 4.5, }, lineWidth: lineConfiguration_1.LINE_WIDTH, fillOpacity: 0.6, stickyTracking: false, states: { hover: { lineWidth: lineConfiguration_1.LINE_WIDTH + 1, }, }, } }, series), }; return COMBO_TEMPLATE; } exports.getComboConfiguration = getComboConfiguration; //# sourceMappingURL=comboConfiguration.js.map