@teamix/pro 1.5.31 → 1.5.33

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.
Files changed (37) hide show
  1. package/dist/pro.js +571 -952
  2. package/dist/pro.min.js +1 -1
  3. package/es/actions/index.js +4 -3
  4. package/es/index.d.ts +1 -1
  5. package/es/index.js +1 -1
  6. package/es/table/components/Layout/index.js +7 -9
  7. package/es/table/components/Pagination/index.d.ts +4 -5
  8. package/es/table/components/Pagination/index.js +3 -5
  9. package/es/table/index.js +115 -89
  10. package/es/table/index.scss +1 -1
  11. package/es/table/typing.d.ts +0 -2
  12. package/es/table/utils/genAutoWidthColumns.js +6 -42
  13. package/es/table/utils/genProColumnToColumn.js +2 -20
  14. package/lib/actions/index.js +4 -3
  15. package/lib/index.d.ts +1 -1
  16. package/lib/index.js +1 -1
  17. package/lib/table/components/Layout/index.js +6 -8
  18. package/lib/table/components/Pagination/index.d.ts +4 -5
  19. package/lib/table/components/Pagination/index.js +2 -4
  20. package/lib/table/index.js +117 -91
  21. package/lib/table/index.scss +1 -1
  22. package/lib/table/typing.d.ts +0 -2
  23. package/lib/table/utils/genAutoWidthColumns.js +6 -42
  24. package/lib/table/utils/genProColumnToColumn.js +1 -19
  25. package/package.json +1 -1
  26. package/es/table/components/Cell/index.d.ts +0 -17
  27. package/es/table/components/Cell/index.js +0 -209
  28. package/es/table/components/TableContent/index.d.ts +0 -7
  29. package/es/table/components/TableContent/index.js +0 -23
  30. package/es/table/utils/processColumns.d.ts +0 -8
  31. package/es/table/utils/processColumns.js +0 -39
  32. package/lib/table/components/Cell/index.d.ts +0 -17
  33. package/lib/table/components/Cell/index.js +0 -214
  34. package/lib/table/components/TableContent/index.d.ts +0 -7
  35. package/lib/table/components/TableContent/index.js +0 -34
  36. package/lib/table/utils/processColumns.d.ts +0 -8
  37. package/lib/table/utils/processColumns.js +0 -46
@@ -201,9 +201,10 @@ var ProActionButton = function ProActionButton(props) {
201
201
  } else {
202
202
  triggerProps['type'] = 'primary';
203
203
  }
204
- content = /*#__PURE__*/_react.default.createElement(CustomActionComponent, _objectSpread({
205
- triggerProps: triggerProps
206
- }, context));
204
+ content = /*#__PURE__*/_react.default.createElement(CustomActionComponent, _objectSpread(_objectSpread({
205
+ triggerProps: triggerProps,
206
+ actionProps: actionProps
207
+ }, config), context));
207
208
  }
208
209
  var baseToolTipProps = _objectSpread({
209
210
  triggerType: 'hover',
package/lib/index.d.ts CHANGED
@@ -30,5 +30,5 @@ export * from './sidebar';
30
30
  export * from './utils';
31
31
  export * from './timeline';
32
32
  export * from './image';
33
- declare const version = "1.5.31";
33
+ declare const version = "1.5.33";
34
34
  export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, ProImage, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -299,7 +299,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
299
299
  if (!((_window = window) === null || _window === void 0 ? void 0 : _window.TEAMIXPRO_WITHOUT_ICON)) {
300
300
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
301
301
  }
302
- var version = '1.5.31';
302
+ var version = '1.5.33';
303
303
  // By TeamixTest
304
304
  exports.version = version;
305
305
  window.postMessage({
@@ -75,7 +75,7 @@ var Layout = function Layout(props) {
75
75
  }, otherProps)));
76
76
  };
77
77
  // 渲染新版 QueryFilter
78
- var renderQueryFilter = (0, _react.useMemo)(function () {
78
+ var renderQueryFilter = function renderQueryFilter() {
79
79
  var _dataFilter$schema;
80
80
  if (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema = dataFilter.schema) === null || _dataFilter$schema === void 0 ? void 0 : _dataFilter$schema.length) {
81
81
  var _dataFilter$schema2;
@@ -137,9 +137,7 @@ var Layout = function Layout(props) {
137
137
  }, afterDataFilter) : null
138
138
  }));
