@teamix/pro 1.2.17 → 1.2.21
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/212.js +49 -49
- package/dist/pro.css +1 -1
- package/dist/pro.js +2173 -744
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/base.d.ts +2 -1
- package/es/actions/base.js +1 -1
- package/es/actions/danger-pop-confirm.d.ts +5 -0
- package/es/actions/danger-pop-confirm.js +10 -0
- package/es/actions/dialog.d.ts +1 -1
- package/es/actions/dialog.js +34 -36
- package/es/actions/index.d.ts +3 -0
- package/es/actions/index.js +10 -0
- package/es/actions/pop-confirm.d.ts +9 -0
- package/es/actions/pop-confirm.js +9 -0
- package/es/form/Components/LightFilter/componentMap.d.ts +2 -1
- package/es/form/Components/LightFilter/componentMap.js +4 -2
- package/es/form/Components/LightFilter/index.d.ts +1 -0
- package/es/form/Components/LightFilter/index.js +34 -16
- package/es/form/Components/LightFilter/index.scss +14 -4
- package/es/form/Filter/AdvancedFilter.d.ts +7 -0
- package/es/form/Filter/AdvancedFilter.js +113 -0
- package/es/form/Filter/LightFilter.d.ts +7 -0
- package/es/form/Filter/LightFilter.js +79 -0
- package/es/form/Filter/SimpleFilter.d.ts +7 -0
- package/es/form/Filter/SimpleFilter.js +74 -0
- package/es/form/Filter/index2.js +288 -235
- package/es/form/Filter/index2.scss +3 -0
- package/es/form/ProForm/index.js +11 -7
- package/es/form/ProForm/index.scss +3 -0
- package/es/form/ProForm/useFieldRequest.js +1 -8
- package/es/form/ProForm/useFormDisplayValues.js +4 -2
- package/es/form/SchemaForm/index.js +19 -11
- package/es/form/SchemaForm/initializeDataSource.d.ts +2 -2
- package/es/form/SchemaForm/initializeDataSource.js +4 -9
- package/es/form/SchemaForm/initializeRequest.d.ts +2 -2
- package/es/form/SchemaForm/initializeRequest.js +4 -10
- package/es/form/SchemaForm/initializeRules.d.ts +7 -1
- package/es/form/SchemaForm/initializeRules.js +9 -13
- package/es/form/SchemaForm/reactions.d.ts +5 -5
- package/es/form/SchemaForm/reactions.js +27 -29
- package/es/form/typing.d.ts +11 -2
- package/es/form/utils.d.ts +8 -7
- package/es/form/utils.js +5 -4
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/table/components/Filter/index.js +1 -0
- package/es/table/components/Pagination/index.d.ts +3 -0
- package/es/table/components/Pagination/index.js +82 -0
- package/es/table/components/ToolBar/FilterColumnIcon.js +18 -5
- package/es/table/components/ToolBar/index.scss +8 -2
- package/es/table/index.js +71 -18
- package/es/table/index.scss +7 -1
- package/es/table/typing.d.ts +5 -0
- package/lib/actions/base.d.ts +2 -1
- package/lib/actions/base.js +1 -1
- package/lib/actions/danger-pop-confirm.d.ts +5 -0
- package/lib/actions/danger-pop-confirm.js +22 -0
- package/lib/actions/dialog.d.ts +1 -1
- package/lib/actions/dialog.js +35 -36
- package/lib/actions/index.d.ts +3 -0
- package/lib/actions/index.js +12 -0
- package/lib/actions/pop-confirm.d.ts +9 -0
- package/lib/actions/pop-confirm.js +23 -0
- package/lib/form/Components/LightFilter/componentMap.d.ts +2 -1
- package/lib/form/Components/LightFilter/componentMap.js +6 -4
- package/lib/form/Components/LightFilter/index.d.ts +1 -0
- package/lib/form/Components/LightFilter/index.js +31 -14
- package/lib/form/Components/LightFilter/index.scss +14 -4
- package/lib/form/Filter/AdvancedFilter.d.ts +7 -0
- package/lib/form/Filter/AdvancedFilter.js +133 -0
- package/lib/form/Filter/LightFilter.d.ts +7 -0
- package/lib/form/Filter/LightFilter.js +99 -0
- package/lib/form/Filter/SimpleFilter.d.ts +7 -0
- package/lib/form/Filter/SimpleFilter.js +93 -0
- package/lib/form/Filter/index2.js +291 -234
- package/lib/form/Filter/index2.scss +3 -0
- package/lib/form/ProForm/index.js +10 -6
- package/lib/form/ProForm/index.scss +3 -0
- package/lib/form/ProForm/useFieldRequest.js +1 -9
- package/lib/form/ProForm/useFormDisplayValues.js +3 -1
- package/lib/form/SchemaForm/index.js +19 -10
- package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -2
- package/lib/form/SchemaForm/initializeDataSource.js +4 -11
- package/lib/form/SchemaForm/initializeRequest.d.ts +2 -2
- package/lib/form/SchemaForm/initializeRequest.js +4 -11
- package/lib/form/SchemaForm/initializeRules.d.ts +7 -1
- package/lib/form/SchemaForm/initializeRules.js +9 -16
- package/lib/form/SchemaForm/reactions.d.ts +5 -5
- package/lib/form/SchemaForm/reactions.js +29 -31
- package/lib/form/typing.d.ts +11 -2
- package/lib/form/utils.d.ts +8 -7
- package/lib/form/utils.js +6 -5
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/table/components/Pagination/index.d.ts +3 -0
- package/lib/table/components/Pagination/index.js +95 -0
- package/lib/table/components/ToolBar/FilterColumnIcon.js +18 -5
- package/lib/table/components/ToolBar/index.scss +8 -2
- package/lib/table/index.js +69 -17
- package/lib/table/index.scss +7 -1
- package/lib/table/typing.d.ts +5 -0
- package/package.json +3 -3
@@ -54,7 +54,8 @@ var processColumns = function processColumns(columns) {
|
|
54
54
|
var FilterColumnIcon = function FilterColumnIcon(props) {
|
55
55
|
var _props$columns = props.columns,
|
56
56
|
columns = _props$columns === void 0 ? [] : _props$columns,
|
57
|
-
actionRef = props.actionRef
|
57
|
+
actionRef = props.actionRef,
|
58
|
+
filterColumnType = props.filterColumnType;
|
58
59
|
|
59
60
|
var _useState = useState(true),
|
60
61
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -241,7 +242,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
241
242
|
align: "tr br"
|
242
243
|
}, /*#__PURE__*/React.createElement("div", {
|
243
244
|
className: cls()
|
244
|
-
}, /*#__PURE__*/React.createElement(Menu,
|
245
|
+
}, /*#__PURE__*/React.createElement(Menu, {
|
246
|
+
className: cls('all-select')
|
247
|
+
}, /*#__PURE__*/React.createElement(CheckboxItem, {
|
245
248
|
indeterminate: indeterminate,
|
246
249
|
checked: allVisible,
|
247
250
|
onChange: onChangeAllColumns
|
@@ -254,7 +257,9 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
254
257
|
type: "primary"
|
255
258
|
}, getMessage('reset'))), /*#__PURE__*/React.createElement(Menu.Divider, {
|
256
259
|
key: "divider"
|
257
|
-
}),
|
260
|
+
})), /*#__PURE__*/React.createElement(Menu, {
|
261
|
+
className: cls('checkbox-group')
|
262
|
+
}, newColumns.map(function (_ref9, index) {
|
258
263
|
var _newColumns$find;
|
259
264
|
|
260
265
|
var dataIndex = _ref9.dataIndex,
|
@@ -344,12 +349,20 @@ var FilterColumnIcon = function FilterColumnIcon(props) {
|
|
344
349
|
},
|
345
350
|
disabled: columnFiltersDisabled
|
346
351
|
}, /*#__PURE__*/React.createElement(Ellipsis, {
|
347
|
-
tooltip:
|
352
|
+
tooltip: title
|
348
353
|
}, title)));
|
349
354
|
}))));
|
350
355
|
};
|
351
356
|
|
352
|
-
if (
|
357
|
+
if (filterColumnType === 'dialog') {
|
358
|
+
return renderDialog();
|
359
|
+
}
|
360
|
+
|
361
|
+
if (filterColumnType === 'dropdown') {
|
362
|
+
return renderDropdown();
|
363
|
+
}
|
364
|
+
|
365
|
+
if (newColumns.length >= 20) {
|
353
366
|
return renderDialog();
|
354
367
|
}
|
355
368
|
|
@@ -18,8 +18,6 @@
|
|
18
18
|
// FilterColumn
|
19
19
|
.teamix-pro-table-toolbar-filter-column {
|
20
20
|
min-width: 180px;
|
21
|
-
max-height: 350px;
|
22
|
-
overflow: auto;
|
23
21
|
box-shadow: var(--popup-local-shadow, 0px 6px 24px 0px rgba(0, 0, 0, 0.1));
|
24
22
|
background: var(--menu-background);
|
25
23
|
&-reset {
|
@@ -76,6 +74,14 @@
|
|
76
74
|
align-items: center;
|
77
75
|
}
|
78
76
|
}
|
77
|
+
.teamix-pro-table-toolbar-filter-column-all-select.teamix-pro-table-toolbar-filter-column-all-select {
|
78
|
+
padding-bottom: 0;
|
79
|
+
}
|
80
|
+
.teamix-pro-table-toolbar-filter-column-checkbox-group.teamix-pro-table-toolbar-filter-column-checkbox-group {
|
81
|
+
padding-top: 0;
|
82
|
+
max-height: 310px;
|
83
|
+
overflow: auto;
|
84
|
+
}
|
79
85
|
|
80
86
|
// fullscreen
|
81
87
|
.teamix-pro-table-full-screen {
|
package/es/table/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest"];
|
1
|
+
var _excluded = ["header", "className", "tableClassName", "mainAction", "extra", "dataFilter", "toolBar", "columns", "useRowSelection", "rowSelection", "onChangeRowSelection", "getRowSelection", "primaryKey", "footerAction", "footer", "url", "pageKey", "pageSizeKey", "method", "params", "formatSort", "formatParams", "formatResult", "requestWhenMount", "showPagination", "pageSizeList", "showSkeleton", "skeletonSize", "actionRef", "dataSource", "filterDebounce", "footerSuction", "autoRefresh", "customRequest", "filterColumnType"];
|
2
2
|
|
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
4
|
|
@@ -33,7 +33,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
33
33
|
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
34
|
|
35
35
|
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
36
|
-
import { Table,
|
36
|
+
import { Table, Checkbox, Pagination } from '@alicloudfe/components'; // import Pagination from './components/Pagination';
|
37
|
+
|
37
38
|
import genProColumnToColumn from './utils/genProColumnToColumn';
|
38
39
|
import { baseClass, useRequest, request as utilResquest, getDeepValue, getMessage, pickProps } from '@teamix/utils';
|
39
40
|
import { ProSkeletonRaw as Skeleton } from '../skeleton';
|
@@ -59,10 +60,36 @@ var toJS = formilyReactive.toJS;
|
|
59
60
|
* @returns
|
60
61
|
*/
|
61
62
|
|
62
|
-
var processColumns = function processColumns(columns) {
|
63
|
-
|
63
|
+
var processColumns = function processColumns(columns, initialColumns) {
|
64
|
+
var filterColumns = columns.filter(function (item) {
|
64
65
|
return item.columnFilters !== false;
|
65
|
-
});
|
66
|
+
}); // 处理只剩一列批量选择的情况下宽度错乱问题
|
67
|
+
|
68
|
+
if (filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) {
|
69
|
+
if ((filterColumns === null || filterColumns === void 0 ? void 0 : filterColumns.length) === 1) {
|
70
|
+
var _filterColumns$, _filterColumns$2;
|
71
|
+
|
72
|
+
if ((_filterColumns$ = filterColumns[0]) === null || _filterColumns$ === void 0 ? void 0 : _filterColumns$.width) {
|
73
|
+
delete filterColumns[0].width;
|
74
|
+
}
|
75
|
+
|
76
|
+
if ((_filterColumns$2 = filterColumns[0]) === null || _filterColumns$2 === void 0 ? void 0 : _filterColumns$2.lock) {
|
77
|
+
filterColumns[0].lock = false;
|
78
|
+
}
|
79
|
+
} else {
|
80
|
+
var _initialColumns$, _initialColumns$2;
|
81
|
+
|
82
|
+
if ((_initialColumns$ = initialColumns[0]) === null || _initialColumns$ === void 0 ? void 0 : _initialColumns$.width) {
|
83
|
+
filterColumns[0].width = initialColumns[0].width;
|
84
|
+
}
|
85
|
+
|
86
|
+
if ((_initialColumns$2 = initialColumns[0]) === null || _initialColumns$2 === void 0 ? void 0 : _initialColumns$2.lock) {
|
87
|
+
filterColumns[0].lock = initialColumns[0].lock;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
return filterColumns;
|
66
93
|
};
|
67
94
|
/** 默认请求翻页参数 */
|
68
95
|
|
@@ -132,6 +159,8 @@ var ProTable = function ProTable(props) {
|
|
132
159
|
return false;
|
133
160
|
} : _props$autoRefresh,
|
134
161
|
customRequest = props.customRequest,
|
162
|
+
_props$filterColumnTy = props.filterColumnType,
|
163
|
+
filterColumnType = _props$filterColumnTy === void 0 ? 'auto' : _props$filterColumnTy,
|
135
164
|
otherProps = _objectWithoutProperties(props, _excluded);
|
136
165
|
|
137
166
|
var targetPageKey = pageKey || globalPageKey;
|
@@ -163,7 +192,7 @@ var ProTable = function ProTable(props) {
|
|
163
192
|
sort = _useState10[0],
|
164
193
|
setSort = _useState10[1];
|
165
194
|
|
166
|
-
var _useState11 = useState(requestWhenMount && propsShowSkeleton),
|
195
|
+
var _useState11 = useState(!propsDataSource && requestWhenMount && propsShowSkeleton),
|
167
196
|
_useState12 = _slicedToArray(_useState11, 2),
|
168
197
|
showSkeleton = _useState12[0],
|
169
198
|
setShowSkeleton = _useState12[1]; // 首次加载,渲染骨架屏
|
@@ -180,7 +209,7 @@ var ProTable = function ProTable(props) {
|
|
180
209
|
var tableRef = useRef(null);
|
181
210
|
var actionRef = useRef(); // 传给 table 的过滤后的 columns
|
182
211
|
|
183
|
-
var _useState15 = useState(processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [])),
|
212
|
+
var _useState15 = useState(processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns)),
|
184
213
|
_useState16 = _slicedToArray(_useState15, 2),
|
185
214
|
filteredColumns = _useState16[0],
|
186
215
|
setFilteredColumns = _useState16[1];
|
@@ -351,10 +380,16 @@ var ProTable = function ProTable(props) {
|
|
351
380
|
useEffect(function () {
|
352
381
|
var _actionRef$current, _actionRef$current$se;
|
353
382
|
|
354
|
-
var columns = processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : []);
|
383
|
+
var columns = processColumns(propsColumns !== null && propsColumns !== void 0 ? propsColumns : [], propsColumns);
|
355
384
|
setFilteredColumns(columns);
|
356
385
|
(_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);
|
357
|
-
}, [propsColumns]); //
|
386
|
+
}, [propsColumns]); // dataSource 受控
|
387
|
+
|
388
|
+
useEffect(function () {
|
389
|
+
if (propsDataSource) {
|
390
|
+
setData(propsDataSource);
|
391
|
+
}
|
392
|
+
}, [propsDataSource]); // 绑定 Actions
|
358
393
|
|
359
394
|
useActionType(actionRef, {
|
360
395
|
fullScreen: function fullScreen() {
|
@@ -369,7 +404,7 @@ var ProTable = function ProTable(props) {
|
|
369
404
|
setColumn: function setColumn(newColumns) {
|
370
405
|
var _actionRef$current2, _actionRef$current2$s;
|
371
406
|
|
372
|
-
var columns = processColumns(newColumns);
|
407
|
+
var columns = processColumns(newColumns, propsColumns);
|
373
408
|
setFilteredColumns(columns);
|
374
409
|
(_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, 'filterColumns', columns);
|
375
410
|
},
|
@@ -381,6 +416,15 @@ var ProTable = function ProTable(props) {
|
|
381
416
|
},
|
382
417
|
request: function request(params) {
|
383
418
|
if (dataFilterForm.validate()) {
|
419
|
+
// 如果请求中还有翻页相关信息,需要自动设置到指定页
|
420
|
+
if (params === null || params === void 0 ? void 0 : params[targetPageKey]) {
|
421
|
+
setCurrentPage(params[targetPageKey]);
|
422
|
+
}
|
423
|
+
|
424
|
+
if (params === null || params === void 0 ? void 0 : params[targetPageSizeKey]) {
|
425
|
+
setPageSize(params[targetPageSizeKey]);
|
426
|
+
}
|
427
|
+
|
384
428
|
_request(params);
|
385
429
|
}
|
386
430
|
},
|
@@ -411,6 +455,7 @@ var ProTable = function ProTable(props) {
|
|
411
455
|
targetPageSizeKey: targetPageSizeKey,
|
412
456
|
pageSize: pageSize
|
413
457
|
},
|
458
|
+
data: data,
|
414
459
|
dataFilterForm: dataFilterForm,
|
415
460
|
resetTableMaxBodyHeight: function resetTableMaxBodyHeight() {
|
416
461
|
getHeaderHeight().then(function (height) {
|
@@ -609,10 +654,11 @@ var ProTable = function ProTable(props) {
|
|
609
654
|
(propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onFilter(_objectSpread({}, toJS(dataFilterForm.values))));
|
610
655
|
|
611
656
|
if (dataFilterForm.validate()) {
|
612
|
-
|
613
|
-
|
614
|
-
//
|
615
|
-
|
657
|
+
var _actionRef$current6, _actionRef$current6$c;
|
658
|
+
|
659
|
+
// 搜索变化时,暂时先清空选择
|
660
|
+
(_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);
|
661
|
+
setCurrentPage(1);
|
616
662
|
|
617
663
|
_request(_defineProperty({}, targetPageKey, 1));
|
618
664
|
}
|
@@ -647,7 +693,8 @@ var ProTable = function ProTable(props) {
|
|
647
693
|
columns: propsColumns,
|
648
694
|
dataFilter: dataFilter,
|
649
695
|
dataFilterForm: dataFilterForm,
|
650
|
-
rowSelection: rowSelection
|
696
|
+
rowSelection: rowSelection,
|
697
|
+
filterColumnType: filterColumnType
|
651
698
|
}), /*#__PURE__*/React.createElement(Table.StickyLock, _objectSpread({
|
652
699
|
hasBorder: false,
|
653
700
|
dataSource: showSkeleton ? skeletonDataSource : data || props.dataSource,
|
@@ -705,15 +752,21 @@ var ProTable = function ProTable(props) {
|
|
705
752
|
|
706
753
|
var renderFooter = function renderFooter() {
|
707
754
|
function onChangePagination(currentPage) {
|
755
|
+
var _actionRef$current7, _actionRef$current7$c;
|
756
|
+
|
708
757
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
758
|
+
// 翻页暂时先清空选择
|
759
|
+
(_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);
|
709
760
|
setCurrentPage(currentPage);
|
710
761
|
|
711
762
|
_request(_objectSpread(_defineProperty({}, targetPageKey, currentPage), params));
|
712
763
|
}
|
713
764
|
|
714
765
|
function onChangePaginationSize(currentPageSize) {
|
715
|
-
var _request5;
|
766
|
+
var _actionRef$current8, _actionRef$current8$c, _request5;
|
716
767
|
|
768
|
+
// 翻页暂时先清空选择
|
769
|
+
(_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);
|
717
770
|
setPageSize(currentPageSize);
|
718
771
|
setCurrentPage(1);
|
719
772
|
|
@@ -753,6 +806,8 @@ var ProTable = function ProTable(props) {
|
|
753
806
|
return onChangePagination(number);
|
754
807
|
},
|
755
808
|
total: total,
|
809
|
+
shape: "arrow-only",
|
810
|
+
pageSizePosition: "end",
|
756
811
|
totalRender: function totalRender(total) {
|
757
812
|
return getMessage('total', {
|
758
813
|
total: total
|
@@ -760,10 +815,8 @@ var ProTable = function ProTable(props) {
|
|
760
815
|
},
|
761
816
|
pageSize: pageSize,
|
762
817
|
current: currentPage,
|
763
|
-
shape: "arrow-only",
|
764
818
|
pageSizeList: pageSizeList,
|
765
819
|
pageSizeSelector: total > (props.pageSize || 10) * 2 ? 'dropdown' : false,
|
766
|
-
pageSizePosition: "end",
|
767
820
|
type: total / pageSize <= 2 ? 'simple' : 'normal',
|
768
821
|
onPageSizeChange: function onPageSizeChange(number) {
|
769
822
|
return onChangePaginationSize(number);
|
package/es/table/index.scss
CHANGED
@@ -32,12 +32,18 @@ $fullscreenPadding: 24px;
|
|
32
32
|
}
|
33
33
|
&-footer-left-wrapper {
|
34
34
|
display: flex;
|
35
|
-
flex:
|
35
|
+
flex-shrink: 0;
|
36
36
|
align-items: center;
|
37
37
|
}
|
38
38
|
&-footer-right-wrapper {
|
39
39
|
display: flex;
|
40
40
|
justify-content: flex-end;
|
41
|
+
width: 100%;
|
42
|
+
}
|
43
|
+
.pagination-wrapper {
|
44
|
+
display: flex;
|
45
|
+
justify-content: flex-end;
|
46
|
+
width: 100%;
|
41
47
|
}
|
42
48
|
&-footer-action {
|
43
49
|
margin-left: 16px;
|
package/es/table/typing.d.ts
CHANGED
@@ -129,6 +129,7 @@ export declare type rowSelectionType = {
|
|
129
129
|
onSelect?: (selected: boolean, record: any, records: Array<any>) => void;
|
130
130
|
onSelectAll?: (selected: boolean, records: Array<any>) => void;
|
131
131
|
selectedRowKeys?: Array<any>;
|
132
|
+
selectedRecords?: any[];
|
132
133
|
mode?: 'single' | 'multiple';
|
133
134
|
titleProps?: () => any;
|
134
135
|
columnProps?: () => any;
|
@@ -177,6 +178,8 @@ export declare type ProTableActionType = {
|
|
177
178
|
resetPage?: () => void;
|
178
179
|
/** 获取数据过滤区表单实例 */
|
179
180
|
dataFilterForm?: FormType;
|
181
|
+
/** 表格当前的数据 */
|
182
|
+
data?: any[];
|
180
183
|
} & ProTableActionTypeMutations;
|
181
184
|
/** action State 定义 */
|
182
185
|
export declare type ProTableActionTypeMutations = {
|
@@ -232,6 +235,8 @@ export declare type ProTableTopAreaProps = {
|
|
232
235
|
dataFilter?: ProTableDataFilterProps;
|
233
236
|
/** 数据过滤区 form 表单模型 */
|
234
237
|
dataFilterForm?: FormType;
|
238
|
+
/** 排序、筛选列展示状态 */
|
239
|
+
filterColumnType?: 'dialog' | 'dropdown' | 'auto';
|
235
240
|
};
|
236
241
|
/** 单个工具栏 */
|
237
242
|
export declare type ProTableToolBarItem = React.ReactNode | 'refresh' | 'density' | 'filterColumn' | 'fullscreen';
|
package/lib/actions/base.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="react" />
|
1
2
|
import { MaybePromise } from '@teamix/utils';
|
2
3
|
export interface BaseAction {
|
3
4
|
/** 事件触发方式,默认是 onClick */
|
@@ -17,7 +18,7 @@ export interface BaseAction {
|
|
17
18
|
/** 事件开始执行完毕的回调函数 */
|
18
19
|
onFinish?: (params?: any) => any;
|
19
20
|
}
|
20
|
-
export declare function eventHandler(action: BaseAction, actionContext: any, onTrigger: (context: any) => void): {
|
21
|
+
export declare function eventHandler(action: BaseAction, actionContext: any, onTrigger: (context: any, e: React.MouseEvent<HTMLElement>) => void): {
|
21
22
|
[x: string]: (e: React.MouseEvent<HTMLElement>) => Promise<void>;
|
22
23
|
};
|
23
24
|
export default eventHandler;
|
package/lib/actions/base.js
CHANGED
@@ -65,7 +65,7 @@ function eventHandler(action, actionContext, onTrigger) {
|
|
65
65
|
return _context.abrupt("return");
|
66
66
|
|
67
67
|
case 14:
|
68
|
-
onTrigger(Object.assign({}, beforeActionContext, actionContext));
|
68
|
+
onTrigger(Object.assign({}, beforeActionContext, actionContext), e);
|
69
69
|
(_action$onTrigger = action.onTrigger) === null || _action$onTrigger === void 0 ? void 0 : _action$onTrigger.call(action);
|
70
70
|
|
71
71
|
case 16:
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { PopConfirmAction } from './pop-confirm';
|
2
|
+
export declare function useDangerPopConfirmAction(action: PopConfirmAction, context?: any): {
|
3
|
+
[x: string]: (e: import("react").MouseEvent<HTMLElement, MouseEvent>) => Promise<void>;
|
4
|
+
};
|
5
|
+
export default useDangerPopConfirmAction;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
exports.useDangerPopConfirmAction = useDangerPopConfirmAction;
|
8
|
+
|
9
|
+
var _utils = require("@teamix/utils");
|
10
|
+
|
11
|
+
var _dialog = require("./dialog");
|
12
|
+
|
13
|
+
function useDangerPopConfirmAction(action, context) {
|
14
|
+
return (0, _dialog.useDialogAction)((0, _utils.deepMerge)({
|
15
|
+
dialogType: 'pop',
|
16
|
+
popType: 'danger',
|
17
|
+
align: 'br'
|
18
|
+
}, action), context);
|
19
|
+
}
|
20
|
+
|
21
|
+
var _default = useDangerPopConfirmAction;
|
22
|
+
exports.default = _default;
|
package/lib/actions/dialog.d.ts
CHANGED
@@ -8,7 +8,7 @@ export interface DialogAction extends Omit<RequestAction, 'url'>, Omit<QuickShow
|
|
8
8
|
/** 点击「确认按钮」后的数据请求地址,非必填,不填就不发请求 */
|
9
9
|
url?: string;
|
10
10
|
/** 弹窗类型,支持普通弹窗和抽屉两种模式,默认为普通弹窗 */
|
11
|
-
dialogType?: 'dialog' | 'drawer';
|
11
|
+
dialogType?: 'dialog' | 'drawer' | 'pop';
|
12
12
|
/** 弹窗快捷调用类型 */
|
13
13
|
dialogQuickShowType?: 'alert' | 'confirm';
|
14
14
|
/** 弹窗消息类型 */
|
package/lib/actions/dialog.js
CHANGED
@@ -16,6 +16,8 @@ var _reactRouterDom = require("react-router-dom");
|
|
16
16
|
|
17
17
|
var _components = require("@alicloudfe/components");
|
18
18
|
|
19
|
+
var _popConfirm = _interopRequireDefault(require("@teamix/pop-confirm"));
|
20
|
+
|
19
21
|
var _utils = require("@teamix/utils");
|
20
22
|
|
21
23
|
var _form = _interopRequireWildcard(require("../form"));
|
@@ -29,7 +31,7 @@ var _request = require("./request");
|
|
29
31
|
var _utils2 = require("./utils");
|
30
32
|
|
31
33
|
var _excluded = ["url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
|
32
|
-
_excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "className"];
|
34
|
+
_excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "popType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "className"];
|
33
35
|
|
34
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
35
37
|
|
@@ -102,7 +104,9 @@ function useDialogAction(action, actionContext) {
|
|
102
104
|
var footerDescriptionRef = (0, _react.useRef)();
|
103
105
|
var history = (0, _reactRouterDom.useHistory)();
|
104
106
|
|
105
|
-
var onActionStart = function onActionStart(context) {
|
107
|
+
var onActionStart = function onActionStart(context, e) {
|
108
|
+
var _objectSpread2;
|
109
|
+
|
106
110
|
var url = action.url,
|
107
111
|
method = action.method,
|
108
112
|
params = action.params,
|
@@ -126,6 +130,7 @@ function useDialogAction(action, actionContext) {
|
|
126
130
|
dialogQuickShowType = _getTargetValue.dialogQuickShowType,
|
127
131
|
_getTargetValue$messa = _getTargetValue.messageType,
|
128
132
|
messageType = _getTargetValue$messa === void 0 ? 'notice' : _getTargetValue$messa,
|
133
|
+
popType = _getTargetValue.popType,
|
129
134
|
beforeRequest = _getTargetValue.beforeRequest,
|
130
135
|
onTrigger = _getTargetValue.onTrigger,
|
131
136
|
link = _getTargetValue.link,
|
@@ -135,20 +140,25 @@ function useDialogAction(action, actionContext) {
|
|
135
140
|
footerDescription = _getTargetValue.footerDescription,
|
136
141
|
footerAlign = _getTargetValue.footerAlign,
|
137
142
|
className = _getTargetValue.className,
|
138
|
-
|
143
|
+
containerOtherProps = _objectWithoutProperties(_getTargetValue, _excluded2);
|
139
144
|
|
140
145
|
var isDrawer = dialogType === 'drawer';
|
141
|
-
var
|
142
|
-
var
|
146
|
+
var isPop = dialogType === 'pop';
|
147
|
+
var container = isDrawer ? _components.Drawer : isPop ? _popConfirm.default : _components.Dialog;
|
148
|
+
var containerProps = isDrawer ? {
|
149
|
+
okText: (0, _utils.getMessage)('ok'),
|
150
|
+
cancelText: (0, _utils.getMessage)('cancel'),
|
151
|
+
closeable: !loading
|
152
|
+
} : isPop ? {
|
153
|
+
type: popType,
|
154
|
+
trigger: e.currentTarget
|
155
|
+
} : {
|
143
156
|
type: dialogQuickShowType,
|
144
157
|
messageProps: {
|
145
158
|
type: messageType
|
146
|
-
}
|
159
|
+
},
|
160
|
+
closeable: !loading
|
147
161
|
};
|
148
|
-
var containerOtherProps = isDrawer ? {
|
149
|
-
okText: (0, _utils.getMessage)('ok'),
|
150
|
-
cancelText: (0, _utils.getMessage)('cancel')
|
151
|
-
} : dialogOnlyProps;
|
152
162
|
|
153
163
|
var renderDialogFooterDescription = function renderDialogFooterDescription(footer) {
|
154
164
|
if (footer instanceof Array || footer.component) {
|
@@ -177,15 +187,12 @@ function useDialogAction(action, actionContext) {
|
|
177
187
|
while (1) {
|
178
188
|
switch (_context.prev = _context.next) {
|
179
189
|
case 0:
|
180
|
-
if (
|
190
|
+
if (!link) {
|
181
191
|
_context.next = 5;
|
182
192
|
break;
|
183
193
|
}
|
184
194
|
|
185
|
-
|
186
|
-
(0, _utils.goToLink)(link, history);
|
187
|
-
}
|
188
|
-
|
195
|
+
(0, _utils.goToLink)(link, history);
|
189
196
|
onFinish && onFinish();
|
190
197
|
resolve(true);
|
191
198
|
return _context.abrupt("return");
|
@@ -243,27 +250,19 @@ function useDialogAction(action, actionContext) {
|
|
243
250
|
key: (0, _utils.uuid)()
|
244
251
|
}, (0, _utils2.addContext)(componentProps, dialogContext))) : addContextForReactNode(content, dialogContext);
|
245
252
|
|
246
|
-
var quickShowProps = _objectSpread(_objectSpread({
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
className: (0, _classnames.default)('teamix-pro-dialog-footer-description', getFooterAlignClass(isDrawer, footerAlign))
|
260
|
-
}, renderDialogFooterDescription(footerDescription))),
|
261
|
-
closeable: !loading,
|
262
|
-
footerAlign: footerAlign,
|
263
|
-
className: (0, _classnames.default)('teamix-pro-action-dialog', {
|
264
|
-
'has-footer-description': !!footerDescription
|
265
|
-
})
|
266
|
-
}, containerOtherProps), containerProps);
|
253
|
+
var quickShowProps = _objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, "".concat(isPop ? 'onConfirm' : 'onOk'), onOk), _defineProperty(_objectSpread2, "title", addContextForReactNode(title, dialogContext)), _defineProperty(_objectSpread2, "content", /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, beforeContent && /*#__PURE__*/_react.default.createElement("div", {
|
254
|
+
className: "teamix-pro-dialog-before-content"
|
255
|
+
}, addContextForReactNode(beforeContent, dialogContext)), message && /*#__PURE__*/_react.default.createElement("div", {
|
256
|
+
className: "teamix-pro-dialog-message"
|
257
|
+
}, (0, _message.renderProMessage)(message, {
|
258
|
+
type: 'notice'
|
259
|
+
})), dialogContent, afterContent && /*#__PURE__*/_react.default.createElement("div", {
|
260
|
+
className: "teamix-pro-dialog-after-content"
|
261
|
+
}, addContextForReactNode(afterContent, dialogContext)), !isPop && footerDescription && /*#__PURE__*/_react.default.createElement("div", {
|
262
|
+
className: (0, _classnames.default)('teamix-pro-dialog-footer-description', getFooterAlignClass(isDrawer, footerAlign))
|
263
|
+
}, renderDialogFooterDescription(footerDescription)))), _defineProperty(_objectSpread2, "footerAlign", footerAlign), _defineProperty(_objectSpread2, "className", (0, _classnames.default)('teamix-pro-action-dialog', {
|
264
|
+
'has-footer-description': !!footerDescription
|
265
|
+
})), _objectSpread2), containerProps), containerOtherProps);
|
267
266
|
|
268
267
|
var ret = container.show(quickShowProps);
|
269
268
|
store.hide = ret.hide;
|
package/lib/actions/index.d.ts
CHANGED
@@ -7,6 +7,7 @@ import { DialogAction } from './dialog';
|
|
7
7
|
import { DialogFormAction } from './dialog-form';
|
8
8
|
import { DialogTableAction } from './dialog-table';
|
9
9
|
import { DialogInfoAction } from './dialog-info';
|
10
|
+
import { PopConfirmAction } from './pop-confirm';
|
10
11
|
import './index.scss';
|
11
12
|
export declare type ProActionConfig = ({
|
12
13
|
type: 'dialog-form' | 'drawer-form';
|
@@ -15,6 +16,8 @@ export declare type ProActionConfig = ({
|
|
15
16
|
} & DialogTableAction) | ({
|
16
17
|
type: 'dialog-info' | 'drawer-info';
|
17
18
|
} & DialogInfoAction) | ({
|
19
|
+
type: 'pop-confirm' | 'danger-pop-confirm';
|
20
|
+
} & PopConfirmAction) | ({
|
18
21
|
type: 'dialog' | 'drawer' | 'confirm' | 'danger-confirm' | 'notice' | 'error';
|
19
22
|
} & DialogAction) | ({
|
20
23
|
type: 'request';
|
package/lib/actions/index.js
CHANGED
@@ -47,6 +47,10 @@ var _drawerTable = require("./drawer-table");
|
|
47
47
|
|
48
48
|
var _drawerInfo = require("./drawer-info");
|
49
49
|
|
50
|
+
var _popConfirm = require("./pop-confirm");
|
51
|
+
|
52
|
+
var _dangerPopConfirm = require("./danger-pop-confirm");
|
53
|
+
|
50
54
|
require("./index.scss");
|
51
55
|
|
52
56
|
var _excluded = ["type"],
|
@@ -155,6 +159,14 @@ function useAction(config, context) {
|
|
155
159
|
return (0, _drawerInfo.useDrawerInfoAction)(others, context);
|
156
160
|
}
|
157
161
|
|
162
|
+
if (type === 'pop-confirm') {
|
163
|
+
return (0, _popConfirm.usePopConfirmAction)(others, context);
|
164
|
+
}
|
165
|
+
|
166
|
+
if (type === 'danger-pop-confirm') {
|
167
|
+
return (0, _dangerPopConfirm.useDangerPopConfirmAction)(others, context);
|
168
|
+
}
|
169
|
+
|
158
170
|
var registedAction = RegistedActions.get(type);
|
159
171
|
|
160
172
|
if (!registedAction) {
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { IPopConfirmProps } from '@teamix/pop-confirm';
|
2
|
+
import { DialogAction } from './dialog';
|
3
|
+
export declare type PopConfirmAction = DialogAction & Omit<IPopConfirmProps, 'type' | 'trigger'> & {
|
4
|
+
popType?: IPopConfirmProps['type'];
|
5
|
+
};
|
6
|
+
export declare function usePopConfirmAction(action: PopConfirmAction, context?: any): {
|
7
|
+
[x: string]: (e: import("react").MouseEvent<HTMLElement, MouseEvent>) => Promise<void>;
|
8
|
+
};
|
9
|
+
export default usePopConfirmAction;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
exports.usePopConfirmAction = usePopConfirmAction;
|
8
|
+
|
9
|
+
var _utils = require("@teamix/utils");
|
10
|
+
|
11
|
+
var _dialog = _interopRequireDefault(require("./dialog"));
|
12
|
+
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
|
+
|
15
|
+
function usePopConfirmAction(action, context) {
|
16
|
+
return (0, _dialog.default)((0, _utils.deepMerge)({
|
17
|
+
dialogType: 'pop',
|
18
|
+
align: 'br'
|
19
|
+
}, action), context);
|
20
|
+
}
|
21
|
+
|
22
|
+
var _default = usePopConfirmAction;
|
23
|
+
exports.default = _default;
|
@@ -3,10 +3,12 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.inputCategory = exports.componentMap = void 0;
|
7
7
|
var componentMap = {
|
8
8
|
Radio: 'Select',
|
9
|
-
Checkbox: 'Select'
|
9
|
+
Checkbox: 'Select',
|
10
|
+
CheckboxGroup: 'MultipleSelect'
|
10
11
|
};
|
11
|
-
|
12
|
-
|
12
|
+
exports.componentMap = componentMap;
|
13
|
+
var inputCategory = ['Input', 'Password', 'TextArea', 'NumberPicker', 'Percent', 'Money'];
|
14
|
+
exports.inputCategory = inputCategory;
|