@zhsz/cool-design-dv
Version:
36 lines (35 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const constant = require("./constant.js");
const lodashEs = require("lodash-es");
const util = require("./util.js");
function createAxis({ direction, valueAxis }, { dimensions }) {
const categoryAxis = dimensions[0] ? [{ type: "category" }] : void 0;
const defaultValueAxis = dimensions[1] || {};
const configValueAxis = valueAxis ? [].concat(valueAxis) : [];
let mergeValueAxis = [
{ type: "value", axisLabel: util.getLabelFormatter(defaultValueAxis) }
];
if (configValueAxis.length) {
mergeValueAxis = configValueAxis.map((item, index) => {
const axisOptions = lodashEs.isObject(item) ? item : { name: item };
const dimension = dimensions.find(
(n) => [n.name, n.displayName].includes(axisOptions.name)
) || {};
return {
type: "value",
position: constant.SERIES_LABEL_POSITION[direction][index],
axisLabel: util.getLabelFormatter(dimension),
...axisOptions,
// 兼容 name 和 displayName的设置
name: dimension.displayName || dimension.name || axisOptions.name
};
});
}
const isXCategory = direction === "x";
return {
xAxis: isXCategory ? categoryAxis : mergeValueAxis,
yAxis: !isXCategory ? categoryAxis : mergeValueAxis
};
}
exports.createAxis = createAxis;