@teamix/pro 1.5.25 → 1.5.26-beta-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pro.all.min.css +1 -1
- package/dist/pro.css +1 -1
- package/dist/pro.js +25734 -21988
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/dist/pro.xconsole.min.css +1 -1
- package/es/card/index.scss +4 -0
- package/es/form/SchemaForm/adapterType.js +3 -0
- package/es/form/fieldTypeMap.js +3 -0
- package/es/form/global.scss +7 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +10 -1
- package/es/table/components/Cell/index.d.ts +17 -0
- package/es/table/components/Cell/index.js +191 -0
- package/es/table/components/Filter/index.js +3 -3
- package/es/table/components/Layout/index.js +9 -7
- package/es/table/components/Pagination/index.d.ts +5 -4
- package/es/table/components/Pagination/index.js +5 -3
- package/es/table/components/TableContent/index.d.ts +8 -0
- package/es/table/components/TableContent/index.js +23 -0
- package/es/table/index.js +172 -136
- package/es/table/index.scss +26 -0
- package/es/table/typing.d.ts +9 -1
- package/es/table/utils/columnRender.d.ts +1 -0
- package/es/table/utils/columnRender.js +41 -1
- package/es/table/utils/genAutoWidthColumns.d.ts +30 -0
- package/es/table/utils/genAutoWidthColumns.js +353 -0
- package/es/table/utils/genProColumnToColumn.js +11 -2
- package/es/table/utils/processColumns.d.ts +8 -0
- package/es/table/utils/processColumns.js +39 -0
- package/lib/card/index.scss +4 -0
- package/lib/form/SchemaForm/adapterType.js +3 -0
- package/lib/form/fieldTypeMap.js +3 -0
- package/lib/form/global.scss +7 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +11 -2
- package/lib/table/components/Cell/index.d.ts +17 -0
- package/lib/table/components/Cell/index.js +196 -0
- package/lib/table/components/Filter/index.js +3 -3
- package/lib/table/components/Layout/index.js +8 -6
- package/lib/table/components/Pagination/index.d.ts +5 -4
- package/lib/table/components/Pagination/index.js +4 -2
- package/lib/table/components/TableContent/index.d.ts +8 -0
- package/lib/table/components/TableContent/index.js +34 -0
- package/lib/table/index.js +174 -138
- package/lib/table/index.scss +26 -0
- package/lib/table/typing.d.ts +9 -1
- package/lib/table/utils/columnRender.d.ts +1 -0
- package/lib/table/utils/columnRender.js +44 -3
- package/lib/table/utils/genAutoWidthColumns.d.ts +30 -0
- package/lib/table/utils/genAutoWidthColumns.js +368 -0
- package/lib/table/utils/genProColumnToColumn.js +10 -1
- package/lib/table/utils/processColumns.d.ts +8 -0
- package/lib/table/utils/processColumns.js +46 -0
- package/package.json +1 -1
package/lib/table/index.js
CHANGED
@@ -8,6 +8,7 @@ exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
9
9
|
var _components = require("@alicloudfe/components");
|
10
10
|
var _Pagination = _interopRequireDefault(require("./components/Pagination"));
|
11
|
+
var _TableContent = _interopRequireDefault(require("./components/TableContent"));
|
11
12
|
var _genProColumnToColumn = _interopRequireDefault(require("./utils/genProColumnToColumn"));
|
12
13
|
var _utils = require("@teamix/utils");
|
13
14
|
var _skeleton = require("../skeleton");
|
@@ -15,17 +16,17 @@ require("./index.scss");
|
|
15
16
|
var _Layout = _interopRequireDefault(require("./components/Layout"));
|
16
17
|
var _utils2 = require("./utils");
|
17
18
|
var _getTableProps = _interopRequireDefault(require("./utils/getTableProps"));
|
18
|
-
var _getTableSortIcons = _interopRequireDefault(require("./utils/getTableSortIcons"));
|
19
19
|
var _useTableSelection = _interopRequireDefault(require("./utils/useTableSelection"));
|
20
20
|
var _Fullscreen = _interopRequireDefault(require("./components/ToolBar/Fullscreen"));
|
21
|
-
var _proField = require("@teamix/pro-field");
|
22
21
|
var _actions = require("../actions");
|
23
22
|
var _classnames = _interopRequireDefault(require("classnames"));
|
24
23
|
var _pageContainer = _interopRequireDefault(require("../page-container"));
|
24
|
+
var _genAutoWidthColumns = require("./utils/genAutoWidthColumns");
|
25
25
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
26
26
|
var _CardView = _interopRequireDefault(require("./components/CardView"));
|
27
27
|
var _hooks = require("@teamix/hooks");
|
28
28
|
var _util = require("./utils/util");
|
29
|
+
var _processColumns = _interopRequireDefault(require("./utils/processColumns"));
|
29
30
|
var _typing = require("./typing");
|
30
31
|
Object.keys(_typing).forEach(function (key) {
|
31
32
|
if (key === "default" || key === "__esModule") return;
|
@@ -38,8 +39,8 @@ Object.keys(_typing).forEach(function (key) {
|
|
38
39
|
}
|
39
40
|
});
|
40
41
|
});
|
41
|
-
var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestConfig", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "autoRefreshProps", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context", "fixedTableBody", "isTree", "toolBarAutoWidth", "data-teamix-spm", "switchCardView", "cardViewProps", "defaultView", "emptyProps", "bindUrlProps", "bindUrl", "autoRedirect", "useMaxData"],
|
42
|
-
_excluded2 = ["onChange"];
|
42
|
+
var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "afterDataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestConfig", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "autoRefreshProps", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context", "autoWidth", "fixedTableBody", "isTree", "toolBarAutoWidth", "data-teamix-spm", "switchCardView", "cardViewProps", "defaultView", "emptyProps", "bindUrlProps", "bindUrl", "autoRedirect", "useMaxData"],
|
43
|
+
_excluded2 = ["onChange", "onPageSizeChange"];
|
43
44
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
44
45
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
45
46
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
@@ -48,6 +49,9 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
|
|
48
49
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
49
50
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
50
51
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
52
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
53
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
54
|
+
function _defineProperty(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; }
|
51
55
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
52
56
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
53
57
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(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(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
@@ -56,44 +60,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
56
60
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
57
61
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
58
62
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
59
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
60
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
61
|
-
function _defineProperty(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; }
|
62
63
|
var cls = (0, _utils.usePrefixCls)('teamix-pro-table');
|
63
|
-
/**
|
64
|
-
* 处理原生传入的 columns 以便于 选择列 方便处理
|
65
|
-
* @param columns 原生传入的 columns
|
66
|
-
* @returns
|
67
|
-
*/
|
68
|
-
var processColumns = function processColumns(columns, initialColumns) {
|
69
|
-
var _getGlobalConfig;
|
70
|
-
var globalFilterColumns = (_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
|
71
|
-
var filterColumns = columns.filter(function (item) {
|
72
|
-
return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(_objectSpread({}, item)));
|
73
|
-
});
|
74
|
-
// 处理只剩一列批量选择的情况下宽度错乱问题
|
75
|
-
if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
|
76
|
-
var _initialColumns$;
|
77
|
-
if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
|
78
|
-
var _filterColumns$, _filterColumns$2;
|
79
|
-
if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
|
80
|
-
delete filterColumns[0].width;
|
81
|
-
}
|
82
|
-
if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
|
83
|
-
filterColumns[0].lock = false;
|
84
|
-
}
|
85
|
-
} else if (((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.columnFilters) !== false) {
|
86
|
-
var _initialColumns$2, _initialColumns$3;
|
87
|
-
if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.width) {
|
88
|
-
filterColumns[0].width = initialColumns[0].width;
|
89
|
-
}
|
90
|
-
if ((_initialColumns$3 = initialColumns[0]) === null || _initialColumns$3 === void 0 ? void 0 : _initialColumns$3.lock) {
|
91
|
-
filterColumns[0].lock = initialColumns[0].lock;
|
92
|
-
}
|
93
|
-
}
|
94
|
-
}
|
95
|
-
return filterColumns;
|
96
|
-
};
|
97
64
|
/** 默认请求翻页参数 */
|
98
65
|
var globalPageKey = 'currentPage';
|
99
66
|
var globalPageSizeKey = 'pageSize';
|
@@ -107,6 +74,7 @@ var globalFormatSort = function globalFormatSort(sort) {
|
|
107
74
|
};
|
108
75
|
var ProTable = function ProTable(props) {
|
109
76
|
var _urlState$currentPage, _rowSelection$selecte;
|
77
|
+
console.log('ProTable 代理成功');
|
110
78
|
var header = props.header,
|
111
79
|
className = props.className,
|
112
80
|
tableClassName = props.tableClassName,
|
@@ -167,6 +135,8 @@ var ProTable = function ProTable(props) {
|
|
167
135
|
propsSize = _props$size === void 0 ? 'medium' : _props$size,
|
168
136
|
disableSelectAll = props.disableSelectAll,
|
169
137
|
context = props.context,
|
138
|
+
_props$autoWidth = props.autoWidth,
|
139
|
+
autoWidthProp = _props$autoWidth === void 0 ? true : _props$autoWidth,
|
170
140
|
_props$fixedTableBody = props.fixedTableBody,
|
171
141
|
fixedTableBody = _props$fixedTableBody === void 0 ? false : _props$fixedTableBody,
|
172
142
|
isTree = props.isTree,
|
@@ -216,7 +186,9 @@ var ProTable = function ProTable(props) {
|
|
216
186
|
_useState12 = _slicedToArray(_useState11, 2),
|
217
187
|
showSkeleton = _useState12[0],
|
218
188
|
setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
|
219
|
-
var skeletonDataSource =
|
189
|
+
var skeletonDataSource = (0, _react.useMemo)(function () {
|
190
|
+
return new Array(skeletonSize).fill({});
|
191
|
+
}, [skeletonSize]);
|
220
192
|
var requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
|
221
193
|
// 如果使用 customRequest 的话,内置 loading
|
222
194
|
var _useState13 = (0, _react.useState)(requestWhenMount),
|
@@ -226,10 +198,23 @@ var ProTable = function ProTable(props) {
|
|
226
198
|
var tableRef = (0, _react.useRef)(null);
|
227
199
|
var actionRef = (0, _react.useRef)();
|
228
200
|
// 传给 table 的过滤后的 columns
|
229
|
-
var _useState15 = (0, _react.useState)(
|
201
|
+
var _useState15 = (0, _react.useState)((0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
|
230
202
|
_useState16 = _slicedToArray(_useState15, 2),
|
231
203
|
filteredColumns = _useState16[0],
|
232
204
|
setFilteredColumns = _useState16[1];
|
205
|
+
// 全局状态 : 自适应表格
|
206
|
+
var autoWidth = (0, _react.useMemo)(function () {
|
207
|
+
var _getGlobalConfig;
|
208
|
+
return ((_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.autoWidth) || autoWidthProp;
|
209
|
+
}, [autoWidthProp]);
|
210
|
+
// 判断是否有操作列,有的话则渲染一个 shadow dom
|
211
|
+
var hasActionColumn = false;
|
212
|
+
if (autoWidth) {
|
213
|
+
hasActionColumn = filteredColumns.some(function (column) {
|
214
|
+
var _column$actionSchema, _column$actionSchema$;
|
215
|
+
return (column === null || column === void 0 ? void 0 : column.actionSchema) && ((_column$actionSchema = column.actionSchema) === null || _column$actionSchema === void 0 ? void 0 : (_column$actionSchema$ = _column$actionSchema.actions) === null || _column$actionSchema$ === void 0 ? void 0 : _column$actionSchema$.length) > 0;
|
216
|
+
});
|
217
|
+
}
|
233
218
|
var _useState17 = (0, _react.useState)(propsSize),
|
234
219
|
_useState18 = _slicedToArray(_useState17, 2),
|
235
220
|
size = _useState18[0],
|
@@ -238,6 +223,13 @@ var ProTable = function ProTable(props) {
|
|
238
223
|
_useState20 = _slicedToArray(_useState19, 2),
|
239
224
|
showLoading = _useState20[0],
|
240
225
|
setShowLoading = _useState20[1];
|
226
|
+
// 自动计算列宽需要的一些hook
|
227
|
+
var _useState21 = (0, _react.useState)(false),
|
228
|
+
_useState22 = _slicedToArray(_useState21, 2),
|
229
|
+
showShadowContainer = _useState22[0],
|
230
|
+
setShowShadowContainer = _useState22[1];
|
231
|
+
var shadowContainerRef = (0, _react.useRef)(null);
|
232
|
+
var shadowActionColumnContainerRef = (0, _react.useRef)(null);
|
241
233
|
// 表格内部用作存储的 Ref,标识 Table 组件是否被第一次渲染。用作 useUrlState filter 第一次渲染时使用 state 数据请求
|
242
234
|
var dataRef = (0, _react.useRef)({
|
243
235
|
flag: true
|
@@ -258,19 +250,19 @@ var ProTable = function ProTable(props) {
|
|
258
250
|
}, [currentPage, pageSize, urlState]);
|
259
251
|
// 存储能够被 on 监听到的 ProTable 状态
|
260
252
|
// 因为只做存储用。不需要更新视图以及需要同步更改。所以不使用 setState 更新
|
261
|
-
var
|
253
|
+
var _useState23 = (0, _react.useState)({
|
262
254
|
fullScreenState: false,
|
263
255
|
filterRules: {},
|
264
256
|
filterColumns: []
|
265
257
|
}),
|
266
|
-
|
267
|
-
actionRefState =
|
258
|
+
_useState24 = _slicedToArray(_useState23, 1),
|
259
|
+
actionRefState = _useState24[0];
|
268
260
|
// 存储 on 监听事件
|
269
|
-
var
|
261
|
+
var _useState25 = (0, _react.useState)({
|
270
262
|
fullScreenState: {}
|
271
263
|
}),
|
272
|
-
|
273
|
-
actionRefCallback =
|
264
|
+
_useState26 = _slicedToArray(_useState25, 1),
|
265
|
+
actionRefCallback = _useState26[0];
|
274
266
|
// 存储定时器 id
|
275
267
|
var autoRefreshTimerRef = (0, _react.useRef)();
|
276
268
|
var onResize = null;
|
@@ -382,20 +374,20 @@ var ProTable = function ProTable(props) {
|
|
382
374
|
}, 50);
|
383
375
|
};
|
384
376
|
// header 区域高度。用作全屏计算吸顶吸底高度。默认不做计算
|
385
|
-
var
|
386
|
-
_useState26 = _slicedToArray(_useState25, 2),
|
387
|
-
headerHeight = _useState26[0],
|
388
|
-
setHeaderHeight = _useState26[1];
|
389
|
-
// 全屏显示 className
|
390
|
-
var _useState27 = (0, _react.useState)(false),
|
377
|
+
var _useState27 = (0, _react.useState)(0),
|
391
378
|
_useState28 = _slicedToArray(_useState27, 2),
|
392
|
-
|
393
|
-
|
394
|
-
//
|
395
|
-
var _useState29 = (0, _react.useState)(
|
379
|
+
headerHeight = _useState28[0],
|
380
|
+
setHeaderHeight = _useState28[1];
|
381
|
+
// 全屏显示 className
|
382
|
+
var _useState29 = (0, _react.useState)(false),
|
396
383
|
_useState30 = _slicedToArray(_useState29, 2),
|
397
|
-
|
398
|
-
|
384
|
+
fullscreenState = _useState30[0],
|
385
|
+
setFullscreenState = _useState30[1];
|
386
|
+
// 切换视角
|
387
|
+
var _useState31 = (0, _react.useState)(defaultView !== null && defaultView !== void 0 ? defaultView : 'table'),
|
388
|
+
_useState32 = _slicedToArray(_useState31, 2),
|
389
|
+
switchViewState = _useState32[0],
|
390
|
+
setSwitchViewState = _useState32[1];
|
399
391
|
// 切换全屏搜索开关
|
400
392
|
var filterEnableRef = (0, _react.useRef)({
|
401
393
|
fullscreen: false,
|
@@ -415,10 +407,10 @@ var ProTable = function ProTable(props) {
|
|
415
407
|
var dataFilterFormRef = !fullscreenState ? normalDataFilterFormRef : fullscreenDataFilterFormRef;
|
416
408
|
// let dataFilterForm = dataFilterFormRef.current;
|
417
409
|
// 整个内容区是否超过一屏。用于表格在非全屏模式下的吸底
|
418
|
-
var
|
419
|
-
|
420
|
-
footerSuctionState =
|
421
|
-
setFooterSuctionState =
|
410
|
+
var _useState33 = (0, _react.useState)(false),
|
411
|
+
_useState34 = _slicedToArray(_useState33, 2),
|
412
|
+
footerSuctionState = _useState34[0],
|
413
|
+
setFooterSuctionState = _useState34[1];
|
422
414
|
// TODO 获取内容区是否超出一屏(暂时仅支持全家桶)
|
423
415
|
var getFooterSuctionState = function getFooterSuctionState() {
|
424
416
|
if (!footerSuction) {
|
@@ -518,7 +510,7 @@ var ProTable = function ProTable(props) {
|
|
518
510
|
}, [propsActionRef]);
|
519
511
|
(0, _react.useEffect)(function () {
|
520
512
|
var _actionRef$current, _actionRef$current$se;
|
521
|
-
var columns =
|
513
|
+
var columns = (0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
|
522
514
|
setFilteredColumns(columns);
|
523
515
|
(_actionRef$current = actionRef.current) === null || _actionRef$current === void 0 ? void 0 : (_actionRef$current$se = _actionRef$current.setState) === null || _actionRef$current$se === void 0 ? void 0 : _actionRef$current$se.call(_actionRef$current, 'filterColumns', columns);
|
524
516
|
}, [propsColumns]);
|
@@ -569,21 +561,30 @@ var ProTable = function ProTable(props) {
|
|
569
561
|
setFullscreenState(state);
|
570
562
|
getHeaderHeight(state);
|
571
563
|
actionRef === null || actionRef === void 0 ? void 0 : (_actionRef$current2 = actionRef.current) === null || _actionRef$current2 === void 0 ? void 0 : (_actionRef$current2$s = _actionRef$current2.setState) === null || _actionRef$current2$s === void 0 ? void 0 : _actionRef$current2$s.call(_actionRef$current2, 'fullScreenState', state);
|
564
|
+
if (autoWidth) {
|
565
|
+
reGenFilteredColumnsByAutoWidth();
|
566
|
+
}
|
572
567
|
return state;
|
573
568
|
},
|
574
569
|
setColumn: function setColumn(newColumns) {
|
575
570
|
var _actionRef$current3, _actionRef$current3$s;
|
576
571
|
var update = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
577
|
-
var columns =
|
572
|
+
var columns = (0, _processColumns.default)(newColumns, propsColumns);
|
578
573
|
setFilteredColumns(columns);
|
579
574
|
(_actionRef$current3 = actionRef.current) === null || _actionRef$current3 === void 0 ? void 0 : (_actionRef$current3$s = _actionRef$current3.setState) === null || _actionRef$current3$s === void 0 ? void 0 : _actionRef$current3$s.call(_actionRef$current3, 'filterColumns', columns);
|
580
575
|
if (update) {
|
581
576
|
(0, _utils2.emit)('refreshFilterState', newColumns);
|
582
577
|
}
|
578
|
+
if (autoWidth) {
|
579
|
+
reGenFilteredColumnsByAutoWidth(columns);
|
580
|
+
}
|
583
581
|
},
|
584
582
|
size: size,
|
585
583
|
setSize: function setSize(mode) {
|
586
584
|
_setSize(mode);
|
585
|
+
if (autoWidth) {
|
586
|
+
reGenFilteredColumnsByAutoWidth();
|
587
|
+
}
|
587
588
|
},
|
588
589
|
refresh: function refresh(params) {
|
589
590
|
// card视角的刷新等于重新请求
|
@@ -647,6 +648,9 @@ var ProTable = function ProTable(props) {
|
|
647
648
|
filterEnableRef: filterEnableRef,
|
648
649
|
setData: function setData(data) {
|
649
650
|
_setData(data);
|
651
|
+
if (autoWidth) {
|
652
|
+
reGenFilteredColumnsByAutoWidth();
|
653
|
+
}
|
650
654
|
},
|
651
655
|
resetTableMaxBodyHeight: function resetTableMaxBodyHeight(offset) {
|
652
656
|
getHeaderHeight(fullscreenState, offset);
|
@@ -693,6 +697,21 @@ var ProTable = function ProTable(props) {
|
|
693
697
|
if (propsActionRef) {
|
694
698
|
propsActionRef.current = actionRef.current;
|
695
699
|
}
|
700
|
+
function reGenFilteredColumnsByAutoWidth(columns) {
|
701
|
+
if (!autoWidth) {
|
702
|
+
return;
|
703
|
+
}
|
704
|
+
setShowShadowContainer(true);
|
705
|
+
var authWidthedColumns = (0, _genAutoWidthColumns.genAutoWidthColumns)(columns !== null && columns !== void 0 ? columns : filteredColumns, shadowContainerRef, data, size, useRowSelection, shadowActionColumnContainerRef);
|
706
|
+
setFilteredColumns(authWidthedColumns);
|
707
|
+
// 移除 shadow dom
|
708
|
+
// setTimeout(() => {
|
709
|
+
// if (document.querySelector('.teamix-pro-table-shadow-container')) {
|
710
|
+
// document.querySelector('.teamix-pro-table-shadow-container')?.remove();
|
711
|
+
// }
|
712
|
+
// }, 0);
|
713
|
+
}
|
714
|
+
|
696
715
|
function onFormatResult(next) {
|
697
716
|
props.onFormatResult && props.onFormatResult(next);
|
698
717
|
// 如果开启了 autoRedirect 当当前页数不为1,并且data为空的时候,重定向到第一页
|
@@ -732,6 +751,9 @@ var ProTable = function ProTable(props) {
|
|
732
751
|
setTotal(total + (next.total || ((_next$data3 = next.data) === null || _next$data3 === void 0 ? void 0 : _next$data3.length)));
|
733
752
|
}
|
734
753
|
setShowSkeleton(false);
|
754
|
+
if (autoWidth) {
|
755
|
+
reGenFilteredColumnsByAutoWidth();
|
756
|
+
}
|
735
757
|
}
|
736
758
|
// 请求表格数据工具函数
|
737
759
|
var getData = (0, _utils.useRequest)(function (params) {
|
@@ -798,7 +820,7 @@ var ProTable = function ProTable(props) {
|
|
798
820
|
}
|
799
821
|
});
|
800
822
|
// 请求函数
|
801
|
-
|
823
|
+
var _request = (0, _react.useCallback)(function (params, noLoading, filterParams, isReset) {
|
802
824
|
var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread3;
|
803
825
|
// 首次渲染表格,获取 urlState 上的 表头 filter 数据
|
804
826
|
if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
|
@@ -878,6 +900,9 @@ var ProTable = function ProTable(props) {
|
|
878
900
|
_setData([].concat(_toConsumableArray(data), _toConsumableArray(dataRes || [])));
|
879
901
|
setTotal(total + (totalRes || (dataRes === null || dataRes === void 0 ? void 0 : dataRes.length)));
|
880
902
|
}
|
903
|
+
if (autoWidth) {
|
904
|
+
reGenFilteredColumnsByAutoWidth();
|
905
|
+
}
|
881
906
|
setShowSkeleton(false);
|
882
907
|
setCustomTableLoading(false);
|
883
908
|
}
|
@@ -899,7 +924,7 @@ var ProTable = function ProTable(props) {
|
|
899
924
|
if (Number.isInteger(time) && time >= 1000) {
|
900
925
|
autoRefreshTimerRef.current = setTimeout(function () {
|
901
926
|
// 自动刷新不显示 loading
|
902
|
-
_request(
|
927
|
+
_request(params, true);
|
903
928
|
}, Number(time));
|
904
929
|
(0, _utils2.emit)('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
|
905
930
|
}
|
@@ -910,57 +935,64 @@ var ProTable = function ProTable(props) {
|
|
910
935
|
getData.run(requestData);
|
911
936
|
}
|
912
937
|
}
|
913
|
-
}
|
914
|
-
|
938
|
+
}, [bindUrl, bindUrlProps, dataRef, url, customRequest]);
|
939
|
+
var onSort = (0, _react.useCallback)(function (dataIndex, order) {
|
915
940
|
var nextSort = _defineProperty({}, dataIndex, order);
|
916
941
|
setSort(nextSort);
|
917
942
|
_request(targetFormatSort(nextSort));
|
918
|
-
}
|
943
|
+
}, [_request, targetFormatSort]);
|
919
944
|
// 处理 dataFilter 中的 onFilter、onReset
|
920
|
-
var dataFilter =
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
filterEnableRef.current.fullscreen
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
filterEnableRef.current.normal
|
941
|
-
|
945
|
+
var dataFilter = (0, _react.useMemo)(function () {
|
946
|
+
return _objectSpread(_objectSpread({
|
947
|
+
mode: 'inline',
|
948
|
+
forceClear: true
|
949
|
+
}, propsDataFilter), {}, {
|
950
|
+
onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
|
951
|
+
var _propsDataFilter$onIn;
|
952
|
+
// 表单初始化请求处理
|
953
|
+
propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
|
954
|
+
!fullscreenState && requestWhenMount && _request({}, false, values);
|
955
|
+
return true;
|
956
|
+
} : undefined,
|
957
|
+
onFilter: function onFilter(values) {
|
958
|
+
var _actionRef$current7, _actionRef$current7$c;
|
959
|
+
// 全屏状态,判断全屏表单onFilter是否禁用
|
960
|
+
if (fullscreenState && !filterEnableRef.current.fullscreen) {
|
961
|
+
filterEnableRef.current.fullscreen = true;
|
962
|
+
return;
|
963
|
+
}
|
964
|
+
// 非全屏状态,判断普通表单onFiler是否禁用
|
965
|
+
if (!fullscreenState && !filterEnableRef.current.normal) {
|
966
|
+
filterEnableRef.current.normal = true;
|
967
|
+
return;
|
968
|
+
}
|
969
|
+
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
|
970
|
+
// 搜索变化时,暂时先清空选择
|
971
|
+
(_actionRef$current7 = actionRef.current) === null || _actionRef$current7 === void 0 ? void 0 : (_actionRef$current7$c = _actionRef$current7.clearRowSelection) === null || _actionRef$current7$c === void 0 ? void 0 : _actionRef$current7$c.call(_actionRef$current7);
|
972
|
+
setCurrentPage(1);
|
973
|
+
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
974
|
+
},
|
975
|
+
onReset: function onReset(values) {
|
976
|
+
var _dataFilterFormRef$cu3;
|
977
|
+
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
|
978
|
+
(_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
|
979
|
+
setCurrentPage(1);
|
980
|
+
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
942
981
|
}
|
943
|
-
|
944
|
-
|
945
|
-
|
946
|
-
setCurrentPage(1);
|
947
|
-
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
948
|
-
},
|
949
|
-
onReset: function onReset(values) {
|
950
|
-
var _dataFilterFormRef$cu3;
|
951
|
-
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
|
952
|
-
(_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
|
953
|
-
setCurrentPage(1);
|
954
|
-
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
955
|
-
}
|
956
|
-
});
|
957
|
-
var getTableLoading = function getTableLoading() {
|
982
|
+
});
|
983
|
+
}, [propsDataFilter, fullscreenState, filterEnableRef, actionRef]);
|
984
|
+
var isLoading = (0, _react.useMemo)(function () {
|
958
985
|
if (!customRequest) {
|
959
986
|
return showLoading && !showSkeleton && (getData.loading || props.loading);
|
960
987
|
} else {
|
961
988
|
return showLoading && !showSkeleton && (customTableLoading || props.loading);
|
962
989
|
}
|
963
|
-
};
|
990
|
+
}, [customRequest, showLoading, showSkeleton, customTableLoading, props.loading, getData]);
|
991
|
+
var memorizedGenProColumnToColumn = (0, _react.useMemo)(function () {
|
992
|
+
return (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps);
|
993
|
+
}, [
|
994
|
+
// filteredColumns,
|
995
|
+
showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps]);
|
964
996
|
var renderTable = function renderTable(isFullScreen) {
|
965
997
|
if (propsColumns) {
|
966
998
|
return /*#__PURE__*/_react.default.createElement("div", {
|
@@ -987,11 +1019,11 @@ var ProTable = function ProTable(props) {
|
|
987
1019
|
autoRefreshProps: autoRefreshProps,
|
988
1020
|
bindUrlProps: bindUrlProps,
|
989
1021
|
bindUrl: bindUrl
|
990
|
-
}), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(
|
1022
|
+
}), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(_TableContent.default, _objectSpread({
|
991
1023
|
hasBorder: false,
|
992
1024
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
993
|
-
columns:
|
994
|
-
loading:
|
1025
|
+
columns: memorizedGenProColumnToColumn,
|
1026
|
+
loading: isLoading,
|
995
1027
|
className: (0, _classnames.default)('teamix-pro-table', tableClassName, {
|
996
1028
|
'with-row-select': rowSelection,
|
997
1029
|
'teamix-pro-tree-table': isTree
|
@@ -1002,14 +1034,12 @@ var ProTable = function ProTable(props) {
|
|
1002
1034
|
sort: sort,
|
1003
1035
|
primaryKey: primaryKey,
|
1004
1036
|
rowSelection: rowSelection,
|
1005
|
-
emptyContent: /*#__PURE__*/_react.default.createElement(_proField.EmptyContent, _objectSpread({}, emptyProps)),
|
1006
|
-
sortIcons: (0, _getTableSortIcons.default)(),
|
1007
1037
|
fixedHeader: fullscreenState || fixedTableBody,
|
1008
1038
|
maxBodyHeight: "calc(100vh - ".concat(headerHeight, "px)")
|
1009
1039
|
}, (0, _utils.pickProps)((0, _getTableProps.default)(), otherProps))), switchViewState === 'card' && /*#__PURE__*/_react.default.createElement(_CardView.default, {
|
1010
1040
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
1011
1041
|
showSkeleton: showSkeleton,
|
1012
|
-
loading:
|
1042
|
+
loading: isLoading,
|
1013
1043
|
originColumns: propsColumns,
|
1014
1044
|
cardViewProps: cardViewProps,
|
1015
1045
|
scrollHeight: fullscreenState || fixedTableBody ? "calc(100vh - ".concat(headerHeight, "px)") : undefined,
|
@@ -1051,28 +1081,28 @@ var ProTable = function ProTable(props) {
|
|
1051
1081
|
})));
|
1052
1082
|
} else return footerAction;
|
1053
1083
|
};
|
1054
|
-
var
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
(_actionRef$current8 = actionRef.current) === null || _actionRef$current8 === void 0 ? void 0 : (_actionRef$current8$c = _actionRef$current8.clearRowSelection) === null || _actionRef$current8$c === void 0 ? void 0 : _actionRef$current8$c.call(_actionRef$current8);
|
1061
|
-
}
|
1062
|
-
setCurrentPage(currentPage);
|
1063
|
-
_request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
|
1084
|
+
var onChangePagination = (0, _react.useCallback)(function (currentPage) {
|
1085
|
+
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
1086
|
+
// 翻页默认清空选择
|
1087
|
+
if (!reserveSelectedRecords) {
|
1088
|
+
var _actionRef$current8, _actionRef$current8$c;
|
1089
|
+
(_actionRef$current8 = actionRef.current) === null || _actionRef$current8 === void 0 ? void 0 : (_actionRef$current8$c = _actionRef$current8.clearRowSelection) === null || _actionRef$current8$c === void 0 ? void 0 : _actionRef$current8$c.call(_actionRef$current8);
|
1064
1090
|
}
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
_request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
|
1091
|
+
setCurrentPage(currentPage);
|
1092
|
+
_request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
|
1093
|
+
}, [reserveSelectedRecords, targetPageKey, actionRef]);
|
1094
|
+
var onChangePaginationSize = (0, _react.useCallback)(function (currentPageSize) {
|
1095
|
+
var _request10;
|
1096
|
+
// 翻页默认清空选择
|
1097
|
+
if (!reserveSelectedRecords) {
|
1098
|
+
var _actionRef$current9, _actionRef$current9$c;
|
1099
|
+
(_actionRef$current9 = actionRef.current) === null || _actionRef$current9 === void 0 ? void 0 : (_actionRef$current9$c = _actionRef$current9.clearRowSelection) === null || _actionRef$current9$c === void 0 ? void 0 : _actionRef$current9$c.call(_actionRef$current9);
|
1075
1100
|
}
|
1101
|
+
setPageSize(currentPageSize);
|
1102
|
+
setCurrentPage(1);
|
1103
|
+
_request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
|
1104
|
+
}, [reserveSelectedRecords, actionRef, targetPageSizeKey, targetPageKey]);
|
1105
|
+
var renderFooter = function renderFooter() {
|
1076
1106
|
function renderRowSelection() {
|
1077
1107
|
if (rowSelection) {
|
1078
1108
|
if (showSkeleton) {
|
@@ -1106,6 +1136,7 @@ var ProTable = function ProTable(props) {
|
|
1106
1136
|
var _props$paginationProp3;
|
1107
1137
|
var _ref8 = (_props$paginationProp3 = props === null || props === void 0 ? void 0 : props.paginationProps) !== null && _props$paginationProp3 !== void 0 ? _props$paginationProp3 : {},
|
1108
1138
|
onPaginationPropsChange = _ref8.onChange,
|
1139
|
+
onPageSizeChangeProp = _ref8.onPageSizeChange,
|
1109
1140
|
othersPaginationProps = _objectWithoutProperties(_ref8, _excluded2);
|
1110
1141
|
return /*#__PURE__*/_react.default.createElement("div", {
|
1111
1142
|
className: cls('footer', {
|
@@ -1130,7 +1161,8 @@ var ProTable = function ProTable(props) {
|
|
1130
1161
|
pageSizeSelector: total > (props.pageSize || 10) * 2 ? 'dropdown' : false,
|
1131
1162
|
type: total / pageSize <= 2 ? 'simple' : 'normal',
|
1132
1163
|
onPageSizeChange: function onPageSizeChange(number) {
|
1133
|
-
|
1164
|
+
onChangePaginationSize(number);
|
1165
|
+
onPageSizeChangeProp === null || onPageSizeChangeProp === void 0 ? void 0 : onPageSizeChangeProp(number);
|
1134
1166
|
},
|
1135
1167
|
useMaxData: globalUseMaxData !== null && globalUseMaxData !== void 0 ? globalUseMaxData : useMaxData
|
1136
1168
|
}, othersPaginationProps)))));
|
@@ -1168,7 +1200,11 @@ var ProTable = function ProTable(props) {
|
|
1168
1200
|
// 'footer-suction': footerSuctionState && footerSuction,
|
1169
1201
|
}),
|
1170
1202
|
ref: tableRef
|
1171
|
-
},
|
1203
|
+
}, showShadowContainer && (0, _genAutoWidthColumns.shadowContainer)({
|
1204
|
+
columns: filteredColumns,
|
1205
|
+
data: data,
|
1206
|
+
shadowContainerRef: shadowContainerRef
|
1207
|
+
}), hasActionColumn && (0, _genAutoWidthColumns.shadowActionColumnContainer)(filteredColumns, shadowActionColumnContainerRef), renderTable(isFullScreen), fixFooterState && /*#__PURE__*/_react.default.createElement(_pageContainer.default.FixedFooter, null, renderFooter()), !fixFooterState && renderFooter());
|
1172
1208
|
});
|
1173
1209
|
};
|
1174
1210
|
var _default = ProTable;
|
package/lib/table/index.scss
CHANGED
@@ -78,6 +78,32 @@ $fullscreenPadding: 24px;
|
|
78
78
|
transition: all 0.1s;
|
79
79
|
}
|
80
80
|
}
|
81
|
+
&-shadow-container {
|
82
|
+
overflow: hidden;
|
83
|
+
position: absolute;
|
84
|
+
right: 0;
|
85
|
+
left: 0;
|
86
|
+
top: 0;
|
87
|
+
visibility: hidden;
|
88
|
+
pointer-events: none;
|
89
|
+
}
|
90
|
+
&-shadow-container-columns {
|
91
|
+
display: flex;
|
92
|
+
>* {
|
93
|
+
flex-shrink: 0;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
&-action-column-shadow-container {
|
97
|
+
overflow: hidden;
|
98
|
+
position: absolute;
|
99
|
+
right: 0;
|
100
|
+
left: 0;
|
101
|
+
top: 0;
|
102
|
+
visibility: hidden;
|
103
|
+
pointer-events: none;
|
104
|
+
display: flex;
|
105
|
+
}
|
106
|
+
|
81
107
|
// sort icon
|
82
108
|
.next-table-sort.next-table-header-icon {
|
83
109
|
line-height: 16px;
|
package/lib/table/typing.d.ts
CHANGED
@@ -13,7 +13,7 @@ import { ProCardProps } from '../card';
|
|
13
13
|
declare type IFieldRenderProps = keyof ProFieldRenderProps;
|
14
14
|
/** 列record函数 */
|
15
15
|
declare type ProTableCellFunProp = (value: any, index: number, record: any, ...others: any) => any;
|
16
|
-
declare type ITableCellRender = {
|
16
|
+
export declare type ITableCellRender = {
|
17
17
|
[key in IFieldRenderProps]?: ProFieldRenderProps[key] | ProTableCellFunProp;
|
18
18
|
} | ((...other: any) => React.ReactNode);
|
19
19
|
declare type TDataService = {
|
@@ -24,6 +24,12 @@ declare type TDataService = {
|
|
24
24
|
};
|
25
25
|
export declare type responsivePaginationType = 'mini' | 'small' | 'simple' | 'normal';
|
26
26
|
export declare type ProTableColumnProps = {
|
27
|
+
/** 是否开启了自动计算宽度 */
|
28
|
+
isAutoWidth?: boolean;
|
29
|
+
/** 自动计算宽度时的被挤占的情况 */
|
30
|
+
shrink?: number;
|
31
|
+
/** 是否自动适应该列宽度 */
|
32
|
+
autoWidth?: boolean;
|
27
33
|
/**
|
28
34
|
* 会在 title 之后展示一个 icon,hover 之后提示一些信息
|
29
35
|
*/
|
@@ -65,6 +71,8 @@ export declare type ProTableColumnProps = {
|
|
65
71
|
} & Omit<ColumnProps, 'filters' | 'dataIndex' | 'filtersMode' | 'children'>;
|
66
72
|
export declare type ProColumnProps = ProTableColumnProps;
|
67
73
|
export declare type ProTableProps = {
|
74
|
+
/** 表格是否自适应宽度 */
|
75
|
+
autoWidth?: boolean;
|
68
76
|
/** ProColums 定义,取代 Table 的 columns */
|
69
77
|
columns: ProTableColumnProps[];
|
70
78
|
/** 请求地址 */
|
@@ -11,3 +11,4 @@ export declare const renderColumnsTitle: (item: ProTableColumnProps, actionRef:
|
|
11
11
|
* 负责单元格的具体渲染
|
12
12
|
*/
|
13
13
|
export declare const renderCell: (value: any, item: ProTableColumnProps, index: number, record: any, actionRef: React.MutableRefObject<ProTableActionType | undefined>, context?: any, dataTeamixSpm?: string) => JSX.Element;
|
14
|
+
export declare const renderCellSmartWidth: (value: any, item: ProTableColumnProps, index: number, record: any) => 0 | import("@teamix/pro-field/lib/autoWidth/typing").ProFieldAutoWidthPropsItem;
|