| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.transformData = void 0;
- /**
- * 获取分类字段 key 值 一个分类值的时候, 返回非索引 key 值,在 tooltip 不做索引区分
- * @param values 数据量
- * @param field 指标字段
- * @param index 索引
- * @returns string
- */
- function getSeriesFieldKey(values, field, index) {
- return values.length > 1 ? "".concat(field, "_").concat(index) : "".concat(field);
- }
- /**
- * bullet 处理数据
- * @param options
- */
- function transformData(options) {
- var data = options.data, xField = options.xField, measureField = options.measureField, rangeField = options.rangeField, targetField = options.targetField, layout = options.layout;
- var ds = [];
- var scales = [];
- data.forEach(function (item, index) {
- // 构建 title * range
- var rangeValues = [item[rangeField]].flat();
- rangeValues.sort(function (a, b) { return a - b; });
- rangeValues.forEach(function (d, i) {
- var _a;
- var range = i === 0 ? d : rangeValues[i] - rangeValues[i - 1];
- ds.push((_a = {
- rKey: "".concat(rangeField, "_").concat(i)
- },
- _a[xField] = xField ? item[xField] : String(index),
- _a[rangeField] = range,
- _a));
- });
- // 构建 title * measure
- var measureValues = [item[measureField]].flat();
- measureValues.forEach(function (d, i) {
- var _a;
- ds.push((_a = {
- mKey: getSeriesFieldKey(measureValues, measureField, i)
- },
- _a[xField] = xField ? item[xField] : String(index),
- _a[measureField] = d,
- _a));
- });
- // 构建 title * target
- var targetValues = [item[targetField]].flat();
- targetValues.forEach(function (d, i) {
- var _a;
- ds.push((_a = {
- tKey: getSeriesFieldKey(targetValues, targetField, i)
- },
- _a[xField] = xField ? item[xField] : String(index),
- _a[targetField] = d,
- _a));
- });
- // 为了取最大值和最小值,先存储
- scales.push(item[rangeField], item[measureField], item[targetField]);
- });
- // scales 是嵌套的需要拍平
- var min = Math.min.apply(Math, scales.flat(Infinity));
- var max = Math.max.apply(Math, scales.flat(Infinity));
- // min 大于 0 从 0 开始
- min = min > 0 ? 0 : min;
- // 垂直情况,需要反转数据
- if (layout === 'vertical') {
- ds.reverse();
- }
- return { min: min, max: max, ds: ds };
- }
- exports.transformData = transformData;
- //# sourceMappingURL=utils.js.map
|