139
139
  }
140
- }, [
141
- //todo: 重复render 问题都在这里
142
- dataFilter, mainAction, dataFilterFormRef, afterDataFilter]);
140
+ };
143
141
  // 区域组合渲染
144
142
  var renderLayout = function renderLayout() {
145
143
  if (header && mainAction) {
@@ -153,7 +151,7 @@ var Layout = function Layout(props) {
153
151
  actionRef: actionRef,
154
152
  quickAction: extra,
155
153
  rowSelection: rowSelection
156
- }))), renderQueryFilter);
154
+ }))), renderQueryFilter());
157
155
  } else if (header && !mainAction) {
158
156
  var _dataFilter$schema3, _dataFilter$schema4;
159
157
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
@@ -166,14 +164,14 @@ var Layout = function Layout(props) {
166
164
  actionRef: actionRef,
167
165
  quickAction: extra,
168
166
  rowSelection: rowSelection
169
- }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter)), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter);
167
+ }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter())), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter());
170
168
  } else if (!header && mainAction) {
171
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter);
169
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter());
172
170
  } else if (!header && !mainAction) {
173
171
  if (!dataFilterFormRef && !extra) {
174
172
  return null;
175
173
  }
176
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter);
174
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter());
177
175
  }
178
176
  };
179
177
  if ((dataFilter === null || dataFilter === void 0 ? void 0 : dataFilter.schema) || mainAction || header || extra || toolBar !== false) {
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import { PaginationProps } from '@alicloudfe/components/types/pagination';
3
2
  import { responsivePaginationType } from '../../typing';
4
3
  import './index.scss';
5
- declare const _default: React.MemoExoticComponent<(props: PaginationProps & {
6
- responsivePaginationType?: responsivePaginationType | undefined;
7
- useMaxData?: boolean | undefined;
8
- }) => JSX.Element>;
4
+ declare const _default: (props: PaginationProps & {
5
+ responsivePaginationType?: responsivePaginationType;
6
+ useMaxData?: boolean;
7
+ }) => JSX.Element;
9
8
  export default _default;
@@ -24,14 +24,13 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
24
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
25
  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; }
26
26
  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; }
27
- var ProPagination = function ProPagination(props) {
27
+ var _default = function _default(props) {
28
28
  var className = props.className,
29
29
  propsOnChange = props.onChange,
30
30
  total = props.total,
31
31
  pageSize = props.pageSize,
32
32
  current = props.current,
33
- _props$pageSizeList = props.pageSizeList,
34
- pageSizeList = _props$pageSizeList === void 0 ? [5, 10, 20, 50, 100] : _props$pageSizeList,
33
+ pageSizeList = props.pageSizeList,
35
34
  pageSizeSelector = props.pageSizeSelector,
36
35
  onPageSizeChange = props.onPageSizeChange,
37
36
  responsivePaginationType = props.responsivePaginationType,
@@ -251,5 +250,4 @@ var ProPagination = function ProPagination(props) {
251
250
  }, renderPagination())
252
251
  );
253
252
  };
254
- var _default = /*#__PURE__*/_react.default.memo(ProPagination);
255
253
  exports.default = _default;
@@ -8,7 +8,6 @@ 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"));
12
11
  var _genProColumnToColumn = _interopRequireDefault(require("./utils/genProColumnToColumn"));
13
12
  var _utils = require("@teamix/utils");
14
13
  var _skeleton = require("../skeleton");
@@ -16,8 +15,10 @@ require("./index.scss");
16
15
  var _Layout = _interopRequireDefault(require("./components/Layout"));
17
16
  var _utils2 = require("./utils");
18
17
  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");
21
22
  var _actions = require("../actions");
22
23
  var _classnames = _interopRequireDefault(require("classnames"));
23
24
  var _pageContainer = _interopRequireDefault(require("../page-container"));
@@ -26,7 +27,6 @@ var _lodash = _interopRequireDefault(require("lodash.debounce"));
26
27
  var _CardView = _interopRequireDefault(require("./components/CardView"));
27
28
  var _hooks = require("@teamix/hooks");
28
29
  var _util = require("./utils/util");
29
- var _processColumns = _interopRequireDefault(require("./utils/processColumns"));
30
30
  var _typing = require("./typing");
