UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

45 lines (44 loc) 2.47 kB
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 { includes } from 'lodash'; import { getBucketMetricNameByFields, updateMetricBucket } from '../utils'; import bind from '../../../utils/bind'; import RelationBaseStyleService from '../../../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 = getBucketMetricNameByFields(fields), metrics = _a.metrics, buckets = _a.buckets; // bucket if (target.currentBuckets.length < 2 || target.currentBuckets.some(function (currentBucket) { return !includes(fieldNames, currentBucket); })) { target.setCurrentBuckets(buckets.slice(0, 2)); } else { updateMetricBucket(metrics, buckets, target.currentBuckets); } // metric if (!target.currentMetrics.length || !includes(fieldNames, target.currentMetrics[0])) { target.setCurrentMetrics(metrics.length ? [metrics[0]] : []); } }; __decorate([ bind, __metadata("design:type", Function), __metadata("design:paramtypes", [RelationBaseStyleService, Object]), __metadata("design:returntype", void 0) ], SearchRelationBaseStyleService.prototype, "datasetReaction", null); return SearchRelationBaseStyleService; }()); export default SearchRelationBaseStyleService;