UNPKG

epn-ui

Version:

Дизайн система кабинета ВМ

42 lines (39 loc) 1.89 kB
import { __assign } from '../../../_virtual/_tslib.js'; import React from 'react'; import TableFilters from '../filters/index.js'; import { getFilterValue, pickUndefined } from './index.js'; function getColumnsList(columns, options) { if (!Array.isArray(columns)) return []; var tableColumns = []; tableColumns = columns.map(function (item) { return (__assign({}, item)); }); var result = tableColumns .map(function (column) { var tempColumns = __assign({}, column); if (column.render === undefined && (options === null || options === void 0 ? void 0 : options.fillEmptyData)) { tempColumns.render = function (value) { if (typeof value !== 'boolean' && !value) return (options === null || options === void 0 ? void 0 : options.fillEmptyData) || '-'; return value; }; } if (column.filters !== undefined) { tempColumns.filterDropdown = function (props) { return (React.createElement(TableFilters, __assign({}, props, { dataIndex: column.dataIndex, filterMultiple: column.filterMultiple, locale: "ru" }))); }; } if (typeof column.onFilter === 'boolean' && column.onFilter) { tempColumns.onFilter = function () { return true; }; } if (column.onFilter === undefined && column.filters) { tempColumns.onFilter = function (rawValue, record) { var _a = getFilterValue(rawValue), dataIndex = _a.dataIndex, value = _a.value; if (!dataIndex) return true; return record[dataIndex].indexOf(value) === 0; }; } return pickUndefined(tempColumns); }) .filter(function (item) { return !item.hidden; }); return result; } export { getColumnsList as default };