UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

94 lines (77 loc) 4.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.shouldUpdateAxis = exports.getAxisItem = exports.isDiscreteAxis = exports.getPolarAxisTheme = exports.getCartesianAxisTheme = exports.isValidPolarAxis = exports.isValidCartesianAxis = exports.getLinearAxisSpecDomain = exports.getAxisLabelOffset = exports.transformAxisLineStyle = exports.DEFAULT_TITLE_STYLE = void 0; const vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), style_1 = require("../../util/style"), common_1 = require("./cartesian/util/common"), util_1 = require("../util"); function transformAxisLineStyle(lineCfg) { return (lineCfg = (0, style_1.transformComponentStyle)(lineCfg)).startSymbol = (0, style_1.transformComponentStyle)(lineCfg.startSymbol), lineCfg.endSymbol = (0, style_1.transformComponentStyle)(lineCfg.endSymbol), lineCfg; } function getAxisLabelOffset(axisSpec) { let labelOffset = 0; return (0, vutils_1.get)(axisSpec, "tick.visible") && (labelOffset += (0, vutils_1.get)(axisSpec, "tick.tickSize")), (0, vutils_1.get)(axisSpec, "label.visible") && (labelOffset += (0, vutils_1.get)(axisSpec, "label.space")), labelOffset; } function getLinearAxisSpecDomain(axisSpec, defaultDomain) { var _a, _b, _c, _d, _e, _f; return { min: null !== (_c = null !== (_a = axisSpec.min) && void 0 !== _a ? _a : null === (_b = axisSpec.range) || void 0 === _b ? void 0 : _b.min) && void 0 !== _c ? _c : null == defaultDomain ? void 0 : defaultDomain.min, max: null !== (_f = null !== (_d = axisSpec.max) && void 0 !== _d ? _d : null === (_e = axisSpec.range) || void 0 === _e ? void 0 : _e.max) && void 0 !== _f ? _f : null == defaultDomain ? void 0 : defaultDomain.max }; } function isValidCartesianAxis(spec) { const orient = null == spec ? void 0 : spec.orient; return "top" === orient || "bottom" === orient || "left" === orient || "right" === orient || "z" === orient; } function isValidPolarAxis(spec) { const orient = null == spec ? void 0 : spec.orient; return "angle" === orient || "radius" === orient; } exports.DEFAULT_TITLE_STYLE = { left: { textAlign: "center", textBaseline: "bottom" }, right: { textAlign: "center", textBaseline: "bottom" }, radius: {}, angle: {} }, exports.transformAxisLineStyle = transformAxisLineStyle, exports.getAxisLabelOffset = getAxisLabelOffset, exports.getLinearAxisSpecDomain = getLinearAxisSpecDomain, exports.isValidCartesianAxis = isValidCartesianAxis, exports.isValidPolarAxis = isValidPolarAxis; const getCartesianAxisTheme = (orient, type, chartTheme) => { var _a; const axisTypeTheme = null !== (_a = "band" === type ? (0, util_1.getComponentThemeFromOption)("axisBand", chartTheme) : [ "linear", "log", "symlog" ].includes(type) ? (0, util_1.getComponentThemeFromOption)("axisLinear", chartTheme) : {}) && void 0 !== _a ? _a : {}, axisTheme = (0, common_1.isXAxis)(orient) ? (0, util_1.getComponentThemeFromOption)("axisX", chartTheme) : (0, common_1.isYAxis)(orient) ? (0, util_1.getComponentThemeFromOption)("axisY", chartTheme) : (0, util_1.getComponentThemeFromOption)("axisZ", chartTheme); return (0, vutils_extension_1.mergeSpec)({}, (0, util_1.getComponentThemeFromOption)("axis", chartTheme), axisTypeTheme, axisTheme); }; exports.getCartesianAxisTheme = getCartesianAxisTheme; const getPolarAxisTheme = (orient, type, chartTheme) => { var _a; const axisTypeTheme = null !== (_a = "band" === type ? (0, util_1.getComponentThemeFromOption)("axisBand", chartTheme) : "linear" === type ? (0, util_1.getComponentThemeFromOption)("axisLinear", chartTheme) : {}) && void 0 !== _a ? _a : {}, axisTheme = "angle" === orient ? (0, util_1.getComponentThemeFromOption)("axisAngle", chartTheme) : (0, util_1.getComponentThemeFromOption)("axisRadius", chartTheme); return (0, vutils_extension_1.mergeSpec)({}, (0, util_1.getComponentThemeFromOption)("axis", chartTheme), axisTypeTheme, axisTheme); }; exports.getPolarAxisTheme = getPolarAxisTheme; const isDiscreteAxis = axisType => "band" === axisType || "ordinal" === axisType || "point" === axisType; function getAxisItem(value, normalizedValue) { return { id: value, label: value, value: normalizedValue, rawValue: value }; } function shouldUpdateAxis(preHelper, curHelper, forceUpdate) { return forceUpdate || !preHelper || preHelper.getAxisId() === curHelper.getAxisId(); } exports.isDiscreteAxis = isDiscreteAxis, exports.getAxisItem = getAxisItem, exports.shouldUpdateAxis = shouldUpdateAxis; //# sourceMappingURL=util.js.map