@antv/s2
Version:
effective spreadsheet render core lib
41 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getValidFrozenOptionsForPivot = exports.getValidFrozenOptions = void 0;
const common_1 = require("../../common");
const getValidFrozenOptions = (defaultFrozenOptions = {}, colLength, dataLength = 0) => {
const frozenOptions = Object.assign(Object.assign({}, common_1.DEFAULT_FROZEN_COUNTS), defaultFrozenOptions);
if (frozenOptions.colCount >= colLength) {
frozenOptions.colCount = colLength;
}
const remainFrozenColCount = colLength - frozenOptions.colCount;
if (frozenOptions.trailingColCount > remainFrozenColCount) {
frozenOptions.trailingColCount = remainFrozenColCount;
}
if (frozenOptions.rowCount >= dataLength) {
frozenOptions.rowCount = dataLength;
}
const remainFrozenRowCount = dataLength - frozenOptions.rowCount;
if (frozenOptions.trailingRowCount > remainFrozenRowCount) {
frozenOptions.trailingRowCount = remainFrozenRowCount;
}
return frozenOptions;
};
exports.getValidFrozenOptions = getValidFrozenOptions;
/**
* get frozen options pivot-sheet (business limit)
* @param options
* @returns
*/
const getValidFrozenOptionsForPivot = (frozen, options) => {
/**
* series number cell 可以自定义布局,和 row cell 不一定是 1 对 1 的关系
* seriesNumber 暂时禁用 首行冻结
* */
const { seriesNumber, layoutSeriesNumberNodes } = options;
if ((seriesNumber === null || seriesNumber === void 0 ? void 0 : seriesNumber.enable) && layoutSeriesNumberNodes) {
return Object.assign(Object.assign({}, frozen), { rowCount: 0, trailingRowCount: 0 });
}
return frozen;
};
exports.getValidFrozenOptionsForPivot = getValidFrozenOptionsForPivot;
//# sourceMappingURL=frozen.js.map