@zat-design/sisyphus-react 3.6.7 → 3.6.8

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 (93) hide show
  1. package/es/ProEditTable/components/ActionButton/index.js +6 -6
  2. package/es/ProEditTable/components/RcTable/BaseTable.js +2 -2
  3. package/es/ProEditTable/components/RcTable/DraggableTable.d.ts +2 -2
  4. package/es/ProEditTable/components/RcTable/DraggableTable.js +109 -11
  5. package/es/ProEditTable/components/RcTable/VirtualTable.js +2 -2
  6. package/es/ProEditTable/components/RenderField/index.js +2 -2
  7. package/es/ProEditTable/components/index.d.ts +0 -1
  8. package/es/ProEditTable/components/index.js +0 -1
  9. package/es/ProForm/components/combination/ProModalSelect/index.js +7 -1
  10. package/es/ProSelect/index.js +13 -34
  11. package/es/ProTable/{utils.d.ts → components/FormatColumn/index.d.ts} +1 -11
  12. package/es/ProTable/{utils.js → components/FormatColumn/index.js} +7 -57
  13. package/es/ProTable/components/RcTable/components/BaseTable/index.d.ts +11 -0
  14. package/es/ProTable/components/RcTable/components/BaseTable/index.js +43 -0
  15. package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/index.js +1 -4
  16. package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/index.js +2 -2
  17. package/es/ProTable/components/RcTable/components/DraggableTable/index.d.ts +11 -0
  18. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +52 -0
  19. package/es/ProTable/components/RcTable/index.d.ts +4 -0
  20. package/es/ProTable/components/RcTable/index.js +4 -0
  21. package/es/ProTable/components/RenderEmptyText/index.d.ts +3 -0
  22. package/es/ProTable/components/RenderEmptyText/index.js +22 -0
  23. package/es/ProTable/components/RenderFooter/index.d.ts +2 -0
  24. package/es/ProTable/components/RenderFooter/index.js +12 -0
  25. package/es/ProTable/components/RenderSummary/index.d.ts +3 -0
  26. package/es/ProTable/components/RenderSummary/index.js +55 -0
  27. package/es/ProTable/components/RenderTableHeader/index.d.ts +2 -0
  28. package/es/ProTable/components/RenderTableHeader/index.js +61 -0
  29. package/es/ProTable/components/TableResizable/index.js +1 -9
  30. package/es/ProTable/components/index.d.ts +4 -2
  31. package/es/ProTable/components/index.js +4 -2
  32. package/{lib/ProTable → es/ProTable/hooks}/useAntdTable.d.ts +2 -1
  33. package/es/ProTable/{useAntdTable.js → hooks/useAntdTable.js} +15 -4
  34. package/es/ProTable/index.d.ts +1 -1
  35. package/es/ProTable/index.js +114 -174
  36. package/es/ProTable/propsType.d.ts +3 -1
  37. package/es/ProTable/utils/index.d.ts +26 -0
  38. package/es/ProTable/utils/index.js +51 -0
  39. package/lib/ProEditTable/components/ActionButton/index.js +6 -6
  40. package/lib/ProEditTable/components/RcTable/BaseTable.js +2 -2
  41. package/lib/ProEditTable/components/RcTable/DraggableTable.d.ts +2 -2
  42. package/lib/ProEditTable/components/RcTable/DraggableTable.js +111 -12
  43. package/lib/ProEditTable/components/RcTable/VirtualTable.js +2 -2
  44. package/lib/ProEditTable/components/RenderField/index.js +2 -2
  45. package/lib/ProEditTable/components/index.d.ts +0 -1
  46. package/lib/ProEditTable/components/index.js +0 -14
  47. package/lib/ProForm/components/combination/ProModalSelect/index.js +5 -1
  48. package/lib/ProSelect/index.js +12 -35
  49. package/lib/ProTable/{utils.d.ts → components/FormatColumn/index.d.ts} +1 -11
  50. package/lib/ProTable/{utils.js → components/FormatColumn/index.js} +17 -68
  51. package/lib/ProTable/components/RcTable/components/BaseTable/index.d.ts +11 -0
  52. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +49 -0
  53. package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/index.js +1 -4
  54. package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/index.js +2 -2
  55. package/lib/ProTable/components/RcTable/components/DraggableTable/index.d.ts +11 -0
  56. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +59 -0
  57. package/lib/ProTable/components/RcTable/index.d.ts +4 -0
  58. package/lib/ProTable/components/RcTable/index.js +20 -0
  59. package/lib/ProTable/components/RenderEmptyText/index.d.ts +3 -0
  60. package/lib/ProTable/components/RenderEmptyText/index.js +28 -0
  61. package/lib/ProTable/components/RenderFooter/index.d.ts +2 -0
  62. package/lib/ProTable/components/RenderFooter/index.js +18 -0
  63. package/lib/ProTable/components/RenderSummary/index.d.ts +3 -0
  64. package/lib/ProTable/components/RenderSummary/index.js +61 -0
  65. package/lib/ProTable/components/RenderTableHeader/index.d.ts +2 -0
  66. package/lib/ProTable/components/RenderTableHeader/index.js +66 -0
  67. package/lib/ProTable/components/TableResizable/index.js +3 -11
  68. package/lib/ProTable/components/index.d.ts +4 -2
  69. package/lib/ProTable/components/index.js +16 -9
  70. package/{es/ProTable → lib/ProTable/hooks}/useAntdTable.d.ts +2 -1
  71. package/lib/ProTable/{useAntdTable.js → hooks/useAntdTable.js} +15 -4
  72. package/lib/ProTable/index.d.ts +1 -1
  73. package/lib/ProTable/index.js +118 -175
  74. package/lib/ProTable/propsType.d.ts +3 -1
  75. package/lib/ProTable/utils/index.d.ts +26 -0
  76. package/lib/ProTable/utils/index.js +57 -0
  77. package/package.json +1 -1
  78. package/es/ProEditTable/components/DndWrapper/index.d.ts +0 -17
  79. package/es/ProEditTable/components/DndWrapper/index.js +0 -104
  80. package/es/ProTable/components/ResizableLine/index.d.ts +0 -2
  81. package/es/ProTable/components/ResizableLine/index.js +0 -10
  82. package/lib/ProEditTable/components/DndWrapper/index.d.ts +0 -17
  83. package/lib/ProEditTable/components/DndWrapper/index.js +0 -111
  84. package/lib/ProTable/components/ResizableLine/index.d.ts +0 -2
  85. package/lib/ProTable/components/ResizableLine/index.js +0 -16
  86. /package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/index.d.ts +0 -0
  87. /package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/index.d.ts +0 -0
  88. /package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/propsType.d.ts +0 -0
  89. /package/es/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/propsType.js +0 -0
  90. /package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/index.d.ts +0 -0
  91. /package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/index.d.ts +0 -0
  92. /package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/propsType.d.ts +0 -0
  93. /package/lib/ProTable/components/{DndWrapper → RcTable/components/DraggableTable/components/DndWrapper}/utils/propsType.js +0 -0
