@antv/s2
Version:
effective spreadsheet render core lib
31 lines • 1.53 kB
JavaScript
import { Group } from '@antv/g';
import { ColHeader, FRONT_GROUND_GROUP_FROZEN_Z_INDEX, FRONT_GROUND_GROUP_SCROLL_Z_INDEX, } from '@antv/s2';
import { AxisColCell } from '../cell/axis-col-cell';
import { KEY_GROUP_COL_AXIS_FROZEN, KEY_GROUP_COL_AXIS_SCROLL, } from '../constant';
import { getExtraFrozenColAxisNodes } from '../utils/frozen';
export class AxisColHeader extends ColHeader {
initGroups() {
this.scrollGroup = this.appendChild(new Group({
name: KEY_GROUP_COL_AXIS_SCROLL,
style: { zIndex: FRONT_GROUND_GROUP_SCROLL_Z_INDEX },
}));
this.frozenGroup = this.appendChild(new Group({
name: KEY_GROUP_COL_AXIS_FROZEN,
style: { zIndex: FRONT_GROUND_GROUP_FROZEN_Z_INDEX },
}));
this.frozenTrailingGroup = this.appendChild(new Group({
name: KEY_GROUP_COL_AXIS_FROZEN,
style: { zIndex: FRONT_GROUND_GROUP_FROZEN_Z_INDEX },
}));
const { spreadsheet, nodes } = this.getHeaderConfig();
this.extraFrozenNodes = getExtraFrozenColAxisNodes(spreadsheet.facet, nodes);
}
getCellInstance(node) {
const headerConfig = this.getHeaderConfig();
const { spreadsheet } = headerConfig;
const { axisColCell: colAxisCell } = spreadsheet.options;
return ((colAxisCell === null || colAxisCell === void 0 ? void 0 : colAxisCell(node, spreadsheet, headerConfig)) ||
new AxisColCell(node, spreadsheet, headerConfig));
}
}
//# sourceMappingURL=axis-col.js.map