UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

47 lines (46 loc) 1.8 kB
import { isEqual, isUndefined, uniqWith } from 'lodash'; import moment from 'moment'; export var DEFAULT_SPAN = '5m'; /** * 提供图表调和钻相关的服务: * 1. 封装根据点击元素生成约定Event的逻辑 * 2. 设置跳转相关的token,可作为模板变量使用 */ var ChartCommonActionService = /** @class */ (function () { function ChartCommonActionService() { } ChartCommonActionService.prototype.generateBucket = function (fieldname, value, fields) { var field = fields.find(function (item) { return item.key === fieldname; }); var type = (field && field.fieldType) || ''; return { field: fieldname, type: type, span: type === 'Time' ? DEFAULT_SPAN : '', value: type === 'Time' && value && moment(value).isValid() ? moment(value).valueOf() : value }; }; ChartCommonActionService.prototype.generateMetric = function (fieldname, value) { return { field: fieldname, value: value }; }; ChartCommonActionService.prototype.generateValidResults = function (res) { var _this = this; return { buckets: uniqWith((res.buckets || []).filter(function (bucket) { return _this.isFieldValid(bucket.field, bucket.value); }), isEqual), metrics: uniqWith((res.metrics || []).filter(function (metric) { return _this.isFieldValid(metric.field, metric.value); }), isEqual) }; }; ChartCommonActionService.prototype.isFieldValid = function (fieldname, value) { return !!fieldname && !isUndefined(value); }; return ChartCommonActionService; }()); export default ChartCommonActionService;