@@ -0,0 +1,4 @@
1
+ /** 基础表格 */
2
+ export { default as BaseTable } from './components/BaseTable/index';
3
+ /** 拖拽表格 */
4
+ export { default as DraggableTable } from './components/DraggableTable/index';
@@ -0,0 +1,3 @@
1
+ import { ReactNode } from 'react';
2
+ declare const RenderEmptyText: (props: any) => ReactNode;
3
+ export default RenderEmptyText;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ var RenderEmptyText = function RenderEmptyText(props) {
3
+ var _locale$ProTable;
4
+ var _ref = props || {},
5
+ empty = _ref.empty,
6
+ locale = _ref.locale,
7
+ emptyText = _ref.emptyText;
8
+ return _jsxs("div", {
9
+ className: "pro-table-empty",
10
+ children: [_jsx("div", {
11
+ className: "empty-image",
12
+ children: _jsx("img", {
13
+ src: empty,
14
+ alt: locale === null || locale === void 0 ? void 0 : (_locale$ProTable = locale.ProTable) === null || _locale$ProTable === void 0 ? void 0 : _locale$ProTable.noData
15
+ })
16
+ }), _jsx("div", {
17
+ className: "empty-description",
18
+ children: typeof emptyText === 'function' ? emptyText() : emptyText
19
+ })]
20
+ });
21
+ };
22
+ export default RenderEmptyText;
@@ -0,0 +1,2 @@
1
+ declare const RenderFooter: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default RenderFooter;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ var RenderFooter = function RenderFooter(props) {
3
+ var _ref = props || {},
4
+ footerRender = _ref.footerRender,
5
+ pagination = _ref.pagination,
6
+ _dataSource = _ref._dataSource;
7
+ return footerRender ? _jsx("div", {
8
+ className: "pro-table-footer ".concat(pagination && !!(_dataSource === null || _dataSource === void 0 ? void 0 : _dataSource.length) ? 'has-page' : 'no-page'),
9
+ children: typeof footerRender === 'function' ? footerRender() : footerRender
10
+ }) : null;
11
+ };
12
+ export default RenderFooter;
@@ -0,0 +1,3 @@
1
+ import { ReactNode } from 'react';
2
+ declare const renderSummary: (props: any) => ReactNode;
3
+ export default renderSummary;
@@ -0,0 +1,55 @@
1
+ import "antd/es/table/style";
2
+ import _Table from "antd/es/table";
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
4
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
5
+ import { get } from 'lodash';
6
+ import { tools } from '@zat-design/utils';
7
+ import { valueTypeRender } from '../../../ProUtils/utils';
8
+ var renderSummary = function renderSummary(props) {
9
+ var summary = props.summary,
10
+ dataSource = props.dataSource;
11
+ var _ref = summary || {},
12
+ columns = _ref.columns,
13
+ _ref$total = _ref.total,
14
+ total = _ref$total === void 0 ? true : _ref$total,
15
+ _ref$fixed = _ref.fixed,
16
+ fixed = _ref$fixed === void 0 ? true : _ref$fixed;
17
+ // 没有数据时,不展示合计栏
18
+ if (!(dataSource === null || dataSource === void 0 ? void 0 : dataSource.length)) {
19
+ return null;
20
+ }
21
+ return _typeof(summary) === 'object' ? _jsx(_Table.Summary, {
22
+ fixed: fixed,
23
+ children: _jsx(_Table.Summary.Row, {
24
+ children: columns === null || columns === void 0 ? void 0 : columns.map(function (_ref2) {
25
+ var key = _ref2.key,
26
+ index = _ref2.index,
27
+ colSpan = _ref2.colSpan,
28
+ prefix = _ref2.prefix,
29
+ suffix = _ref2.suffix,
30
+ title = _ref2.title,
31
+ precision = _ref2.precision,
32
+ valueType = _ref2.valueType;
33
+ var text = null;
34
+ if (title) {
35
+ text = title;
36
+ } else if (total && key) {
37
+ var _dataSource$reduce;
38
+ var format = valueTypeRender === null || valueTypeRender === void 0 ? void 0 : valueTypeRender[valueType];
39
+ var sum = dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$reduce = dataSource.reduce) === null || _dataSource$reduce === void 0 ? void 0 : _dataSource$reduce.call(dataSource, function (pre, cur) {
40
+ var _get;
41
+ return tools.calc(pre, '+', (_get = get(cur, key)) !== null && _get !== void 0 ? _get : 0);
42
+ }, 0);
43
+ text = format ? format(sum, precision !== null && precision !== void 0 ? precision : 2) : sum;
44
+ }
45
+ var _key = key;
46
+ return _jsxs(_Table.Summary.Cell, {
47
+ index: index,
48
+ colSpan: colSpan,
49
+ children: [prefix, text, suffix]
50
+ }, _key);
51
+ })
52
+ })
53
+ }) : summary;
54
+ };
55
+ export default renderSummary;
@@ -0,0 +1,2 @@
1
+ declare const RenderTableHeader: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default RenderTableHeader;
@@ -0,0 +1,61 @@
1
+ import "antd/es/button/style";
2
+ import _Button from "antd/es/button";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { ReactSVG } from 'react-svg';
5
+ import { ProTreeModal } from '../../../index';
6
+ var RenderTableHeader = function RenderTableHeader(props) {
7
+ var _locale$ProTable, _locale$ProTable2, _locale$ProTable3;
8
+ var dataSource = props.dataSource;
9
+ var _ref = dataSource || {},
10
+ headerRender = _ref.headerRender,
11
+ columnConfig = _ref.columnConfig,
12
+ resizeColumn = _ref.resizeColumn,
13
+ resetSvg = _ref.resetSvg,
14
+ resetColumnWidth = _ref.resetColumnWidth,
15
+ locale = _ref.locale,
16
+ customColumns = _ref.customColumns,
17
+ checkColumns = _ref.checkColumns,
18
+ handleColumnConfig = _ref.handleColumnConfig,
19
+ customColumnSvg = _ref.customColumnSvg;
20
+ // 没有数据时,不展示tableHeader
21
+ if (!(headerRender || columnConfig || resizeColumn)) {
22
+ return null;
23
+ }
24
+ return _jsxs("div", {
25
+ className: "column-config",
26
+ children: [_jsx("div", {
27
+ className: "left-contain",
28
+ children: headerRender ? typeof headerRender === 'function' ? headerRender() : headerRender : null
29
+ }), _jsxs("div", {
30
+ className: "right-actions",
31
+ children: [resizeColumn && _jsx(_Button, {
32
+ icon: _jsx(ReactSVG, {
33
+ className: "anticon",
34
+ wrapper: "span",
35
+ src: resetSvg
36
+ }),
37
+ onClick: resetColumnWidth,
38
+ children: locale === null || locale === void 0 ? void 0 : (_locale$ProTable = locale.ProTable) === null || _locale$ProTable === void 0 ? void 0 : _locale$ProTable.resetColumnWidth
39
+ }), columnConfig && _jsx(ProTreeModal, {
40
+ title: locale === null || locale === void 0 ? void 0 : (_locale$ProTable2 = locale.ProTable) === null || _locale$ProTable2 === void 0 ? void 0 : _locale$ProTable2.customColumns,
41
+ span: 8,
42
+ mode: "list",
43
+ draggable: true,
44
+ dataSource: customColumns,
45
+ value: checkColumns,
46
+ allValue: "all",
47
+ onChange: handleColumnConfig,
48
+ trigger: _jsx(_Button, {
49
+ className: "custom-column-btn",
50
+ icon: _jsx(ReactSVG, {
51
+ className: "anticon",
52
+ wrapper: "span",
53
+ src: customColumnSvg
54
+ }),
55
+ children: locale === null || locale === void 0 ? void 0 : (_locale$ProTable3 = locale.ProTable) === null || _locale$ProTable3 === void 0 ? void 0 : _locale$ProTable3.customColumns
56
+ })
57
+ })]
58
+ })]
59
+ });
60
+ };
61
+ export default RenderTableHeader;
@@ -3,19 +3,11 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
  var _excluded = ["onDrag", "width", "minwidth"];
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- /*
7
- * @Author: chongyang wanchongyang@zhongan.io
8
- * @Date: 2023-02-23 17:47:46
9
- * @LastEditors: chongyang wanchongyang@zhongan.io
10
- * @LastEditTime: 2023-03-07 20:18:22
11
- * @FilePath: /za-material-warehouse/src/ProTable/TableResizable.tsx
12
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
13
- */
14
6
  import { useState, useContext } from 'react';
