@teamix/pro 1.4.24 → 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 +76829 -56886
- 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.d.ts +2 -0
- package/es/actions/dialog.js +57 -94
- 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 +18 -27
- 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/index.scss +33 -0
- 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 +12 -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 +74 -116
- 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 +6 -1
- 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 +26 -60
- 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 +467 -422
- package/es/table/index.scss +9 -1
- 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.d.ts +2 -0
- package/lib/actions/dialog.js +55 -111
- 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 +17 -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/index.scss +33 -0
- 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 +12 -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 +74 -131
- 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 +6 -1
- 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 +26 -70
- 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 +466 -444
- package/lib/table/index.scss +9 -1
- 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 +2 -2
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,110 +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
|
-
|
866
897
|
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
867
898
|
},
|
868
899
|
onReset: function onReset(values) {
|
869
900
|
var _dataFilterFormRef$cu3;
|
870
|
-
|
871
901
|
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onReset());
|
872
902
|
(_dataFilterFormRef$cu3 = dataFilterFormRef.current) === null || _dataFilterFormRef$cu3 === void 0 ? void 0 : _dataFilterFormRef$cu3.reset();
|
873
903
|
setCurrentPage(1);
|
874
|
-
|
875
904
|
_request(_defineProperty({}, targetPageKey, 1), false, values);
|
876
905
|
}
|
877
906
|
});
|
878
|
-
|
879
907
|
var getTableLoading = function getTableLoading() {
|
880
908
|
if (!customRequest) {
|
881
909
|
return showLoading && !showSkeleton && (getData.loading || props.loading);
|
@@ -883,14 +911,14 @@ var ProTable = function ProTable(props) {
|
|
883
911
|
return showLoading && !showSkeleton && (customTableLoading || props.loading);
|
884
912
|
}
|
885
913
|
};
|
886
|
-
|
887
914
|
var renderTable = function renderTable(isFullScreen) {
|
888
915
|
if (propsColumns) {
|
889
916
|
return /*#__PURE__*/React.createElement("div", {
|
890
917
|
className: classNames('teamix-pro-table-container', className, 'teamix-test-request'),
|
891
918
|
"data-teamix-test-request": "url=".concat(url, "&formatResult=").concat(!!formatResult),
|
892
919
|
"data-teamix-test-params": getTestRequestParams(propsParams),
|
893
|
-
"data-teamix-test-data": getTestRequestData(propsColumns)
|
920
|
+
"data-teamix-test-data": getTestRequestData(propsColumns),
|
921
|
+
"data-teamix-spm": dataTeamixSpm
|
894
922
|
}, /*#__PURE__*/React.createElement(Layout, {
|
895
923
|
header: header,
|
896
924
|
mainAction: mainAction,
|
@@ -902,11 +930,20 @@ var ProTable = function ProTable(props) {
|
|
902
930
|
afterDataFilter: afterDataFilter,
|
903
931
|
dataFilterFormRef: isFullScreen ? fullscreenDataFilterFormRef : normalDataFilterFormRef,
|
904
932
|
rowSelection: rowSelection,
|
905
|
-
filterColumnType: filterColumnType
|
906
|
-
|
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({
|
907
944
|
hasBorder: false,
|
908
945
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
909
|
-
columns: genProColumnToColumn(filteredColumns, showSkeleton, actionRef, context),
|
946
|
+
columns: genProColumnToColumn(filteredColumns, showSkeleton, actionRef, context, dataTeamixSpm, bindUrl, bindUrlProps),
|
910
947
|
loading: getTableLoading(),
|
911
948
|
className: classNames('teamix-pro-table', tableClassName, {
|
912
949
|
'with-row-select': rowSelection,
|
@@ -918,11 +955,21 @@ var ProTable = function ProTable(props) {
|
|
918
955
|
sort: sort,
|
919
956
|
primaryKey: primaryKey,
|
920
957
|
rowSelection: rowSelection,
|
921
|
-
emptyContent: /*#__PURE__*/React.createElement(EmptyContent,
|
958
|
+
emptyContent: /*#__PURE__*/React.createElement(EmptyContent, _objectSpread({}, emptyProps)),
|
922
959
|
sortIcons: getTableSortIcons(),
|
923
960
|
fixedHeader: fullscreenState || fixedTableBody,
|
924
961
|
maxBodyHeight: "calc(100vh - ".concat(headerHeight, "px)")
|
925
|
-
}, 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
|
+
}));
|
926
973
|
} else {
|
927
974
|
// 不传 columns 直接返回原始 Table
|
928
975
|
return /*#__PURE__*/React.createElement(Table, _objectSpread({
|
@@ -930,67 +977,53 @@ var ProTable = function ProTable(props) {
|
|
930
977
|
}, pickProps(getTableProps(), otherProps)));
|
931
978
|
}
|
932
979
|
};
|
933
|
-
|
934
980
|
var renderFooterAction = function renderFooterAction() {
|
935
981
|
var _footerAction$actions;
|
936
|
-
|
937
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) {
|
938
983
|
// 默认 context
|
939
984
|
var defaultContext = {
|
940
985
|
action: actionRef.current,
|
941
986
|
rowSelection: rowSelection
|
942
|
-
};
|
943
|
-
|
987
|
+
};
|
988
|
+
// 未选择的时候所有 button 默认 disabled
|
944
989
|
var targetActions = footerAction.actions.map(function (action) {
|
945
990
|
return _objectSpread(_objectSpread({}, action), {}, {
|
946
991
|
disabled: (action === null || action === void 0 ? void 0 : action.disabled) || selectedCount === 0
|
947
992
|
});
|
948
993
|
});
|
949
|
-
|
950
994
|
var targetFooterActions = _objectSpread(_objectSpread({}, footerAction), {}, {
|
951
995
|
actions: targetActions
|
952
996
|
});
|
953
|
-
|
954
997
|
return /*#__PURE__*/React.createElement("div", {
|
955
998
|
className: cls('footer-action')
|
956
999
|
}, /*#__PURE__*/React.createElement(ProActionGroup, _objectSpread(_objectSpread({}, targetFooterActions), {}, {
|
957
|
-
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
|
958
1002
|
})));
|
959
1003
|
} else return footerAction;
|
960
1004
|
};
|
961
|
-
|
962
1005
|
var renderFooter = function renderFooter() {
|
963
1006
|
function onChangePagination(currentPage) {
|
964
1007
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
965
|
-
|
966
1008
|
// 翻页默认清空选择
|
967
1009
|
if (!reserveSelectedRecords) {
|
968
|
-
var _actionRef$
|
969
|
-
|
970
|
-
(_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);
|
971
1012
|
}
|
972
|
-
|
973
1013
|
setCurrentPage(currentPage);
|
974
|
-
|
975
1014
|
_request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
|
976
1015
|
}
|
977
|
-
|
978
1016
|
function onChangePaginationSize(currentPageSize) {
|
979
|
-
var
|
980
|
-
|
1017
|
+
var _request8;
|
981
1018
|
// 翻页默认清空选择
|
982
1019
|
if (!reserveSelectedRecords) {
|
983
|
-
var _actionRef$
|
984
|
-
|
985
|
-
(_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);
|
986
1022
|
}
|
987
|
-
|
988
1023
|
setPageSize(currentPageSize);
|
989
1024
|
setCurrentPage(1);
|
990
|
-
|
991
|
-
_request((_request5 = {}, _defineProperty(_request5, targetPageSizeKey, currentPageSize), _defineProperty(_request5, targetPageKey, 1), _request5));
|
1025
|
+
_request((_request8 = {}, _defineProperty(_request8, targetPageSizeKey, currentPageSize), _defineProperty(_request8, targetPageKey, 1), _request8));
|
992
1026
|
}
|
993
|
-
|
994
1027
|
function renderRowSelection() {
|
995
1028
|
if (rowSelection) {
|
996
1029
|
if (showSkeleton) {
|
@@ -1000,28 +1033,43 @@ var ProTable = function ProTable(props) {
|
|
1000
1033
|
} else {
|
1001
1034
|
return /*#__PURE__*/React.createElement("div", {
|
1002
1035
|
className: cls('footer-left-wrapper')
|
1003
|
-
}, rowSelection.mode !== 'single' && /*#__PURE__*/React.createElement(Checkbox, _objectSpread({
|
1036
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, rowSelection.mode !== 'single' && /*#__PURE__*/React.createElement(Checkbox, _objectSpread({
|
1004
1037
|
className: cls("footer-checkbox-".concat(size))
|
1005
1038
|
}, getCheckAllProps())), footerAction && renderFooterAction(), /*#__PURE__*/React.createElement("span", {
|
1006
1039
|
className: cls('selected-msg')
|
1007
1040
|
}, getMessage('selected', {
|
1008
1041
|
count: selectedCount
|
1009
|
-
})));
|
1042
|
+
}))));
|
1043
|
+
}
|
1044
|
+
} else if (footerAction) {
|
1045
|
+
if (showSkeleton) {
|
1046
|
+
return /*#__PURE__*/React.createElement("div", {
|
1047
|
+
className: cls('footer-left-wrapper')
|
1048
|
+
}, /*#__PURE__*/React.createElement(Skeleton.Footer.Operation, null));
|
1049
|
+
} else {
|
1050
|
+
return /*#__PURE__*/React.createElement("div", {
|
1051
|
+
className: cls('footer-left-wrapper')
|
1052
|
+
}, footerAction && renderFooterAction());
|
1010
1053
|
}
|
1011
1054
|
}
|
1012
1055
|
}
|
1013
|
-
|
1014
|
-
|
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);
|
1015
1061
|
return /*#__PURE__*/React.createElement("div", {
|
1016
1062
|
className: cls('footer', {
|
1017
|
-
'footer-has-rowSelection': rowSelection
|
1063
|
+
'footer-has-rowSelection': rowSelection,
|
1064
|
+
'footer-has-action': footerAction
|
1018
1065
|
})
|
1019
1066
|
}, renderRowSelection(), /*#__PURE__*/React.createElement("div", {
|
1020
1067
|
className: cls('footer-right-wrapper')
|
1021
1068
|
}, showSkeleton ? /*#__PURE__*/React.createElement(Skeleton.Footer.Pagination, null) : /*#__PURE__*/React.createElement(React.Fragment, null, data.length > 0 && /*#__PURE__*/React.createElement(Pagination, _objectSpread({
|
1022
1069
|
className: cls('pagination'),
|
1023
|
-
onChange: function onChange(number) {
|
1024
|
-
|
1070
|
+
onChange: function onChange(number, e) {
|
1071
|
+
onChangePagination(number);
|
1072
|
+
onPaginationPropsChange === null || onPaginationPropsChange === void 0 ? void 0 : onPaginationPropsChange(number, e);
|
1025
1073
|
},
|
1026
1074
|
total: total,
|
1027
1075
|
responsivePaginationType: responsivePaginationType,
|
@@ -1040,8 +1088,8 @@ var ProTable = function ProTable(props) {
|
|
1040
1088
|
onPageSizeChange: function onPageSizeChange(number) {
|
1041
1089
|
return onChangePaginationSize(number);
|
1042
1090
|
}
|
1043
|
-
},
|
1044
|
-
} else if (!showPagination) {
|
1091
|
+
}, othersPaginationProps)))));
|
1092
|
+
} else if (!showPagination && (footerAction || rowSelection || useRowSelection)) {
|
1045
1093
|
return /*#__PURE__*/React.createElement("div", {
|
1046
1094
|
className: cls('footer', {
|
1047
1095
|
'footer-has-rowSelection': rowSelection
|
@@ -1050,20 +1098,18 @@ var ProTable = function ProTable(props) {
|
|
1050
1098
|
className: cls('footer-right-wrapper')
|
1051
1099
|
}, showSkeleton ? /*#__PURE__*/React.createElement(Skeleton.Footer.Pagination, null) : footer));
|
1052
1100
|
}
|
1053
|
-
};
|
1054
|
-
|
1055
|
-
|
1101
|
+
};
|
1102
|
+
// 判断是否需要吸底
|
1056
1103
|
var fixFooterState = useMemo(function () {
|
1057
1104
|
if (fullscreenState) {
|
1105
|
+
// TODO XXX
|
1058
1106
|
return false;
|
1059
1107
|
}
|
1060
|
-
|
1061
1108
|
if (fixedTableBody || footerSuction) {
|
1062
1109
|
if (footerSuctionState) {
|
1063
1110
|
return true;
|
1064
1111
|
}
|
1065
1112
|
}
|
1066
|
-
|
1067
1113
|
return false;
|
1068
1114
|
}, [fullscreenState, fixedTableBody, footerSuction, footerSuctionState]);
|
1069
1115
|
return /*#__PURE__*/React.createElement(FullScreen, {
|
@@ -1073,12 +1119,11 @@ var ProTable = function ProTable(props) {
|
|
1073
1119
|
return /*#__PURE__*/React.createElement("div", {
|
1074
1120
|
className: cls({
|
1075
1121
|
'': true,
|
1076
|
-
fullscreen:
|
1077
|
-
|
1122
|
+
fullscreen: isFullScreen
|
1123
|
+
// 'footer-suction': footerSuctionState && footerSuction,
|
1078
1124
|
}),
|
1079
1125
|
ref: tableRef
|
1080
1126
|
}, renderTable(isFullScreen), fixFooterState && /*#__PURE__*/React.createElement(ProPageContainer.FixedFooter, null, renderFooter()), !fixFooterState && renderFooter());
|
1081
1127
|
});
|
1082
1128
|
};
|
1083
|
-
|
1084
1129
|
export default ProTable;
|