UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

404 lines (403 loc) 18.6 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 __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 __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; 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 isExtendChart_1 = require("../../../utils/isExtendChart"); var store_1 = __importDefault(require("../../../stores/store")); var base_1 = __importDefault(require("../chart-style/charts/base")); var chart_style_1 = require("../../../constants/chart-style"); var merge_dataset_1 = require("./transforms/merge-dataset"); var sort_dataset_1 = require("./transforms/sort-dataset"); var outlier_1 = require("../../../constants/outlier"); var ChartConditionService = /** @class */ (function (_super) { __extends(ChartConditionService, _super); function ChartConditionService(analysisService) { var _this = _super.call(this) || this; _this.visualizationStyle = ''; _this.isInitFirst = true; _this.analysisService = analysisService; _this.isInitFirst = true; return _this; } Object.defineProperty(ChartConditionService.prototype, "chartType", { get: function () { return this.chartStyleService.chartType; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isElement", { get: function () { return [chart_style_1.ChartType.Editor].indexOf(this.chartType) !== -1; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isTableChart", { get: function () { return (this.chartType === chart_style_1.ChartType.GridTable || this.chartType === chart_style_1.ChartType.TreeTable); }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "originDataset", { get: function () { return this.analysisService.dataset; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "twoDDataConfig", { get: function () { var _a = this.chartStyleService, field = _a.mainAxis.field, _b = _a.crossAxis1, crossAxisFields = _b.fields, crossAxisSubFields = _b.subFields, y1DisplayFields = _b.displayFields, fieldsGetter = _b.fieldsGetter, _c = _a.crossAxis2, crossAxis2Fields = _c.fields, y2Buckets = _c.y2Buckets, y2DisplayFields = _c.displayFields, colorsFields = _a.colors.fields; return { field: field, crossAxisFields: crossAxisFields, crossAxis2Fields: crossAxis2Fields, y2Buckets: y2Buckets, colorsFields: colorsFields, crossAxisSubFields: crossAxisSubFields, y1DisplayFields: y1DisplayFields, y2DisplayFields: y2DisplayFields, fieldsGetter: fieldsGetter }; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "dataset", { get: function () { var _a = this.originDataset, fields = _a.fields, rows = _a.rows; var chartType = this.chartStyleService.chartType; if (this.isExtendsChart) { return this.originDataset; } switch (chartType) { case chart_style_1.ChartType.Line: case chart_style_1.ChartType.StackLine: case chart_style_1.ChartType.PercentageLine: case chart_style_1.ChartType.Area: case chart_style_1.ChartType.StackArea: case chart_style_1.ChartType.PercentageArea: case chart_style_1.ChartType.Bar: return merge_dataset_1.pickDataset(fields, rows, __spread(this.twoDDataConfig.crossAxisFields, this.twoDDataConfig.crossAxis2Fields, this.twoDDataConfig.y1DisplayFields), __spread([this.twoDDataConfig.field], this.twoDDataConfig.colorsFields), this.twoDDataConfig.fieldsGetter); case chart_style_1.ChartType.LineBarY2: case chart_style_1.ChartType.LineY2: return merge_dataset_1.pickDataset(fields, rows, __spread(this.twoDDataConfig.crossAxisFields, this.twoDDataConfig.crossAxis2Fields, this.twoDDataConfig.y1DisplayFields, this.twoDDataConfig.y2DisplayFields), __spread([ this.twoDDataConfig.field ], this.twoDDataConfig.colorsFields, this.twoDDataConfig.colorsFields)); case chart_style_1.ChartType.LineBar: return merge_dataset_1.pickDataset(fields, rows, __spread(this.twoDDataConfig.crossAxisFields, this.twoDDataConfig.crossAxisSubFields, this.twoDDataConfig.y1DisplayFields, this.twoDDataConfig.y2DisplayFields), __spread([ this.twoDDataConfig.field ], this.twoDDataConfig.colorsFields, this.twoDDataConfig.colorsFields)); case chart_style_1.ChartType.Outlier: var _b = this.chartStyleService, crossAxis1 = _b.crossAxis1, mainAxis = _b.mainAxis, lowerBound = _b.lowerBound, lowerBoundType = _b.lowerBoundType, upperBound = _b.upperBound, upperBoundType = _b.upperBoundType; var metrics = __spread(crossAxis1.fields); if (lowerBoundType === outlier_1.BoundType.Field) { metrics.push(lowerBound.toString()); } if (upperBoundType === outlier_1.BoundType.Field) { metrics.push(upperBound.toString()); } return merge_dataset_1.pickDataset(fields, rows, metrics, [mainAxis.field]); case chart_style_1.ChartType.Scatter: return sort_dataset_1.sortDatasetColumn(fields, rows, [], __spread([ this.twoDDataConfig.field ], this.twoDDataConfig.crossAxisFields, this.twoDDataConfig.colorsFields)); case chart_style_1.ChartType.Bubble: var sizeField = this.chartStyleService.sizeField; return sort_dataset_1.sortDatasetColumn(fields, rows, sizeField, __spread([ this.twoDDataConfig.field ], this.twoDDataConfig.crossAxisFields, this.twoDDataConfig.colorsFields)); case chart_style_1.ChartType.TreeTable: case chart_style_1.ChartType.GridTable: return this.originDataset; case chart_style_1.ChartType.Editor: return { fields: [], rows: [] }; case chart_style_1.ChartType.TimeLine: case chart_style_1.ChartType.MapboxBubble: case chart_style_1.ChartType.MapboxPath: case chart_style_1.ChartType.TopoLogy: return this.originDataset; case chart_style_1.ChartType.PieBucket: case chart_style_1.ChartType.PieRingBucket: case chart_style_1.ChartType.PieRingMetric: case chart_style_1.ChartType.PieMetric: case chart_style_1.ChartType.PieRoseBucket: case chart_style_1.ChartType.PieRoseMetric: case chart_style_1.ChartType.RelationCircular: case chart_style_1.ChartType.RelationHorizontal: case chart_style_1.ChartType.CapsuleBar: case chart_style_1.ChartType.MapBubbleChina: case chart_style_1.ChartType.MapBubbleWorld: case chart_style_1.ChartType.MapColorChina: case chart_style_1.ChartType.MapColorWorld: case chart_style_1.ChartType.RadarBucket: case chart_style_1.ChartType.RadarMetric: case chart_style_1.ChartType.SingleGauge: case chart_style_1.ChartType.SinglePercent: case chart_style_1.ChartType.SingleValue: case chart_style_1.ChartType.StatusPanel: case chart_style_1.ChartType.MetricPanel: case chart_style_1.ChartType.Sunburst: case chart_style_1.ChartType.Honeycomb: var _c = this .chartStyleService, currentMetrics = _c.currentMetrics, currentBuckets = _c.currentBuckets; return merge_dataset_1.pickDataset(fields, rows, currentMetrics, currentBuckets); default: return { fields: fields, rows: rows }; } }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "buckets", { get: function () { return this.dataset.fields.filter(function (field) { return field.type === 'bucket'; }); }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "metrics", { get: function () { return this.dataset.fields.filter(function (field) { return field.type === 'metric'; }); }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isAnalysising", { get: function () { return this.analysisService.isAnalysising; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "hasDataLoaded", { get: function () { return this.analysisService.hasDataLoaded; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isInitAnalysising", { get: function () { return this.analysisService.isInitAnalysising; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "process", { get: function () { return this.analysisService.process; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "hasData", { get: function () { return !!this.dataset.rows.length; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isUnauth", { get: function () { return this.analysisService.isUnauth; }, enumerable: false, configurable: true }); Object.defineProperty(ChartConditionService.prototype, "isExtendsChart", { get: function () { // 改为静态判断,因为懒加载了自定义图表列表接口,不能再使用this.extendsCharts属性 return isExtendChart_1.isExtendChart(this.chartType); }, enumerable: false, configurable: true }); ChartConditionService.prototype.handleAnalysis = function (condition) { return this.analysisService.handleAnalysis(condition); }; ChartConditionService.prototype.stop = function () { this.analysisService.stop(); }; ChartConditionService.prototype.clearDataLoaded = function () { this.analysisService.clearDataLoaded(); }; ChartConditionService.prototype.setChartStyleService = function (chartStyleService) { this.chartStyleService = chartStyleService; }; ChartConditionService.prototype.setVisualizationStyle = function (visualizationStyle) { this.visualizationStyle = visualizationStyle; }; __decorate([ mobx_1.observable, __metadata("design:type", String) ], ChartConditionService.prototype, "visualizationStyle", void 0); __decorate([ mobx_1.observable, __metadata("design:type", Boolean) ], ChartConditionService.prototype, "isInitFirst", void 0); __decorate([ mobx_1.observable.ref, __metadata("design:type", base_1.default) ], ChartConditionService.prototype, "chartStyleService", void 0); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "chartType", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isElement", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isTableChart", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "originDataset", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "twoDDataConfig", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "dataset", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "buckets", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "metrics", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isAnalysising", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "hasDataLoaded", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isInitAnalysising", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "process", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "hasData", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isUnauth", null); __decorate([ mobx_1.computed, __metadata("design:type", Object), __metadata("design:paramtypes", []) ], ChartConditionService.prototype, "isExtendsChart", null); __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], ChartConditionService.prototype, "handleAnalysis", null); __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], ChartConditionService.prototype, "stop", null); __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], ChartConditionService.prototype, "clearDataLoaded", null); __decorate([ bind_1.default, mobx_1.action, __metadata("design:type", Function), __metadata("design:paramtypes", [base_1.default]), __metadata("design:returntype", void 0) ], ChartConditionService.prototype, "setChartStyleService", null); __decorate([ bind_1.default, mobx_1.action, __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], ChartConditionService.prototype, "setVisualizationStyle", null); return ChartConditionService; }(store_1.default)); exports.default = ChartConditionService;