31
31
  Object.keys(_typing).forEach(function (key) {
32
32
  if (key === "default" || key === "__esModule") return;
@@ -49,9 +49,6 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
49
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."); }
50
50
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
51
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; }
55
52
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
56
53
  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."); }
57
54
  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); }
@@ -60,7 +57,44 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
60
57
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
58
  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; }
62
59
  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; }
60
+ 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; }
61
+ 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; }
62
+ 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; }
63
63
  var cls = (0, _utils.usePrefixCls)('teamix-pro-table');
64
+ /**
65
+ * 处理原生传入的 columns 以便于 选择列 方便处理
66
+ * @param columns 原生传入的 columns
67
+ * @returns
68
+ */
69
+ var processColumns = function processColumns(columns, initialColumns) {
70
+ var _getGlobalConfig;
71
+ var globalFilterColumns = (_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
72
+ var filterColumns = columns.filter(function (item) {
73
+ return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(_objectSpread({}, item)));
74
+ });
75
+ // 处理只剩一列批量选择的情况下宽度错乱问题
76
+ if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
77
+ var _initialColumns$;
78
+ if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
79
+ var _filterColumns$, _filterColumns$2;
80
+ if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
81
+ delete filterColumns[0].width;
82
+ }
83
+ if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
84
+ filterColumns[0].lock = false;
85
+ }
86
+ } else if (((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.columnFilters) !== false) {
87
+ var _initialColumns$2, _initialColumns$3;
88
+ if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.width) {
89
+ filterColumns[0].width = initialColumns[0].width;
90
+ }
91
+ if ((_initialColumns$3 = initialColumns[0]) === null || _initialColumns$3 === void 0 ? void 0 : _initialColumns$3.lock) {
92
+ filterColumns[0].lock = initialColumns[0].lock;
93
+ }
94
+ }
95
+ }
96
+ return filterColumns;
97
+ };
64
98
  /** 默认请求翻页参数 */
65
99
  var globalPageKey = 'currentPage';
66
100
  var globalPageSizeKey = 'pageSize';
