bytev-charts-beta1.0
Version:
测试版-1.0,版本号为小版本; 基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;
172 lines (140 loc) • 6.01 kB
JavaScript
import _Reflect$construct from "@babel/runtime-corejs2/core-js/reflect/construct";
import "core-js/modules/es.object.to-string.js";
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 _Object$assign from "@babel/runtime-corejs2/core-js/object/assign";
import "core-js/modules/es.array.concat.js";
import "core-js/modules/es.function.name.js";
import "core-js/modules/es.array.index-of.js";
import "core-js/modules/es.number.to-fixed.js";
import "core-js/modules/web.timers.js";
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 PmgressBarComponent from '../ProgressBarComponent.class.js';
/*
* 基本进度条
* */
var ProgressBarBasic = /*#__PURE__*/function (_PmgressBarComponent) {
_inherits(ProgressBarBasic, _PmgressBarComponent);
var _super = _createSuper(ProgressBarBasic);
function ProgressBarBasic() {
var _this;
_classCallCheck(this, ProgressBarBasic);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
_defineProperty(_assertThisInitialized(_this), "name", 'ProgressBarBasic');
_defineProperty(_assertThisInitialized(_this), "first", true);
return _this;
}
_createClass(ProgressBarBasic, [{
key: "buildByteVModel",
value: function buildByteVModel() {
_get(_getPrototypeOf(ProgressBarBasic.prototype), "buildByteVModel", this).call(this);
this.byteVModel.series = [//补充的底色进度条
{
animation: false,
z: 2,
type: 'bar',
silent: true,
barWidth: 20,
barGap: '-100%',
itemStyle: {
// color: '#0872EC30',
color: this.byteVModel.color[0] + '30',
// borderColor: '#0872EC50',
borderColor: this.byteVModel.color[0] + '50',
borderWidth: 6,
shadowBlur: 3,
// shadowColor: "#0872EC30",
shadowColor: this.byteVModel.color[0] + '30',
shadowOffsetX: 0,
shadowOffsetY: 0
},
tooltip: {
show: false
},
data: [100]
}, //实际进度条
{
// animation:500,
z: 3,
type: 'bar',
barWidth: 20,
itemStyle: {
color: this.byteVModel.color[0],
borderColor: '#00000000',
borderWidth: 10
},
tooltip: {
show: true
},
label: {
show: true,
fontSize: 16,
lineHeight: -32,
color: this.theme.nameTextStyle.color,
padding: [0, 4, 0, 10],
position: "insideBottomRight",
valueAnimation: true // formatter: (param)=>{
// return param.data + ' ' + (data.unit || '')
// }
},
data: [0]
}];
}
}, {
key: "setData",
value: function setData(data) {
var _this2 = this;
_get(_getPrototypeOf(ProgressBarBasic.prototype), "setData", this).call(this, data);
if (data.constructor === Array) {
data = data.length ? data[data.length - 1] : {};
}
if (!data && !this.data) {
return;
}
if (!data) {
data = this.data;
}
data.max = data.max || 100;
if (data.name) {
var n = data.value / data.max * 100;
n = (n + '').indexOf('.') != -1 ? n.toFixed(2) : n;
this.byteVModel.yAxis[0].data = [(data.name || '') + ' ' + n + '%'];
}
this.byteVModel.xAxis[0].max = data.max;
this.byteVModel.yAxis[1].data = [data.max + ' ' + (data.unit || '')];
this.byteVModel.series[0].barWidth = this.byteVModel.series[1].barWidth = data.barWidth || 20;
this.byteVModel.series[1].label.formatter = function (param) {
return param.data + ' ' + (data.unit || '');
}; //先无动画的情况下设置一下xy轴
this.byteVModel.animation = false;
this.componentInstance.setOption(this.byteVModel); //再有动画的设置进度
setTimeout(function () {
_this2.byteVModel.animation = true;
_this2.byteVModel.series[0].data[0] = data.max;
_this2.byteVModel.series[1].data[0] = data.value;
var align = "right";
var per = data.value / data.max;
if (per < .10) {
align = "left";
} else if (per < .90) {
align = "center";
}
_this2.byteVModel.series[1].label.align = align;
_Object$assign(_this2.byteVModel.series[0].itemStyle, data.itemStyle);
_this2.componentInstance.setOption(_this2.byteVModel, true);
}, 1);
}
}]);
return ProgressBarBasic;
}(PmgressBarComponent);
export { ProgressBarBasic as default };