@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
53 lines (52 loc) • 2.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_SPAN = void 0;
var lodash_1 = require("lodash");
var moment_1 = __importDefault(require("moment"));
exports.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' ? exports.DEFAULT_SPAN : '',
value: type === 'Time' && value && moment_1.default(value).isValid()
? moment_1.default(value).valueOf()
: value
};
};
ChartCommonActionService.prototype.generateMetric = function (fieldname, value) {
return {
field: fieldname,
value: value
};
};
ChartCommonActionService.prototype.generateValidResults = function (res) {
var _this = this;
return {
buckets: lodash_1.uniqWith((res.buckets || []).filter(function (bucket) {
return _this.isFieldValid(bucket.field, bucket.value);
}), lodash_1.isEqual),
metrics: lodash_1.uniqWith((res.metrics || []).filter(function (metric) {
return _this.isFieldValid(metric.field, metric.value);
}), lodash_1.isEqual)
};
};
ChartCommonActionService.prototype.isFieldValid = function (fieldname, value) {
return !!fieldname && !lodash_1.isUndefined(value);
};
return ChartCommonActionService;
}());
exports.default = ChartCommonActionService;