UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

187 lines (186 loc) 8.64 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { computed } from 'mobx'; import { get, min, isNil } from 'lodash'; import bind from '../../../../utils/bind'; import SingleChartStore from '../store'; import { getGaugeColor } from '../transform'; import { gaugeInnerCircleSeries } from '../constant'; var SingleCircleChartStore = /** @class */ (function (_super) { __extends(SingleCircleChartStore, _super); function SingleCircleChartStore() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(SingleCircleChartStore.prototype, "chartType", { get: function () { return this.chartStyleService.chartType; }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "gaugeLineWidth", { // 仪表盘环线的宽度 get: function () { return min([this.chartStyleOption.circularWidth, this.outerRadius]); }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "outerRadius", { // 外环半径 get: function () { var radiusRatio = this.chartStyleService.radiusRatio; var radius = radiusRatio || get(this.themeOption, ['gauge', 'singleGauge', 'radiusRatio']); return min([this.chartHeight, this.chartWidth]) / radius; }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "innerRadius", { // 内环的半径 get: function () { return (this.outerRadius - (this.gaugeLineWidth ? this.gaugeLineWidth : get(this.themeOption, ['gauge', 'axisLine', 'lineStyle', 'width']))); }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "gaugeTitleOffsetCenter", { // 根据title位置选项返回仪表盘title的不同位置 get: function () { var gaugeTitlePosition = this.chartStyleOption.gaugeTitlePosition; var offcenter = get(this.themeOption, ['gauge', 'title', 'offsetCenter']); switch (gaugeTitlePosition) { case "bottom" /* Bottom */: return [0, '75%']; default: return offcenter; } }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "displayData", { // 仪表盘显示的值 get: function () { var gaugeEmptyValueMode = this.chartStyleOption.gaugeEmptyValueMode; return isNil(this.currentData) ? gaugeEmptyValueMode === "0" /* Zero */ ? 0 : undefined : this.currentData; }, enumerable: false, configurable: true }); Object.defineProperty(SingleCircleChartStore.prototype, "gaugeCircleSeries", { // 仪表盘外环series get: function () { var _this = this; var _a = this.chartStyleOption, gaugeMin = _a.gaugeMin, gaugeMax = _a.gaugeMax; var _b = this.chartStyleService, titleDataFont = _b.titleDataFont, gaugeTitleName = _b.gaugeTitleName, gaugeTitlePosition = _b.gaugeTitlePosition, gaugeTitleFont = _b.gaugeTitleFont; var raidus = this.outerRadius ? { radius: this.outerRadius } : {}; var offcenter = get(this.themeOption, ['gauge', 'detail', 'offsetCenter']); return __assign(__assign(__assign({}, gaugeInnerCircleSeries), raidus), { data: [ { name: gaugeTitleName || this.currentMetricName, value: this.displayData } ], min: gaugeMin, max: gaugeMax, title: { show: gaugeTitlePosition !== "none" /* None */, offsetCenter: this.gaugeTitleOffsetCenter, textStyle: __assign({ color: gaugeTitleFont.color || get(this.themeOption, ['gauge', 'title', 'color']) }, (gaugeTitleFont.fontSize ? { fontSize: gaugeTitleFont.fontSize } : {})) }, detail: __assign({ show: true, offsetCenter: offcenter, formatter: function (params) { return _this.displayDataFormatter(params); }, color: titleDataFont.color || get(this.themeOption, ['gauge', 'detail', 'color']) }, (titleDataFont.fontSize ? { fontSize: titleDataFont.fontSize } : {})), axisLine: { show: true, lineStyle: __assign({}, (this.gaugeLineWidth ? { width: this.gaugeLineWidth } : {})) } }); }, enumerable: false, configurable: true }); // 根据设置的不同区间获得仪表盘环的颜色 SingleCircleChartStore.prototype.getGaugeColors = function (getColorRange) { return getGaugeColor(get(this.themeOption, ['gauge', 'axisLineBackgroundColor']), this.defaultColor, this.chartStyleOption, getColorRange, this.colorData, this.currentData); }; __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "chartType", null); __decorate([ computed, __metadata("design:type", Number), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "gaugeLineWidth", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "outerRadius", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "innerRadius", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "gaugeTitleOffsetCenter", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "displayData", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], SingleCircleChartStore.prototype, "gaugeCircleSeries", null); __decorate([ bind, __metadata("design:type", Function), __metadata("design:paramtypes", [Function]), __metadata("design:returntype", void 0) ], SingleCircleChartStore.prototype, "getGaugeColors", null); return SingleCircleChartStore; }(SingleChartStore)); export default SingleCircleChartStore;