@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
76 lines (75 loc) • 3.21 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
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("../../base-pandora-visualization/services/chart-style/utils");
var base_chart_drill_1 = __importDefault(require("./base-chart-drill"));
/**
* 单值图的DrillDown Service
*/
var SingleChartDrillDownService = /** @class */ (function (_super) {
__extends(SingleChartDrillDownService, _super);
function SingleChartDrillDownService() {
return _super !== null && _super.apply(this, arguments) || this;
}
SingleChartDrillDownService.prototype.toSearchAutoEvent = function (params) {
var metrics = [];
var buckets = [];
var currentMetric = lodash_1.get(params.currentMetrics, 0);
metrics = [
this.generateMetric(lodash_1.get(currentMetric, 'key'), params.currentData)
];
if (lodash_1.get(params.currentMetrics, [0, 'type']) !== 'metric') {
buckets = [
this.generateBucket(lodash_1.get(currentMetric, 'key'), params.currentData, params.fields)
];
return this.generateValidResults({ buckets: buckets, metrics: metrics });
}
if (params.currentBuckets.length) {
buckets = this.getBucketsViaRow(params.rows[0], params.currentBuckets, params.fields);
}
return this.generateValidResults({ buckets: buckets, metrics: metrics });
};
SingleChartDrillDownService.prototype.getBucketsViaRow = function (row, currentBuckets, fields) {
var _this = this;
return currentBuckets.map(function (bucket) {
var bucketIndex = utils_1.getFieldIndex(bucket.key, fields);
return _this.generateBucket(bucket.key, lodash_1.get(row, [bucketIndex, 0]), fields);
});
};
SingleChartDrillDownService.prototype.toDrillDownToken = function (params) {
var _a;
var name = lodash_1.get(params.currentMetrics, [0, 'name']);
var value = params.currentData;
var record = params.rows[0];
var row = record || (_a = {},
_a[name] = value,
_a);
return {
row: row,
click: {
name: name,
value: value,
name1: name,
value1: value
}
};
};
return SingleChartDrillDownService;
}(base_chart_drill_1.default));
exports.default = SingleChartDrillDownService;