UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

198 lines (197 loc) 8.8 kB
"use strict"; 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); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var mobx_1 = require("mobx"); var bind_1 = __importDefault(require("../../../../utils/bind")); var lodash_1 = require("lodash"); var store_1 = __importDefault(require("../store")); var constants_1 = require("../constants"); var normalizeTimeFormat_1 = require("../../../../utils/normalizeTimeFormat"); var language_1 = require("../../../../services/language"); var type_1 = require("../../../../constants/language/base/type"); 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.rows.length === 0) { return [ __assign(__assign({}, constants_1.noDataSeries), { name: language_1.formatString(constants_1.noDataSeries.name) }) ]; } var bucket = this.currentBuckets.length > 0 ? this.currentBuckets[0] : null; var bucketIndex = bucket ? lodash_1.findIndex(this.fields, function (field) { return field.key === bucket.key; }) : -1; var data = this.rows.map(function (line) { var value = _this.currentMetrics.map(function (metric) { var metricIndex = lodash_1.findIndex(_this.fields, function (field) { return field.key === metric.key; }); return line[metricIndex][0]; }); var name = bucket ? line[bucketIndex][0] : ''; return { name: name === null ? 'null' : name, value: value }; }); return { data: data, type: 'radar', name: lodash_1.get(bucket, 'key') }; }, enumerable: false, configurable: true }); Object.defineProperty(Store.prototype, "radar", { get: function () { var _this = this; if (this.currentMetrics.length === 0) { return []; } var indicator = []; var _a = this.chartStyleService, indicatorSettings = _a.indicatorSettings, indicatorMax = _a.indicatorMax, indicatorMin = _a.indicatorMin; var dataMax = lodash_1.max(this.rows.map(function (line) { return lodash_1.max(_this.currentMetrics.map(function (metric) { var metricIndex = lodash_1.findIndex(_this.fields, function (field) { return field === metric; }); return line[metricIndex][0]; })); })); if (indicatorSettings.length > 0) { indicator = indicatorSettings.map(function (setting) { return ({ key: setting.key, name: setting.displayName, max: lodash_1.isNil(setting.max) ? dataMax : setting.max, min: setting.min }); }); } else { indicator = this.currentMetrics.map(function (metric) { return ({ name: metric.name, key: metric.name, max: lodash_1.isNil(indicatorMax) ? dataMax : indicatorMax, min: indicatorMin }); }); } return [ __assign(__assign({}, this.chartPosition), { indicator: indicator, splitNumber: 5, shape: this.chartStyleService.displayType, center: ['50%', '45%'] }) ]; }, enumerable: false, configurable: true }); Store.prototype.transformSeriesTooltipName = function (name) { return this.isDateSeries && name !== language_1.formatString(type_1.BaseLocale.other) ? normalizeTimeFormat_1.normalizeTimeFormat(name) : name.length > 30 ? name.slice(0, 30) + "..." : name; }; Store.prototype.tooltipFormatter = function (params) { var _this = this; if (params.data === undefined) { return language_1.formatString(type_1.BaseLocale.status.empty); } if (params) { var name_1 = this.transformSeriesTooltipName(params.name); return "<span style=\"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 "; } }; Object.defineProperty(Store.prototype, "tooltip", { get: function () { return { show: true, 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 lodash_1.merge({}, constants_1.defaultConfig, { tooltip: this.tooltip, series: this.series, radar: this.radar }); }, enumerable: false, configurable: true }); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "series", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "radar", null); __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], Store.prototype, "transformSeriesTooltipName", null); __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], Store.prototype, "tooltipFormatter", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "tooltip", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], Store.prototype, "chartOptions", null); return Store; }(store_1.default)); exports.default = Store;