drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
43 lines (33 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.finalizeColumnWidth = exports.finalizeColumnTitle = void 0;
var _operator = require("../../utils/operator");
/**
* This file is part of the drip-table project.
* @link : https://drip-table.jd.com/
* @author : Emil Zhai (root@derzh.com)
* @modifier : Emil Zhai (root@derzh.com)
* @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd.
*/
var finalizeColumnTitle = function finalizeColumnTitle(columnSchema) {
var _columnSchema$title, _columnSchema$title$b;
if (typeof columnSchema.title === 'string') {
return columnSchema.title;
}
if (typeof columnSchema.title.body === 'string') {
return columnSchema.title.body;
}
return (_columnSchema$title = columnSchema.title) === null || _columnSchema$title === void 0 ? void 0 : (_columnSchema$title$b = _columnSchema$title.body) === null || _columnSchema$title$b === void 0 ? void 0 : _columnSchema$title$b.content;
};
exports.finalizeColumnTitle = finalizeColumnTitle;
var finalizeColumnWidth = function finalizeColumnWidth(value, defaultValue, tableWidth) {
if (typeof value === 'string' && value.endsWith('%')) {
var columnWidthPercent = Number.parseFloat(value.slice(0, -1));
var columnWidth = Number.isNaN(columnWidthPercent) ? defaultValue : tableWidth * columnWidthPercent / 100;
return (0, _operator.parseNumber)(columnWidth, defaultValue);
}
return (0, _operator.parseNumber)(value, defaultValue);
};
exports.finalizeColumnWidth = finalizeColumnWidth;