15
7
  import { Resizable } from 'react-resizable';
16
8
  import classnames from 'classnames';
17
9
  import { TableContext } from '../../index';
18
- import { getParentElement } from '../../utils';
10
+ import { getParentElement } from '../FormatColumn';
19
11
  var ResizableTitle = function ResizableTitle(props) {
20
12
  var _restProps$className;
21
13
  var onDrag = props.onDrag,
@@ -1,3 +1,5 @@
1
- export { default as ResizableLine } from './ResizableLine';
2
1
  export { default as TableResizable } from './TableResizable';
3
- export { default as DndWrapper, Row } from './DndWrapper';
2
+ export { default as RenderEmptyText } from './RenderEmptyText';
3
+ export { default as RenderSummary } from './RenderSummary';
4
+ export { default as RenderTableHeader } from './RenderTableHeader';
5
+ export { default as RenderFooter } from './RenderFooter';
@@ -1,3 +1,5 @@
1
- export { default as ResizableLine } from './ResizableLine';
2
1
  export { default as TableResizable } from './TableResizable';
3
- export { default as DndWrapper, Row } from './DndWrapper';
2
+ export { default as RenderEmptyText } from './RenderEmptyText';
3
+ export { default as RenderSummary } from './RenderSummary';
4
+ export { default as RenderTableHeader } from './RenderTableHeader';
5
+ export { default as RenderFooter } from './RenderFooter';
@@ -1,6 +1,6 @@
1
1
  import { Key } from 'react';
2
2
  import { useRequest } from 'ahooks';
3
- import { RequestOptions, Service } from './propsType';
3
+ import { RequestOptions, Service } from '../propsType';
4
4
  declare function useAntdTable<I, R extends Record<string, any>, S extends Service<I, R>>(service: S, options?: RequestOptions<I, R>, useRequestOptions?: Parameters<typeof useRequest>[1]): {
5
5
  data: R[];
6
6
  params: any;
@@ -83,6 +83,7 @@ declare function useAntdTable<I, R extends Record<string, any>, S extends Servic
83
83
  };
84
84
  onChange: (pagination: any, filters: any, sorter: any, extra: any) => void;
85
85
  };
