UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

42 lines (38 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.sunburstEnter = void 0; const utils_1 = require("./utils"), vutils_1 = require("@visactor/vutils"), computeInnerAngleRange = (graphics, startAngle, endAngle) => { if ((0, vutils_1.isEmpty)(graphics)) return [ startAngle, endAngle ]; return [ (0, vutils_1.minInArray)(graphics.map((m => 1 * m.getFinalAttribute().startAngle))), (0, vutils_1.maxInArray)(graphics.map((m => 1 * m.getFinalAttribute().endAngle))) ]; }, sunburstEnter = params => ({ channel: { startAngle: { from: (d, graphic) => { const {startAngle: startAngle, endAngle: endAngle} = params.animationInfo(), innerElements = (0, utils_1.getInnerMostElements)(graphic.parent.children), angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle); return (0, utils_1.computeRatio)(graphic.getFinalAttribute().startAngle, angleRange) * (endAngle - startAngle) + startAngle; }, to: (d, graphic) => graphic.getFinalAttribute().startAngle }, endAngle: { from: (d, graphic) => { const {startAngle: startAngle, endAngle: endAngle} = params.animationInfo(), innerElements = (0, utils_1.getInnerMostElements)(graphic.parent.children), angleRange = computeInnerAngleRange(innerElements, startAngle, endAngle); return (0, utils_1.computeRatio)(graphic.getFinalAttribute().endAngle, angleRange) * (endAngle - startAngle) + startAngle; }, to: (d, graphic) => graphic.getFinalAttribute().endAngle }, outerRadius: { from: (d, graphic) => graphic.getFinalAttribute().innerRadius, to: (d, graphic) => graphic.getFinalAttribute().outerRadius }, innerRadius: { from: (d, graphic) => graphic.getFinalAttribute().innerRadius, to: (d, graphic) => graphic.getFinalAttribute().innerRadius } } }); exports.sunburstEnter = sunburstEnter; //# sourceMappingURL=enter.js.map