UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

74 lines 2.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AxisCornerHeader = void 0; const s2_1 = require("@antv/s2"); const axis_corner_cell_1 = require("../cell/axis-corner-cell"); class AxisCornerHeader extends s2_1.CornerHeader { /** * Get corner Header by config */ static getCornerHeader(options) { var _a; const { panelBBox, cornerBBox, seriesNumberWidth, layoutResult, spreadsheet, } = options; const { y, viewportWidth, viewportHeight } = panelBBox; const { originalWidth: cornerOriginalWidth, width: cornerWidth } = cornerBBox; const { axisColsHierarchy } = layoutResult; const position = { x: cornerBBox.x, y: y + viewportHeight, }; const height = (_a = axisColsHierarchy === null || axisColsHierarchy === void 0 ? void 0 : axisColsHierarchy.height) !== null && _a !== void 0 ? _a : 0; const cornerNodes = this.getCornerNodes({ position, width: cornerOriginalWidth, height, layoutResult, seriesNumberWidth, spreadsheet, }); return new AxisCornerHeader({ nodes: cornerNodes, position, width: cornerWidth, height, originalWidth: cornerOriginalWidth, originalHeight: height, viewportWidth, viewportHeight, seriesNumberWidth, spreadsheet, }); } static getCornerNodes(options) { const cornerNodes = []; // 创建角头区域竖轴 const { layoutResult, spreadsheet } = options; const { axisColsHierarchy } = layoutResult; const colAxisNode = axisColsHierarchy === null || axisColsHierarchy === void 0 ? void 0 : axisColsHierarchy.sampleNodeForLastLevel; if (colAxisNode) { const cornerNode = new s2_1.Node({ id: colAxisNode.id, field: colAxisNode.field, value: spreadsheet.dataSet.getFieldName(colAxisNode.field), x: 0, y: 0, width: spreadsheet.facet.cornerBBox.originalWidth, height: colAxisNode.height, isPivotMode: true, cornerType: s2_1.CornerNodeType.Col, spreadsheet, }); cornerNodes.push(cornerNode); } return cornerNodes; } getCellInstance(node) { const headerConfig = this.getHeaderConfig(); const { spreadsheet } = headerConfig; const { axisCornerCell } = spreadsheet.options; return ((axisCornerCell === null || axisCornerCell === void 0 ? void 0 : axisCornerCell(node, spreadsheet, headerConfig)) || new axis_corner_cell_1.AxisCornerCell(node, spreadsheet, headerConfig)); } } exports.AxisCornerHeader = AxisCornerHeader; //# sourceMappingURL=axis-corner.js.map