86
+ handleSetStateCallback: (values: any) => void;
86
87
  loading: boolean;
87
88
  error?: Error;
88
89
  cancel: () => void;
@@ -10,9 +10,9 @@ var _excluded = ["page", "filters", "sorter"];
10
10
  import { useCallback, useMemo, useState } from 'react';
11
11
  import { useRequest, useSetState, useDeepCompareEffect } from 'ahooks';
12
12
  import { pickBy, isObject, merge, set, isEqual } from 'lodash';
13
- import { defaultPage } from './index';
14
- import { isListResult } from './utils';
15
- import locale, { formatMessage } from '../locale';
13
+ import { defaultPage } from '../index';
14
+ import { isListResult } from '../utils';
15
+ import locale, { formatMessage } from '../../locale';
16
16
  var useDefaultOptions = function useDefaultOptions(options) {
17
17
  var _useState = useState((options === null || options === void 0 ? void 0 : options.page) || defaultPage),
18
18
  _useState2 = _slicedToArray(_useState, 2),
@@ -89,6 +89,16 @@ function useAntdTable(service, options, useRequestOptions) {
89
89
  }
90
90
  return requestParams;
91
91
  }, [defaultParam, extraParams]);
92
+ // 仅清数据源相关,查询相关
93
+ var handleSetStateCallback = function handleSetStateCallback(values) {
94
+ setState(_objectSpread({
95
+ data: [],
96
+ total: 0,
97
+ selectedRecords: [],
98
+ selectedRowKeys: [],
99
+ allSelected: false
100
+ }, values));
101
+ };
92
102
  var params = useMemo(function () {
93
103
  var newQueryBean = _objectSpread(_objectSpread({}, searchValues), extraFilter);
94
104
  return getTransformParams(_objectSpread({
@@ -489,7 +499,8 @@ function useAntdTable(service, options, useRequestOptions) {
489
499
  rowSelection: returnRowSelection || rowSelections ? rowSelection : undefined,
490
500
  pagination: pagination,
491
501
  onChange: handleTableChange
492
- }
502
+ },
503
+ handleSetStateCallback: handleSetStateCallback
493
504
  });
494
505
  }
495
506
  export default useAntdTable;
@@ -14,6 +14,6 @@ declare namespace ProTable {
14
14
  disabled: boolean;
15
15
  isView: boolean;
16
16
  };
17
- var useAntdTable: typeof import("./useAntdTable").default;
17
+ var useAntdTable: typeof import("./hooks/useAntdTable").default;
18
18
  }
