choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
67 lines (54 loc) • 1.44 kB
JavaScript
import { get } from 'mobx';
import { ShowHelp } from '../field/enum';
export var defaultMinWidth = 100;
export var defaultAggregationMinWidth = 250;
export function defaultAggregationRenderer(_ref) {
var text = _ref.text;
return text;
}
export var ColumnDefaultProps = {
hidden: false,
lock: false,
resizable: true,
sortable: false,
hideable: true,
aggregationLimit: 4,
showHelp: ShowHelp.tooltip
};
var Column = function Column() {
return null;
};
Column.__PRO_TABLE_COLUMN = true;
Column.defaultProps = ColumnDefaultProps;
export default Column;
export function minColumnWidth(col) {
var hidden = get(col, 'hidden');
if (hidden) {
return 0;
}
var width = get(col, 'width');
var min = get(col, 'minWidth');
var aggregation = get(col, 'aggregation');
var minWidth = min === undefined ? aggregation ? defaultAggregationMinWidth : defaultMinWidth : min;
if (width === undefined) {
return minWidth;
}
return Math.min(width, minWidth);
}
export function columnWidth(col) {
var hidden = get(col, 'hidden');
if (hidden) {
return 0;
}
var width = get(col, 'width');
if (width === undefined) {
var minWidth = get(col, 'minWidth');
if (minWidth === undefined) {
var aggregation = get(col, 'aggregation');
return aggregation ? defaultAggregationMinWidth : defaultMinWidth;
}
return minWidth;
}
return width;
}
//# sourceMappingURL=Column.js.map