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