cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
47 lines (46 loc) • 1.52 kB
JavaScript
import { retrieve } from "../../../../zrender/lib/core/util.mjs";
function layout(axisModel, opt) {
opt = opt || {};
var single = axisModel.coordinateSystem;
var axis = axisModel.axis;
var layout2 = {};
var axisPosition = axis.position;
var orient = axis.orient;
var rect = single.getRect();
var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];
var positionMap = {
horizontal: {
top: rectBound[2],
bottom: rectBound[3]
},
vertical: {
left: rectBound[0],
right: rectBound[1]
}
};
layout2.position = [orient === "vertical" ? positionMap.vertical[axisPosition] : rectBound[0], orient === "horizontal" ? positionMap.horizontal[axisPosition] : rectBound[3]];
var r = {
horizontal: 0,
vertical: 1
};
layout2.rotation = Math.PI / 2 * r[orient];
var directionMap = {
top: -1,
bottom: 1,
right: 1,
left: -1
};
layout2.labelDirection = layout2.tickDirection = layout2.nameDirection = directionMap[axisPosition];
if (axisModel.get(["axisTick", "inside"])) {
layout2.tickDirection = -layout2.tickDirection;
}
if (retrieve(opt.labelInside, axisModel.get(["axisLabel", "inside"]))) {
layout2.labelDirection = -layout2.labelDirection;
}
var labelRotation = opt.rotate;
labelRotation == null && (labelRotation = axisModel.get(["axisLabel", "rotate"]));
layout2.labelRotation = axisPosition === "top" ? -labelRotation : labelRotation;
layout2.z2 = 1;
return layout2;
}
export { layout };