@teamix/pro 1.4.25-bugfix → 1.4.25-bugfix.2
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 -0
- package/dist/pro.css +1 -1
- package/dist/pro.js +78506 -59443
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/dist/pro.min.js.LICENSE.txt +13 -6
- package/dist/pro.xconsole.min.css +1 -0
- package/es/actions/base.js +8 -21
- package/es/actions/dialog-component.js +2 -9
- package/es/actions/dialog-form.js +37 -75
- package/es/actions/dialog-info.js +1 -5
- package/es/actions/dialog.js +57 -95
- package/es/actions/index.d.ts +7 -0
- package/es/actions/index.js +93 -153
- package/es/actions/index.scss +6 -1
- package/es/actions/link.js +3 -5
- package/es/actions/quick.d.ts +2 -0
- package/es/actions/quick.js +26 -0
- package/es/actions/request.js +12 -27
- package/es/actions/utils.js +1 -9
- package/es/card/card-container.js +0 -5
- package/es/card/divider.js +0 -5
- package/es/card/index.js +61 -100
- package/es/card/index.scss +15 -0
- package/es/card/selectable.js +4 -13
- package/es/card/tab.js +1 -10
- package/es/card/utils.js +0 -2
- package/es/card/xconsole.scss +3 -0
- package/es/form/Components/Editable/index.js +16 -55
- package/es/form/Components/FormGroup/index.d.ts +1 -0
- package/es/form/Components/FormGroup/index.js +7 -22
- package/es/form/Components/LightFilter/index.js +15 -35
- package/es/form/Components/ProField/index.js +2 -14
- package/es/form/Components/ProField/mapDateFormat.js +2 -28
- package/es/form/Components/Text/index.d.ts +1 -0
- package/es/form/Components/Text/index.js +2 -11
- package/es/form/Filter/AdvancedFilter.js +11 -26
- package/es/form/Filter/Layout.js +11 -24
- package/es/form/Filter/LightFilter.js +13 -24
- package/es/form/Filter/SimpleFilter.js +7 -21
- package/es/form/Filter/index.js +117 -171
- package/es/form/Filter/index2.js +11 -28
- package/es/form/Filter/layout.scss +1 -1
- package/es/form/Filter/useBindUrl.js +18 -46
- package/es/form/Filter/useSpecialProps.js +8 -13
- package/es/form/ProForm/addCascadeEffect.d.ts +2 -0
- package/es/form/ProForm/addCascadeEffect.js +203 -0
- package/es/form/ProForm/customComponent.js +0 -5
- package/es/form/ProForm/index.js +30 -38
- package/es/form/ProForm/useAutoLayout.js +21 -42
- package/es/form/ProForm/useAutoSubmit.js +3 -8
- package/es/form/ProForm/useFieldRequest.js +0 -5
- package/es/form/ProForm/useFormDisplayValues.js +12 -28
- package/es/form/ProForm/useInitialRequest.js +0 -5
- package/es/form/SchemaForm/adapterComponent.js +0 -3
- package/es/form/SchemaForm/adapterDecorator.d.ts +1 -1
- package/es/form/SchemaForm/adapterDecorator.js +0 -8
- package/es/form/SchemaForm/adapterType.js +0 -2
- package/es/form/SchemaForm/index.js +78 -114
- package/es/form/SchemaForm/initializeArrayCards.js +0 -6
- package/es/form/SchemaForm/initializeArrayCollapse.js +0 -6
- package/es/form/SchemaForm/initializeArrayItems.js +2 -9
- package/es/form/SchemaForm/initializeArrayTable.js +21 -34
- package/es/form/SchemaForm/initializeDataSource.js +2 -6
- package/es/form/SchemaForm/initializeFormButton.js +14 -31
- package/es/form/SchemaForm/initializeFormCollapse.js +8 -18
- package/es/form/SchemaForm/initializeFormGroup.js +10 -20
- package/es/form/SchemaForm/initializeFormStep.js +11 -23
- package/es/form/SchemaForm/initializeFormTab.js +10 -20
- package/es/form/SchemaForm/initializeReactions.js +9 -33
- package/es/form/SchemaForm/initializeRequest.js +2 -16
- package/es/form/SchemaForm/initializeRules.js +4 -22
- package/es/form/SchemaForm/initializeSelectTable.js +7 -33
- package/es/form/SchemaForm/reactions.js +19 -34
- package/es/form/docs/ActionResponse.d.ts +1 -0
- package/es/form/index.d.ts +9 -9
- package/es/form/index.js +0 -9
- package/es/form/typing.d.ts +26 -4
- package/es/form/utils.d.ts +1 -1
- package/es/form/utils.js +4 -49
- package/es/form/warning.js +2 -7
- package/es/global.scss +3 -1
- package/es/index-without-icon.js +4 -3
- package/es/index.d.ts +1 -1
- package/es/index.js +18 -8
- package/es/info/components/InfoGroup/index.js +21 -32
- package/es/info/components/InfoValueItem/index.js +66 -119
- package/es/info/components/ProInfoItem/index.js +13 -21
- package/es/info/components/baseInfo/index.js +17 -27
- package/es/info/components/headerInfo/index.js +8 -20
- package/es/info/components/tableInfo/index.js +20 -50
- package/es/info/index.js +61 -86
- package/es/info/typing.d.ts +2 -0
- package/es/info/utils/index.js +0 -11
- package/es/next-xconsole.scss +34 -0
- package/es/nocode/configurators/ProTable.js +1 -22
- package/es/nocode/configurators/common.js +5 -6
- package/es/nocode/configurators/index.js +2 -3
- package/es/nocode/index.js +6 -6
- package/es/nocode/pages/editor.js +5 -9
- package/es/nocode/pages/index.js +5 -30
- package/es/nocode/pages/playground.js +18 -35
- package/es/nocode/pages/renderer.js +9 -42
- package/es/nocode/playground.js +10 -23
- package/es/page-header/index.d.ts +2 -2
- package/es/page-header/index.js +40 -76
- package/es/page-header/index.scss +2 -1
- package/es/page-header/xconsole.scss +5 -0
- package/es/sidebar/components/sidebar-container/index.js +54 -69
- package/es/sidebar/components/sidebar-container/index.scss +21 -14
- package/es/sidebar/components/tree/index.js +100 -138
- package/es/sidebar/components/tree-node/components/HoverTooltip/index.js +11 -26
- package/es/sidebar/components/tree-node/components/IconAction/index.js +9 -35
- package/es/sidebar/components/tree-node/components/IconSwitch/index.d.ts +2 -2
- package/es/sidebar/components/tree-node/components/IconSwitch/index.js +12 -25
- package/es/sidebar/components/tree-node/components/IconSwitch/index.scss +1 -1
- package/es/sidebar/components/tree-node/index.js +42 -84
- package/es/sidebar/components/tree-node/index.scss +6 -0
- package/es/sidebar/index.d.ts +2 -0
- package/es/sidebar/index.js +72 -95
- package/es/sidebar/typing.d.ts +4 -0
- package/es/sidebar/utils/action-ref.js +2 -7
- package/es/sidebar/utils/index.d.ts +5 -2
- package/es/sidebar/utils/index.js +41 -98
- package/es/table/components/CardView/index.d.ts +5 -0
- package/es/table/components/CardView/index.js +392 -0
- package/es/table/components/CardView/index.scss +46 -0
- package/es/table/components/Filter/index.d.ts +6 -3
- package/es/table/components/Filter/index.js +115 -128
- package/es/table/components/Layout/index.js +32 -47
- package/es/table/components/Layout/index.scss +2 -1
- package/es/table/components/LoadMore/index.d.ts +20 -0
- package/es/table/components/LoadMore/index.js +88 -0
- package/es/table/components/LoadMore/index.scss +19 -0
- package/es/table/components/Pagination/index.js +25 -58
- package/es/table/components/QuickAction/index.d.ts +1 -0
- package/es/table/components/QuickAction/index.js +3 -11
- package/es/table/components/ToolBar/CardSwitch.d.ts +8 -0
- package/es/table/components/ToolBar/CardSwitch.js +52 -0
- package/es/table/components/ToolBar/DensityIcon.js +19 -31
- package/es/table/components/ToolBar/FilterColumnIcon.js +87 -125
- package/es/table/components/ToolBar/FullScreenIcon.js +7 -62
- package/es/table/components/ToolBar/Fullscreen.js +25 -28
- package/es/table/components/ToolBar/RefreshIcon.js +162 -27
- package/es/table/components/ToolBar/index.d.ts +1 -1
- package/es/table/components/ToolBar/index.js +130 -38
- package/es/table/components/ToolBar/index.scss +49 -3
- package/es/table/index.js +455 -423
- package/es/table/index.scss +8 -0
- package/es/table/typing.d.ts +125 -6
- package/es/table/utils/columnRender.d.ts +3 -3
- package/es/table/utils/columnRender.js +39 -79
- package/es/table/utils/genProColumnToColumn.d.ts +2 -2
- package/es/table/utils/genProColumnToColumn.js +13 -16
- package/es/table/utils/index.js +14 -47
- package/es/table/utils/pureColumnRender.js +21 -53
- package/es/table/utils/pureGenProColumnToColumn.d.ts +1 -1
- package/es/table/utils/pureGenProColumnToColumn.js +2 -10
- package/es/table/utils/useTableSelection.js +6 -33
- package/es/table/utils/util.d.ts +5 -0
- package/es/table/utils/util.js +19 -0
- package/es/templates/List/index.js +2 -9
- package/es/timeline/ProTimeLineItem/index.js +25 -65
- package/es/timeline/index.js +8 -22
- package/es/timeline/typing.d.ts +1 -0
- package/es/utils/message.d.ts +2 -2
- package/es/utils/message.js +0 -5
- package/es/xconsole.scss +503 -0
- package/lib/actions/base.js +8 -24
- package/lib/actions/confirm.js +0 -5
- package/lib/actions/danger-confirm.js +0 -5
- package/lib/actions/danger-pop-confirm.js +0 -4
- package/lib/actions/dialog-component.js +2 -15
- package/lib/actions/dialog-form.js +36 -89
- package/lib/actions/dialog-info.js +1 -10
- package/lib/actions/dialog-table.js +0 -5
- package/lib/actions/dialog.js +55 -112
- package/lib/actions/drawer-form.js +0 -3
- package/lib/actions/drawer-info.js +0 -3
- package/lib/actions/drawer-table.js +0 -3
- package/lib/actions/drawer.js +0 -4
- package/lib/actions/error.js +0 -5
- package/lib/actions/index.d.ts +7 -0
- package/lib/actions/index.js +115 -184
- package/lib/actions/index.scss +6 -1
- package/lib/actions/link.js +1 -10
- package/lib/actions/notice.js +0 -5
- package/lib/actions/pop-confirm.js +0 -5
- package/lib/actions/quick.d.ts +2 -0
- package/lib/actions/quick.js +33 -0
- package/lib/actions/request.js +8 -32
- package/lib/actions/utils.js +1 -9
- package/lib/card/card-container.js +0 -9
- package/lib/card/divider.js +0 -7
- package/lib/card/index.js +61 -127
- package/lib/card/index.scss +15 -0
- package/lib/card/selectable.js +4 -20
- package/lib/card/tab.js +1 -14
- package/lib/card/utils.js +0 -6
- package/lib/card/xconsole.scss +3 -0
- package/lib/field/index.js +0 -6
- package/lib/form/Components/Editable/index.js +15 -65
- package/lib/form/Components/FormGroup/index.d.ts +1 -0
- package/lib/form/Components/FormGroup/index.js +7 -28
- package/lib/form/Components/LightFilter/index.js +15 -47
- package/lib/form/Components/ProField/index.js +2 -21
- package/lib/form/Components/ProField/mapDateFormat.js +2 -32
- package/lib/form/Components/Text/index.d.ts +1 -0
- package/lib/form/Components/Text/index.js +2 -16
- package/lib/form/Filter/AdvancedFilter.js +11 -34
- package/lib/form/Filter/Layout.js +11 -33
- package/lib/form/Filter/LightFilter.js +13 -32
- package/lib/form/Filter/SimpleFilter.js +5 -27
- package/lib/form/Filter/index.js +116 -191
- package/lib/form/Filter/index2.js +11 -38
- package/lib/form/Filter/layout.scss +1 -1
- package/lib/form/Filter/useBindUrl.js +18 -50
- package/lib/form/Filter/useSpecialProps.js +6 -13
- package/lib/form/ProForm/addCascadeEffect.d.ts +2 -0
- package/lib/form/ProForm/addCascadeEffect.js +210 -0
- package/lib/form/ProForm/customComponent.js +0 -8
- package/lib/form/ProForm/index.js +30 -60
- package/lib/form/ProForm/useAutoLayout.js +21 -45
- package/lib/form/ProForm/useAutoSubmit.js +1 -10
- package/lib/form/ProForm/useFieldRequest.js +0 -8
- package/lib/form/ProForm/useFormDisplayValues.js +12 -34
- package/lib/form/ProForm/useInitialRequest.js +0 -6
- package/lib/form/SchemaForm/adapterComponent.js +0 -6
- package/lib/form/SchemaForm/adapterDecorator.d.ts +1 -1
- package/lib/form/SchemaForm/adapterDecorator.js +0 -12
- package/lib/form/SchemaForm/adapterType.js +0 -5
- package/lib/form/SchemaForm/index.js +78 -144
- package/lib/form/SchemaForm/initializeArrayCards.js +0 -7
- package/lib/form/SchemaForm/initializeArrayCollapse.js +0 -7
- package/lib/form/SchemaForm/initializeArrayItems.js +2 -10
- package/lib/form/SchemaForm/initializeArrayTable.js +21 -34
- package/lib/form/SchemaForm/initializeDataSource.js +2 -8
- package/lib/form/SchemaForm/initializeFormButton.js +14 -32
- package/lib/form/SchemaForm/initializeFormCollapse.js +8 -18
- package/lib/form/SchemaForm/initializeFormGroup.js +10 -20
- package/lib/form/SchemaForm/initializeFormStep.js +11 -23
- package/lib/form/SchemaForm/initializeFormTab.js +10 -20
- package/lib/form/SchemaForm/initializeReactions.js +9 -37
- package/lib/form/SchemaForm/initializeRequest.js +2 -18
- package/lib/form/SchemaForm/initializeRules.js +4 -24
- package/lib/form/SchemaForm/initializeSelectTable.js +7 -36
- package/lib/form/SchemaForm/reactions.js +17 -37
- package/lib/form/docs/ActionResponse.d.ts +1 -0
- package/lib/form/docs/ActionResponse.js +0 -5
- package/lib/form/index.d.ts +9 -9
- package/lib/form/index.js +0 -25
- package/lib/form/typing.d.ts +26 -4
- package/lib/form/utils.d.ts +1 -1
- package/lib/form/utils.js +4 -61
- package/lib/form/warning.js +2 -8
- package/lib/global.scss +3 -1
- package/lib/hooks/index.js +0 -5
- package/lib/index-without-icon.js +2 -36
- package/lib/index.d.ts +1 -1
- package/lib/index.js +13 -40
- package/lib/info/components/InfoGroup/index.js +21 -42
- package/lib/info/components/InfoValueItem/index.js +66 -134
- package/lib/info/components/ProInfoItem/index.js +13 -29
- package/lib/info/components/baseInfo/index.js +17 -39
- package/lib/info/components/headerInfo/index.js +8 -31
- package/lib/info/components/tableInfo/index.js +20 -62
- package/lib/info/index.js +61 -101
- package/lib/info/typing.d.ts +2 -0
- package/lib/info/utils/index.js +0 -19
- package/lib/info/utils/utils.js +0 -1
- package/lib/next-xconsole.scss +34 -0
- package/lib/nocode/configurators/PageHeader.js +0 -2
- package/lib/nocode/configurators/ProTable.js +1 -24
- package/lib/nocode/configurators/common.js +5 -10
- package/lib/nocode/configurators/index.js +2 -10
- package/lib/nocode/configurators/map.js +0 -5
- package/lib/nocode/index.js +0 -11
- package/lib/nocode/pages/editor.js +5 -19
- package/lib/nocode/pages/index.js +3 -35
- package/lib/nocode/pages/playground.js +18 -52
- package/lib/nocode/pages/renderer.js +9 -53
- package/lib/nocode/playground.js +10 -35
- package/lib/page-container/index.js +0 -6
- package/lib/page-header/index.d.ts +2 -2
- package/lib/page-header/index.js +39 -90
- package/lib/page-header/index.scss +2 -1
- package/lib/page-header/xconsole.scss +5 -0
- package/lib/sidebar/components/sidebar-container/index.js +54 -81
- package/lib/sidebar/components/sidebar-container/index.scss +21 -14
- package/lib/sidebar/components/tree/index.js +100 -152
- package/lib/sidebar/components/tree-node/components/HoverTooltip/index.js +11 -34
- package/lib/sidebar/components/tree-node/components/IconAction/index.js +9 -46
- package/lib/sidebar/components/tree-node/components/IconSwitch/index.d.ts +2 -2
- package/lib/sidebar/components/tree-node/components/IconSwitch/index.js +12 -35
- package/lib/sidebar/components/tree-node/components/IconSwitch/index.scss +1 -1
- package/lib/sidebar/components/tree-node/index.js +42 -100
- package/lib/sidebar/components/tree-node/index.scss +6 -0
- package/lib/sidebar/index.d.ts +2 -0
- package/lib/sidebar/index.js +79 -111
- package/lib/sidebar/typing.d.ts +4 -0
- package/lib/sidebar/utils/action-ref.js +2 -8
- package/lib/sidebar/utils/index.d.ts +5 -2
- package/lib/sidebar/utils/index.js +41 -106
- package/lib/skeleton/index.js +0 -6
- package/lib/table/components/CardView/index.d.ts +5 -0
- package/lib/table/components/CardView/index.js +402 -0
- package/lib/table/components/CardView/index.scss +46 -0
- package/lib/table/components/EmptyContent/index.js +0 -6
- package/lib/table/components/Filter/index.d.ts +6 -3
- package/lib/table/components/Filter/index.js +114 -137
- package/lib/table/components/Layout/index.js +32 -60
- package/lib/table/components/Layout/index.scss +2 -1
- package/lib/table/components/LoadMore/index.d.ts +20 -0
- package/lib/table/components/LoadMore/index.js +99 -0
- package/lib/table/components/LoadMore/index.scss +19 -0
- package/lib/table/components/Pagination/index.js +25 -68
- package/lib/table/components/QuickAction/index.d.ts +1 -0
- package/lib/table/components/QuickAction/index.js +3 -15
- package/lib/table/components/ToolBar/CardSwitch.d.ts +8 -0
- package/lib/table/components/ToolBar/CardSwitch.js +60 -0
- package/lib/table/components/ToolBar/DensityIcon.js +19 -42
- package/lib/table/components/ToolBar/FilterColumnIcon.js +86 -136
- package/lib/table/components/ToolBar/FullScreenIcon.js +10 -74
- package/lib/table/components/ToolBar/Fullscreen.js +25 -35
- package/lib/table/components/ToolBar/RefreshIcon.js +164 -36
- package/lib/table/components/ToolBar/index.d.ts +1 -1
- package/lib/table/components/ToolBar/index.js +133 -47
- package/lib/table/components/ToolBar/index.scss +49 -3
- package/lib/table/index.js +454 -445
- package/lib/table/index.scss +8 -0
- package/lib/table/typing.d.ts +125 -6
- package/lib/table/utils/columnRender.d.ts +3 -3
- package/lib/table/utils/columnRender.js +39 -92
- package/lib/table/utils/genProColumnToColumn.d.ts +2 -2
- package/lib/table/utils/genProColumnToColumn.js +13 -21
- package/lib/table/utils/getTableProps.js +0 -2
- package/lib/table/utils/getTableSortIcons.js +0 -5
- package/lib/table/utils/index.js +12 -55
- package/lib/table/utils/pureColumnRender.js +21 -64
- package/lib/table/utils/pureGenProColumnToColumn.d.ts +1 -1
- package/lib/table/utils/pureGenProColumnToColumn.js +2 -11
- package/lib/table/utils/useTableSelection.js +6 -35
- package/lib/table/utils/util.d.ts +5 -0
- package/lib/table/utils/util.js +25 -0
- package/lib/templates/Detail/index.js +0 -5
- package/lib/templates/Form/index.js +0 -5
- package/lib/templates/List/index.js +2 -19
- package/lib/templates/index.js +0 -6
- package/lib/timeline/ProTimeLineItem/index.js +25 -76
- package/lib/timeline/index.js +8 -33
- package/lib/timeline/typing.d.ts +1 -0
- package/lib/utils/index.js +0 -6
- package/lib/utils/message.d.ts +2 -2
- package/lib/utils/message.js +0 -10
- package/lib/xconsole.scss +503 -0
- package/package.json +1 -1
package/es/table/index.js
CHANGED
@@ -1,42 +1,26 @@
|
|
1
|
-
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", "requestWhenMount", "showPagination", "pageSizeList", "responsivePaginationType", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType", "defaultFilterParams", "reserveSelectedRecords", "size", "disableSelectAll", "context", "fixedTableBody", "isTree"]
|
2
|
-
|
1
|
+
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"],
|
2
|
+
_excluded2 = ["onChange"];
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
4
|
-
|
5
4
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
6
|
-
|
7
5
|
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."); }
|
8
|
-
|
9
6
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
10
|
-
|
11
7
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
12
|
-
|
13
|
-
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; }
|
14
|
-
|
15
|
-
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; }
|
16
|
-
|
17
|
-
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; }
|
18
|
-
|
19
8
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
20
|
-
|
21
9
|
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."); }
|
22
|
-
|
23
10
|
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); }
|
24
|
-
|
25
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
26
|
-
|
27
12
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
28
|
-
|
29
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
30
|
-
|
31
14
|
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; }
|
32
|
-
|
33
15
|
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; }
|
34
|
-
|
16
|
+
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; }
|
17
|
+
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; }
|
18
|
+
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; }
|
35
19
|
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
36
20
|
import { Table, Checkbox } from '@alicloudfe/components';
|
37
21
|
import Pagination from './components/Pagination';
|
38
22
|
import genProColumnToColumn from './utils/genProColumnToColumn';
|
39
|
-
import { getGlobalConfig, useRequest, request as utilResquest, getDeepValue, getMessage, pickProps, usePrefixCls, getTestRequestData, getTestRequestParams } from '@teamix/utils';
|
23
|
+
import { getGlobalConfig, useRequest, request as utilResquest, getDeepValue, getMessage, pickProps, usePrefixCls, getTestRequestData, getTestRequestParams, getTargetValue } from '@teamix/utils';
|
40
24
|
import { ProSkeletonRaw as Skeleton } from '../skeleton';
|
41
25
|
import './index.scss';
|
42
26
|
import Layout from './components/Layout';
|
@@ -45,11 +29,14 @@ import getTableProps from './utils/getTableProps';
|
|
45
29
|
import getTableSortIcons from './utils/getTableSortIcons';
|
46
30
|
import useTableSelection from './utils/useTableSelection';
|
47
31
|
import FullScreen from './components/ToolBar/Fullscreen';
|
48
|
-
import EmptyContent from '
|
32
|
+
import { EmptyContent } from '@teamix/pro-field';
|
49
33
|
import { ProActionGroup } from '../actions';
|
50
34
|
import classNames from 'classnames';
|
51
35
|
import ProPageContainer from '../page-container';
|
52
36
|
import debounce from 'lodash.debounce';
|
37
|
+
import CardView from './components/CardView';
|
38
|
+
import { useUrlState } from '@teamix/hooks';
|
39
|
+
import { getUrlStateFilter } from './utils/util';
|
53
40
|
export * from './typing';
|
54
41
|
var cls = usePrefixCls('teamix-pro-table');
|
55
42
|
/**
|
@@ -57,225 +44,231 @@ var cls = usePrefixCls('teamix-pro-table');
|
|
57
44
|
* @param columns 原生传入的 columns
|
58
45
|
* @returns
|
59
46
|
*/
|
60
|
-
|
61
47
|
var processColumns = function processColumns(columns, initialColumns) {
|
62
48
|
var _getGlobalConfig;
|
63
|
-
|
64
49
|
var globalFilterColumns = (_getGlobalConfig = getGlobalConfig('ProTable')) === null || _getGlobalConfig === void 0 ? void 0 : _getGlobalConfig.filterColumns;
|
65
50
|
var filterColumns = columns.filter(function (item) {
|
66
|
-
return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(item));
|
67
|
-
});
|
68
|
-
|
51
|
+
return item.columnFilters !== false && (item === null || item === void 0 ? void 0 : item.hidden) !== true && (!globalFilterColumns || globalFilterColumns(_objectSpread({}, item)));
|
52
|
+
});
|
53
|
+
// 处理只剩一列批量选择的情况下宽度错乱问题
|
69
54
|
if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
|
70
55
|
var _initialColumns$;
|
71
|
-
|
72
56
|
if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
|
73
57
|
var _filterColumns$, _filterColumns$2;
|
74
|
-
|
75
58
|
if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
|
76
59
|
delete filterColumns[0].width;
|
77
60
|
}
|
78
|
-
|
79
61
|
if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
|
80
62
|
filterColumns[0].lock = false;
|
81
63
|
}
|
82
64
|
} else if (((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.columnFilters) !== false) {
|
83
65
|
var _initialColumns$2, _initialColumns$3;
|
84
|
-
|
85
66
|
if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.width) {
|
86
67
|
filterColumns[0].width = initialColumns[0].width;
|
87
68
|
}
|
88
|
-
|
89
69
|
if ((_initialColumns$3 = initialColumns[0]) === null || _initialColumns$3 === void 0 ? void 0 : _initialColumns$3.lock) {
|
90
70
|
filterColumns[0].lock = initialColumns[0].lock;
|
91
71
|
}
|
92
72
|
}
|
93
73
|
}
|
94
|
-
|
95
74
|
return filterColumns;
|
96
75
|
};
|
97
76
|
/** 默认请求翻页参数 */
|
98
|
-
|
99
|
-
|
100
77
|
var globalPageKey = 'currentPage';
|
101
78
|
var globalPageSizeKey = 'pageSize';
|
102
|
-
|
103
79
|
var globalFormatSort = function globalFormatSort(sort) {
|
104
80
|
if (Object.keys(sort).length > 0) {
|
105
81
|
return {
|
106
82
|
sort: sort
|
107
83
|
};
|
108
84
|
}
|
109
|
-
|
110
85
|
return {};
|
111
86
|
};
|
112
|
-
|
113
87
|
var ProTable = function ProTable(props) {
|
114
|
-
var _rowSelection$selecte;
|
115
|
-
|
88
|
+
var _urlState$currentPage, _rowSelection$selecte;
|
116
89
|
var header = props.header,
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
90
|
+
className = props.className,
|
91
|
+
tableClassName = props.tableClassName,
|
92
|
+
mainAction = props.mainAction,
|
93
|
+
extra = props.extra,
|
94
|
+
propsDataFilter = props.dataFilter,
|
95
|
+
afterDataFilter = props.afterDataFilter,
|
96
|
+
toolBar = props.toolBar,
|
97
|
+
propsColumns = props.columns,
|
98
|
+
useRowSelection = props.useRowSelection,
|
99
|
+
propsRowSelection = props.rowSelection,
|
100
|
+
onChangeRowSelection = props.onChangeRowSelection,
|
101
|
+
getRowSelection = props.getRowSelection,
|
102
|
+
primaryKey = props.primaryKey,
|
103
|
+
footerAction = props.footerAction,
|
104
|
+
footer = props.footer,
|
105
|
+
url = props.url,
|
106
|
+
pageKey = props.pageKey,
|
107
|
+
pageSizeKey = props.pageSizeKey,
|
108
|
+
_props$method = props.method,
|
109
|
+
method = _props$method === void 0 ? 'get' : _props$method,
|
110
|
+
_props$params = props.params,
|
111
|
+
propsParams = _props$params === void 0 ? {} : _props$params,
|
112
|
+
formatSort = props.formatSort,
|
113
|
+
_props$formatParams = props.formatParams,
|
114
|
+
formatParams = _props$formatParams === void 0 ? function (params) {
|
115
|
+
return params;
|
116
|
+
} : _props$formatParams,
|
117
|
+
formatResult = props.formatResult,
|
118
|
+
requestConfig = props.requestConfig,
|
119
|
+
_props$requestWhenMou = props.requestWhenMount,
|
120
|
+
requestWhenMount = _props$requestWhenMou === void 0 ? true : _props$requestWhenMou,
|
121
|
+
_props$showPagination = props.showPagination,
|
122
|
+
showPagination = _props$showPagination === void 0 ? true : _props$showPagination,
|
123
|
+
_props$pageSizeList = props.pageSizeList,
|
124
|
+
pageSizeList = _props$pageSizeList === void 0 ? [5, 10, 20, 50, 100] : _props$pageSizeList,
|
125
|
+
responsivePaginationType = props.responsivePaginationType,
|
126
|
+
_props$showSkeleton = props.showSkeleton,
|
127
|
+
propsShowSkeleton = _props$showSkeleton === void 0 ? true : _props$showSkeleton,
|
128
|
+
_props$skeletonSize = props.skeletonSize,
|
129
|
+
skeletonSize = _props$skeletonSize === void 0 ? 5 : _props$skeletonSize,
|
130
|
+
propsActionRef = props.actionRef,
|
131
|
+
propsDataSource = props.dataSource,
|
132
|
+
_props$filterDebounce = props.filterDebounce,
|
133
|
+
filterDebounce = _props$filterDebounce === void 0 ? 300 : _props$filterDebounce,
|
134
|
+
_props$footerSuction = props.footerSuction,
|
135
|
+
footerSuction = _props$footerSuction === void 0 ? false : _props$footerSuction,
|
136
|
+
_props$autoRefresh = props.autoRefresh,
|
137
|
+
autoRefresh = _props$autoRefresh === void 0 ? false : _props$autoRefresh,
|
138
|
+
autoRefreshProps = props.autoRefreshProps,
|
139
|
+
customRequest = props.customRequest,
|
140
|
+
_props$filterColumnTy = props.filterColumnType,
|
141
|
+
filterColumnType = _props$filterColumnTy === void 0 ? 'auto' : _props$filterColumnTy,
|
142
|
+
defaultFilterParams = props.defaultFilterParams,
|
143
|
+
_props$reserveSelecte = props.reserveSelectedRecords,
|
144
|
+
reserveSelectedRecords = _props$reserveSelecte === void 0 ? false : _props$reserveSelecte,
|
145
|
+
_props$size = props.size,
|
146
|
+
propsSize = _props$size === void 0 ? 'medium' : _props$size,
|
147
|
+
disableSelectAll = props.disableSelectAll,
|
148
|
+
context = props.context,
|
149
|
+
_props$fixedTableBody = props.fixedTableBody,
|
150
|
+
fixedTableBody = _props$fixedTableBody === void 0 ? false : _props$fixedTableBody,
|
151
|
+
isTree = props.isTree,
|
152
|
+
_props$toolBarAutoWid = props.toolBarAutoWidth,
|
153
|
+
toolBarAutoWidth = _props$toolBarAutoWid === void 0 ? true : _props$toolBarAutoWid,
|
154
|
+
dataTeamixSpm = props['data-teamix-spm'],
|
155
|
+
_props$switchCardView = props.switchCardView,
|
156
|
+
switchCardView = _props$switchCardView === void 0 ? false : _props$switchCardView,
|
157
|
+
cardViewProps = props.cardViewProps,
|
158
|
+
_props$defaultView = props.defaultView,
|
159
|
+
defaultView = _props$defaultView === void 0 ? 'table' : _props$defaultView,
|
160
|
+
emptyProps = props.emptyProps,
|
161
|
+
bindUrlProps = props.bindUrlProps,
|
162
|
+
bindUrl = props.bindUrl,
|
163
|
+
otherProps = _objectWithoutProperties(props, _excluded);
|
181
164
|
var targetPageKey = pageKey || globalPageKey;
|
182
165
|
var targetPageSizeKey = pageSizeKey || globalPageSizeKey;
|
183
166
|
var targetFormatSort = formatSort || globalFormatSort;
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
167
|
+
var _ref = bindUrl ? useUrlState() : [],
|
168
|
+
_ref2 = _slicedToArray(_ref, 2),
|
169
|
+
urlState = _ref2[0],
|
170
|
+
setUrlState = _ref2[1];
|
171
|
+
var _useState = useState((_urlState$currentPage = urlState === null || urlState === void 0 ? void 0 : urlState.currentPage) !== null && _urlState$currentPage !== void 0 ? _urlState$currentPage : 1),
|
172
|
+
_useState2 = _slicedToArray(_useState, 2),
|
173
|
+
currentPage = _useState2[0],
|
174
|
+
setCurrentPage = _useState2[1];
|
175
|
+
var _useState3 = useState((urlState === null || urlState === void 0 ? void 0 : urlState.pageSize) || props.pageSize || 10),
|
176
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
177
|
+
pageSize = _useState4[0],
|
178
|
+
setPageSize = _useState4[1];
|
195
179
|
var _useState5 = useState(0),
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
180
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
181
|
+
total = _useState6[0],
|
182
|
+
setTotal = _useState6[1];
|
200
183
|
var _useState7 = useState(propsDataSource !== null && propsDataSource !== void 0 ? propsDataSource : []),
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
184
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
185
|
+
data = _useState8[0],
|
186
|
+
_setData = _useState8[1];
|
205
187
|
var _useState9 = useState(props.sort || {}),
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
|
214
|
-
|
215
|
-
|
188
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
189
|
+
sort = _useState10[0],
|
190
|
+
setSort = _useState10[1];
|
191
|
+
var _useState11 = useState(!propsDataSource && requestWhenMount && propsShowSkeleton && !!url),
|
192
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
193
|
+
showSkeleton = _useState12[0],
|
194
|
+
setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
|
216
195
|
var skeletonDataSource = new Array(skeletonSize).fill({});
|
217
|
-
var requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
|
218
|
-
|
196
|
+
var requestDataKey = method.toLowerCase() === 'get' ? 'params' : 'data';
|
197
|
+
// 如果使用 customRequest 的话,内置 loading
|
219
198
|
var _useState13 = useState(requestWhenMount),
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
199
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
200
|
+
customTableLoading = _useState14[0],
|
201
|
+
setCustomTableLoading = _useState14[1];
|
224
202
|
var tableRef = useRef(null);
|
225
|
-
var actionRef = useRef();
|
226
|
-
|
203
|
+
var actionRef = useRef();
|
204
|
+
// 传给 table 的过滤后的 columns
|
227
205
|
var _useState15 = useState(processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
206
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
207
|
+
filteredColumns = _useState16[0],
|
208
|
+
setFilteredColumns = _useState16[1];
|
232
209
|
var _useState17 = useState(propsSize),
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
210
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
211
|
+
size = _useState18[0],
|
212
|
+
_setSize = _useState18[1];
|
237
213
|
var _useState19 = useState(true),
|
238
|
-
|
239
|
-
|
240
|
-
|
214
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
215
|
+
showLoading = _useState20[0],
|
216
|
+
setShowLoading = _useState20[1];
|
217
|
+
// 表格内部用作存储的 Ref,标识 Table 组件是否被第一次渲染。用作 useUrlState filter 第一次渲染时使用 state 数据请求
|
218
|
+
var dataRef = useRef({
|
219
|
+
flag: true
|
220
|
+
});
|
221
|
+
useEffect(function () {
|
222
|
+
if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.pagination) !== false) {
|
223
|
+
if ((urlState === null || urlState === void 0 ? void 0 : urlState.currentPage) !== currentPage) {
|
224
|
+
setUrlState === null || setUrlState === void 0 ? void 0 : setUrlState({
|
225
|
+
currentPage: currentPage
|
226
|
+
});
|
227
|
+
}
|
228
|
+
if ((urlState === null || urlState === void 0 ? void 0 : urlState.pageSize) !== pageSize) {
|
229
|
+
setUrlState === null || setUrlState === void 0 ? void 0 : setUrlState({
|
230
|
+
pageSize: pageSize
|
231
|
+
});
|
232
|
+
}
|
233
|
+
}
|
234
|
+
}, [currentPage, pageSize, urlState]);
|
235
|
+
// 存储能够被 on 监听到的 ProTable 状态
|
241
236
|
// 因为只做存储用。不需要更新视图以及需要同步更改。所以不使用 setState 更新
|
242
|
-
|
243
|
-
|
244
237
|
var _useState21 = useState({
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
238
|
+
fullScreenState: false,
|
239
|
+
filterRules: {},
|
240
|
+
filterColumns: []
|
241
|
+
}),
|
242
|
+
_useState22 = _slicedToArray(_useState21, 1),
|
243
|
+
actionRefState = _useState22[0];
|
244
|
+
// 存储 on 监听事件
|
253
245
|
var _useState23 = useState({
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
246
|
+
fullScreenState: {}
|
247
|
+
}),
|
248
|
+
_useState24 = _slicedToArray(_useState23, 1),
|
249
|
+
actionRefCallback = _useState24[0];
|
250
|
+
// 存储定时器 id
|
260
251
|
var autoRefreshTimerRef = useRef();
|
261
252
|
var onResize = null;
|
253
|
+
// useEffect(() => {
|
254
|
+
// setShowSkeleton(propsShowSkeleton);
|
255
|
+
// }, [propsShowSkeleton]);
|
256
|
+
// useEffect(() => {
|
257
|
+
// console.log('传入的props变化', propsLoading);
|
258
|
+
// setShowLoading(propsLoading ?? false);
|
259
|
+
// }, [propsLoading]);
|
262
260
|
useEffect(function () {
|
263
261
|
var _propsDataFilter$sche, _propsDataFilter$sche2;
|
264
|
-
|
265
262
|
getHeaderHeight(fullscreenState);
|
266
263
|
getFooterSuctionState();
|
267
|
-
|
268
264
|
if (window.onresize) {
|
269
265
|
onResize = window.onresize;
|
270
266
|
window.onresize = debounce(function () {
|
271
267
|
var _onResize;
|
272
|
-
|
273
268
|
(_onResize = onResize) === null || _onResize === void 0 ? void 0 : _onResize();
|
274
|
-
|
275
269
|
if (footerSuction) {
|
276
270
|
getFooterSuctionState();
|
277
271
|
}
|
278
|
-
|
279
272
|
if (fixedTableBody) {
|
280
273
|
getHeaderHeight(fullscreenState);
|
281
274
|
}
|
@@ -285,44 +278,35 @@ var ProTable = function ProTable(props) {
|
|
285
278
|
if (footerSuction) {
|
286
279
|
getFooterSuctionState();
|
287
280
|
}
|
288
|
-
|
289
281
|
if (fixedTableBody) {
|
290
282
|
getHeaderHeight(fullscreenState);
|
291
283
|
}
|
292
284
|
}, 500);
|
293
|
-
}
|
294
|
-
|
295
|
-
|
285
|
+
}
|
286
|
+
// 如果不传 dataFilter,则在这里初始化请求
|
296
287
|
var hasDataFilter = (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$sche = propsDataFilter.schema) === null || _propsDataFilter$sche === void 0 ? void 0 : _propsDataFilter$sche.length) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$sche2 = propsDataFilter.schema) === null || _propsDataFilter$sche2 === void 0 ? void 0 : _propsDataFilter$sche2.length) > 0;
|
297
|
-
|
298
288
|
if (requestWhenMount && !hasDataFilter) {
|
299
289
|
processDefaultFilter(propsColumns, actionRef, defaultFilterParams);
|
300
|
-
|
301
290
|
_request();
|
302
291
|
}
|
303
|
-
|
304
292
|
return function () {
|
305
293
|
if (onResize) {
|
306
294
|
window.onresize = onResize;
|
307
295
|
} else {
|
308
296
|
window.onresize = null;
|
309
297
|
}
|
310
|
-
|
311
298
|
if (autoRefreshTimerRef.current) {
|
312
299
|
clearTimeout(autoRefreshTimerRef.current);
|
313
300
|
}
|
314
|
-
|
315
301
|
actionRef.current = undefined;
|
316
302
|
};
|
317
|
-
}, []);
|
318
|
-
|
303
|
+
}, []);
|
304
|
+
// 获取header高度,用作全屏吸底吸底高度计算以及固定body高度计算(滚动条在底部)
|
319
305
|
var getHeaderHeight = function getHeaderHeight(isFullscreen, offset) {
|
320
306
|
var _tableDom$getElements, _tableDom$getElements2, _document$querySelect, _document$querySelect2, _document$querySelect3;
|
321
|
-
|
322
307
|
if (!fixedTableBody) {
|
323
308
|
return;
|
324
309
|
}
|
325
|
-
|
326
310
|
var tableDom = tableRef.current;
|
327
311
|
var headerDom = tableDom === null || tableDom === void 0 ? void 0 : (_tableDom$getElements = tableDom.getElementsByClassName('teamix-pro-table-layout')) === null || _tableDom$getElements === void 0 ? void 0 : _tableDom$getElements[0];
|
328
312
|
var basePrefix = usePrefixCls('', {
|
@@ -331,95 +315,90 @@ var ProTable = function ProTable(props) {
|
|
331
315
|
var tableHeaderDom = tableDom === null || tableDom === void 0 ? void 0 : (_tableDom$getElements2 = tableDom.getElementsByClassName(basePrefix('table-header-inner'))) === null || _tableDom$getElements2 === void 0 ? void 0 : _tableDom$getElements2[0];
|
332
316
|
var pageContainerDom = document.querySelector('.teamix-pro-page-container-header');
|
333
317
|
var teamixNavDom = document.querySelector('.teamix-nav-console');
|
334
|
-
var footerRowSelectionDom = document.querySelector('.teamix-pro-page-container-footer');
|
335
|
-
|
318
|
+
var footerRowSelectionDom = document.querySelector('.teamix-pro-page-container-footer');
|
319
|
+
// 这边不能直接取 next-table-body
|
336
320
|
var tableBodyDom = (_document$querySelect = document.querySelector('.teamix-pro-table')) === null || _document$querySelect === void 0 ? void 0 : (_document$querySelect2 = _document$querySelect.getElementsByTagName('table')) === null || _document$querySelect2 === void 0 ? void 0 : (_document$querySelect3 = _document$querySelect2[1]) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.parentNode;
|
337
321
|
var headerFixedTopSectionDom = document.querySelector('.teamix-pro-page-container-fixed-top');
|
338
322
|
setTimeout(function () {
|
339
323
|
var _headerDom$offsetHeig, _tableHeaderDom$offse;
|
340
|
-
|
341
|
-
|
342
|
-
|
324
|
+
var headerHeight = (_headerDom$offsetHeig = headerDom === null || headerDom === void 0 ? void 0 : headerDom.offsetHeight) !== null && _headerDom$offsetHeig !== void 0 ? _headerDom$offsetHeig : 0;
|
325
|
+
// table表头默认一行。即42px
|
343
326
|
var tableHeaderHeight = (_tableHeaderDom$offse = tableHeaderDom === null || tableHeaderDom === void 0 ? void 0 : tableHeaderDom.offsetHeight) !== null && _tableHeaderDom$offse !== void 0 ? _tableHeaderDom$offse : 42;
|
344
|
-
var footerRowSelectionHeight = (footerRowSelectionDom === null || footerRowSelectionDom === void 0 ? void 0 : footerRowSelectionDom.offsetHeight) || 50;
|
345
|
-
|
327
|
+
var footerRowSelectionHeight = (footerRowSelectionDom === null || footerRowSelectionDom === void 0 ? void 0 : footerRowSelectionDom.offsetHeight) || 50;
|
328
|
+
// 固定表格主体高度
|
346
329
|
if (fixedTableBody && !isFullscreen) {
|
347
330
|
var _pageContainerDom$off, _teamixNavDom$offsetH;
|
348
|
-
|
349
331
|
// 16px 为 padding
|
350
332
|
var pageHeaderHeight = ((_pageContainerDom$off = pageContainerDom === null || pageContainerDom === void 0 ? void 0 : pageContainerDom.offsetHeight) !== null && _pageContainerDom$off !== void 0 ? _pageContainerDom$off : 0) + 16;
|
351
|
-
var teamixNavHeight = (_teamixNavDom$offsetH = teamixNavDom === null || teamixNavDom === void 0 ? void 0 : teamixNavDom.offsetHeight) !== null && _teamixNavDom$offsetH !== void 0 ? _teamixNavDom$offsetH : 0;
|
352
|
-
|
333
|
+
var teamixNavHeight = (_teamixNavDom$offsetH = teamixNavDom === null || teamixNavDom === void 0 ? void 0 : teamixNavDom.offsetHeight) !== null && _teamixNavDom$offsetH !== void 0 ? _teamixNavDom$offsetH : 0;
|
334
|
+
// 1 为预留值,js无法取出精确高度,会被四舍五入
|
353
335
|
var offsetHeaderHeight = headerHeight + tableHeaderHeight + pageHeaderHeight + teamixNavHeight + footerRowSelectionHeight + 16 + (offset !== null && offset !== void 0 ? offset : 0) + 1;
|
354
|
-
|
355
|
-
|
336
|
+
if (switchViewState === 'card') {
|
337
|
+
offsetHeaderHeight = offsetHeaderHeight - tableHeaderHeight - footerRowSelectionHeight;
|
338
|
+
}
|
339
|
+
if ((tableBodyDom === null || tableBodyDom === void 0 ? void 0 : tableBodyDom.clientHeight) < (tableBodyDom === null || tableBodyDom === void 0 ? void 0 : tableBodyDom.scrollHeight)) {
|
356
340
|
setFooterSuctionState(true);
|
357
341
|
} else {
|
358
342
|
setFooterSuctionState(false);
|
359
|
-
}
|
360
|
-
|
361
|
-
|
343
|
+
}
|
344
|
+
// 如果有切换区tab,那么重新计算
|
362
345
|
if (headerFixedTopSectionDom.clientHeight) {
|
363
346
|
var _headerFixedTopSectio;
|
364
|
-
|
365
|
-
|
347
|
+
var headerFixedTopSectionHeight = (_headerFixedTopSectio = headerFixedTopSectionDom.clientHeight) !== null && _headerFixedTopSectio !== void 0 ? _headerFixedTopSectio : 0;
|
348
|
+
// const clientTableBodyHeight =
|
366
349
|
// document.body.clientHeight - offsetHeaderHeight;
|
367
|
-
|
368
350
|
setHeaderHeight(headerFixedTopSectionHeight + teamixNavHeight + footerRowSelectionHeight + tableHeaderHeight + 1);
|
369
351
|
return;
|
370
352
|
}
|
371
|
-
|
372
353
|
setHeaderHeight(offsetHeaderHeight);
|
373
354
|
} else {
|
374
355
|
// 24px 为 padding
|
375
356
|
setHeaderHeight(headerHeight + tableHeaderHeight + footerRowSelectionHeight + 24 + (offset !== null && offset !== void 0 ? offset : 0) + 1);
|
376
357
|
}
|
377
358
|
}, 50);
|
378
|
-
};
|
379
|
-
|
380
|
-
|
359
|
+
};
|
360
|
+
// header 区域高度。用作全屏计算吸顶吸底高度。默认不做计算
|
381
361
|
var _useState25 = useState(0),
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
362
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
363
|
+
headerHeight = _useState26[0],
|
364
|
+
setHeaderHeight = _useState26[1];
|
365
|
+
// 全屏显示 className
|
387
366
|
var _useState27 = useState(false),
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
367
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
368
|
+
fullscreenState = _useState28[0],
|
369
|
+
setFullscreenState = _useState28[1];
|
370
|
+
// 切换视角
|
371
|
+
var _useState29 = useState(defaultView !== null && defaultView !== void 0 ? defaultView : 'table'),
|
372
|
+
_useState30 = _slicedToArray(_useState29, 2),
|
373
|
+
switchViewState = _useState30[0],
|
374
|
+
setSwitchViewState = _useState30[1];
|
375
|
+
// 切换全屏搜索开关
|
393
376
|
var filterEnableRef = useRef({
|
394
377
|
fullscreen: false,
|
395
378
|
normal: true
|
396
|
-
});
|
397
|
-
|
379
|
+
});
|
380
|
+
// 非全屏状态下的
|
398
381
|
var normalDataFilterFormRef = useRef();
|
399
382
|
var fullscreenDataFilterFormRef = useRef();
|
400
383
|
var normalDataFilterForm = normalDataFilterFormRef.current;
|
401
|
-
var fullscreenDataFilterForm = fullscreenDataFilterFormRef.current;
|
402
|
-
|
403
|
-
var dataFilterFormRef = !fullscreenState ? normalDataFilterFormRef : fullscreenDataFilterFormRef;
|
384
|
+
var fullscreenDataFilterForm = fullscreenDataFilterFormRef.current;
|
385
|
+
// 传给 QueryFilter 的 formRef
|
386
|
+
var dataFilterFormRef = !fullscreenState ? normalDataFilterFormRef : fullscreenDataFilterFormRef;
|
387
|
+
// let dataFilterForm = dataFilterFormRef.current;
|
404
388
|
// 整个内容区是否超过一屏。用于表格在非全屏模式下的吸底
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
389
|
+
var _useState31 = useState(false),
|
390
|
+
_useState32 = _slicedToArray(_useState31, 2),
|
391
|
+
footerSuctionState = _useState32[0],
|
392
|
+
setFooterSuctionState = _useState32[1];
|
393
|
+
// TODO 获取内容区是否超出一屏(暂时仅支持全家桶)
|
412
394
|
var getFooterSuctionState = function getFooterSuctionState() {
|
413
395
|
if (!footerSuction) {
|
414
396
|
return;
|
415
397
|
}
|
416
|
-
|
417
398
|
var containerDom = document.querySelector('.teamix-pro-page-container-scroll-container');
|
418
|
-
|
419
399
|
if (containerDom) {
|
420
400
|
var offsetHeight = containerDom.offsetHeight;
|
421
401
|
var scrollHeight = containerDom.scrollHeight;
|
422
|
-
|
423
402
|
if (offsetHeight < scrollHeight) {
|
424
403
|
setFooterSuctionState(true);
|
425
404
|
} else {
|
@@ -431,35 +410,28 @@ var ProTable = function ProTable(props) {
|
|
431
410
|
setFooterSuctionState(true);
|
432
411
|
}
|
433
412
|
}
|
434
|
-
};
|
435
|
-
|
436
|
-
|
413
|
+
};
|
414
|
+
// rowSelection 相关
|
437
415
|
var rowSelectionHook = useTableSelection(_objectSpread(_objectSpread({}, propsRowSelection), {}, {
|
438
416
|
// 当初始出现骨架屏的时候,不可选择
|
439
417
|
getProps: function getProps(record, index) {
|
440
418
|
var result = {};
|
441
|
-
|
442
419
|
if (propsRowSelection === null || propsRowSelection === void 0 ? void 0 : propsRowSelection.getProps) {
|
443
420
|
result = propsRowSelection.getProps(record, index);
|
444
421
|
}
|
445
|
-
|
446
422
|
if (showSkeleton && result) {
|
447
423
|
result.disabled = true;
|
448
424
|
}
|
449
|
-
|
450
425
|
return result;
|
451
426
|
},
|
452
427
|
titleProps: function titleProps() {
|
453
428
|
var result = {};
|
454
|
-
|
455
429
|
if (propsRowSelection === null || propsRowSelection === void 0 ? void 0 : propsRowSelection.titleProps) {
|
456
430
|
result = propsRowSelection.titleProps();
|
457
431
|
}
|
458
|
-
|
459
432
|
if (showSkeleton || disableSelectAll) {
|
460
433
|
result.disabled = true;
|
461
434
|
}
|
462
|
-
|
463
435
|
return result;
|
464
436
|
},
|
465
437
|
onChange: onChangeRowSelection
|
@@ -468,21 +440,19 @@ var ProTable = function ProTable(props) {
|
|
468
440
|
var selectedCount = (rowSelection === null || rowSelection === void 0 ? void 0 : (_rowSelection$selecte = rowSelection.selectedRowKeys) === null || _rowSelection$selecte === void 0 ? void 0 : _rowSelection$selecte.length) || 0;
|
469
441
|
useEffect(function () {
|
470
442
|
getRowSelection && getRowSelection(rowSelectionHook);
|
471
|
-
}, [rowSelectionHook]);
|
472
|
-
|
443
|
+
}, [rowSelectionHook]);
|
444
|
+
// 获取 table 左下角 checkbox 属性
|
473
445
|
function getCheckAllProps() {
|
474
446
|
var _rowSelection$onChang = rowSelection.onChange,
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
447
|
+
_onChange = _rowSelection$onChang === void 0 ? function () {} : _rowSelection$onChang,
|
448
|
+
_rowSelection$onSelec = rowSelection.onSelectAll,
|
449
|
+
onSelectAll = _rowSelection$onSelec === void 0 ? function () {} : _rowSelection$onSelec,
|
450
|
+
_rowSelection$selecte2 = rowSelection.selectedRowKeys,
|
451
|
+
selectedRowKeys = _rowSelection$selecte2 === void 0 ? [] : _rowSelection$selecte2,
|
452
|
+
getProps = rowSelection.getProps;
|
482
453
|
var dataSource = data;
|
483
454
|
var allRowKeys = dataSource.filter(function (d, i) {
|
484
455
|
var _getProps;
|
485
|
-
|
486
456
|
return getProps ? !((_getProps = getProps(d, i)) === null || _getProps === void 0 ? void 0 : _getProps.disabled) : true;
|
487
457
|
}).map(function (d) {
|
488
458
|
return getDeepValue(primaryKey || 'id', d);
|
@@ -498,15 +468,12 @@ var ProTable = function ProTable(props) {
|
|
498
468
|
result.push.apply(result, _toConsumableArray(allRowKeys.filter(function (k) {
|
499
469
|
return !selectedRowKeys.includes(k);
|
500
470
|
})));
|
501
|
-
|
502
471
|
_onChange(result, dataSource);
|
503
|
-
|
504
472
|
onSelectAll(check, dataSource);
|
505
473
|
} else {
|
506
474
|
_onChange(selectedRowKeys.filter(function (k) {
|
507
475
|
return !allRowKeys.includes(k);
|
508
476
|
}), []);
|
509
|
-
|
510
477
|
onSelectAll(check, []);
|
511
478
|
}
|
512
479
|
},
|
@@ -514,7 +481,6 @@ var ProTable = function ProTable(props) {
|
|
514
481
|
checked: nowCheckedKeys.length !== 0 && nowCheckedKeys.length === allRowKeys.length
|
515
482
|
};
|
516
483
|
}
|
517
|
-
|
518
484
|
useEffect(function () {
|
519
485
|
if (typeof propsActionRef === 'function' && actionRef.current) {
|
520
486
|
// @ts-ignore
|
@@ -523,18 +489,17 @@ var ProTable = function ProTable(props) {
|
|
523
489
|
}, [propsActionRef]);
|
524
490
|
useEffect(function () {
|
525
491
|
var _actionRef$current, _actionRef$current$se;
|
526
|
-
|
527
492
|
var columns = processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
|
528
493
|
setFilteredColumns(columns);
|
529
494
|
(_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);
|
530
|
-
}, [propsColumns]);
|
531
|
-
|
495
|
+
}, [propsColumns]);
|
496
|
+
// dataSource 受控
|
532
497
|
useEffect(function () {
|
533
498
|
if (propsDataSource) {
|
534
|
-
|
499
|
+
_setData(propsDataSource);
|
535
500
|
}
|
536
|
-
}, [propsDataSource]);
|
537
|
-
|
501
|
+
}, [propsDataSource]);
|
502
|
+
// 初始化 ActionRef。
|
538
503
|
initActionRef(actionRef, {
|
539
504
|
getState: function getState() {
|
540
505
|
return actionRefState;
|
@@ -550,32 +515,28 @@ var ProTable = function ProTable(props) {
|
|
550
515
|
if (!actionRefCallback[state]) {
|
551
516
|
actionRefCallback[state] = {};
|
552
517
|
}
|
553
|
-
|
554
518
|
actionRefCallback[state][name] = fun;
|
555
519
|
},
|
556
520
|
off: function off(name) {
|
557
|
-
actionRefCallback = Object.fromEntries(Object.entries(actionRefCallback).map(function (
|
558
|
-
var
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
k = _ref4[0];
|
565
|
-
|
521
|
+
actionRefCallback = Object.fromEntries(Object.entries(actionRefCallback).map(function (_ref3) {
|
522
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
523
|
+
k = _ref4[0],
|
524
|
+
v = _ref4[1];
|
525
|
+
var filterV = Object.fromEntries(Object.entries(v).filter(function (_ref5) {
|
526
|
+
var _ref6 = _slicedToArray(_ref5, 1),
|
527
|
+
k = _ref6[0];
|
566
528
|
return k !== name;
|
567
529
|
}));
|
568
530
|
return [k, filterV];
|
569
531
|
}));
|
570
532
|
}
|
571
|
-
});
|
572
|
-
|
533
|
+
});
|
534
|
+
// 绑定 Actions
|
573
535
|
useActionType(actionRef, {
|
574
536
|
fullScreen: function fullScreen() {
|
575
537
|
var _actionRef$current2, _actionRef$current2$s;
|
576
|
-
|
577
|
-
|
578
|
-
|
538
|
+
var state = !fullscreenState;
|
539
|
+
// 全屏时需要重新计算header高度
|
579
540
|
setFullscreenState(state);
|
580
541
|
getHeaderHeight(state);
|
581
542
|
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);
|
@@ -583,12 +544,10 @@ var ProTable = function ProTable(props) {
|
|
583
544
|
},
|
584
545
|
setColumn: function setColumn(newColumns) {
|
585
546
|
var _actionRef$current3, _actionRef$current3$s;
|
586
|
-
|
587
547
|
var update = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
588
548
|
var columns = processColumns(newColumns, propsColumns);
|
589
549
|
setFilteredColumns(columns);
|
590
550
|
(_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);
|
591
|
-
|
592
551
|
if (update) {
|
593
552
|
emit('refreshFilterState', newColumns);
|
594
553
|
}
|
@@ -598,34 +557,46 @@ var ProTable = function ProTable(props) {
|
|
598
557
|
_setSize(mode);
|
599
558
|
},
|
600
559
|
refresh: function refresh(params) {
|
601
|
-
|
560
|
+
// card视角的刷新等于重新请求
|
561
|
+
if (switchViewState === 'card' && !propsDataSource) {
|
562
|
+
setCurrentPage(1);
|
563
|
+
_request(_objectSpread(_objectSpread({}, params), {}, _defineProperty({}, targetPageKey, 1)), undefined, undefined, true);
|
564
|
+
setShowSkeleton(true);
|
565
|
+
} else {
|
566
|
+
_request(params);
|
567
|
+
}
|
602
568
|
},
|
603
569
|
request: function request(params) {
|
604
570
|
// 如果请求中还有翻页相关信息,需要自动设置到指定页
|
605
571
|
if (params === null || params === void 0 ? void 0 : params[targetPageKey]) {
|
606
572
|
setCurrentPage(params[targetPageKey]);
|
607
573
|
}
|
608
|
-
|
609
574
|
if (params === null || params === void 0 ? void 0 : params[targetPageSizeKey]) {
|
610
575
|
setPageSize(params[targetPageSizeKey]);
|
611
576
|
}
|
612
|
-
|
613
577
|
_request(params);
|
614
578
|
},
|
615
579
|
reset: function reset() {
|
616
580
|
var _actionRef$current4, _actionRef$current4$s, _dataFilterFormRef$cu;
|
617
|
-
|
618
|
-
|
619
|
-
|
581
|
+
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
|
582
|
+
// 清空列过滤参数
|
620
583
|
(_actionRef$current4 = actionRef.current) === null || _actionRef$current4 === void 0 ? void 0 : (_actionRef$current4$s = _actionRef$current4.setFilterRules) === null || _actionRef$current4$s === void 0 ? void 0 : _actionRef$current4$s.call(_actionRef$current4, {});
|
621
584
|
(_dataFilterFormRef$cu = dataFilterFormRef.current) === null || _dataFilterFormRef$cu === void 0 ? void 0 : _dataFilterFormRef$cu.reset();
|
622
585
|
setCurrentPage(1);
|
623
|
-
|
624
|
-
_request(_defineProperty({}, targetPageKey, 1));
|
586
|
+
_request(_defineProperty({}, targetPageKey, 1), undefined, undefined, true);
|
625
587
|
},
|
626
588
|
resetPage: function resetPage() {
|
627
589
|
setCurrentPage(1);
|
628
590
|
},
|
591
|
+
nextPage: function nextPage() {
|
592
|
+
var _props$paginationProp, _props$paginationProp2;
|
593
|
+
var newCurrentPage = currentPage + 1;
|
594
|
+
setCurrentPage(newCurrentPage);
|
595
|
+
props === null || props === void 0 ? void 0 : (_props$paginationProp = props.paginationProps) === null || _props$paginationProp === void 0 ? void 0 : (_props$paginationProp2 = _props$paginationProp.onChange) === null || _props$paginationProp2 === void 0 ? void 0 : _props$paginationProp2.call(_props$paginationProp, newCurrentPage, {});
|
596
|
+
if (!propsDataSource) {
|
597
|
+
_request(_defineProperty({}, targetPageKey, newCurrentPage));
|
598
|
+
}
|
599
|
+
},
|
629
600
|
rowSelection: rowSelection,
|
630
601
|
clearRowSelection: function clearRowSelection() {
|
631
602
|
rowSelectionHook.setSelectedRowKeys([]);
|
@@ -645,35 +616,84 @@ var ProTable = function ProTable(props) {
|
|
645
616
|
normalDataFilterForm: normalDataFilterForm,
|
646
617
|
fullscreenDataFilterForm: fullscreenDataFilterForm,
|
647
618
|
filterEnableRef: filterEnableRef,
|
619
|
+
setData: function setData(data) {
|
620
|
+
_setData(data);
|
621
|
+
},
|
648
622
|
resetTableMaxBodyHeight: function resetTableMaxBodyHeight(offset) {
|
649
623
|
getHeaderHeight(fullscreenState, offset);
|
624
|
+
},
|
625
|
+
switchView: function switchView(view) {
|
626
|
+
setSwitchViewState(view);
|
627
|
+
if (!propsDataSource) {
|
628
|
+
setCurrentPage(1);
|
629
|
+
}
|
630
|
+
if (view === 'table') {
|
631
|
+
setPageSize(pageSize !== null && pageSize !== void 0 ? pageSize : 20);
|
632
|
+
if (!propsDataSource) {
|
633
|
+
var _request4;
|
634
|
+
setShowSkeleton(true);
|
635
|
+
_request((_request4 = {}, _defineProperty(_request4, targetPageSizeKey, pageSize !== null && pageSize !== void 0 ? pageSize : 20), _defineProperty(_request4, targetPageKey, 1), _request4));
|
636
|
+
}
|
637
|
+
}
|
638
|
+
if (view === 'card') {
|
639
|
+
var _cardViewProps$pageSi;
|
640
|
+
setPageSize((_cardViewProps$pageSi = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi !== void 0 ? _cardViewProps$pageSi : 12);
|
641
|
+
if (!propsDataSource) {
|
642
|
+
var _cardViewProps$pageSi2, _request5;
|
643
|
+
setShowSkeleton(true);
|
644
|
+
_request((_request5 = {}, _defineProperty(_request5, targetPageSizeKey, (_cardViewProps$pageSi2 = cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.pageSize) !== null && _cardViewProps$pageSi2 !== void 0 ? _cardViewProps$pageSi2 : 12), _defineProperty(_request5, targetPageKey, 1), _request5));
|
645
|
+
}
|
646
|
+
}
|
647
|
+
getHeaderHeight(fullscreenState);
|
648
|
+
},
|
649
|
+
setAutoRefreshTimers: function setAutoRefreshTimers(timers) {
|
650
|
+
clearTimeout(autoRefreshTimerRef.current);
|
651
|
+
autoRefreshTimerRef.current = null;
|
652
|
+
autoRefreshTimerRef.current = setTimeout(function () {
|
653
|
+
var _actionRef$current5, _actionRef$current5$r;
|
654
|
+
(_actionRef$current5 = actionRef.current) === null || _actionRef$current5 === void 0 ? void 0 : (_actionRef$current5$r = _actionRef$current5.refresh) === null || _actionRef$current5$r === void 0 ? void 0 : _actionRef$current5$r.call(_actionRef$current5);
|
655
|
+
}, timers);
|
656
|
+
emit('PRO_TABLE_REFRESH_TIMER_FLAG', timers);
|
657
|
+
},
|
658
|
+
clearAutoRefreshTimers: function clearAutoRefreshTimers() {
|
659
|
+
clearTimeout(autoRefreshTimerRef.current);
|
660
|
+
autoRefreshTimerRef.current = null;
|
650
661
|
}
|
651
|
-
});
|
652
|
-
|
662
|
+
});
|
663
|
+
// 将 Actions 绑定到传入的 propsActionRef 中
|
653
664
|
if (propsActionRef) {
|
654
665
|
propsActionRef.current = actionRef.current;
|
655
666
|
}
|
656
|
-
|
657
667
|
function onFormatResult(next) {
|
658
|
-
var _next$data;
|
659
|
-
|
660
668
|
props.onFormatResult && props.onFormatResult(next);
|
661
|
-
var time =
|
662
|
-
|
669
|
+
var time = 0;
|
670
|
+
if (autoRefresh) {
|
671
|
+
time = 60 * 1000;
|
672
|
+
}
|
673
|
+
if (autoRefresh && typeof autoRefresh !== 'boolean') {
|
674
|
+
time = autoRefresh ? autoRefresh(next.data) : 0;
|
675
|
+
}
|
663
676
|
if (Number.isInteger(time) && time >= 1000) {
|
664
677
|
autoRefreshTimerRef.current = setTimeout(function () {
|
665
678
|
// 自动刷新不显示 loading
|
666
679
|
_request({}, true);
|
667
680
|
}, Number(time));
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
681
|
+
emit('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
|
682
|
+
}
|
683
|
+
// 设置 dataSource、total
|
684
|
+
if (switchViewState === 'table' || currentPage === 1 || (cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.useTablePagination)) {
|
685
|
+
var _next$data;
|
686
|
+
_setData(next.data || []);
|
687
|
+
setTotal(next.total || ((_next$data = next.data) === null || _next$data === void 0 ? void 0 : _next$data.length));
|
688
|
+
}
|
689
|
+
if (switchViewState === 'card' && currentPage !== 1 && !(cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.useTablePagination)) {
|
690
|
+
var _next$data2;
|
691
|
+
_setData([].concat(_toConsumableArray(data), _toConsumableArray(next.data || [])));
|
692
|
+
setTotal(total + (next.total || ((_next$data2 = next.data) === null || _next$data2 === void 0 ? void 0 : _next$data2.length)));
|
693
|
+
}
|
673
694
|
setShowSkeleton(false);
|
674
|
-
}
|
675
|
-
|
676
|
-
|
695
|
+
}
|
696
|
+
// 请求表格数据工具函数
|
677
697
|
var getData = useRequest(function (params) {
|
678
698
|
return _defineProperty({
|
679
699
|
url: url,
|
@@ -682,13 +702,13 @@ var ProTable = function ProTable(props) {
|
|
682
702
|
}, {
|
683
703
|
// 使用 request 方法代替 fetch
|
684
704
|
requestMethod: function requestMethod(params) {
|
685
|
-
|
705
|
+
// 支持使用 requestConfig 自定义请求配置
|
706
|
+
return utilResquest(_objectSpread(_objectSpread({}, params), requestConfig));
|
686
707
|
},
|
687
708
|
manual: true,
|
688
709
|
onSuccess: function onSuccess(result) {
|
689
710
|
props.onSuccess && props.onSuccess(result);
|
690
711
|
var nextData = result;
|
691
|
-
|
692
712
|
if (formatResult) {
|
693
713
|
if (typeof formatResult === 'function') {
|
694
714
|
nextData = formatResult(result) || {};
|
@@ -698,9 +718,12 @@ var ProTable = function ProTable(props) {
|
|
698
718
|
data: getDeepValue(formatResult.data, result) || [],
|
699
719
|
total: isNaN(dataTotal) ? 0 : Number(dataTotal)
|
700
720
|
};
|
721
|
+
} else if (typeof formatResult === 'string') {
|
722
|
+
nextData = getTargetValue(formatResult, {
|
723
|
+
res: result
|
724
|
+
});
|
701
725
|
}
|
702
726
|
}
|
703
|
-
|
704
727
|
if (nextData instanceof Promise) {
|
705
728
|
nextData.then(function (res) {
|
706
729
|
onFormatResult(res);
|
@@ -709,62 +732,67 @@ var ProTable = function ProTable(props) {
|
|
709
732
|
});
|
710
733
|
} else {
|
711
734
|
onFormatResult(nextData);
|
712
|
-
}
|
713
|
-
|
714
|
-
|
735
|
+
}
|
736
|
+
// 重新计算是否需要吸底
|
715
737
|
if (footerSuction) {
|
716
738
|
getFooterSuctionState();
|
717
739
|
}
|
718
|
-
|
719
740
|
if (fixedTableBody) {
|
720
741
|
getHeaderHeight(fullscreenState);
|
721
742
|
}
|
722
743
|
},
|
723
744
|
onError: function onError(error) {
|
724
745
|
setShowSkeleton(false);
|
725
|
-
|
726
746
|
if (props.onError) {
|
727
747
|
props.onError(error);
|
728
|
-
} else {
|
729
|
-
|
730
|
-
|
731
|
-
|
748
|
+
} else {
|
749
|
+
// Message.error(error.toString());
|
750
|
+
}
|
751
|
+
// 重新计算是否需要吸底
|
732
752
|
if (footerSuction) {
|
733
753
|
getFooterSuctionState();
|
734
754
|
}
|
735
|
-
|
736
755
|
if (fixedTableBody) {
|
737
756
|
getHeaderHeight(fullscreenState);
|
738
757
|
}
|
739
758
|
}
|
740
|
-
});
|
741
|
-
|
742
|
-
function _request(params, noLoading, filterParams) {
|
743
|
-
var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$
|
744
|
-
|
759
|
+
});
|
760
|
+
// 请求函数
|
761
|
+
function _request(params, noLoading, filterParams, isReset) {
|
762
|
+
var _dataFilterFormRef$cu2, _actionRef$current$ge, _actionRef$current6, _actionRef$current6$g, _objectSpread3;
|
763
|
+
// 首次渲染表格,获取 urlState 上的 表头 filter 数据
|
764
|
+
if (bindUrl && (bindUrlProps === null || bindUrlProps === void 0 ? void 0 : bindUrlProps.headerFilters) !== false && dataRef.current.flag) {
|
765
|
+
getUrlStateFilter(urlState !== null && urlState !== void 0 ? urlState : {}, actionRef);
|
766
|
+
dataRef.current.flag = false;
|
767
|
+
}
|
745
768
|
// 如果没有传 url 且没有 customRequest,直接返回
|
746
769
|
if (!url && !customRequest) {
|
747
770
|
return;
|
748
771
|
}
|
749
|
-
|
750
772
|
var nextShowLoading = !noLoading;
|
751
|
-
nextShowLoading !== showLoading && setShowLoading(nextShowLoading);
|
773
|
+
nextShowLoading !== showLoading && setShowLoading(nextShowLoading);
|
774
|
+
// 请求前需要优先清空列过滤条件
|
752
775
|
// actionRef.current?.setFilterRules?.({});
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
var
|
761
|
-
|
776
|
+
var sortParams = targetFormatSort(sort);
|
777
|
+
// 筛选区请求参数
|
778
|
+
var dataFilterParams = filterParams !== null && filterParams !== void 0 ? filterParams : (_dataFilterFormRef$cu2 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu2 === void 0 ? void 0 : _dataFilterFormRef$cu2.values;
|
779
|
+
// 列过滤请求参数
|
780
|
+
var columnsFilterParams = (_actionRef$current$ge = (_actionRef$current6 = actionRef.current) === null || _actionRef$current6 === void 0 ? void 0 : (_actionRef$current6$g = _actionRef$current6.getFilterRules) === null || _actionRef$current6$g === void 0 ? void 0 : _actionRef$current6$g.call(_actionRef$current6)) !== null && _actionRef$current$ge !== void 0 ? _actionRef$current$ge : {};
|
781
|
+
// 格式化后的请求参数
|
782
|
+
var requestData = {};
|
783
|
+
var preParams = _objectSpread(_objectSpread({}, !showPagination ? _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, dataFilterParams), propsParams), sortParams), columnsFilterParams) : _objectSpread(_objectSpread(_objectSpread(_objectSpread((_objectSpread3 = {}, _defineProperty(_objectSpread3, targetPageKey, currentPage), _defineProperty(_objectSpread3, targetPageSizeKey, pageSize), _objectSpread3), dataFilterParams), propsParams), sortParams), columnsFilterParams)), params);
|
784
|
+
if (typeof formatParams === 'string') {
|
785
|
+
requestData = getTargetValue(formatParams, {
|
786
|
+
params: preParams
|
787
|
+
});
|
788
|
+
} else {
|
789
|
+
requestData = formatParams(preParams);
|
790
|
+
}
|
762
791
|
if (requestData) {
|
763
792
|
if (autoRefreshTimerRef.current) {
|
764
793
|
clearTimeout(autoRefreshTimerRef.current);
|
765
794
|
autoRefreshTimerRef.current = null;
|
766
795
|
}
|
767
|
-
|
768
796
|
if (!(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.searchUndefined)) {
|
769
797
|
Object.keys(requestData).forEach(function (key) {
|
770
798
|
if (requestData[key] === undefined) {
|
@@ -772,112 +800,110 @@ var ProTable = function ProTable(props) {
|
|
772
800
|
}
|
773
801
|
});
|
774
802
|
}
|
775
|
-
|
776
803
|
if (!(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.searchEmptyString)) {
|
777
804
|
Object.keys(requestData).forEach(function (key) {
|
778
805
|
if (requestData[key] === '') {
|
779
806
|
delete requestData[key];
|
780
807
|
}
|
781
808
|
});
|
782
|
-
}
|
783
|
-
|
784
|
-
|
809
|
+
}
|
810
|
+
// 如果使用自定义请求
|
785
811
|
if (customRequest && typeof customRequest === 'function') {
|
786
|
-
|
812
|
+
if (isReset) {
|
813
|
+
setShowSkeleton(true);
|
814
|
+
} else {
|
815
|
+
setCustomTableLoading(true);
|
816
|
+
}
|
787
817
|
customRequest(requestData).then(function (res) {
|
788
|
-
var
|
789
|
-
|
790
|
-
|
791
|
-
|
818
|
+
var dataRes = res.data,
|
819
|
+
totalRes = res.total,
|
820
|
+
success = res.success;
|
792
821
|
if (success === true) {
|
793
822
|
// 设置 dataSource、total
|
794
|
-
|
795
|
-
|
823
|
+
if (switchViewState === 'table' || params[targetPageKey] === 1 || isReset || (cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.useTablePagination)) {
|
824
|
+
_setData(dataRes || []);
|
825
|
+
setTotal(totalRes || (dataRes === null || dataRes === void 0 ? void 0 : dataRes.length));
|
826
|
+
}
|
827
|
+
if (switchViewState === 'card' && params[targetPageKey] !== 1 && !isReset && !(cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.useTablePagination)) {
|
828
|
+
_setData([].concat(_toConsumableArray(data), _toConsumableArray(dataRes || [])));
|
829
|
+
setTotal(total + (totalRes || (dataRes === null || dataRes === void 0 ? void 0 : dataRes.length)));
|
830
|
+
}
|
796
831
|
setShowSkeleton(false);
|
797
832
|
setCustomTableLoading(false);
|
798
|
-
}
|
799
|
-
|
800
|
-
|
833
|
+
}
|
834
|
+
// 重新计算是否需要吸底
|
801
835
|
if (footerSuction) {
|
802
836
|
getFooterSuctionState();
|
803
837
|
}
|
804
|
-
|
805
838
|
if (fixedTableBody) {
|
806
839
|
getHeaderHeight(fullscreenState);
|
807
|
-
}
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
840
|
+
}
|
841
|
+
// customRequest 中支持 autoRefresh
|
842
|
+
var time = 0;
|
843
|
+
if (autoRefresh) {
|
844
|
+
time = 60 * 1000;
|
845
|
+
}
|
846
|
+
if (autoRefresh && typeof autoRefresh !== 'boolean') {
|
847
|
+
time = autoRefresh ? autoRefresh(data) : 0;
|
848
|
+
}
|
812
849
|
if (Number.isInteger(time) && time >= 1000) {
|
813
850
|
autoRefreshTimerRef.current = setTimeout(function () {
|
814
851
|
// 自动刷新不显示 loading
|
815
|
-
_request(
|
852
|
+
_request({}, true);
|
816
853
|
}, Number(time));
|
854
|
+
emit('PRO_TABLE_REFRESH_TIMER_FLAG', Number(time));
|
817
855
|
}
|
856
|
+
}).finally(function () {
|
857
|
+
setCustomTableLoading(false);
|
818
858
|
});
|
819
859
|
} else {
|
820
860
|
getData.run(requestData);
|
821
861
|
}
|
822
862
|
}
|
823
863
|
}
|
824
|
-
|
825
864
|
function onSort(dataIndex, order) {
|
826
865
|
var nextSort = _defineProperty({}, dataIndex, order);
|
827
|
-
|
828
866
|
setSort(nextSort);
|
829
|
-
|
830
867
|
_request(targetFormatSort(nextSort));
|
831
|
-
}
|
832
|
-
|
833
|
-
|
868
|
+
}
|
869
|
+
// 处理 dataFilter 中的 onFilter、onReset
|
834
870
|
var dataFilter = _objectSpread(_objectSpread({
|
835
871
|
mode: 'inline',
|
836
872
|
forceClear: true
|
837
873
|
}, propsDataFilter), {}, {
|
838
874
|
onInit: (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) || requestWhenMount ? function (values) {
|
839
875
|
var _propsDataFilter$onIn;
|
840
|
-
|
841
876
|
// 表单初始化请求处理
|
842
877
|
propsDataFilter === null || propsDataFilter === void 0 ? void 0 : (_propsDataFilter$onIn = propsDataFilter.onInit) === null || _propsDataFilter$onIn === void 0 ? void 0 : _propsDataFilter$onIn.call(propsDataFilter, values);
|
843
878
|
!fullscreenState && requestWhenMount && _request({}, false, values);
|
844
879
|
return true;
|
845
880
|
} : undefined,
|
846
881
|
onFilter: function onFilter(values) {
|
847
|
-
var _actionRef$
|
848
|
-
|
882
|
+
var _actionRef$current7, _actionRef$current7$c;
|
849
883
|
// 全屏状态,判断全屏表单onFilter是否禁用
|
850
884
|
if (fullscreenState && !filterEnableRef.current.fullscreen) {
|
851
885
|
filterEnableRef.current.fullscreen = true;
|
852
886
|
return;
|
853
|
-
}
|
854
|
-
|
855
|
-
|
887
|
+
}
|
888
|
+
// 非全屏状态,判断普通表单onFiler是否禁用
|
856
889
|
if (!fullscreenState && !filterEnableRef.current.normal) {
|
857
890
|
filterEnableRef.current.normal = true;
|
858
891
|
return;
|
859
892
|
}
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
(_actionRef$current6 = actionRef.current) === null || _actionRef$current6 === void 0 ? void 0 : (_actionRef$current6$c = _actionRef$current6.clearRowSelection) === null || _actionRef$current6$c === void 0 ? void 0 : _actionRef$current6$c.call(_actionRef$current6);
|
893
|
+
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(values));
|
894
|
+
// 搜索变化时,暂时先清空选择
|
895
|
+
(_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);
|
864
896
|
setCurrentPage(1);
|
865
|
-
console.log('currentPageSize1', pageSize);
|
866
|
-
|
867
897
|
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
868
898
|
},
|
869
899
|
onReset: function onReset(values) {
|
870
900
|
var _dataFilterFormRef$cu3;
|
871
|
-
|
872
901
|
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
|
873
902
|
(_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
|
874
903
|
setCurrentPage(1);
|
875
|
-
console.log('currentPageSize2', pageSize);
|
876
|
-
|
877
904
|
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
878
905
|
}
|
879
906
|
});
|
880
|
-
|
881
907
|
var getTableLoading = function getTableLoading() {
|
882
908
|
if (!customRequest) {
|
883
909
|
return showLoading && !showSkeleton && (getData.loading || props.loading);
|
@@ -885,14 +911,14 @@ var ProTable = function ProTable(props) {
|
|
885
911
|
return showLoading && !showSkeleton && (customTableLoading || props.loading);
|
886
912
|
}
|
887
913
|
};
|
888
|
-
|
889
914
|
var renderTable = function renderTable(isFullScreen) {
|
890
915
|
if (propsColumns) {
|
891
916
|
return /*#__PURE__*/React.createElement("div", {
|
892
917
|
className: classNames('teamix-pro-table-container', className, 'teamix-test-request'),
|
893
918
|
"data-teamix-test-request": "url=".concat(url, "&formatResult=").concat(!!formatResult),
|
894
919
|
"data-teamix-test-params": getTestRequestParams(propsParams),
|
895
|
-
"data-teamix-test-data": getTestRequestData(propsColumns)
|
920
|
+
"data-teamix-test-data": getTestRequestData(propsColumns),
|
921
|
+
"data-teamix-spm": dataTeamixSpm
|
896
922
|
}, /*#__PURE__*/React.createElement(Layout, {
|
897
923
|
header: header,
|
898
924
|
mainAction: mainAction,
|
@@ -904,11 +930,20 @@ var ProTable = function ProTable(props) {
|
|
904
930
|
afterDataFilter: afterDataFilter,
|
905
931
|
dataFilterFormRef: isFullScreen ? fullscreenDataFilterFormRef : normalDataFilterFormRef,
|
906
932
|
rowSelection: rowSelection,
|
907
|
-
filterColumnType: filterColumnType
|
908
|
-
|
933
|
+
filterColumnType: filterColumnType,
|
934
|
+
fullScreenState: isFullScreen,
|
935
|
+
toolBarAutoWidth: toolBarAutoWidth,
|
936
|
+
dataTeamixSpm: dataTeamixSpm,
|
937
|
+
switchCardView: switchCardView,
|
938
|
+
defaultView: defaultView,
|
939
|
+
autoRefresh: autoRefresh,
|
940
|
+
autoRefreshProps: autoRefreshProps,
|
941
|
+
bindUrlProps: bindUrlProps,
|
942
|
+
bindUrl: bindUrl
|
943
|
+
}), switchViewState === 'table' && /*#__PURE__*/React.createElement(Table.StickyLock, _objectSpread({
|
909
944
|
hasBorder: false,
|
910
945
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
911
|
-
columns: genProColumnToColumn(filteredColumns, showSkeleton, actionRef, context),
|
946
|
+
columns: genProColumnToColumn(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps),
|
912
947
|
loading: getTableLoading(),
|
913
948
|
className: classNames('teamix-pro-table', tableClassName, {
|
914
949
|
'with-row-select': rowSelection,
|
@@ -920,11 +955,21 @@ var ProTable = function ProTable(props) {
|
|
920
955
|
sort: sort,
|
921
956
|
primaryKey: primaryKey,
|
922
957
|
rowSelection: rowSelection,
|
923
|
-
emptyContent: /*#__PURE__*/React.createElement(EmptyContent,
|
958
|
+
emptyContent: /*#__PURE__*/React.createElement(EmptyContent, _objectSpread({}, emptyProps)),
|
924
959
|
sortIcons: getTableSortIcons(),
|
925
960
|
fixedHeader: fullscreenState || fixedTableBody,
|
926
961
|
maxBodyHeight: "calc(100vh - ".concat(headerHeight, "px)")
|
927
|
-
}, pickProps(getTableProps(), otherProps)))
|
962
|
+
}, pickProps(getTableProps(), otherProps))), switchViewState === 'card' && /*#__PURE__*/React.createElement(CardView, {
|
963
|
+
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
964
|
+
showSkeleton: showSkeleton,
|
965
|
+
loading: getTableLoading(),
|
966
|
+
originColumns: propsColumns,
|
967
|
+
cardViewProps: cardViewProps,
|
968
|
+
scrollHeight: fullscreenState || fixedTableBody ? "calc(100vh - ".concat(headerHeight, "px)") : undefined,
|
969
|
+
actionRef: actionRef,
|
970
|
+
context: context,
|
971
|
+
columns: genProColumnToColumn(filteredColumns, showSkeleton, actionRef, context)
|
972
|
+
}));
|
928
973
|
} else {
|
929
974
|
// 不传 columns 直接返回原始 Table
|
930
975
|
return /*#__PURE__*/React.createElement(Table, _objectSpread({
|
@@ -932,67 +977,53 @@ var ProTable = function ProTable(props) {
|
|
932
977
|
}, pickProps(getTableProps(), otherProps)));
|
933
978
|
}
|
934
979
|
};
|
935
|
-
|
936
980
|
var renderFooterAction = function renderFooterAction() {
|
937
981
|
var _footerAction$actions;
|
938
|
-
|
939
982
|
if (_typeof(footerAction) === 'object' && (footerAction === null || footerAction === void 0 ? void 0 : (_footerAction$actions = footerAction.actions) === null || _footerAction$actions === void 0 ? void 0 : _footerAction$actions.length) >= 0) {
|
940
983
|
// 默认 context
|
941
984
|
var defaultContext = {
|
942
985
|
action: actionRef.current,
|
943
986
|
rowSelection: rowSelection
|
944
|
-
};
|
945
|
-
|
987
|
+
};
|
988
|
+
// 未选择的时候所有 button 默认 disabled
|
946
989
|
var targetActions = footerAction.actions.map(function (action) {
|
947
990
|
return _objectSpread(_objectSpread({}, action), {}, {
|
948
991
|
disabled: (action === null || action === void 0 ? void 0 : action.disabled) || selectedCount === 0
|
949
992
|
});
|
950
993
|
});
|
951
|
-
|
952
994
|
var targetFooterActions = _objectSpread(_objectSpread({}, footerAction), {}, {
|
953
995
|
actions: targetActions
|
954
996
|
});
|
955
|
-
|
956
997
|
return /*#__PURE__*/React.createElement("div", {
|
957
998
|
className: cls('footer-action')
|
958
999
|
}, /*#__PURE__*/React.createElement(ProActionGroup, _objectSpread(_objectSpread({}, targetFooterActions), {}, {
|
959
|
-
context: _objectSpread(_objectSpread({}, defaultContext), targetFooterActions === null || targetFooterActions === void 0 ? void 0 : targetFooterActions.context)
|
1000
|
+
context: _objectSpread(_objectSpread({}, defaultContext), targetFooterActions === null || targetFooterActions === void 0 ? void 0 : targetFooterActions.context),
|
1001
|
+
"data-teamix-spm": dataTeamixSpm ? "".concat(dataTeamixSpm, "-footerAction") : undefined
|
960
1002
|
})));
|
961
1003
|
} else return footerAction;
|
962
1004
|
};
|
963
|
-
|
964
1005
|
var renderFooter = function renderFooter() {
|
965
1006
|
function onChangePagination(currentPage) {
|
966
1007
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
967
|
-
|
968
1008
|
// 翻页默认清空选择
|
969
1009
|
if (!reserveSelectedRecords) {
|
970
|
-
var _actionRef$
|
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);
|
1010
|
+
var _actionRef$current8, _actionRef$current8$c;
|
1011
|
+
(_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);
|
973
1012
|
}
|
974
|
-
|
975
1013
|
setCurrentPage(currentPage);
|
976
|
-
|
977
1014
|
_request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
|
978
1015
|
}
|
979
|
-
|
980
1016
|
function onChangePaginationSize(currentPageSize) {
|
981
|
-
var
|
982
|
-
|
1017
|
+
var _request8;
|
983
1018
|
// 翻页默认清空选择
|
984
1019
|
if (!reserveSelectedRecords) {
|
985
|
-
var _actionRef$
|
986
|
-
|
987
|
-
(_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);
|
1020
|
+
var _actionRef$current9, _actionRef$current9$c;
|
1021
|
+
(_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);
|
988
1022
|
}
|
989
|
-
|
990
1023
|
setPageSize(currentPageSize);
|
991
1024
|
setCurrentPage(1);
|
992
|
-
|
993
|
-
_request((_request5 = {}, _defineProperty(_request5, targetPageSizeKey, currentPageSize), _defineProperty(_request5, targetPageKey, 1), _request5));
|
1025
|
+
_request((_request8 = {}, _defineProperty(_request8, targetPageSizeKey, currentPageSize), _defineProperty(_request8, targetPageKey, 1), _request8));
|
994
1026
|
}
|
995
|
-
|
996
1027
|
function renderRowSelection() {
|
997
1028
|
if (rowSelection) {
|
998
1029
|
if (showSkeleton) {
|
@@ -1002,13 +1033,13 @@ var ProTable = function ProTable(props) {
|
|
1002
1033
|
} else {
|
1003
1034
|
return /*#__PURE__*/React.createElement("div", {
|
1004
1035
|
className: cls('footer-left-wrapper')
|
1005
|
-
}, rowSelection.mode !== 'single' && /*#__PURE__*/React.createElement(Checkbox, _objectSpread({
|
1036
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, rowSelection.mode !== 'single' && /*#__PURE__*/React.createElement(Checkbox, _objectSpread({
|
1006
1037
|
className: cls("footer-checkbox-".concat(size))
|
1007
1038
|
}, getCheckAllProps())), footerAction && renderFooterAction(), /*#__PURE__*/React.createElement("span", {
|
1008
1039
|
className: cls('selected-msg')
|
1009
1040
|
}, getMessage('selected', {
|
1010
1041
|
count: selectedCount
|
1011
|
-
})));
|
1042
|
+
}))));
|
1012
1043
|
}
|
1013
1044
|
} else if (footerAction) {
|
1014
1045
|
if (showSkeleton) {
|
@@ -1022,8 +1053,11 @@ var ProTable = function ProTable(props) {
|
|
1022
1053
|
}
|
1023
1054
|
}
|
1024
1055
|
}
|
1025
|
-
|
1026
|
-
|
1056
|
+
if (showPagination && switchViewState === 'table' || (cardViewProps === null || cardViewProps === void 0 ? void 0 : cardViewProps.useTablePagination) && switchViewState === 'card') {
|
1057
|
+
var _props$paginationProp3;
|
1058
|
+
var _ref8 = (_props$paginationProp3 = props === null || props === void 0 ? void 0 : props.paginationProps) !== null && _props$paginationProp3 !== void 0 ? _props$paginationProp3 : {},
|
1059
|
+
onPaginationPropsChange = _ref8.onChange,
|
1060
|
+
othersPaginationProps = _objectWithoutProperties(_ref8, _excluded2);
|
1027
1061
|
return /*#__PURE__*/React.createElement("div", {
|
1028
1062
|
className: cls('footer', {
|
1029
1063
|
'footer-has-rowSelection': rowSelection,
|
@@ -1033,8 +1067,9 @@ var ProTable = function ProTable(props) {
|
|
1033
1067
|
className: cls('footer-right-wrapper')
|
1034
1068
|
}, showSkeleton ? /*#__PURE__*/React.createElement(Skeleton.Footer.Pagination, null) : /*#__PURE__*/React.createElement(React.Fragment, null, data.length > 0 && /*#__PURE__*/React.createElement(Pagination, _objectSpread({
|
1035
1069
|
className: cls('pagination'),
|
1036
|
-
onChange: function onChange(number) {
|
1037
|
-
|
1070
|
+
onChange: function onChange(number, e) {
|
1071
|
+
onChangePagination(number);
|
1072
|
+
onPaginationPropsChange === null || onPaginationPropsChange === void 0 ? void 0 : onPaginationPropsChange(number, e);
|
1038
1073
|
},
|
1039
1074
|
total: total,
|
1040
1075
|
responsivePaginationType: responsivePaginationType,
|
@@ -1053,8 +1088,8 @@ var ProTable = function ProTable(props) {
|
|
1053
1088
|
onPageSizeChange: function onPageSizeChange(number) {
|
1054
1089
|
return onChangePaginationSize(number);
|
1055
1090
|
}
|
1056
|
-
},
|
1057
|
-
} else if (!showPagination) {
|
1091
|
+
}, othersPaginationProps)))));
|
1092
|
+
} else if (!showPagination && (footerAction || rowSelection || useRowSelection)) {
|
1058
1093
|
return /*#__PURE__*/React.createElement("div", {
|
1059
1094
|
className: cls('footer', {
|
1060
1095
|
'footer-has-rowSelection': rowSelection
|
@@ -1063,20 +1098,18 @@ var ProTable = function ProTable(props) {
|
|
1063
1098
|
className: cls('footer-right-wrapper')
|
1064
1099
|
}, showSkeleton ? /*#__PURE__*/React.createElement(Skeleton.Footer.Pagination, null) : footer));
|
1065
1100
|
}
|
1066
|
-
};
|
1067
|
-
|
1068
|
-
|
1101
|
+
};
|
1102
|
+
// 判断是否需要吸底
|
1069
1103
|
var fixFooterState = useMemo(function () {
|
1070
1104
|
if (fullscreenState) {
|
1105
|
+
// TODO XXX
|
1071
1106
|
return false;
|
1072
1107
|
}
|
1073
|
-
|
1074
1108
|
if (fixedTableBody || footerSuction) {
|
1075
1109
|
if (footerSuctionState) {
|
1076
1110
|
return true;
|
1077
1111
|
}
|
1078
1112
|
}
|
1079
|
-
|
1080
1113
|
return false;
|
1081
1114
|
}, [fullscreenState, fixedTableBody, footerSuction, footerSuctionState]);
|
1082
1115
|
return /*#__PURE__*/React.createElement(FullScreen, {
|
@@ -1086,12 +1119,11 @@ var ProTable = function ProTable(props) {
|
|
1086
1119
|
return /*#__PURE__*/React.createElement("div", {
|
1087
1120
|
className: cls({
|
1088
1121
|
'': true,
|
1089
|
-
fullscreen:
|
1090
|
-
|
1122
|
+
fullscreen: isFullScreen
|
1123
|
+
// 'footer-suction': footerSuctionState && footerSuction,
|
1091
1124
|
}),
|
1092
1125
|
ref: tableRef
|
1093
1126
|
}, renderTable(isFullScreen), fixFooterState && /*#__PURE__*/React.createElement(ProPageContainer.FixedFooter, null, renderFooter()), !fixFooterState && renderFooter());
|
1094
1127
|
});
|
1095
1128
|
};
|
1096
|
-
|
1097
1129
|
export default ProTable;
|