@antv/s2-react
Version:
use S2 with react
20 lines • 1.15 kB
JavaScript
import { CustomGridPivotDataSet, EMPTY_EXTRA_FIELD_PLACEHOLDER, EXTRA_FIELD, i18n, } from '@antv/s2';
import { isEmpty, isObject, keys, size } from 'lodash';
export class StrategySheetDataSet extends CustomGridPivotDataSet {
getExistValuesByDataItem(data) {
const result = keys(data).filter((key) => isObject(data[key]));
if (isEmpty(result)) {
result.push(EMPTY_EXTRA_FIELD_PLACEHOLDER);
}
return result;
}
processDataCfg(dataCfg) {
var _a;
const updatedDataCfg = super.processDataCfg(dataCfg);
// 多指标数值挂行头,单指标挂列头
const valueInCols = size((_a = updatedDataCfg === null || updatedDataCfg === void 0 ? void 0 : updatedDataCfg.fields) === null || _a === void 0 ? void 0 : _a.values) <= 1;
const newMeta = this.processMeta(dataCfg.meta, i18n('数值'));
return Object.assign(Object.assign({}, updatedDataCfg), { meta: newMeta, fields: Object.assign(Object.assign({}, updatedDataCfg.fields), { rows: [...(dataCfg.fields.rows || []), EXTRA_FIELD], valueInCols }) });
}
}
//# sourceMappingURL=custom-data-set.js.map