@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
67 lines (66 loc) • 2.85 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 base_chart_drill_1 = __importDefault(require("./base-chart-drill"));
/**
* Grid数据表的DrillDown Service
*/
var GridTableDrillDownService = /** @class */ (function (_super) {
__extends(GridTableDrillDownService, _super);
function GridTableDrillDownService() {
return _super !== null && _super.apply(this, arguments) || this;
}
GridTableDrillDownService.prototype.toSearchAutoEvent = function (params) {
var _this = this;
var metrics = [];
var buckets = [];
if (params.clickField.type === 'metric') {
buckets = params.fields
.filter(function (item) { return item.type === 'bucket'; })
.map(function (field) {
var fieldName = field.name;
return _this.generateBucket(fieldName, lodash_1.get(params.record, [fieldName, 'current']), params.fields);
});
metrics = [this.generateMetric(params.clickField.name, params.clickValue)];
}
else {
buckets = [
this.generateBucket(params.clickField.name, params.clickValue, params.fields)
];
}
return this.generateValidResults({ buckets: buckets, metrics: metrics });
};
GridTableDrillDownService.prototype.toDrillDownToken = function (params) {
var firstColumnName = lodash_1.get(params.fields[0], 'name');
return {
row: lodash_1.keys(params.record).reduce(function (pre, cur) {
pre[cur] = lodash_1.get(params.record, [cur, 'current']);
return pre;
}, {}),
click: {
name: firstColumnName,
value: lodash_1.get(params.record, [firstColumnName, 'current']),
name1: params.clickField.name,
value1: params.clickValue
}
};
};
return GridTableDrillDownService;
}(base_chart_drill_1.default));
exports.default = GridTableDrillDownService;