@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
30 lines (29 loc) • 1.33 kB
JavaScript
import { includes } from 'lodash';
import { getBucketMetricNameByFields, updateMetricBucket } from '../../utils';
var SearchSingleBaseStyleService = /** @class */ (function () {
function SearchSingleBaseStyleService() {
}
SearchSingleBaseStyleService.prototype.datasetReaction = function (target, dataset) {
// 根据dataset初始化图表的bucket、metric、color等属性。
var fields = dataset.fields || [];
var fieldNames = fields.map(function (field) { return field && field.key; });
// tslint:disable-next-line:prefer-const
var _a = getBucketMetricNameByFields(fields), metrics = _a.metrics, buckets = _a.buckets;
// metric
if (!target.currentMetrics.length ||
!includes(fieldNames, target.currentMetrics[0])) {
target.setCurrentMetrics(metrics.length ? [metrics[0]] : []);
metrics = metrics.slice(1);
}
else {
updateMetricBucket(metrics, buckets, target.currentMetrics[0]);
}
// buckets
if (!target.currentBuckets.length ||
!includes(fieldNames, target.currentBuckets[0])) {
target.setCurrentBuckets(buckets.length ? [buckets[0]] : []);
}
};
return SearchSingleBaseStyleService;
}());
export default SearchSingleBaseStyleService;