@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
67 lines (66 loc) • 2.61 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"));
var drill_down_1 = require("../../constants/drill-down");
exports.DEFAULT_SPAN = '5m';
/**
* 提供图表下钻相关的服务:
* 1. 封装根据点击元素生成约定Event的逻辑
* 2. 设置下钻相关的token,可作为模板变量使用
*/
var ChartDrillDownService = /** @class */ (function () {
function ChartDrillDownService(type) {
this.type = type;
}
// 除searchAuto外暂用不到
ChartDrillDownService.prototype.toCommonEvent = function () {
return undefined;
};
ChartDrillDownService.prototype.toEvent = function (params) {
switch (this.type) {
case drill_down_1.DrillDownType.ToSearchAuto:
return this.toSearchAutoEvent(params);
default:
return this.toCommonEvent();
}
};
ChartDrillDownService.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
};
};
ChartDrillDownService.prototype.generateMetric = function (fieldname, value) {
return {
field: fieldname,
value: value
};
};
ChartDrillDownService.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)
};
};
ChartDrillDownService.prototype.isFieldValid = function (fieldname, value) {
return !!fieldname && !lodash_1.isUndefined(value);
};
return ChartDrillDownService;
}());
exports.default = ChartDrillDownService;