@@ -185,9 +219,7 @@ var ProTable = function ProTable(props) {
185
219
  _useState12 = _slicedToArray(_useState11, 2),
186
220
  showSkeleton = _useState12[0],
187
221
  setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
188
- var skeletonDataSource = (0, _react.useMemo)(function () {
189
- return new Array(skeletonSize).fill({});
190
- }, [skeletonSize]);
222
+ var skeletonDataSource = new Array(skeletonSize).fill({});
191
223
  var requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
192
224
  // 如果使用 customRequest 的话,内置 loading
193
225
  var _useState13 = (0, _react.useState)(requestWhenMount),
@@ -197,14 +229,14 @@ var ProTable = function ProTable(props) {
197
229
  var tableRef = (0, _react.useRef)(null);
198
230
  var actionRef = (0, _react.useRef)();
199
231
  // 传给 table 的过滤后的 columns
200
- var _useState15 = (0, _react.useState)((0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
232
+ var _useState15 = (0, _react.useState)(processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
201
233
  _useState16 = _slicedToArray(_useState15, 2),
202
234
  filteredColumns = _useState16[0],
203
235
  setFilteredColumns = _useState16[1];
204
236
  // 全局状态 : 自适应表格
205
237
  var autoWidth = (0, _react.useMemo)(function () {
206
- var _getGlobalConfig;
207
- return ((_getGlobalConfig = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.autoWidth) || autoWidthProp;
238
+ var _getGlobalConfig2;
239
+ return ((_getGlobalConfig2 = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig2 === void 0 ? void 0 : _getGlobalConfig2.autoWidth) || autoWidthProp;
208
240
  }, [autoWidthProp]);
209
241
  // 判断是否有操作列,有的话则渲染一个 shadow dom
210
242
  var hasActionColumn = false;
@@ -394,8 +426,8 @@ var ProTable = function ProTable(props) {
394
426
  });
395
427
  // 全局状态 : 大数据截断
396
428
  var globalUseMaxData = (0, _react.useMemo)(function () {
397
- var _getGlobalConfig2;
398
- return (_getGlobalConfig2 = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig2 === void 0 ? void 0 : _getGlobalConfig2.useMaxData;
429
+ var _getGlobalConfig3;
430
+ return (_getGlobalConfig3 = (0, _utils.getGlobalConfig)('ProTable')) === null || _getGlobalConfig3 === void 0 ? void 0 : _getGlobalConfig3.useMaxData;
399
431
  }, []);
400
432
  // 非全屏状态下的
401
433
  var normalDataFilterFormRef = (0, _react.useRef)();
@@ -509,7 +541,7 @@ var ProTable = function ProTable(props) {
509
541
  }, [propsActionRef]);
510
542
  (0, _react.useEffect)(function () {
511
543
  var _actionRef$current, _actionRef$current$se;
512
- var columns = (0, _processColumns.default)(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
544
+ var columns = processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
513
545
  setFilteredColumns(columns);
514
546
  (_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);
515
547
  }, [propsColumns]);
@@ -568,7 +600,7 @@ var ProTable = function ProTable(props) {
568
600
  setColumn: function setColumn(newColumns) {
569
601
  var _actionRef$current3, _actionRef$current3$s;
570
602
  var update = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
571
- var columns = (0, _processColumns.default)(newColumns, propsColumns);
603
+ var columns = processColumns(newColumns, propsColumns);
572
604
  setFilteredColumns(columns);
573
605
  (_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);
574
606
  if (update) {
@@ -734,9 +766,7 @@ var ProTable = function ProTable(props) {
734
766
  if (Number.isInteger(time) && time >= 1000) {
735
767
  autoRefreshTimerRef.current = setTimeout(function () {
736
768
  // 自动刷新不显示 loading
737
- // 当表格自适应时,自动刷新要显示 loading ,否则表格自适应会出问题
738
- // setShowLoading(true)
739
- _request({}, !autoWidth);
769
+ _request({}, true);
740
770
  }, Number(time));
741
771
  (0, _utils2.emit)('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
742
772
  }
@@ -821,7 +851,7 @@ var ProTable = function ProTable(props) {
821
851
  }
822
852
  });
823
853
  // 请求函数
824
- var _request = (0, _react.useCallback)(function (params, noLoading, filterParams, isReset) {
854
+ function _request(params, noLoading, filterParams, isReset) {
825
855
  var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread3;
826
856
  // 首次渲染表格,获取 urlState 上的 表头 filter 数据
827
857
  if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
@@ -925,7 +955,7 @@ var ProTable = function ProTable(props) {
925
955
  if (Number.isInteger(time) && time >= 1000) {
926
956
  autoRefreshTimerRef.current = setTimeout(function () {
927
957
  // 自动刷新不显示 loading
928
- _request(params, !autoWidth);
958
+ _request(params, true);
929
959
  }, Number(time));
930
960
  (0, _utils2.emit)('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
931
961
  }
@@ -936,63 +966,57 @@ var ProTable = function ProTable(props) {
936
966
  getData.run(requestData);
937
967
  }
938
968
  }
939
- }, [bindUrl, bindUrlProps, dataRef, url, customRequest]);
940
- var onSort = (0, _react.useCallback)(function (dataIndex, order) {
969
+ }
970
+ function onSort(dataIndex, order) {
941
971
  var nextSort = _defineProperty({}, dataIndex, order);
942
972
  setSort(nextSort);
943
973
  _request(targetFormatSort(nextSort));
944
- }, [_request, targetFormatSort]);
974
+ }
945
975
  // 处理 dataFilter 中的 onFilter、onReset
946
- var dataFilter = (0, _react.useMemo)(function () {
947
- return _objectSpread(_objectSpread({
948
- mode: 'inline',
949
- forceClear: true
950
- }, propsDataFilter), {}, {
951
- onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
952
- var _propsDataFilter$onIn;
953
- // 表单初始化请求处理
954
- propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
955
- !fullscreenState && requestWhenMount && _request({}, false, values);
956
- return true;
957
- } : undefined,
958
- onFilter: function onFilter(values) {
959
- var _actionRef$current7, _actionRef$current7$c;
960
- // 全屏状态,判断全屏表单onFilter是否禁用
961
- if (fullscreenState && !filterEnableRef.current.fullscreen) {
962
- filterEnableRef.current.fullscreen = true;
963
- return;
964
- }
965
- // 非全屏状态,判断普通表单onFiler是否禁用
966
- if (!fullscreenState && !filterEnableRef.current.normal) {
967
- filterEnableRef.current.normal = true;
968
- return;
969
- }
970
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
971
- // 搜索变化时,暂时先清空选择
972
- (_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);
973
- setCurrentPage(1);
974
- _request(_defineProperty({}, targetPageKey, 1), false, values);
975
- },
976
- onReset: function onReset(values) {
977
- var _dataFilterFormRef$cu3;
978
- (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
979
- (_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
980
- setCurrentPage(1);
981
- _request(_defineProperty({}, targetPageKey, 1), false, values);
976
+ var dataFilter = _objectSpread(_objectSpread({
977
+ mode: 'inline',
978
+ forceClear: true
979
+ }, propsDataFilter), {}, {
980
+ onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
981
+ var _propsDataFilter$onIn;
982
+ // 表单初始化请求处理
983
+ propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
984
+ !fullscreenState && requestWhenMount && _request({}, false, values);
985
+ return true;
986
+ } : undefined,
987
+ onFilter: function onFilter(values) {
988
+ var _actionRef$current7, _actionRef$current7$c;
989
+ // 全屏状态,判断全屏表单onFilter是否禁用
990
+ if (fullscreenState && !filterEnableRef.current.fullscreen) {
991
+ filterEnableRef.current.fullscreen = true;
992
+ return;
982
993
  }
983
- });
984
- }, [propsDataFilter, fullscreenState, filterEnableRef, actionRef]);
985
- var isLoading = (0, _react.useMemo)(function () {
994
+ // 非全屏状态,判断普通表单onFiler是否禁用
995
+ if (!fullscreenState && !filterEnableRef.current.normal) {
996
+ filterEnableRef.current.normal = true;
997
+ return;
998
+ }
999
+ (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
1000
+ // 搜索变化时,暂时先清空选择
1001
+ (_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);
1002
+ setCurrentPage(1);
1003
+ _request(_defineProperty({}, targetPageKey, 1), false, values);
1004
+ },
1005
+ onReset: function onReset(values) {
1006
+ var _dataFilterFormRef$cu3;
1007
+ (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
1008
+ (_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
1009
+ setCurrentPage(1);
1010
+ _request(_defineProperty({}, targetPageKey, 1), false, values);
1011
+ }
1012
+ });
1013
+ var getTableLoading = function getTableLoading() {
986
1014
  if (!customRequest) {
987
1015
  return showLoading && !showSkeleton && (getData.loading || props.loading);
988
1016
  } else {
989
1017
  return showLoading && !showSkeleton && (customTableLoading || props.loading);
990
1018
  }
991
- }, [customRequest, showLoading, showSkeleton, customTableLoading, props.loading, getData]);
992
- var memorizedGenProColumnToColumn = (0, _react.useMemo)(function () {
993
- var result = (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps);
994
- return result;
995
- }, [filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps]);
1019
+ };
996
1020
  var renderTable = function renderTable(isFullScreen) {
997
1021
  if (propsColumns) {
998
1022
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -1019,11 +1043,11 @@ var ProTable = function ProTable(props) {
1019
1043
  autoRefreshProps: autoRefreshProps,
1020
1044
  bindUrlProps: bindUrlProps,
1021
1045
  bindUrl: bindUrl
1022
- }), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(_TableContent.default, _objectSpread({
1046
+ }), switchViewState === 'table' && /*#__PURE__*/_react.default.createElement(_components.Table.StickyLock, _objectSpread({
1023
1047
  hasBorder: false,
1024
1048
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
1025
- columns: memorizedGenProColumnToColumn,
1026
- loading: isLoading,
1049
+ columns: (0, _genProColumnToColumn.default)(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps),
1050
+ loading: getTableLoading(),
1027
1051
  className: (0, _classnames.default)('teamix-pro-table', tableClassName, {
1028
1052
  'with-row-select': rowSelection,
1029
1053
  'teamix-pro-tree-table': isTree
@@ -1034,12 +1058,14 @@ var ProTable = function ProTable(props) {
1034
1058
  sort: sort,
1035
1059
  primaryKey: primaryKey,
1036
1060
  rowSelection: rowSelection,
1061
+ emptyContent: /*#__PURE__*/_react.default.createElement(_proField.EmptyContent, _objectSpread({}, emptyProps)),
1062
+ sortIcons: (0, _getTableSortIcons.default)(),
1037
1063
  fixedHeader: fullscreenState || fixedTableBody,
1038
1064
  maxBodyHeight: "calc(100vh - ".concat(headerHeight, "px)")
1039
1065
  }, (0, _utils.pickProps)((0, _getTableProps.default)(), otherProps))), switchViewState === 'card' && /*#__PURE__*/_react.default.createElement(_CardView.default, {
1040
1066
  dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
1041
1067
  showSkeleton: showSkeleton,
1042
- loading: isLoading,
1068
+ loading: getTableLoading(),
1043
1069
  originColumns: propsColumns,
1044
1070
  cardViewProps: cardViewProps,
1045
1071
  scrollHeight: fullscreenState || fixedTableBody ? "calc(100vh - ".concat(headerHeight, "px)") : undefined,
@@ -1081,28 +1107,28 @@ var ProTable = function ProTable(props) {
1081
1107
  })));
1082
1108
  } else return footerAction;
1083
1109
  };
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);
1110
+ var renderFooter = function renderFooter() {
1111
+ function onChangePagination(currentPage) {
1112
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1113
+ // 翻页默认清空选择
1114
+ if (!reserveSelectedRecords) {
1115
+ var _actionRef$current8, _actionRef$current8$c;
1116
+ (_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);
1117
+ }
1118
+ setCurrentPage(currentPage);
1119
+ _request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
1090
1120
  }
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);
1121
+ function onChangePaginationSize(currentPageSize) {
1122
+ var _request10;
1123
+ // 翻页默认清空选择
1124
+ if (!reserveSelectedRecords) {
1125
+ var _actionRef$current9, _actionRef$current9$c;
1126
+ (_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);
1127
+ }
1128
+ setPageSize(currentPageSize);
1129
+ setCurrentPage(1);
1130
+ _request((_request10 = {}, _defineProperty(_request10, targetPageSizeKey, currentPageSize), _defineProperty(_request10, targetPageKey, 1), _request10));
1100
1131
  }
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() {
1106
1132
  function renderRowSelection() {
1107
1133
  if (rowSelection) {
1108
1134
  if (showSkeleton) {
@@ -103,7 +103,7 @@ $fullscreenPadding: 24px;
103
103
  pointer-events: none;
104
104
  display: flex;
105
105
  }
106
-
106
+
107
107
  // sort icon
108
108
  .next-table-sort.next-table-header-icon {
109
109
  line-height: 16px;
@@ -24,8 +24,6 @@ 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
27
  /** 自动计算宽度时的被挤占的情况 */
30
28
  shrink?: number;
31
29
  /** 是否自动适应该列宽度 */
@@ -46,12 +46,11 @@ function genAutoWidthColumns(fileteredColumns, ref, data, size, useRowSelection,
46
46
  var childNodes = dom.children;
47
47
  var finalColumns = [];
48
48
  fileteredColumns.forEach(function (column, index) {
49
- var _childNodes$index;
50
49
  var render = column.render,
51
50
  _column$valueType = column.valueType,
52
51
  valueType = _column$valueType === void 0 ? 'text' : _column$valueType,
53
- _column$isAutoWidth = column.isAutoWidth,
54
- isAutoWidth = _column$isAutoWidth === void 0 ? true : _column$isAutoWidth,
52
+ _column$autoWidth = column.autoWidth,
53
+ autoWidth = _column$autoWidth === void 0 ? true : _column$autoWidth,
55
54
  actionSchema = column.actionSchema,
56
55
  sortable = column.sortable,
57
56
  lock = column.lock;
@@ -63,17 +62,6 @@ function genAutoWidthColumns(fileteredColumns, ref, data, size, useRowSelection,
63
62
  var finalType = type || valueType || '';
64
63
  var shrink = fieldTypeShrink[finalType];
65
64
  column.shrink = column.shrink || (shrink !== undefined ? shrink : 1);
66
- if ((column === null || column === void 0 ? void 0 : column.isAutoWidth) === false) {
67
- // console.log(column.title, 'isAutoWidth')
68
- finalColumns.push(column);
69
- return;
70
- }
71
- ;
72
- if ((column === null || column === void 0 ? void 0 : column.columnFilters) === false) {
73
- finalColumns.push(column);
74
- return;
75
- }
76
- // column.isAutoWidth = true
77
65
  //@ts-ignore
78
66
  // if (!autoWidth) {
79
67
  // finalColumns.push(column);
@@ -94,20 +82,13 @@ function genAutoWidthColumns(fileteredColumns, ref, data, size, useRowSelection,
94
82
  if (width >= 280) {
95
83
  width = 280;
96
84
  }
97
- column.isAutoWidth = false;
98
85
  column.width = defaultPaddingFixer(width, size, false);
99
86
  }
100
87
  finalColumns.push(column);
101
88
  return;
102
89
  }
103
- // 当列没出来的时候不比较
104
90
  // @ts-ignore
105
- if ((column === null || column === void 0 ? void 0 : column.columnFilters) === false) {
106
- finalColumns.push(column);
107
- return;
108
- }
109
- // @ts-ignore
110
- var titleWidth = (_childNodes$index = childNodes[index]) === null || _childNodes$index === void 0 ? void 0 : _childNodes$index.children[0].scrollWidth;
91
+ var titleWidth = childNodes[index].children[0].scrollWidth;
111
92
  // @ts-ignore
112
93
  if (fixedWidthTypeList[finalType]) {
113
94
  // console.log(
@@ -115,32 +96,20 @@ function genAutoWidthColumns(fileteredColumns, ref, data, size, useRowSelection,
115
96
  // fixedWidthTypeList[finalType],
116
97
  // );
117
98
  // 固定宽度
118
- // console.log(column.title, '固定宽度')
119
- column.isAutoWidth = false;
120
99
  column.width = defaultPaddingFixer(
121
100
  // @ts-ignore
122
101
  Math.max(titleWidth, fixedWidthTypeList[finalType]), size, index === 0 && useRowSelection);
123
102
  // @ts-ignore
124
103
  } else if (computeableWidthTypeList[finalType]) {
125
104
  // 可计算宽度
126
- // console.log(column.title, '可计算宽度')
127
- column.isAutoWidth = false;
128
105
  column.width = defaultPaddingFixer(
129
106
  // @ts-ignore
130
107
  Math.max(titleWidth, computeableWidthTypeList[finalType](data, render)), size, index === 0 && useRowSelection);
131
108
  } else {
132
109
  // 直接根据 dom 计算
133
- // console.log(column.title, '可计算 dom')
134
- column.isAutoWidth = false;
135
110
  column.width = defaultPaddingFixer(Math.max(titleWidth,
136
111
  // @ts-ignore
137
112
  calcWidthWithParentDOM(childNodes[index], column.shrink)), size, index === 0 && useRowSelection);
138
- if ((column === null || column === void 0 ? void 0 : column.sortable) && ((column === null || column === void 0 ? void 0 : column.tooltip) || (column === null || column === void 0 ? void 0 : column.filters))) {
139
- // 检测有 sortable 和 tooltip 的时候增加宽度
140
- column.width = column.width + 40;
141
- } else if (column === null || column === void 0 ? void 0 : column.sortable) {
142
- column.width = column.width + 24;
143
- }
144
113
  }
145
114
  if (index === 0) {
146
115
  // 首列不会被挤占
@@ -177,12 +146,8 @@ var shadowContainer = function shadowContainer(props) {
177
146
  //@ts-ignore
178
147
  !fixedWidthTypeList[valueType] && data.map(function (item, index) {
179
148
  // @ts-ignore
180
- var newColumn = _.cloneDeep(column);
181
- newColumn.smartWidth = (0, _columnRender.renderCellSmartWidth)(getValueFromRecord(dataIndex, item), column, index, item);
182
- newColumn.render = _objectSpread(_objectSpread({}, column.render), {}, {
183
- description: ''
184
- });
185
- return (0, _pureColumnRender.renderCell)(getValueFromRecord(dataIndex, item), newColumn, index, item);
149
+ column.smartWidth = (0, _columnRender.renderCellSmartWidth)(getValueFromRecord(dataIndex, item), column, index, item);
150
+ return (0, _pureColumnRender.renderCell)(getValueFromRecord(dataIndex, item), column, index, item);
186
151
  }));
187
152
  }
188
153
  }));
@@ -350,8 +315,7 @@ function defaultPaddingFixer(width) {
350
315
  }
351
316
  function sum() {
352
317
  var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
353
- if (list.length === 0) return 0;
354
- return list === null || list === void 0 ? void 0 : list.reduce(function (a, b) {
318
+ return list.reduce(function (a, b) {
355
319
  return a + b;
356
320
  });
357
321
  }