19
19
  export default ProTable;
@@ -1,10 +1,5 @@
1
- import _typeof from "@babel/runtime/helpers/esm/typeof";
2
- import "antd/es/button/style";
3
- import _Button from "antd/es/button";
4
1
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
5
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
- import "antd/es/table/style";
7
- import _Table from "antd/es/table";
8
3
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
9
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
5
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
@@ -12,21 +7,20 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
12
7
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
13
8
  var _excluded = ["tableId", "headerRender", "footerRender", "quickConfig", "stripe", "columns", "className", "draggable", "disabled", "isView", "rowDisabled", "summary", "emptyText", "originalDataSource"],
14
9
  _excluded2 = ["resizeColumn", "columnConfig", "cacheTime", "storage"];
15
- import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
10
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
11
  import { useEffect, useMemo, useState, createContext } from 'react';
17
- import { get, keyBy, assign } from 'lodash';
12
+ import { get, keyBy, assign, isObject } from 'lodash';
18
13
  import { useDebounceEffect, useDeepCompareEffect, useSetState } from 'ahooks';
19
- import { ReactSVG } from 'react-svg';
20
14
  import classnames from 'classnames';
21
- import { tools } from '@zat-design/utils';
22
- import { useProConfig, ProTreeModal } from '../index';
23
- import { valueTypeRender } from '../ProUtils/utils';
24
- import { TableResizable, ResizableLine, DndWrapper, Row } from './components';
25
- import useAntdTable from './useAntdTable';
15
+ import { useProConfig } from '../index';
16
+ import { RenderTableHeader, RenderFooter } from './components';
17
+ import useAntdTable from './hooks/useAntdTable';
18
+ import { BaseTable, DraggableTable } from './components/RcTable';
19
+ import { formatColumn } from './components/FormatColumn';
26
20
  import empty from '../assets/empty.png';
27
21
  import resetSvg from '../assets/reset.svg';
28
22
  import customColumnSvg from '../assets/customColumn.svg';
29
- import { formatColumn, getColumnDataIndex, getRowKey } from './utils';
23
+ import { getColumnDataIndex, getRowKey } from './utils';
30
24
  import locale from '../locale';
31
25
  var defaultCacheTime = 1; // columns 配置保存时间为一天
32
26
  // 全局上下文
@@ -36,7 +30,7 @@ export var defaultPage = {
36
30
  pageSize: 10
37
31
  };
