UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

224 lines (223 loc) 9.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 { findIndex, toString, merge, max, isNil, get } from 'lodash'; import bind from '../../../../utils/bind'; import { defaultConfig, noDataSeries } from '../constants'; import RadarChartStore from '../store'; import { normalizeTimeFormat } from '../../../../utils/normalizeTimeFormat'; import { formatString } from '../../../../services/language'; import { BaseLocale } from '../../../../constants/language/base/type'; import { RadarBucketDrillDownService } from '../../../../services/chart-drill-down'; import { RadarBucketActionService } from '../../../../services/chart-common-action'; var Store = /** @class */ (function (_super) { __extends(Store, _super); function Store() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(Store.prototype, "series", { get: function () { var _this = this; if (this.currentMetrics.length === 0 || this.currentBuckets.length === 0 || this.rows.length === 0) { return [ __assign(__assign({}, noDataSeries), { name: formatString(noDataSeries.name) }) ]; } var bucket = this.currentBuckets[0]; var metric = this.currentMetrics[0]; var value = this.rows.map(function (line) { var index = findIndex(_this.fields, function (field) { return field.key === metric.key; }); return line[index] ? line[index][0] : 0; }); var data = value.length === 0 ? [] : [ { value: value, name: metric.name } ]; return { name: bucket.name === null ? 'null' : bucket.name, type: 'radar', data: data }; }, enumerable: false, configurable: true }); Object.defineProperty(Store.prototype, "radar", { get: function () { var _this = this; var _a = this.chartStyleService, indicatorMax = _a.indicatorMax, indicatorMin = _a.indicatorMin, maxIndicators = _a.maxIndicators; if (this.currentMetrics.length === 0 || this.currentBuckets.length === 0) { return []; } var indicator = []; var indicatorSettings = this.chartStyleService.indicatorSettings; var bucket = this.currentBuckets[0]; var metric = this.currentMetrics[0]; var metricIndex = findIndex(this.fields, function (field) { return field.key === metric.key; }); var dataMax = max(this.rows.map(function (line) { return line[metricIndex][0] || 0; })); if (indicatorSettings.length > 0) { indicator = indicatorSettings.map(function (setting) { return ({ key: setting.key, name: setting.displayName, max: isNil(setting.max) ? dataMax : setting.max, min: setting.min }); }); } else { indicator = this.rows.map(function (line) { var bucketIndex = findIndex(_this.fields, function (field) { return field.key === bucket.key; }); var name = line[bucketIndex] ? line[bucketIndex][0] : ''; return { name: name === null ? 'null' : _this.isDateSeries ? normalizeTimeFormat(name) : toString(name), key: bucket.key, max: isNil(indicatorMax) ? dataMax : indicatorMax, min: indicatorMin }; }); } return [ __assign(__assign({ indicator: maxIndicators ? indicator.slice(0, maxIndicators) : indicator }, this.chartPosition), { shape: this.chartStyleService.displayType, center: ['50%', '45%'] }) ]; }, enumerable: false, configurable: true }); Store.prototype.transformSeriesTooltipName = function (name) { return this.isDateSeries && name !== formatString(BaseLocale.other) ? normalizeTimeFormat(name) : name.length > 30 ? name.slice(0, 30) + "..." : name; }; Store.prototype.tooltipFormatter = function (params) { var _this = this; if (params.data === undefined) { return formatString(BaseLocale.status.empty); } if (params) { var name_1 = this.transformSeriesTooltipName(params.name); return "<span style=\"transform: translateZ(0);font-size: 14px; display: inline-block; margin-bottom: 3px;\">\n " + (params.name === null ? 'null' : name_1) + "</span> <br/>\n <span style=\"font-size: 12px;\">\n " + this.radar[0].indicator .map(function (radar, i) { return "<span style=\"font-size: 12px;\"><span >" + radar.name + " :</span> " + _this.chartStyleService.unitTransformer(params.value[i]) + "</span>"; }) .join('<br />') + "\n "; } }; Store.prototype.handleDrillDown = function () { this.onAction({ indicator: get(this.radar, 0).indicator, fields: this.fields }, RadarBucketDrillDownService, RadarBucketActionService); }; Object.defineProperty(Store.prototype, "tooltip", { get: function () { return { show: true, padding: [4, 8], trigger: 'item', formatter: this.tooltipFormatter, position: function (_point, _params, dom) { dom.style.transform = 'translateZ(0)'; } }; }, enumerable: false, configurable: true }); Object.defineProperty(Store.prototype, "chartOptions", { get: function () { return merge({}, defaultConfig, { tooltip: this.tooltip, series: this.series, radar: this.radar }); }, enumerable: false, configurable: true }); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "series", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "radar", null); __decorate([ bind, __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], Store.prototype, "transformSeriesTooltipName", null); __decorate([ bind, __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], Store.prototype, "tooltipFormatter", null); __decorate([ bind, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], Store.prototype, "handleDrillDown", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "tooltip", null); __decorate([ computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "chartOptions", null); return Store; }(RadarChartStore)); export default Store;