UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

50 lines (49 loc) 2.73 kB
"use strict"; 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 lodash_1 = require("lodash"); var utils_1 = require("../utils"); var bind_1 = __importDefault(require("../../../utils/bind")); var relation_base_1 = __importDefault(require("../../../base-pandora-visualization/services/chart-style/charts/relation-base")); var SearchRelationBaseStyleService = /** @class */ (function () { function SearchRelationBaseStyleService() { } SearchRelationBaseStyleService.prototype.datasetReaction = function (target, dataset) { // 根据dataset初始化图表的bucket、metric、color等属性。 var fields = dataset.fields || []; var fieldNames = fields.map(function (field) { return field && field.key; }); var _a = utils_1.getBucketMetricNameByFields(fields), metrics = _a.metrics, buckets = _a.buckets; // bucket if (target.currentBuckets.length < 2 || target.currentBuckets.some(function (currentBucket) { return !lodash_1.includes(fieldNames, currentBucket); })) { target.setCurrentBuckets(buckets.slice(0, 2)); } else { utils_1.updateMetricBucket(metrics, buckets, target.currentBuckets); } // metric if (!target.currentMetrics.length || !lodash_1.includes(fieldNames, target.currentMetrics[0])) { target.setCurrentMetrics(metrics.length ? [metrics[0]] : []); } }; __decorate([ bind_1.default, __metadata("design:type", Function), __metadata("design:paramtypes", [relation_base_1.default, Object]), __metadata("design:returntype", void 0) ], SearchRelationBaseStyleService.prototype, "datasetReaction", null); return SearchRelationBaseStyleService; }()); exports.default = SearchRelationBaseStyleService;