38
32
  function ProTable(props) {
39
- var _locale$ProTable, _curTableConfig$pathK, _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5;
33
+ var _locale$ProTable, _curTableConfig$pathK;
40
34
  var _ref = useProConfig('globalConfig') || {},
41
35
  configStorage = _ref.storage; // 获取全局缓存位置配置
42
36
  var _ref2 = useProConfig('ProTable') || {},
@@ -61,7 +55,6 @@ function ProTable(props) {
61
55
  originalDataSource = props.originalDataSource,
62
56
  restProps = _objectWithoutProperties(props, _excluded);
63
57
  var quickTableConfig = quickConfig ? _objectSpread({
64
- // resizeColumn: true,
65
58
  columnConfig: true,
66
59
  cacheTime: true
67
60
  }, restProps) : (restProps === null || restProps === void 0 ? void 0 : restProps.columnConfig) ? _objectSpread({
@@ -197,17 +190,46 @@ function ProTable(props) {
197
190
  });
198
191
  return newColumns;
199
192
  }, [curColumns, handleResize]);
200
- var handleColumnConfig = function handleColumnConfig(checkList) {
201
- var newColumns = [];
202
- if (checkList === 'all') {
203
- newColumns = propsColumns;
204
- } else {
205
- newColumns = checkList === null || checkList === void 0 ? void 0 : checkList.map(function (item) {
206
- return _objectSpread({}, propsColumnObj === null || propsColumnObj === void 0 ? void 0 : propsColumnObj[item]);
207
- });
208
- }
209
- setCurColumns(newColumns);
210
- };
193
+ var handleColumnConfig = /*#__PURE__*/function () {
194
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(checkList) {
195
+ var newColumns, _columnConfig$onColum, catchColumns;
196
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
197
+ while (1) switch (_context.prev = _context.next) {
198
+ case 0:
199
+ newColumns = [];
200
+ if (checkList === 'all') {
201
+ newColumns = propsColumns;
202
+ } else {
203
+ newColumns = checkList === null || checkList === void 0 ? void 0 : checkList.map(function (item) {
204
+ return _objectSpread({}, propsColumnObj === null || propsColumnObj === void 0 ? void 0 : propsColumnObj[item]);
205
+ });
206
+ }
207
+ if (!isObject(columnConfig)) {
208
+ _context.next = 6;
209
+ break;
210
+ }
211
+ catchColumns = _defineProperty({}, pathKey, {
212
+ columns: newColumns.map(function (item) {
213
+ return {
214
+ dataIndex: item.dataIndex,
215
+ width: typeof item.width === 'number' ? Math.round(Number(item.width)) : item.width
216
+ };
217
+ })
218
+ });
219
+ _context.next = 6;
220
+ return columnConfig === null || columnConfig === void 0 ? void 0 : (_columnConfig$onColum = columnConfig.onColumnOk) === null || _columnConfig$onColum === void 0 ? void 0 : _columnConfig$onColum.call(columnConfig, catchColumns, newColumns);
221
+ case 6:
222
+ setCurColumns(newColumns);
223
+ case 7:
224
+ case "end":
225
+ return _context.stop();
226
+ }
227
+ }, _callee);
228
+ }));
229
+ return function handleColumnConfig(_x) {
230
+ return _ref5.apply(this, arguments);
231
+ };
232
+ }();
211
233
  useDebounceEffect(function () {
212
234
  if (cacheTime) {
213
235
  var newTableConfig = _objectSpread(_objectSpread({}, curTableConfig), {}, _defineProperty({}, pathKey, {
@@ -215,7 +237,7 @@ function ProTable(props) {
215
237
  columns: curColumns.map(function (item) {
216
238
  return {
217
239
  dataIndex: item.dataIndex,
218
- width: Math.round(Number(item.width))
240
+ width: typeof item.width === 'number' ? Math.round(Number(item.width)) : item.width
219
241
  };
220
242
  })
221
243
  }));
@@ -239,53 +261,6 @@ function ProTable(props) {
239
261
  return item === null || item === void 0 ? void 0 : item.dataIndex;
240
262
  });
241
263
  }, [curColumns]);
242
- var renderSummary = function renderSummary() {
243
- var _ref5 = summary || {},
244
- columns = _ref5.columns,
245
- _ref5$total = _ref5.total,
246
- total = _ref5$total === void 0 ? true : _ref5$total,
247
- _ref5$fixed = _ref5.fixed,
248
- fixed = _ref5$fixed === void 0 ? true : _ref5$fixed;
249
- var _ref6 = tableProps || {},
250
- dataSource = _ref6.dataSource;
251
- // 没有数据时,不展示合计栏
252
- if (!(_dataSource === null || _dataSource === void 0 ? void 0 : _dataSource.length)) {
253
- return null;
254
- }
255
- return _jsx(_Table.Summary, {
256
- fixed: fixed,
257
- children: _jsx(_Table.Summary.Row, {
258
- children: columns === null || columns === void 0 ? void 0 : columns.map(function (_ref7) {
259
- var key = _ref7.key,
260
- index = _ref7.index,
261
- colSpan = _ref7.colSpan,
262
- prefix = _ref7.prefix,
263
- suffix = _ref7.suffix,
264
- title = _ref7.title,
265
- precision = _ref7.precision,
266
- valueType = _ref7.valueType;
267
- var text = null;
268
- if (title) {
269
- text = title;
270
- } else if (total && key) {
271
- var _dataSource$reduce;
272
- var format = valueTypeRender === null || valueTypeRender === void 0 ? void 0 : valueTypeRender[valueType];
273
- var sum = _dataSource === null || _dataSource === void 0 ? void 0 : (_dataSource$reduce = _dataSource.reduce) === null || _dataSource$reduce === void 0 ? void 0 : _dataSource$reduce.call(_dataSource, function (pre, cur) {
274
- var _get;
275
- return tools.calc(pre, '+', (_get = get(cur, key)) !== null && _get !== void 0 ? _get : 0);
276
- }, 0);
277
- text = format ? format(sum, precision !== null && precision !== void 0 ? precision : 2) : sum;
278
- }
279
- var _key = key;
280
- return _jsxs(_Table.Summary.Cell, {
281
- index: index,
282
- colSpan: colSpan,
283
- children: [prefix, text, suffix]
284
- }, _key);
285
- })
286
- })
287
- });
288
- };
289
264
  var cls = classnames(_defineProperty({
290
265
  'pro-table': true,
291
266
  'pro-table-no-stripe': !stripe,
@@ -325,9 +300,9 @@ function ProTable(props) {
325
300
  return _rowSelection;
326
301
  };
327
302
  var onDataSourceChange = /*#__PURE__*/function () {
328
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(nextDataSource) {
329
- return _regeneratorRuntime().wrap(function _callee$(_context) {
330
- while (1) switch (_context.prev = _context.next) {
303
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(nextDataSource) {
304
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
305
+ while (1) switch (_context2.prev = _context2.next) {
331
306
  case 0:
332
307
  setState({
333
308
  dataSource: nextDataSource
@@ -336,116 +311,81 @@ function ProTable(props) {
336
311
  assign(dataSource, nextDataSource);
337
312
  case 2:
338
313
  case "end":
339
- return _context.stop();
314
+ return _context2.stop();
340
315
  }
341
- }, _callee);
316
+ }, _callee2);
342
317
  }));
343
- return function onDataSourceChange(_x) {
344
- return _ref8.apply(this, arguments);
318
+ return function onDataSourceChange(_x2) {
319
+ return _ref6.apply(this, arguments);
345
320
  };
346
321
  }();
347
- var renderComponents = function renderComponents() {
348
- if (draggable) {
349
- return {
350
- body: {
351
- row: Row
352
- }
353
- };
354
- }
355
- if (resizeColumn) {
356
- return TableResizable.components;
322
+ var _rowClassName = function _rowClassName(record, index) {
323
+ if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
324
+ return 'new-cell';
357
325
  }
358
- return null;
359
326
  };
327
+ var TableComponent = draggable ? DraggableTable : BaseTable;
360
328
  return _jsx(TableContext.Provider, {
361
329
  value: {
362
330
  pathKey: pathKey,
363
331
  tableConfig: tableConfig,
364
332
  Storage: Storage
365
333
  },
366
- children: _jsx("div", {
334
+ children: _jsxs("div", {
367
335
  className: cls,
368
- children: _jsxs(DndWrapper, {
369
- value: _dataSource,
370
- onChange: onDataSourceChange,
371
- disabled: false,
372
- draggable: draggable,
373
- rowKey: rowKey,
374
- children: [(headerRender || columnConfig || resizeColumn) && _jsxs("div", {
375
- className: "column-config",
376
- children: [_jsx("div", {
377
- className: "left-contain",
378
- children: headerRender ? typeof headerRender === 'function' ? headerRender() : headerRender : null
379
- }), _jsxs("div", {
380
- className: "right-actions",
381
- children: [resizeColumn && _jsx(_Button, {
382
- icon: _jsx(ReactSVG, {
383
- className: "anticon",
384
- wrapper: "span",
385
- src: resetSvg
386
- }),
387
- onClick: resetColumnWidth,
388
- children: locale === null || locale === void 0 ? void 0 : (_locale$ProTable2 = locale.ProTable) === null || _locale$ProTable2 === void 0 ? void 0 : _locale$ProTable2.resetColumnWidth
389
- }), columnConfig && _jsx(ProTreeModal, {
390
- title: locale === null || locale === void 0 ? void 0 : (_locale$ProTable3 = locale.ProTable) === null || _locale$ProTable3 === void 0 ? void 0 : _locale$ProTable3.customColumns,
391
- span: 8,
392
- mode: "list",
393
- draggable: true,
394
- dataSource: customColumns,
395
- value: checkColumns,
396
- allValue: "all",
397
- onChange: handleColumnConfig,
398
- trigger: _jsx(_Button, {
399
- className: "custom-column-btn",
400
- icon: _jsx(ReactSVG, {
401
- className: "anticon",
402
- wrapper: "span",
403
- src: customColumnSvg
404
- }),
405
- children: locale === null || locale === void 0 ? void 0 : (_locale$ProTable4 = locale.ProTable) === null || _locale$ProTable4 === void 0 ? void 0 : _locale$ProTable4.customColumns
406
- })
407
- })]
408
- })]
409
- }), _jsxs("div", {
410
- className: "pro-table-container",
411
- children: [_jsx(_Table, _objectSpread(_objectSpread({
412
- className: draggable ? 'pro-edit-table-drag' : '',
413
- // components={resizeColumn ? TableResizable.components : undefined}
414
- components: renderComponents(),
415
- // @ts-ignore
336
+ children: [_jsx(RenderTableHeader, {
337
+ dataSource: {
338
+ headerRender: headerRender,
339
+ columnConfig: columnConfig,
340
+ resizeColumn: resizeColumn,
341
+ resetSvg: resetSvg,
342
+ resetColumnWidth: resetColumnWidth,
343
+ locale: locale,
344
+ customColumns: customColumns,
345
+ checkColumns: checkColumns,
346
+ handleColumnConfig: handleColumnConfig,
347
+ customColumnSvg: customColumnSvg
348
+ }
349
+ }), _jsxs("div", {
350
+ className: "pro-table-container",
351
+ children: [_jsx(TableComponent, _objectSpread(_objectSpread({}, restProps), {}, {
352
+ draggableProps: {
353
+ onChange: onDataSourceChange,
354
+ draggable: draggable,
355
+ rowKey: rowKey
356
+ },
357
+ tableProps: {
358
+ value: _dataSource,
359
+ headerRender: headerRender,
416
360
  columns: columns,
417
- locale: {
418
- emptyText: _jsxs("div", {
419
- className: "pro-table-empty",
420
- children: [_jsx("div", {
421
- className: "empty-image",
422
- children: _jsx("img", {
423
- src: empty,
424
- alt: locale === null || locale === void 0 ? void 0 : (_locale$ProTable5 = locale.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.noData
425
- })
426
- }), _jsx("div", {
427
- className: "empty-description",
428
- children: typeof emptyText === 'function' ? emptyText() : emptyText
429
- })]
430
- })
431
- },
432
- summary: _typeof(summary) === 'object' ? function () {
433
- return renderSummary();
434
- } : summary,
435
- rowClassName: function rowClassName(record, index) {
436
- if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
437
- return 'new-cell';
438
- }
439
- }
440
- }, tableProps), {}, {
441
- dataSource: _dataSource,
442
- rowSelection: renderRowSelection()
443
- })), _jsx(ResizableLine, {})]
444
- }), footerRender ? _jsx("div", {
445
- className: "pro-table-footer ".concat(pagination && !!(_dataSource === null || _dataSource === void 0 ? void 0 : _dataSource.length) ? 'has-page' : 'no-page'),
446
- children: typeof footerRender === 'function' ? footerRender() : footerRender
447
- }) : null]
448
- })
361
+ renderRowSelection: renderRowSelection,
362
+ rowClassName: _rowClassName,
363
+ disabled: disabled,
364
+ resizeColumn: resizeColumn
365
+ },
366
+ emptyTextProps: {
367
+ empty: empty,
368
+ locale: locale,
369
+ emptyText: emptyText
370
+ },
371
+ summaryProps: {
372
+ summary: summary,
373
+ dataSource: _dataSource
374
+ },
375
+ dataSource: _dataSource
376
+ })), _jsx("span", {
377
+ className: "pro-table-resizable-line",
378
+ style: {
379
+ display: 'none'
380
+ }
381
+ })]
382
+ }), _jsx(RenderFooter, {
383
+ dataSource: {
384
+ footerRender: footerRender,
385
+ pagination: pagination,
386
+ _dataSource: _dataSource
387
+ }
388
+ })]
449
389
  })
450
390
  });
451
391
  }