| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.processOverlap = exports.canProcessOverlap = exports.OverlapUtils = void 0;
- var tslib_1 = require("tslib");
- var util_1 = require("../../../util");
- var autoEllipsis_1 = tslib_1.__importDefault(require("./autoEllipsis"));
- var autoHide_1 = tslib_1.__importDefault(require("./autoHide"));
- var autoRotate_1 = tslib_1.__importDefault(require("./autoRotate"));
- var autoWrap_1 = tslib_1.__importDefault(require("./autoWrap"));
- exports.OverlapUtils = new Map([
- ['hide', autoHide_1.default],
- ['rotate', autoRotate_1.default],
- ['ellipsis', autoEllipsis_1.default],
- ['wrap', autoWrap_1.default],
- ]);
- function canProcessOverlap(labels, attr, type) {
- if (attr.labelOverlap.length < 1)
- return false;
- if (type === 'hide')
- return !(0, util_1.isInOffscreenGroup)(labels[0]);
- if (type === 'rotate')
- return !labels.some(function (label) { var _a; return !!((_a = label.attr('transform')) === null || _a === void 0 ? void 0 : _a.includes('rotate')); });
- if (type === 'ellipsis' || type === 'wrap')
- return labels.filter(function (item) { return item.querySelector('text'); }).length > 1;
- return true;
- }
- exports.canProcessOverlap = canProcessOverlap;
- function processOverlap(labels, attr, utils) {
- var _a = attr.labelOverlap, labelOverlap = _a === void 0 ? [] : _a;
- if (!labelOverlap.length)
- return;
- labelOverlap.forEach(function (overlapCfg) {
- var type = overlapCfg.type;
- var util = exports.OverlapUtils.get(type);
- if (canProcessOverlap(labels, attr, type))
- util === null || util === void 0 ? void 0 : util(labels, overlapCfg, attr, utils);
- });
- }
- exports.processOverlap = processOverlap;
- //# sourceMappingURL=index.js.map
|