UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

53 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getExtraFrozenRowAxisNodes = exports.getExtraFrozenColAxisNodes = void 0; function getNodesByRange(nodes, key, minIndex, maxIndex) { return nodes.filter((node) => node[key] >= minIndex && node[key] <= maxIndex); } function getExtraFrozenColAxisNodes(facet, nodes) { const extraNodes = []; const { colCount, trailingColCount } = facet.getFrozenOptions(); if (colCount) { const frozenLeafNodes = getNodesByRange(nodes, 'colIndex', 0, colCount - 1); frozenLeafNodes.forEach((leafNode) => { const newLeafNode = leafNode.clone(); newLeafNode.isFrozenHead = true; extraNodes.push(newLeafNode); }); } if (trailingColCount) { const total = nodes.length; const frozenLeafNodes = getNodesByRange(nodes, 'colIndex', total - trailingColCount, total - 1); frozenLeafNodes.forEach((leafNode) => { const newLeafNode = leafNode.clone(); newLeafNode.isFrozenTrailing = true; extraNodes.push(newLeafNode); }); } return extraNodes; } exports.getExtraFrozenColAxisNodes = getExtraFrozenColAxisNodes; function getExtraFrozenRowAxisNodes(facet, nodes) { const extraNodes = []; const { start, end } = facet.getCellRange(); const { rowCount, trailingRowCount } = facet.getFrozenOptions(); if (rowCount) { const frozenLeafNodes = getNodesByRange(nodes, 'rowIndex', start, start + rowCount - 1); frozenLeafNodes.forEach((leafNode) => { const newLeafNode = leafNode.clone(); newLeafNode.isFrozenHead = true; extraNodes.push(newLeafNode); }); } if (trailingRowCount) { const frozenLeafNodes = getNodesByRange(nodes, 'rowIndex', end - trailingRowCount + 1, end); frozenLeafNodes.forEach((leafNode) => { const newLeafNode = leafNode.clone(); newLeafNode.isFrozenTrailing = true; extraNodes.push(newLeafNode); }); } return extraNodes; } exports.getExtraFrozenRowAxisNodes = getExtraFrozenRowAxisNodes; //# sourceMappingURL=frozen.js.map