@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
74 lines (73 loc) • 3.11 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_action_1 = __importDefault(require("./base-chart-action"));
/**
* 旭日图实现DrillDown Service
*/
var SunburstActionService = /** @class */ (function (_super) {
__extends(SunburstActionService, _super);
function SunburstActionService() {
return _super !== null && _super.apply(this, arguments) || this;
}
SunburstActionService.prototype.toEvent = function (params) {
var _this = this;
var buckets = [];
var metrics = [];
var lastBucketInfo = lodash_1.last(params.treePathInfo);
var treeInfo = params.treePathInfo
.slice(1, lodash_1.size(params.treePathInfo) - 1)
.concat(lastBucketInfo);
buckets = params.currentBuckets.map(function (key, index) {
return _this.generateBucket(key, lodash_1.get(treeInfo, [index, 'name']), params.fields);
});
metrics = params.currentMetrics.map(function (key) {
return _this.generateMetric(key, lodash_1.get(lastBucketInfo, 'value'));
});
return this.generateValidResults({ buckets: buckets, metrics: metrics });
};
SunburstActionService.prototype.toActionToken = function (params) {
var _a;
var lastBucketInfo = lodash_1.last(params.treePathInfo);
var treeInfo = params.treePathInfo
.slice(1, lodash_1.size(params.treePathInfo) - 2)
.concat(lastBucketInfo);
var firstBucket = params.currentBuckets[0];
var firstBucketValue = lodash_1.get(treeInfo, [0, 'name']);
var firstMetric = params.currentBuckets[0];
var firstMetricValue = lodash_1.get(lastBucketInfo, 'value');
var row = (_a = {},
_a[firstMetric] = firstMetricValue,
_a);
params.currentBuckets.forEach(function (bucket, index) {
row[bucket] = lodash_1.get(treeInfo, [index, 'name']);
});
return {
row: row,
click: {
name: firstBucket,
value: firstBucketValue,
name1: firstMetric,
value1: firstMetricValue
}
};
};
return SunburstActionService;
}(base_chart_action_1.default));
exports.default = SunburstActionService;