UNPKG

bytev-charts-beta

Version:

基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;

167 lines (134 loc) 7.56 kB
import _Reflect$construct from "@babel/runtime-corejs2/core-js/reflect/construct"; import _classCallCheck from "@babel/runtime-corejs2/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs2/helpers/createClass"; import _assertThisInitialized from "@babel/runtime-corejs2/helpers/assertThisInitialized"; import _get from "@babel/runtime-corejs2/helpers/get"; import _inherits from "@babel/runtime-corejs2/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime-corejs2/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs2/helpers/getPrototypeOf"; import _defineProperty from "@babel/runtime-corejs2/helpers/defineProperty"; import "core-js/modules/es.array.for-each.js"; import "core-js/modules/es.object.to-string.js"; import "core-js/modules/web.dom-collections.for-each.js"; import "core-js/modules/es.regexp.exec.js"; import "core-js/modules/es.string.replace.js"; import "core-js/modules/web.timers.js"; import _JSON$stringify from "@babel/runtime-corejs2/core-js/json/stringify"; import _Object$assign from "@babel/runtime-corejs2/core-js/object/assign"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } import DoughnutLeftRightComponent from "../DoughnutLeftRightComponent.class.js"; /* * 细阴影环形饼图 * */ var DoughnutThinShadow = /*#__PURE__*/function (_DoughnutLeftRightCom) { _inherits(DoughnutThinShadow, _DoughnutLeftRightCom); var _super = _createSuper(DoughnutThinShadow); function DoughnutThinShadow(element, option) { var _this; _classCallCheck(this, DoughnutThinShadow); _this = _super.call(this, element, option); _defineProperty(_assertThisInitialized(_this), "name", 'DoughnutThinShadow'); return _this; } _createClass(DoughnutThinShadow, [{ key: "buildByteVModel", value: function buildByteVModel() { var _this$byteVModel; _get(_getPrototypeOf(DoughnutThinShadow.prototype), "buildByteVModel", this).call(this); //切换皮肤时判断之前是否有自定义radius var radius = ((_this$byteVModel = this.byteVModel) === null || _this$byteVModel === void 0 ? void 0 : _this$byteVModel.radius) || ''; this.byteVModel.radius = radius ? radius : this.theme.series.doughnutThinShadowRadius; } }, { key: "setRaidusByOption", value: function setRaidusByOption() { _get(_getPrototypeOf(DoughnutThinShadow.prototype), "setRadiusByOption", this).call(this); this.theme.series.convertDoughnutThinShadowRadius(this.byteVModel.radius); } }, { key: "setData", value: function setData(data) { var _this2 = this; _get(_getPrototypeOf(DoughnutThinShadow.prototype), "setData", this).call(this, data); // //外圈 // let arr = [] // //阴影内圈 // let arr2 = [] // // //获取添加了分割线样式的环形图数据 // arr = this.buildDoughnutSpilt2Data(data, (item, index)=>{ // let obj2 = JSON.parse(JSON.stringify(item)) // delete obj2.emphasis // obj2.itemStyle = { // color: this.byteVModel.color[index % this.byteVModel.color.length] + '60' // } // arr2.push(obj2, { // value: 0, // name: item.name, // cursor: "auto", // itemStyle: { // color: 'transparent' // } // }) // }) //外圈 var arr = this.buildDoughnutSpilt2Data(data); //阴影内圈 var arr2 = JSON.parse(_JSON$stringify(arr)); arr2.forEach(function (m, i) { if (!m.spilt) { m.itemStyle = { color: _this2.byteVModel.color[(i % 2 ? i : i / 2) % _this2.byteVModel.color.length] + '60' }; } }); this.theme.series.doughnutThinShadow.data = arr; this.theme.series.doughnutThinShadowEmptyCircle.emphasis = this.theme.series.doughnutThinShadow.emphasis; this.theme.series.doughnutThinShadowEmptyCircle.data = arr2; this.byteVModel.series.push(this.theme.series.doughnutThinShadow, this.theme.series.doughnutThinShadowEmptyCircle); this.setCenterByOption(this.byteVModel.series); this.setRaidusByOption(this.byteVModel.series); this.componentInstance.setOption(this.byteVModel, true); this.playAnimation(false); } }, { key: "playAnimation", value: function playAnimation() { var _this3 = this; var play = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; _get(_getPrototypeOf(DoughnutThinShadow.prototype), "playAnimation", this).call(this); //中间旋转的装饰渐变圆环和渐变圆形 this.theme.series.doughnutInnerRotatingGradientDoughnut.center = this.theme.series.doughnutInnerRotatingGradientCircle.center = this.theme.series.doughnutThinShadow.center; this.theme.series.doughnutInnerRotatingGradientDoughnut.radius.forEach(function (itm, idx) { _this3.theme.series.doughnutInnerRotatingGradientDoughnut.radius[idx] = _this3.theme.series.doughnutThinShadowEmptyCircle.radius[0].replace('%', '') - (idx ? 5.5 : 7) + '%'; _this3.theme.series.doughnutInnerRotatingGradientCircle.radius[idx] = idx ? _this3.theme.series.doughnutThinShadowEmptyCircle.radius[0].replace('%', '') - 7.5 + '%' : 0; }); this.theme.series.doughnutInnerRotatingGradientDoughnut.startAngle = this.theme.series.doughnutInnerRotatingGradientCircle.startAngle = 0; var series = [JSON.parse(_JSON$stringify(this.theme.series.doughnutInnerRotatingGradientDoughnut)), JSON.parse(_JSON$stringify(this.theme.series.doughnutInnerRotatingGradientCircle))]; this.setCenterByOption(series); this.animationInstance.setOption({ animationDuration: 1, series: series }); if (!play) { window.ByteVChartsInterval.remove(this.componentInstance.id); return; } //周期定时旋转装饰圆环和装饰圆形 var clxyaI = 0; setTimeout(function () { window.ByteVChartsInterval.add(_this3.componentInstance.id, function () { var opt = _this3.animationInstance.getOption(); _Object$assign(opt.series[0].itemStyle.color, _this3.theme.colorLinearXYArr[clxyaI]); _Object$assign(opt.series[1].itemStyle.color, _this3.theme.colorLinearXYArr[clxyaI]); _this3.animationInstance.setOption(opt); clxyaI = (clxyaI + 1) % _this3.theme.colorLinearXYArr.length; }, 200); }, this.theme.animationDuration * .6); } }, { key: "offAnimation", value: function offAnimation() { _get(_getPrototypeOf(DoughnutThinShadow.prototype), "offAnimation", this).call(this); this.playAnimation(false); } }]); return DoughnutThinShadow; }(DoughnutLeftRightComponent); export { DoughnutThinShadow as default };