@visactor/vchart
Version:
charts lib based @visactor/VGrammar
51 lines (43 loc) • 3.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.getPolarAxisTheme = exports.computeLayoutRadius = exports.getPolarAxisInfo = void 0;
const polar_1 = require("../../../../constant/polar"), vutils_1 = require("@visactor/vutils"), interface_1 = require("../../../interface"), util_1 = require("../../../util"), vutils_extension_1 = require("@visactor/vutils-extension"), getPolarAxisInfo = (spec, chartSpec) => {
var _a, _b, _c, _d, _e, _f;
const axisType = null !== (_a = spec.type) && void 0 !== _a ? _a : "angle" === spec.orient ? "band" : "linear", componentName = `${interface_1.ComponentTypeEnum.polarAxis}-${axisType}`, startAngleFromSpec = null !== (_b = spec.startAngle) && void 0 !== _b ? _b : chartSpec.startAngle, endAngleFromSpec = null !== (_c = spec.endAngle) && void 0 !== _c ? _c : chartSpec.endAngle;
return {
axisType: axisType,
componentName: componentName,
startAngle: null != startAngleFromSpec ? startAngleFromSpec : polar_1.POLAR_START_ANGLE,
endAngle: null != endAngleFromSpec ? endAngleFromSpec : (0, vutils_1.isValid)(startAngleFromSpec) ? startAngleFromSpec + 360 : polar_1.POLAR_END_ANGLE,
center: (0, vutils_1.isValid)(chartSpec.center) ? chartSpec.center : (0, vutils_1.isValid)(null == chartSpec ? void 0 : chartSpec.centerX) || (0,
vutils_1.isValid)(null == chartSpec ? void 0 : chartSpec.centerY) ? {
x: null == chartSpec ? void 0 : chartSpec.centerX,
y: null == chartSpec ? void 0 : chartSpec.centerY
} : void 0,
outerRadius: null !== (_f = null !== (_e = null !== (_d = spec.outerRadius) && void 0 !== _d ? _d : spec.radius) && void 0 !== _e ? _e : chartSpec.outerRadius) && void 0 !== _f ? _f : chartSpec.radius,
layoutRadius: chartSpec.layoutRadius
};
};
exports.getPolarAxisInfo = getPolarAxisInfo;
const computeLayoutRadius = (getLayoutRadius, getLayoutRect, getCenter, getAngles) => {
const layoutRadius = getLayoutRadius();
if ((0, vutils_1.isNumber)(layoutRadius)) return layoutRadius;
if ((0, vutils_1.isFunction)(layoutRadius)) return layoutRadius(getLayoutRect(), getCenter());
const rect = getLayoutRect();
if ("auto" === layoutRadius && rect.width > 0 && rect.height > 0) {
const {startAngle: startAngle = 0, endAngle: endAngle = 2 * Math.PI} = getAngles();
return (0, vutils_1.calculateMaxRadius)(rect, getCenter(), startAngle, endAngle);
}
return Math.min(rect.width / 2, rect.height / 2);
};
exports.computeLayoutRadius = computeLayoutRadius;
const getPolarAxisTheme = (orient, type, getTheme) => {
var _a;
const axisTypeTheme = null !== (_a = "band" === type ? (0, util_1.getComponentThemeFromOption)("axisBand", getTheme) : "linear" === type ? (0,
util_1.getComponentThemeFromOption)("axisLinear", getTheme) : {}) && void 0 !== _a ? _a : {}, axisTheme = "angle" === orient ? (0,
util_1.getComponentThemeFromOption)("axisAngle", getTheme) : (0, util_1.getComponentThemeFromOption)("axisRadius", getTheme);
return (0, vutils_extension_1.mergeSpec)({}, (0, util_1.getComponentThemeFromOption)("axis", getTheme), axisTypeTheme, axisTheme);
};
exports.getPolarAxisTheme = getPolarAxisTheme;
//# sourceMappingURL=common.js.map