zhu-jiang-yi-yuan-mobile
Version:
南方医科大学珠江医院移动端
103 lines (82 loc) • 2.94 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Pie = void 0;
var _utils = require("../../utils");
var _bizcharts = require("bizcharts");
var _nsnConst = require("nsn-const");
var _nsnUtil = require("nsn-util");
var _react = _interopRequireDefault(require("react"));
var _title = require("../title");
require("./index.less");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var CLS_PREFIX = "".concat(_utils.Const.CLS_PREFIX, "-pie");
var Pie = function Pie(props) {
var _props$data = props.data,
data = _props$data === void 0 ? [] : _props$data,
title = props.title,
className = props.className;
var axis = {
x: 'name',
y: 'value'
};
var _formatter = function formatter(val, key) {
var keyText = "".concat(key ? "".concat(key, "\uFF1A") : _nsnConst.NConst.EMPTY);
if (val) {
if (_nsnUtil.NType.isNumber(val)) {
return "".concat(keyText).concat((val * 100).toFixed(0), "%");
}
if (_nsnUtil.NType.isString(val)) {
return "".concat(keyText).concat((parseFloat(val) * 100).toFixed(0), "%");
}
return "".concat(keyText).concat(val);
}
return "".concat(keyText).concat(_nsnConst.NConst.DASHED);
}; //
var chartScale = _defineProperty({}, axis.y, {
formatter: function formatter(val) {
return _formatter(val);
}
});
return /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(CLS_PREFIX, " ").concat(className || _nsnConst.NConst.EMPTY)
}, /*#__PURE__*/_react.default.createElement(_title.Title, {
text: title
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Chart, Object.assign({}, {
data: data
}, {
height: 150,
scale: chartScale,
renderer: "svg",
autoFit: true,
padding: [5, 5, 5, 5]
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Coordinate, {
type: "theta",
radius: 0.75
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Tooltip, {
showTitle: false
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Axis, {
visible: false
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Legend, {
visible: false
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Interval, {
position: axis.y,
adjust: "stack",
color: axis.x,
style: {
lineWidth: 1,
stroke: '#fff'
},
label: [axis.y, {
offset: 15,
content: function content(data) {
return _formatter(data[axis.y], data[axis.x]);
}
}]
}), /*#__PURE__*/_react.default.createElement(_bizcharts.Interaction, {
type: 'element-single-selected'
})));
};
exports.Pie = Pie;