@ackplus/react-tanstack-data-table
Version:
A powerful React data table component built with MUI and TanStack Table
44 lines (43 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getColumnType = getColumnType;
exports.getCustomFilterComponent = getCustomFilterComponent;
exports.getColumnOptions = getColumnOptions;
exports.isColumnFilterable = isColumnFilterable;
function getColumnType(column) {
var _a;
if ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.type) {
return column.columnDef.type;
}
return 'text';
}
function getCustomFilterComponent(column) {
var _a, _b;
return ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.filterComponent) || ((_b = column === null || column === void 0 ? void 0 : column.columnDef) === null || _b === void 0 ? void 0 : _b.editComponent);
}
function getColumnOptions(column) {
var _a;
if ((_a = column === null || column === void 0 ? void 0 : column.columnDef) === null || _a === void 0 ? void 0 : _a.options) {
return (column === null || column === void 0 ? void 0 : column.columnDef.options) || [];
}
const columnType = getColumnType(column);
if (columnType === 'boolean') {
return [
{
value: true,
label: 'Yes',
},
{
value: false,
label: 'No',
},
];
}
return [];
}
function isColumnFilterable(column) {
if ((column === null || column === void 0 ? void 0 : column.filterable) !== undefined) {
return column === null || column === void 0 ? void 0 : column.filterable;
}
return true;
}