NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/viser/es/components/setAxisConfig.js
2023-09-14 14:47:11 +08:00

102 lines
3.6 KiB
Java

var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import * as _ from 'lodash';
import * as EventUtils from '../utils/EventUtils';
import * as setCustomFormatter from './setCustomFormatter';
function setRotatePolarAxis(chart, axisItem, coord, data) {
var polarLabel = _.get(axisItem, 'polarLabel');
var rotate = _.get(axisItem, 'polarLabel.rotate');
if (!rotate) {
return;
}
var tickStyle = {};
if (rotate === 'parallel') {
tickStyle = {
rotate: coord.startAngle,
textAlign: 'center'
};
}
else if (rotate === 'normal') {
tickStyle = {
rotate: coord.startAngle + 90,
textAlign: 'right'
};
}
var offsetX = _.get(axisItem, 'polarLabel.offsetX');
var offsetY = _.get(axisItem, 'polarLabel.offsetY');
data.forEach(function (res, i) {
chart.guide().text(__assign({ position: [i, 0], content: data[i][axisItem.dataKey], style: __assign({ polarLabel: polarLabel }, tickStyle) }, offsetX, offsetY));
});
}
export var process = function (chart, config, isUpdate) {
if (isUpdate === void 0) { isUpdate = false; }
var cAxis = _.cloneDeep(config.axis);
var isArr = _.isArray(cAxis);
if (_.isNil(cAxis) || cAxis === false ||
(isArr && cAxis.length === 0)) {
return chart.axis(false);
}
if (cAxis === true) {
return chart.axis();
}
var arrAxis = isArr ? cAxis : [cAxis];
var coord = config.coord, data = config.data;
var _loop_1 = function (res) {
if (coord && coord.type === 'polar' && coord.direction === 'rotate') {
setRotatePolarAxis(chart, res, coord, data);
}
if (res.label) {
res.label = setCustomFormatter.supportD3Formatter(res.label);
}
if (!isUpdate) {
for (var item in res) {
if (res.hasOwnProperty(item)) {
var name_1 = item === 'tickLine' ? 'ticks' : item;
EventUtils.setSEvent(chart, 'axis', name_1, res[item]);
}
}
}
if (res.dataKey) {
if (res.show === false) {
chart.axis(res.dataKey, false);
}
else {
var options = _.omit(res, ['show', 'dataKey']);
var label = options.label;
if (label && _.isNumber(label.density)
&& (0 < label.density) && (label.density < 1)
&& _.isFunction(label.formatter)) {
var gap_1 = Math.floor(1 / label.density);
var formatter_1 = label.formatter;
options.label.formatter = function (val, item, i) {
if (i % gap_1) {
return ' ';
}
else {
return formatter_1(val, item, i);
}
};
}
chart.axis(res.dataKey, options);
}
}
else {
chart.axis(res);
}
};
for (var _i = 0, arrAxis_1 = arrAxis; _i < arrAxis_1.length; _i++) {
var res = arrAxis_1[_i];
_loop_1(res);
}
return chart;
};
//# sourceMappingURL=setAxisConfig.js.map