@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
73 lines • 4.63 kB
JavaScript
;
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