UNPKG

@gooddata/react-components

Version:

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

56 lines 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2007-2018 GoodData Corporation var helpers_1 = require("../../helpers"); var dataLabelsHelpers_1 = require("../../dataLabelsHelpers"); var visualizationTypes_1 = require("../../../../../../constants/visualizationTypes"); var autohideColumnLabels_1 = require("./autohideColumnLabels"); var autohideBarLabels_1 = require("./autohideBarLabels"); var autohidePieLabels_1 = require("./autohidePieLabels"); var autohideLabelsOverlappingItsShape_1 = require("./autohideLabelsOverlappingItsShape"); var autohideLabels = function (Highcharts) { Highcharts.wrap(Highcharts.Chart.prototype, "hideOverlappingLabels", function (proceed, labels) { var chart = this; var chartType = helpers_1.getChartType(this); var dataLabelsUserVisibility = dataLabelsHelpers_1.getDataLabelsGdcVisible(this); if (dataLabelsUserVisibility === "auto") { switch (chartType) { case visualizationTypes_1.VisualizationTypes.COLUMN: autohideColumnLabels_1.autohideColumnLabels(chart); return; case visualizationTypes_1.VisualizationTypes.BAR: autohideBarLabels_1.autohideBarLabels(chart); return; case visualizationTypes_1.VisualizationTypes.PIE: case visualizationTypes_1.VisualizationTypes.DONUT: autohidePieLabels_1.default(chart); return; case visualizationTypes_1.VisualizationTypes.TREEMAP: case visualizationTypes_1.VisualizationTypes.HEATMAP: autohideLabelsOverlappingItsShape_1.default(chart); return; case visualizationTypes_1.VisualizationTypes.BUBBLE: autohideLabelsOverlappingItsShape_1.default(chart, function (point) { // only hide is not enough for combination with default label collision detection dataLabelsHelpers_1.minimizeDataLabel(point); dataLabelsHelpers_1.hideDataLabel(point); }); proceed.call(this, labels); return; } } else if (dataLabelsUserVisibility === true) { switch (chartType) { case visualizationTypes_1.VisualizationTypes.COLUMN: autohideColumnLabels_1.handleColumnLabelsOutsideChart(chart); return; case visualizationTypes_1.VisualizationTypes.BAR: autohideBarLabels_1.handleBarLabelsOutsideChart(chart); return; } } proceed.call(this, labels); }); }; exports.default = autohideLabels; //# sourceMappingURL=autohideLabels.js.map