UNPKG

@alicloud/cloud-charts

Version:

![](https://img.shields.io/npm/v/@alicloud/cloud-charts?color=%23ff8200)

69 lines (53 loc) 3.39 kB
'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = _default; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _themes = _interopRequireDefault(require("../themes")); var _common = require("../common/common"); var _constants = require("../constants"); var _log = require("./log"); function _default(chart, config, size, chartName) { if (!config.showDecoration) { return; } if (config.showDecoration) { var _ref, _chart$coordinateBBox, _ref2, _chart$coordinateBBox2, _config$showDecoratio, _config$showDecoratio2, _config$showDecoratio3, _config$showDecoratio4; if (config !== null && config !== void 0 && config.radius) { config.radius = 0.85; } else if (config.outerRadius) { config.outerRadius = 0.85; } var viewWidth = (_ref = (_chart$coordinateBBox = chart.coordinateBBox.width) !== null && _chart$coordinateBBox !== void 0 ? _chart$coordinateBBox : size === null || size === void 0 ? void 0 : size[0]) !== null && _ref !== void 0 ? _ref : 0; var viewHeight = (_ref2 = (_chart$coordinateBBox2 = chart.coordinateBBox.height) !== null && _chart$coordinateBBox2 !== void 0 ? _chart$coordinateBBox2 : size === null || size === void 0 ? void 0 : size[1]) !== null && _ref2 !== void 0 ? _ref2 : 0; // 视图最小宽高 * 半径 * 内圈半径 - 图例间距 - 留白间距 - 柱子宽度 var innerR = (_config$showDecoratio = (_config$showDecoratio2 = config.showDecoration) === null || _config$showDecoratio2 === void 0 ? void 0 : _config$showDecoratio2.innerRadius) !== null && _config$showDecoratio !== void 0 ? _config$showDecoratio : (0, _common.numberDecimal)(Math.min(viewWidth, viewHeight) * (config.radius || config.outerRadius || 1) * (config.innerRadius || 0.5), 0) - 14 * 3; // 视图最小宽高减去图例间距 var outerR = (_config$showDecoratio3 = (_config$showDecoratio4 = config.showDecoration) === null || _config$showDecoratio4 === void 0 ? void 0 : _config$showDecoratio4.outerRadius) !== null && _config$showDecoratio3 !== void 0 ? _config$showDecoratio3 : (0, _common.numberDecimal)(Math.min(viewWidth, viewHeight) / 2 - 14); if (Math.min(viewWidth, viewHeight) > 60) { var _config$showDecoratio5; if (config.cycle || chartName === 'G2MultiCircle') { chart.annotation().html({ html: "<div class='" + _constants.FullCrossName + " circle-innerBackground' style=\"display: flex; align-items: center;height: " + innerR + "px;width: " + innerR + "px;border-radius: 50%;\"></div>", alignX: 'middle', alignY: 'middle', position: ['50%', '50%'] }); } chart.annotation().dataMarker({ top: false, text: { content: '' }, point: { style: (0, _extends2["default"])({ fill: _themes["default"]['widgets-circle-outer-background'], stroke: 'rgba(0,0,0,0)', r: outerR }, (_config$showDecoratio5 = config.showDecoration) === null || _config$showDecoratio5 === void 0 ? void 0 : _config$showDecoratio5.outerStyle) }, position: ['50%', '50%'] }); } else { (0, _log.warn)('config.showDecoration', '当前图表尺寸小于60,默认关闭背景装饰'); } } }