UNPKG

@schema-render/search-table-react

Version:
137 lines (136 loc) 5.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, /** * 1、过滤未展示的列 * 2、添加序号列、操作列 */ "default", { enumerable: true, get: function() { return useFinalColumns; } }); var _corereact = require("@schema-render/core-react"); var _react = require("react"); var _constants = require("../../constants"); var _actions = require("./helpers/actions"); function _array_like_to_array(arr, len) { if (len == null || len > arr.length) len = arr.length; for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i]; return arr2; } function _array_without_holes(arr) { if (Array.isArray(arr)) return _array_like_to_array(arr); } function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _iterable_to_array(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } function _non_iterable_spread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _object_spread(target) { for(var i = 1; i < arguments.length; i++){ var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === "function") { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function(key) { _define_property(target, key, source[key]); }); } return target; } function _to_consumable_array(arr) { return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread(); } function _unsupported_iterable_to_array(o, minLen) { if (!o) return; if (typeof o === "string") return _array_like_to_array(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen); } function useFinalColumns(param) { var table = param.table, sortColumns = param.sortColumns, locale = param.locale; var _table_showRowNumber = table.// 是否展示行号 showRowNumber, showRowNumber = _table_showRowNumber === void 0 ? false : _table_showRowNumber, _table_rowNumberColumnData = table.// 序号栏 Antd 配置数据,如宽度,类名等 rowNumberColumnData, rowNumberColumnData = _table_rowNumberColumnData === void 0 ? {} : _table_rowNumberColumnData, // 操作栏渲染函数 actionItems = table.actionItems, _table_actionItemsCount = table.// 操作栏按钮计数,超过此个数以“更多”交互展示 actionItemsCount, actionItemsCount = _table_actionItemsCount === void 0 ? 2 : _table_actionItemsCount, _table_actionItemsColumnData = table.// 操作栏 Antd 配置数据,如宽度,类名等 actionItemsColumnData, actionItemsColumnData = _table_actionItemsColumnData === void 0 ? {} : _table_actionItemsColumnData, // 操作栏下拉菜单配置 actionItemsDropdownProps = table.actionItemsDropdownProps; /** * 操作栏渲染 */ var actionsRender = (0, _corereact.useMemoizedFn)(function(_text, record, index) { return (0, _actions.createActions)({ record: record, index: index, actionItems: actionItems, actionItemsCount: actionItemsCount, actionItemsDropdownProps: actionItemsDropdownProps, locale: locale }); }); /** * 可显示的列处理 */ var displayedColumns = (0, _react.useMemo)(// 过滤隐藏列 function() { return sortColumns.filter(function(item) { return !item.hidden; }); }, [ sortColumns ]); var finalColumns = (0, _react.useMemo)(function() { var columns = _to_consumable_array(displayedColumns); // 添加序号栏 if (showRowNumber) { columns.unshift(_object_spread({ title: locale.SearchTable.serialColumnName, align: 'center', width: 70, fixed: 'left', render: function(_t, _r, index) { return index + 1; }, key: _constants.EColumnsKeys.rowNumber }, rowNumberColumnData)); } // 添加操作栏 if (actionItems) { columns.push(_object_spread({ title: locale.SearchTable.actionColumnName, align: 'center', fixed: 'right', width: 134, render: actionsRender, key: _constants.EColumnsKeys.actions }, actionItemsColumnData)); } return columns; // eslint-disable-next-line react-hooks/exhaustive-deps }, [ displayedColumns ]); return { finalColumns: finalColumns }; }