@antv/s2
Version:
effective spreadsheet render core lib
37 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildTableHierarchy = void 0;
const constant_1 = require("../../common/constant");
const generate_header_nodes_1 = require("../../utils/layout/generate-header-nodes");
const build_gird_hierarchy_1 = require("./build-gird-hierarchy");
const buildTableHierarchy = (params) => {
var _a;
const { spreadsheet, rootNode, fields, hierarchy } = params;
const { columns = [] } = spreadsheet.dataSet.fields;
const { enable } = (_a = spreadsheet.options.seriesNumber) !== null && _a !== void 0 ? _a : {};
const seriesNumberNodeValue = spreadsheet.getSeriesNumberText();
const fieldValues = columns.map((field) => {
return field === constant_1.SERIES_NUMBER_FIELD
? seriesNumberNodeValue
: spreadsheet.dataSet.getFieldName(field);
});
if (enable && !fields.includes(constant_1.SERIES_NUMBER_FIELD)) {
fields.unshift(constant_1.SERIES_NUMBER_FIELD);
fieldValues.unshift(seriesNumberNodeValue);
}
(0, generate_header_nodes_1.generateHeaderNodes)({
spreadsheet,
currentField: fields[0],
fields: fields,
fieldValues,
hierarchy,
parentNode: rootNode,
level: 0,
query: {},
addMeasureInTotalQuery: false,
addTotalMeasureInTotal: false,
handler: build_gird_hierarchy_1.buildGridHierarchy,
});
};
exports.buildTableHierarchy = buildTableHierarchy;
//# sourceMappingURL=build-table-hierarchy.js.map