@visactor/vchart
Version:
charts lib based @visactor/VGrammar
77 lines (72 loc) • 3.17 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.setRectLabelPos = void 0;
const attribute_1 = require("../../constant/attribute");
function setRectLabelPos(component, labelMark, position, offset, x, x1, y, y1, direction) {
component.setMarkStyle(labelMark, {
textAlign: datum => {
if ("vertical" === direction()) return "center";
const _x = x(datum), _x1 = x1(datum);
if ("middle" === position) return "center";
if (_x >= _x1) {
if ("start" === position) return "left";
if ("end" === position) return "right";
if ("outside" === position) return "left";
} else {
if ("start" === position) return "right";
if ("end" === position) return "left";
if ("outside" === position) return "right";
}
return "center";
},
textBaseline: datum => {
if ("horizontal" === direction()) return "middle";
const _y = y(datum), _y1 = y1(datum);
if ("middle" === position) return "middle";
if (_y1 >= _y) {
if ("start" === position) return "bottom";
if ("end" === position) return "top";
if ("outside" === position) return "bottom";
} else {
if ("start" === position) return "top";
if ("end" === position) return "bottom";
if ("outside" === position) return "top";
}
return "middle";
}
}), component.setMarkStyle(labelMark, {
x: datum => {
const d = direction(), _x = x(datum), _x1 = x1(datum);
if ("vertical" === d) return (_x + _x1) / 2;
if ("middle" === position) return (_x + _x1) / 2;
if (_x >= _x1) {
if ("start" === position) return _x1 + offset;
if ("end" === position) return _x - offset;
if ("outside" === position) return _x + offset;
} else {
if ("start" === position) return _x1 - offset;
if ("end" === position) return _x + offset;
if ("outside" === position) return _x - offset;
}
return (_x + _x1) / 2;
},
y: datum => {
const d = direction(), _y = y(datum), _y1 = y1(datum);
if ("horizontal" === d) return (_y + _y1) / 2;
if ("middle" === position) return (_y + _y1) / 2;
if (_y >= _y1) {
if ("start" === position) return _y1 + offset;
if ("end" === position) return _y - offset;
if ("outside" === position) return _y + offset;
} else {
if ("start" === position) return _y1 - offset;
if ("end" === position) return _y + offset;
if ("outside" === position) return _y - offset;
}
return (_y + _y1) / 2;
}
}, "normal", attribute_1.AttributeLevel.Series);
}
exports.setRectLabelPos = setRectLabelPos;
//# sourceMappingURL=label-mark.js.map