@antv/g2
Version:
the Grammar of Graphics in Javascript
49 lines • 1.43 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExceedAdjust = void 0;
const style_1 = require("../utils/style");
const adjustPosition = (target, edge) => {
const [[minEdgeX, minEdgeY], [maxEdgeX, maxEdgeY]] = edge;
const [[minX, minY], [maxX, maxY]] = target;
let changeX = 0, changeY = 0;
// x-axis
if (minX < minEdgeX) {
changeX = minEdgeX - minX;
}
else if (maxX > maxEdgeX) {
changeX = maxEdgeX - maxX;
}
// y-axis
if (minY < minEdgeY) {
changeY = minEdgeY - minY;
}
else if (maxY > maxEdgeY) {
changeY = maxEdgeY - maxY;
}
return [changeX, changeY];
};
/**
* adjust the label when exceed the plot
*/
const ExceedAdjust = () => {
return (labels, { canvas }) => {
const { width, height } = canvas.getConfig();
labels.forEach((l) => {
(0, style_1.show)(l);
const { max, min } = l.getRenderBounds();
const [xMax, yMax] = max, [xMin, yMin] = min;
const changeValue = adjustPosition([
[xMin, yMin],
[xMax, yMax],
], [
[0, 0],
[width, height],
]);
l.style.x += changeValue[0];
l.style.y += changeValue[1];
});
return labels;
};
};
exports.ExceedAdjust = ExceedAdjust;
//# sourceMappingURL=exceedAdjust.js.map
;