UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

58 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SeriesNumberHeader = void 0; const g_1 = require("@antv/g"); const series_number_cell_1 = require("../../cell/series-number-cell"); const common_1 = require("../../common"); const row_1 = require("./row"); const util_1 = require("./util"); class SeriesNumberHeader extends row_1.RowHeader { /** * Get seriesNumber header by config */ static getSeriesNumberHeader(options) { var _a, _b; const { panelBBox, seriesNumberWidth, rowsHierarchy, spreadsheet, cornerWidth, } = options; const { height, viewportHeight } = panelBBox; const layoutSeriesNumberNodes = (_b = (_a = spreadsheet.options) === null || _a === void 0 ? void 0 : _a.layoutSeriesNumberNodes) !== null && _b !== void 0 ? _b : util_1.getSeriesNumberNodes; return new SeriesNumberHeader({ width: cornerWidth, height, viewportWidth: cornerWidth, viewportHeight, position: { x: 0, y: panelBBox.y }, nodes: layoutSeriesNumberNodes(rowsHierarchy, seriesNumberWidth, spreadsheet), spreadsheet, }); } initGroups() { this.scrollGroup = this.appendChild(new g_1.Group({ name: common_1.KEY_GROUP_ROW_INDEX_SCROLL, style: { zIndex: common_1.FRONT_GROUND_GROUP_SCROLL_Z_INDEX }, })); this.frozenGroup = this.appendChild(new g_1.Group({ name: common_1.KEY_GROUP_ROW_INDEX_FROZEN, style: { zIndex: common_1.FRONT_GROUND_GROUP_FROZEN_Z_INDEX }, })); this.frozenTrailingGroup = this.appendChild(new g_1.Group({ name: common_1.KEY_GROUP_ROW_INDEX_FROZEN_TRAILING, style: { zIndex: common_1.FRONT_GROUND_GROUP_FROZEN_Z_INDEX }, })); const { spreadsheet, nodes } = this.getHeaderConfig(); this.extraFrozenNodes = (0, util_1.getExtraFrozenSeriesNodes)(spreadsheet.facet, nodes); } getCellInstance(node) { const headerConfig = this.getHeaderConfig(); const { spreadsheet } = headerConfig; const { seriesNumberCell } = spreadsheet.options; return ((seriesNumberCell === null || seriesNumberCell === void 0 ? void 0 : seriesNumberCell(node, spreadsheet, headerConfig)) || new series_number_cell_1.SeriesNumberCell(node, spreadsheet, headerConfig)); } emitRenderEvent(cell) { const { spreadsheet } = this.getHeaderConfig(); spreadsheet.emit(common_1.S2Event.SERIES_NUMBER_CELL_RENDER, cell); spreadsheet.emit(common_1.S2Event.LAYOUT_CELL_RENDER, cell); } } exports.SeriesNumberHeader = SeriesNumberHeader; //# sourceMappingURL=series-number.js.map