UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

177 lines (176 loc) 7.94 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 __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 lodash_1 = require("lodash"); var bind_1 = __importDefault(require("../../../../../utils/bind")); var two_d_1 = __importDefault(require("../two-d")); var base_1 = require("../base"); var chart_style_1 = require("../../../../../constants/chart-style"); var constant_1 = require("./constant"); var LineBaseStyleService = /** @class */ (function (_super) { __extends(LineBaseStyleService, _super); function LineBaseStyleService(options) { var _this = _super.call(this, options) || this; _this.smoothLine = false; // 条带配置,用于按照配置中的上下界在图中画条带 _this.bandList = []; // 标记区域,用于按照配置中的y轴的上下界在图中画区域 _this.markAreas = []; // 通过标记字段自定义颜色 _this.tagColors = []; // 图表中的强调区域 _this.emphasizeAreas = []; _this.bandList = options.bandList; _this.markAreas = options.markAreas; _this.emphasizeAreas = options.emphasizeAreas; _this.tagColors = options.tagColors; _this.smoothLine = lodash_1.isNil(options.smoothLine) ? false : options.smoothLine; _this.point = options.point || constant_1.InitPoint; _this.markPointType = options.markPointType || chart_style_1.ILineMarkPointType.Hide; var fields = __spread(_this.crossAxis1.fields); // 需要把次 y 轴的filed 添加到主 y 轴上 if (_this.crossAxis1.subFields && _this.crossAxis1.subFields.length > 0) { fields.push.apply(fields, __spread(_this.crossAxis1.subFields)); _this.crossAxis1.setSubFields([]); } if (!(options.chartType === chart_style_1.ChartType.LineBarY2 || options.chartType === chart_style_1.ChartType.LineY2)) { if (_this.crossAxis2 && _this.crossAxis2.fields.length > 0) { fields.push.apply(fields, __spread(_this.crossAxis2.fields)); _this.crossAxis2.setFields([]); } } _this.crossAxis1.setFields(lodash_1.uniq(fields)); // 处理颜色 _this.displayColors = (options.displayColors || []).map(function (color) { color.isOverlap = false; return color; }); return _this; } LineBaseStyleService.prototype.setSmoothLine = function (isEnable) { this.smoothLine = isEnable; }; LineBaseStyleService.prototype.setPoint = function (point) { this.point = point; }; LineBaseStyleService.prototype.setMarkPointType = function (type) { this.markPointType = type; var point = __assign({}, this.point); // 如果选择显示值标签并且point 的 type 等于None, 主动更改 point.type if (type !== chart_style_1.ILineMarkPointType.Hide && point.type === chart_style_1.EPoint.None) { point.type = chart_style_1.EPoint.Circle; this.point = point; } }; LineBaseStyleService.prototype.getOptions = function () { return __assign(__assign({}, _super.prototype.getOptions.call(this)), { bandList: this.bandList, markAreas: this.markAreas, emphasizeAreas: this.emphasizeAreas, tagColors: this.tagColors, smoothLine: this.smoothLine, point: this.point, markPointType: this.markPointType }); }; __decorate([ base_1.styleOption(), __metadata("design:type", Boolean) ], LineBaseStyleService.prototype, "smoothLine", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", Object) ], LineBaseStyleService.prototype, "point", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", String) ], LineBaseStyleService.prototype, "markPointType", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", Array) ], LineBaseStyleService.prototype, "bandList", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", Array) ], LineBaseStyleService.prototype, "markAreas", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", Array) ], LineBaseStyleService.prototype, "tagColors", void 0); __decorate([ base_1.styleOption(), __metadata("design:type", Array) ], LineBaseStyleService.prototype, "emphasizeAreas", void 0); __decorate([ bind_1.default, mobx_1.action, __metadata("design:type", Function), __metadata("design:paramtypes", [Boolean]), __metadata("design:returntype", void 0) ], LineBaseStyleService.prototype, "setSmoothLine", null); __decorate([ bind_1.default, mobx_1.action, __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LineBaseStyleService.prototype, "setPoint", null); __decorate([ bind_1.default, mobx_1.action, __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], LineBaseStyleService.prototype, "setMarkPointType", null); return LineBaseStyleService; }(two_d_1.default)); exports.default = LineBaseStyleService;