UNPKG

@gooddata/react-components

Version:

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

73 lines 4.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _a; // (C) 2007-2020 GoodData Corporation var get = require("lodash/get"); var merge = require("lodash/merge"); var invariant = require("invariant"); var commonConfiguration_1 = require("./highcharts/commonConfiguration"); var common_1 = require("../utils/common"); var lineConfiguration_1 = require("./highcharts/lineConfiguration"); var barConfiguration_1 = require("./highcharts/barConfiguration"); var columnConfiguration_1 = require("./highcharts/columnConfiguration"); var bulletConfiguration_1 = require("./highcharts/bulletConfiguration"); var customConfiguration_1 = require("./highcharts/customConfiguration"); var pieConfiguration_1 = require("./highcharts/pieConfiguration"); var donutConfiguration_1 = require("./highcharts/donutConfiguration"); var areaConfiguration_1 = require("./highcharts/areaConfiguration"); var scatterConfiguration_1 = require("./highcharts/scatterConfiguration"); var comboConfiguration_1 = require("./highcharts/comboConfiguration"); var treemapConfiguration_1 = require("./highcharts/treemapConfiguration"); var funnelConfiguration_1 = require("./highcharts/funnelConfiguration"); var heatmapConfiguration_1 = require("./highcharts/heatmapConfiguration"); var bubbleConfiguration_1 = require("./highcharts/bubbleConfiguration"); var visualizationTypes_1 = require("../../../constants/visualizationTypes"); var chartConfigurationMap = (_a = {}, _a[visualizationTypes_1.VisualizationTypes.LINE] = lineConfiguration_1.getLineConfiguration, _a[visualizationTypes_1.VisualizationTypes.BAR] = barConfiguration_1.getBarConfiguration, _a[visualizationTypes_1.VisualizationTypes.COLUMN] = columnConfiguration_1.getColumnConfiguration, _a[visualizationTypes_1.VisualizationTypes.BULLET] = bulletConfiguration_1.getBulletConfiguration, _a[visualizationTypes_1.VisualizationTypes.PIE] = pieConfiguration_1.getPieConfiguration, _a[visualizationTypes_1.VisualizationTypes.AREA] = areaConfiguration_1.getAreaConfiguration, _a[visualizationTypes_1.VisualizationTypes.SCATTER] = scatterConfiguration_1.getScatterConfiguration, _a[visualizationTypes_1.VisualizationTypes.COMBO] = comboConfiguration_1.getComboConfiguration, _a[visualizationTypes_1.VisualizationTypes.COMBO2] = comboConfiguration_1.getComboConfiguration, _a[visualizationTypes_1.VisualizationTypes.TREEMAP] = treemapConfiguration_1.getTreemapConfiguration, _a[visualizationTypes_1.VisualizationTypes.DONUT] = donutConfiguration_1.getDonutConfiguration, _a[visualizationTypes_1.VisualizationTypes.FUNNEL] = funnelConfiguration_1.getFunnelConfiguration, _a[visualizationTypes_1.VisualizationTypes.HEATMAP] = heatmapConfiguration_1.getHeatmapConfiguration, _a[visualizationTypes_1.VisualizationTypes.BUBBLE] = bubbleConfiguration_1.getBubbleConfiguration, _a); function getHighchartsOptions(chartOptions, drillConfig, config) { var getConfigurationByType = chartConfigurationMap[chartOptions.type]; invariant(getConfigurationByType, "visualisation type " + chartOptions.type + " is invalid (valid types: " + common_1.stringifyChartTypes() + ")."); return merge({}, commonConfiguration_1.getCommonConfiguration(chartOptions, drillConfig), getConfigurationByType.call(null, config), customConfiguration_1.getCustomizedConfiguration(chartOptions, config, drillConfig)); } exports.getHighchartsOptions = getHighchartsOptions; function isDataOfReasonableSize(chartData, limits, isViewByTwoAttributes) { if (isViewByTwoAttributes === void 0) { isViewByTwoAttributes = false; } var result = true; var seriesLimit = get(limits, "series"); if (seriesLimit !== undefined) { result = result && chartData.series.length <= seriesLimit; } var categoriesLimit = get(limits, "categories"); if (categoriesLimit !== undefined) { if (isViewByTwoAttributes) { var categoriesLength = chartData.categories.reduce(function (result, category) { return result + category.categories.length; }, 0); result = result && categoriesLength <= categoriesLimit; } else { result = result && chartData.categories.length <= categoriesLimit; } } var dataPointsLimit = get(limits, "dataPoints"); if (dataPointsLimit !== undefined) { result = result && chartData.series.every(function (serie) { return serie.data.length <= dataPointsLimit; }); } return result; } exports.isDataOfReasonableSize = isDataOfReasonableSize; //# sourceMappingURL=highChartsCreators.js.map