@zat-design/sisyphus-react 3.4.0-beta.3 → 3.4.0-beta.4
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/index.esm.css +15 -32
- package/es/ProEditTable/index.js +15 -9
- package/es/ProEditTable/style/index.less +36 -55
- package/es/ProEditTable/utils/index.js +2 -2
- package/es/ProEnum/components/Group.d.ts +7 -0
- package/es/ProEnum/components/Group.js +42 -0
- package/es/ProEnum/index.js +9 -0
- package/es/ProEnum/propsType.d.ts +2 -2
- package/es/ProEnum/style/index.less +49 -0
- package/es/ProForm/components/render/ConfirmWrapper.d.ts +10 -0
- package/es/ProForm/components/render/ConfirmWrapper.js +53 -0
- package/es/ProForm/components/render/Render.js +10 -1
- package/es/ProForm/components/render/RenderFields.js +3 -1
- package/es/ProForm/components/render/propsType.d.ts +6 -2
- package/es/ProTable/components/RenderColumn/index.js +1 -2
- package/es/ProTable/propsType.d.ts +1 -1
- package/es/ProTable/utils.js +1 -1
- package/lib/ProEditTable/index.js +13 -7
- package/lib/ProEditTable/style/index.less +36 -55
- package/lib/ProEditTable/utils/index.js +2 -2
- package/lib/ProEnum/components/Group.d.ts +7 -0
- package/lib/ProEnum/components/Group.js +49 -0
- package/lib/ProEnum/index.js +9 -0
- package/lib/ProEnum/propsType.d.ts +2 -2
- package/lib/ProEnum/style/index.less +49 -0
- package/lib/ProForm/components/render/ConfirmWrapper.d.ts +10 -0
- package/lib/ProForm/components/render/ConfirmWrapper.js +59 -0
- package/lib/ProForm/components/render/Render.js +10 -1
- package/lib/ProForm/components/render/RenderFields.js +3 -1
- package/lib/ProForm/components/render/propsType.d.ts +6 -2
- package/lib/ProTable/components/RenderColumn/index.js +1 -2
- package/lib/ProTable/propsType.d.ts +1 -1
- package/lib/ProTable/utils.js +1 -1
- package/package.json +1 -1
package/dist/index.esm.css
CHANGED
|
@@ -4062,7 +4062,8 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
4062
4062
|
display: flex;
|
|
4063
4063
|
}
|
|
4064
4064
|
.pro-edit-table .drag-wrapper .drag-icon {
|
|
4065
|
-
margin-right: var(--zaui-space-size-
|
|
4065
|
+
margin-right: var(--zaui-space-size-md, 16px);
|
|
4066
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
4066
4067
|
cursor: pointer;
|
|
4067
4068
|
}
|
|
4068
4069
|
.pro-edit-table.pro-table-no-stripe .ant-table-tbody tr:nth-child(n) > td {
|
|
@@ -4081,33 +4082,24 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
4081
4082
|
padding-left: var(--zaui-space-size-md, 16px);
|
|
4082
4083
|
padding-right: var(--zaui-space-size-md, 16px);
|
|
4083
4084
|
}
|
|
4084
|
-
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required::
|
|
4085
|
-
content: "";
|
|
4086
|
-
}
|
|
4087
|
-
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-left::before {
|
|
4088
|
-
content: "";
|
|
4089
|
-
}
|
|
4090
|
-
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title::after {
|
|
4091
|
-
width: auto;
|
|
4085
|
+
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-right .pro-edit-table-title::before {
|
|
4092
4086
|
position: static;
|
|
4093
4087
|
top: 0;
|
|
4094
4088
|
display: inline-block;
|
|
4095
|
-
|
|
4089
|
+
text-indent: -8px;
|
|
4096
4090
|
color: #ff5050;
|
|
4097
|
-
font-size: 14px;
|
|
4091
|
+
font-size: var(--zaui-font-size-md, 14px);
|
|
4098
4092
|
line-height: 1;
|
|
4099
4093
|
content: "*";
|
|
4100
4094
|
}
|
|
4101
|
-
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title
|
|
4102
|
-
|
|
4103
|
-
}
|
|
4104
|
-
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title.is-required-left::before {
|
|
4095
|
+
.pro-edit-table .ant-table-header > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-left .pro-edit-table-title::after {
|
|
4096
|
+
width: auto;
|
|
4105
4097
|
position: static;
|
|
4106
4098
|
top: 0;
|
|
4107
4099
|
display: inline-block;
|
|
4108
|
-
|
|
4100
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
4109
4101
|
color: #ff5050;
|
|
4110
|
-
font-size:
|
|
4102
|
+
font-size: 14px;
|
|
4111
4103
|
line-height: 1;
|
|
4112
4104
|
content: "*";
|
|
4113
4105
|
}
|
|
@@ -4130,33 +4122,24 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
4130
4122
|
.pro-edit-table .ant-table-content > table td .pro-form-view-container_nowrap {
|
|
4131
4123
|
white-space: normal;
|
|
4132
4124
|
}
|
|
4133
|
-
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required::
|
|
4134
|
-
content: "";
|
|
4135
|
-
}
|
|
4136
|
-
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-left::before {
|
|
4137
|
-
content: "";
|
|
4138
|
-
}
|
|
4139
|
-
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title::after {
|
|
4140
|
-
width: auto;
|
|
4125
|
+
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-right .pro-edit-table-title::before {
|
|
4141
4126
|
position: static;
|
|
4142
4127
|
top: 0;
|
|
4143
4128
|
display: inline-block;
|
|
4144
|
-
|
|
4129
|
+
text-indent: -8px;
|
|
4145
4130
|
color: #ff5050;
|
|
4146
4131
|
font-size: var(--zaui-font-size-md, 14px);
|
|
4147
4132
|
line-height: 1;
|
|
4148
4133
|
content: "*";
|
|
4149
4134
|
}
|
|
4150
|
-
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title
|
|
4151
|
-
|
|
4152
|
-
}
|
|
4153
|
-
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required .pro-edit-table-title.is-required-left::before {
|
|
4135
|
+
.pro-edit-table .ant-table-content > table .ant-table-thead > tr > th:not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]).is-required.is-required-left .pro-edit-table-title::after {
|
|
4136
|
+
width: auto;
|
|
4154
4137
|
position: static;
|
|
4155
4138
|
top: 0;
|
|
4156
4139
|
display: inline-block;
|
|
4157
|
-
|
|
4140
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
4158
4141
|
color: #ff5050;
|
|
4159
|
-
font-size:
|
|
4142
|
+
font-size: 14px;
|
|
4160
4143
|
line-height: 1;
|
|
4161
4144
|
content: "*";
|
|
4162
4145
|
}
|
package/es/ProEditTable/index.js
CHANGED
|
@@ -12,9 +12,9 @@ import _Form from "antd/es/form";
|
|
|
12
12
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
13
13
|
var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalTip", "rowKey"];
|
|
14
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
|
|
15
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
|
|
16
16
|
import { get, isArray } from 'lodash';
|
|
17
|
-
import { useDebounceEffect, useSetState } from 'ahooks';
|
|
17
|
+
import { useDebounceEffect, useLocalStorageState, useSetState } from 'ahooks';
|
|
18
18
|
import classnames from 'classnames';
|
|
19
19
|
import { transformColumns } from './utils';
|
|
20
20
|
import { getRandom, getNamePath } from './utils/tools';
|
|
@@ -22,7 +22,7 @@ import { DndWrapper, Row, Validator, Summary, RenderToolbar } from './components
|
|
|
22
22
|
import Empty from '../assets/empty.png';
|
|
23
23
|
import locale, { formatMessage } from '../locale';
|
|
24
24
|
var ProEditTable = function ProEditTable(_ref, ref) {
|
|
25
|
-
var _resetProps$id, _resetProps$id$split, _value$2;
|
|
25
|
+
var _resetProps$id, _resetProps$id$split, _themeConfig$data2, _value$2;
|
|
26
26
|
var value = _ref.value,
|
|
27
27
|
onChange = _ref.onChange,
|
|
28
28
|
className = _ref.className,
|
|
@@ -43,7 +43,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
43
43
|
mulDeletePoConfirmMsg = _ref.mulDeletePoConfirmMsg,
|
|
44
44
|
_ref$otherProps = _ref.otherProps,
|
|
45
45
|
otherProps = _ref$otherProps === void 0 ? {} : _ref$otherProps,
|
|
46
|
-
|
|
46
|
+
configRequiredAlign = _ref.requiredAlign,
|
|
47
47
|
summary = _ref.summary,
|
|
48
48
|
max = _ref.max,
|
|
49
49
|
headerRender = _ref.headerRender,
|
|
@@ -65,6 +65,13 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
65
65
|
getPrefixCls = _React$useContext.getPrefixCls;
|
|
66
66
|
var prefixCls = getPrefixCls();
|
|
67
67
|
disabled = (otherProps === null || otherProps === void 0 ? void 0 : otherProps.disabled) || disabled;
|
|
68
|
+
var _useLocalStorageState = useLocalStorageState('themeConfig'),
|
|
69
|
+
_useLocalStorageState2 = _slicedToArray(_useLocalStorageState, 1),
|
|
70
|
+
themeConfig = _useLocalStorageState2[0];
|
|
71
|
+
var requiredAlign = useMemo(function () {
|
|
72
|
+
var _ref2, _themeConfig$data$zau, _themeConfig$data;
|
|
73
|
+
return (_ref2 = (_themeConfig$data$zau = themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data = themeConfig.data) === null || _themeConfig$data === void 0 ? void 0 : _themeConfig$data.zauiFormAlign) !== null && _themeConfig$data$zau !== void 0 ? _themeConfig$data$zau : configRequiredAlign) !== null && _ref2 !== void 0 ? _ref2 : 'left';
|
|
74
|
+
}, [themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data2 = themeConfig.data) === null || _themeConfig$data2 === void 0 ? void 0 : _themeConfig$data2.zauiFormAlign]);
|
|
68
75
|
var _useSetState = useSetState({
|
|
69
76
|
_columns: columns,
|
|
70
77
|
cellNamePath: [],
|
|
@@ -101,8 +108,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
101
108
|
var getRowKey = function getRowKey(record) {
|
|
102
109
|
var key = record.rowKey || getRandom();
|
|
103
110
|
if (rowKey) {
|
|
104
|
-
var
|
|
105
|
-
key = (
|
|
111
|
+
var _ref3;
|
|
112
|
+
key = (_ref3 = typeof rowKey === 'function' ? rowKey(record) : record[rowKey]) !== null && _ref3 !== void 0 ? _ref3 : key;
|
|
106
113
|
}
|
|
107
114
|
return key;
|
|
108
115
|
};
|
|
@@ -226,7 +233,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
226
233
|
return isForbiddenBtn('mulDelete') ? rowSelection : _rowSelection;
|
|
227
234
|
};
|
|
228
235
|
var setColumns = /*#__PURE__*/function () {
|
|
229
|
-
var
|
|
236
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
230
237
|
var nextColumns;
|
|
231
238
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
232
239
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -245,7 +252,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
245
252
|
}, _callee);
|
|
246
253
|
}));
|
|
247
254
|
return function setColumns() {
|
|
248
|
-
return
|
|
255
|
+
return _ref4.apply(this, arguments);
|
|
249
256
|
};
|
|
250
257
|
}();
|
|
251
258
|
useDebounceEffect(function () {
|
|
@@ -355,7 +362,6 @@ ForwardProEditTable.defaultProps = {
|
|
|
355
362
|
type: 'multiple',
|
|
356
363
|
mode: 'multiple',
|
|
357
364
|
insertType: 'after',
|
|
358
|
-
requiredAlign: 'right',
|
|
359
365
|
value: [],
|
|
360
366
|
actionProps: [],
|
|
361
367
|
toolbarProps: [],
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
.drag-wrapper {
|
|
64
64
|
display: flex;
|
|
65
65
|
.drag-icon {
|
|
66
|
-
margin-right: var(--zaui-space-size-
|
|
66
|
+
margin-right: var(--zaui-space-size-md, 16px);
|
|
67
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
67
68
|
cursor: pointer;
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -92,33 +93,8 @@
|
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
.@{ant-prefix}-table-header>table .@{ant-prefix}-table-thead>tr>th:not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan]).is-required {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&.is-required-left {
|
|
100
|
-
&::before {
|
|
101
|
-
content: "";
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
.pro-edit-table-title {
|
|
105
|
-
&::after {
|
|
106
|
-
width: auto;
|
|
107
|
-
position : static;
|
|
108
|
-
top : 0;
|
|
109
|
-
display : inline-block;
|
|
110
|
-
margin-left: var(--zaui-space-size-xs, 4px);
|
|
111
|
-
color : #ff5050;
|
|
112
|
-
font-size : 14px;
|
|
113
|
-
line-height: 1;
|
|
114
|
-
content : "*";
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&.is-required-left {
|
|
118
|
-
&::after {
|
|
119
|
-
display: none;
|
|
120
|
-
}
|
|
121
|
-
|
|
96
|
+
&.is-required-right {
|
|
97
|
+
.pro-edit-table-title {
|
|
122
98
|
&::before {
|
|
123
99
|
position : static;
|
|
124
100
|
top : 0;
|
|
@@ -131,6 +107,21 @@
|
|
|
131
107
|
}
|
|
132
108
|
}
|
|
133
109
|
}
|
|
110
|
+
&.is-required-left {
|
|
111
|
+
.pro-edit-table-title {
|
|
112
|
+
&::after {
|
|
113
|
+
width: auto;
|
|
114
|
+
position : static;
|
|
115
|
+
top : 0;
|
|
116
|
+
display : inline-block;
|
|
117
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
118
|
+
color : #ff5050;
|
|
119
|
+
font-size : 14px;
|
|
120
|
+
line-height: 1;
|
|
121
|
+
content : "*";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
134
125
|
}
|
|
135
126
|
|
|
136
127
|
.@{ant-prefix}-table-scroll-horizontal {
|
|
@@ -166,33 +157,8 @@
|
|
|
166
157
|
}
|
|
167
158
|
|
|
168
159
|
.@{ant-prefix}-table-thead>tr>th:not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan]).is-required {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
&.is-required-left {
|
|
174
|
-
&::before {
|
|
175
|
-
content: "";
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
.pro-edit-table-title {
|
|
179
|
-
&::after {
|
|
180
|
-
width: auto;
|
|
181
|
-
position : static;
|
|
182
|
-
top : 0;
|
|
183
|
-
display : inline-block;
|
|
184
|
-
margin-left: var(--zaui-space-size-xs, 4px);
|
|
185
|
-
color : #ff5050;
|
|
186
|
-
font-size : var(--zaui-font-size-md, 14px);
|
|
187
|
-
line-height: 1;
|
|
188
|
-
content : "*";
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
&.is-required-left {
|
|
192
|
-
&::after {
|
|
193
|
-
display: none;
|
|
194
|
-
}
|
|
195
|
-
|
|
160
|
+
&.is-required-right {
|
|
161
|
+
.pro-edit-table-title {
|
|
196
162
|
&::before {
|
|
197
163
|
position : static;
|
|
198
164
|
top : 0;
|
|
@@ -205,6 +171,21 @@
|
|
|
205
171
|
}
|
|
206
172
|
}
|
|
207
173
|
}
|
|
174
|
+
&.is-required-left {
|
|
175
|
+
.pro-edit-table-title {
|
|
176
|
+
&::after {
|
|
177
|
+
width: auto;
|
|
178
|
+
position : static;
|
|
179
|
+
top : 0;
|
|
180
|
+
display : inline-block;
|
|
181
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
182
|
+
color : #ff5050;
|
|
183
|
+
font-size : 14px;
|
|
184
|
+
line-height: 1;
|
|
185
|
+
content : "*";
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
208
189
|
}
|
|
209
190
|
}
|
|
210
191
|
}
|
|
@@ -250,8 +250,8 @@ export var transformColumns = function transformColumns() {
|
|
|
250
250
|
item.className = classnames(_defineProperty({
|
|
251
251
|
'is-hidden': hidden,
|
|
252
252
|
'is-required': required || labelRequired,
|
|
253
|
-
'is-required-
|
|
254
|
-
'is-required-
|
|
253
|
+
'is-required-left': requiredAlign === 'left',
|
|
254
|
+
'is-required-right': requiredAlign === 'right'
|
|
255
255
|
}, className, className));
|
|
256
256
|
// 防止重复渲染导致className重复添加
|
|
257
257
|
if (item.className) {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
var Group = function Group(props) {
|
|
6
|
+
var value = props.value,
|
|
7
|
+
onChange = props.onChange,
|
|
8
|
+
dataSource = props.dataSource,
|
|
9
|
+
fieldValue = props.fieldValue,
|
|
10
|
+
fieldLabel = props.fieldLabel;
|
|
11
|
+
var _useState = useState(),
|
|
12
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
13
|
+
checked = _useState2[0],
|
|
14
|
+
setValue = _useState2[1];
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
setValue(value);
|
|
17
|
+
}, [value]);
|
|
18
|
+
var handleClick = function handleClick(val) {
|
|
19
|
+
setValue(val);
|
|
20
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
21
|
+
};
|
|
22
|
+
if (dataSource.length === 0) {
|
|
23
|
+
return _jsx("span", {
|
|
24
|
+
children: "-"
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return _jsx("div", {
|
|
28
|
+
className: "pro-enum-group-root",
|
|
29
|
+
children: dataSource.map(function (item) {
|
|
30
|
+
return _jsxs("div", {
|
|
31
|
+
onClick: function onClick() {
|
|
32
|
+
return handleClick(item[fieldValue]);
|
|
33
|
+
},
|
|
34
|
+
className: classNames('pro-enum-group-item', checked === item[fieldValue] ? 'pro-enum-group-item-selected' : ''),
|
|
35
|
+
children: [_jsx("div", {
|
|
36
|
+
className: "pro-enum-group-item-after"
|
|
37
|
+
}), item[fieldLabel]]
|
|
38
|
+
}, item[fieldValue]);
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
export default Group;
|
package/es/ProEnum/index.js
CHANGED
|
@@ -20,6 +20,7 @@ import { cloneDeep, isFunction, isString, isArray, omit } from 'lodash';
|
|
|
20
20
|
import ProSelect from '../ProSelect';
|
|
21
21
|
import { useProConfig } from '../ProConfigProvider';
|
|
22
22
|
import ProEnumTag from './components/Tag';
|
|
23
|
+
import ProEnumGroup from './components/Group';
|
|
23
24
|
import Container from '../ProForm/components/Container';
|
|
24
25
|
import { isObject } from './utils';
|
|
25
26
|
import getEnumLabel from './utils/getEnumLabel';
|
|
@@ -205,6 +206,14 @@ var ProEnum = function ProEnum(props) {
|
|
|
205
206
|
fieldValue: fieldValue,
|
|
206
207
|
dataSource: list
|
|
207
208
|
});
|
|
209
|
+
case 'Group':
|
|
210
|
+
return _jsx(ProEnumGroup, {
|
|
211
|
+
value: value,
|
|
212
|
+
onChange: onChange,
|
|
213
|
+
fieldLabel: label,
|
|
214
|
+
fieldValue: fieldValue,
|
|
215
|
+
dataSource: list
|
|
216
|
+
});
|
|
208
217
|
default:
|
|
209
218
|
return null;
|
|
210
219
|
}
|
|
@@ -42,7 +42,7 @@ export interface ProEnumConfig {
|
|
|
42
42
|
};
|
|
43
43
|
dics: Record<string, DataOption[]>;
|
|
44
44
|
}
|
|
45
|
-
type ProEnumType = 'ProSelect' | 'Radio' | 'Checkbox' | 'Tag';
|
|
45
|
+
type ProEnumType = 'ProSelect' | 'Radio' | 'Checkbox' | 'Tag' | 'Group';
|
|
46
46
|
export interface ProEnum {
|
|
47
47
|
/** 组件展示类型、默认 ProSelect */
|
|
48
48
|
type?: ProEnumType;
|
|
@@ -86,7 +86,7 @@ export type CheckboxPropsMap = {
|
|
|
86
86
|
type?: 'Checkbox';
|
|
87
87
|
} & CheckboxProps;
|
|
88
88
|
export interface TagPropsMap {
|
|
89
|
-
type?: 'Tag';
|
|
89
|
+
type?: 'Tag' | 'Group';
|
|
90
90
|
}
|
|
91
91
|
export type ProEnumProps = Omit<ProEnum, 'type'> & (PropProSelectsMap | PropRadioPropsMap | CheckboxPropsMap | TagPropsMap);
|
|
92
92
|
export {};
|
|
@@ -27,4 +27,53 @@
|
|
|
27
27
|
background-color: #f5f5f5;
|
|
28
28
|
pointer-events: none;
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
&-group-root {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: row;
|
|
34
|
+
flex-wrap: wrap;
|
|
35
|
+
|
|
36
|
+
.pro-enum-group-item {
|
|
37
|
+
position: relative;
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
justify-content: center;
|
|
41
|
+
// margin-right: var(--zaui-space-size-sm);
|
|
42
|
+
margin-bottom: calc(var(--zaui-space-size-sm; 8px) * var(--zaui-size; 1));
|
|
43
|
+
padding: var(--zaui-space-size-xs) 10px;
|
|
44
|
+
background-color: #f5f5f5;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
|
|
47
|
+
.pro-enum-group-item-after {
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: var(--zaui-space-size-xs);
|
|
50
|
+
right: 0;
|
|
51
|
+
bottom: var(--zaui-space-size-xs);
|
|
52
|
+
width: 1px;
|
|
53
|
+
// height: ;
|
|
54
|
+
background: var(--zaui-brand);
|
|
55
|
+
opacity: 0.7;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&:first-child {
|
|
59
|
+
border-top-left-radius: var(--zaui-space-size-xs);
|
|
60
|
+
border-bottom-left-radius: var(--zaui-space-size-xs);
|
|
61
|
+
}
|
|
62
|
+
&:last-child {
|
|
63
|
+
border-top-right-radius: var(--zaui-space-size-xs);
|
|
64
|
+
border-bottom-right-radius: var(--zaui-space-size-xs);
|
|
65
|
+
.pro-enum-group-item-after {
|
|
66
|
+
width: 0;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.pro-enum-group-item-selected {
|
|
72
|
+
color: var(--zaui-brand);
|
|
73
|
+
border: 1px solid var(--zaui-brand);
|
|
74
|
+
.pro-enum-group-item-after {
|
|
75
|
+
width: 0;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
30
79
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ProFormColumnProps } from '@/ProForm/propsType';
|
|
3
|
+
interface Props<T = any> {
|
|
4
|
+
value?: T;
|
|
5
|
+
onChange?: (value: T, ...rest: any[]) => void;
|
|
6
|
+
confirmProps: ProFormColumnProps['confirmProps'];
|
|
7
|
+
[K: string]: any;
|
|
8
|
+
}
|
|
9
|
+
declare const ConfirmWrapper: React.FC<Props>;
|
|
10
|
+
export default ConfirmWrapper;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import "antd/es/modal/style";
|
|
3
|
+
import _Modal from "antd/es/modal";
|
|
4
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
5
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
+
var _excluded = ["onChange", "children", "confirmProps"];
|
|
7
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
import { isFunction } from 'lodash';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import ProForm from '@/ProForm';
|
|
11
|
+
var defaultConfirmProps = {
|
|
12
|
+
title: '点击确定完成修改'
|
|
13
|
+
};
|
|
14
|
+
var ConfirmWrapper = function ConfirmWrapper(props) {
|
|
15
|
+
var onChange = props.onChange,
|
|
16
|
+
children = props.children,
|
|
17
|
+
confirmProps = props.confirmProps,
|
|
18
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
19
|
+
var needConfirm = confirmProps.needConfirm;
|
|
20
|
+
var _ProForm$useFieldProp = ProForm.useFieldProps(),
|
|
21
|
+
form = _ProForm$useFieldProp.form;
|
|
22
|
+
var handleOk = function handleOk(changeProps, okProps) {
|
|
23
|
+
var _confirmProps$onOk;
|
|
24
|
+
confirmProps === null || confirmProps === void 0 ? void 0 : (_confirmProps$onOk = confirmProps.onOk) === null || _confirmProps$onOk === void 0 ? void 0 : _confirmProps$onOk.call.apply(_confirmProps$onOk, [confirmProps].concat(_toConsumableArray(okProps)));
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, _toConsumableArray(changeProps));
|
|
27
|
+
};
|
|
28
|
+
var handleChange = function handleChange(value) {
|
|
29
|
+
for (var _len = arguments.length, other = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
30
|
+
other[_key - 1] = arguments[_key];
|
|
31
|
+
}
|
|
32
|
+
if (needConfirm === true || isFunction(needConfirm) && needConfirm(form.getFieldsValue())) {
|
|
33
|
+
_Modal.confirm(_objectSpread(_objectSpread(_objectSpread({}, defaultConfirmProps), confirmProps), {}, {
|
|
34
|
+
onOk: function onOk() {
|
|
35
|
+
for (var _len2 = arguments.length, arg = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
36
|
+
arg[_key2] = arguments[_key2];
|
|
37
|
+
}
|
|
38
|
+
return handleOk([value].concat(other), arg);
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
} else {
|
|
42
|
+
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, [value].concat(other));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return _jsx(_Fragment, {
|
|
46
|
+
children: /*#__PURE__*/React.isValidElement(children) && /*#__PURE__*/React.cloneElement(children, _objectSpread(_objectSpread({}, rest), {}, {
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
value: rest.value === undefined ? null : rest.value,
|
|
49
|
+
onChange: handleChange
|
|
50
|
+
}))
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
export default ConfirmWrapper;
|
|
@@ -31,6 +31,7 @@ import valueTypeMap from '../../utils/valueType';
|
|
|
31
31
|
import { useChanged } from '../../utils/useChanged';
|
|
32
32
|
import tipSvg from '../../../assets/tip.svg';
|
|
33
33
|
import useRules from '../../utils/useRules';
|
|
34
|
+
import ConfirmWrapper from './ConfirmWrapper';
|
|
34
35
|
// 这个组件只管渲染, 参数的整理在外部处理
|
|
35
36
|
var Render = function Render(props) {
|
|
36
37
|
var _ref2, _otherProps$names2;
|
|
@@ -51,7 +52,8 @@ var Render = function Render(props) {
|
|
|
51
52
|
originalValues = props.originalValues,
|
|
52
53
|
equalWith = props.equalWith,
|
|
53
54
|
requiredOnView = props.requiredOnView,
|
|
54
|
-
originalTip = props.originalTip
|
|
55
|
+
originalTip = props.originalTip,
|
|
56
|
+
confirmProps = props.confirmProps;
|
|
55
57
|
var colProps = props.colProps;
|
|
56
58
|
// 剔除一些不是FormItem的属性, 防止控制台报warning
|
|
57
59
|
var labelWidth = formItemProps.labelWidth,
|
|
@@ -354,6 +356,13 @@ var Render = function Render(props) {
|
|
|
354
356
|
onChange: handleChange,
|
|
355
357
|
onBlur: handleBlur
|
|
356
358
|
}));
|
|
359
|
+
if (confirmProps === null || confirmProps === void 0 ? void 0 : confirmProps.needConfirm) {
|
|
360
|
+
child = _jsx(ConfirmWrapper, _objectSpread(_objectSpread({
|
|
361
|
+
confirmProps: confirmProps
|
|
362
|
+
}, childProps), {}, {
|
|
363
|
+
children: child
|
|
364
|
+
}));
|
|
365
|
+
}
|
|
357
366
|
// 表单提示
|
|
358
367
|
if (tooltip) {
|
|
359
368
|
_otherFormItemProps.tooltip = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required"];
|
|
3
|
+
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required", "confirmProps"];
|
|
4
4
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { isBoolean, isFunction, union, isString } from 'lodash';
|
|
@@ -71,6 +71,7 @@ var RenderFields = function RenderFields(props) {
|
|
|
71
71
|
_column$clearNotShow = column.clearNotShow,
|
|
72
72
|
clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
|
|
73
73
|
columnRequired = column.required,
|
|
74
|
+
confirmProps = column.confirmProps,
|
|
74
75
|
otherFormItemProps = _objectWithoutProperties(column, _excluded);
|
|
75
76
|
var component = column.component;
|
|
76
77
|
var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
|
|
@@ -194,6 +195,7 @@ var RenderFields = function RenderFields(props) {
|
|
|
194
195
|
component: TargetComponent,
|
|
195
196
|
// @ts-ignore
|
|
196
197
|
formItemProps: _formItemProps,
|
|
198
|
+
confirmProps: confirmProps,
|
|
197
199
|
colProps: _colProps,
|
|
198
200
|
componentProps: componentProps,
|
|
199
201
|
otherProps: otherProps,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColProps, FormInstance, FormItemProps } from 'antd';
|
|
1
|
+
import { ColProps, FormInstance, FormItemProps, ModalFuncProps } from 'antd';
|
|
2
2
|
import { NamePath } from 'antd/es/form/interface';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { validate, regExp } from '@zat-design/utils';
|
|
@@ -175,7 +175,7 @@ export type ColumnPropsMap<Values = any, T = 'ProForm'> = {
|
|
|
175
175
|
type?: 'Container';
|
|
176
176
|
fieldProps?: any;
|
|
177
177
|
};
|
|
178
|
-
interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, 'rules' | 'required'> {
|
|
178
|
+
export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, 'rules' | 'required'> {
|
|
179
179
|
component?: React.ReactNode | ReactiveFunction<Values, React.ReactNode>;
|
|
180
180
|
names?: NamePath[];
|
|
181
181
|
show?: boolean | ReactiveFunction<Values, boolean>;
|
|
@@ -224,6 +224,9 @@ interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, '
|
|
|
224
224
|
extra?: string | React.ReactNode;
|
|
225
225
|
/** 是否固定字段, 不隐藏 */
|
|
226
226
|
fixed?: boolean;
|
|
227
|
+
confirmProps?: ModalFuncProps & {
|
|
228
|
+
needConfirm?: boolean | ((values: any) => boolean);
|
|
229
|
+
};
|
|
227
230
|
}
|
|
228
231
|
export type ProColumnProps<T = any> = ProFormColumnProps<T> & ColumnPropsMap<T, 'ProForm'>;
|
|
229
232
|
/**
|
|
@@ -268,6 +271,7 @@ export interface RenderProps<Values = any> {
|
|
|
268
271
|
isSelect: boolean;
|
|
269
272
|
originalValues?: Values;
|
|
270
273
|
requiredOnView?: boolean;
|
|
274
|
+
confirmProps?: ProFormColumnProps['confirmProps'];
|
|
271
275
|
[name: string]: any;
|
|
272
276
|
}
|
|
273
277
|
export {};
|
|
@@ -24,7 +24,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
|
24
24
|
valueType?: ProTableValueType;
|
|
25
25
|
format?: string;
|
|
26
26
|
precision?: number;
|
|
27
|
-
code?: string | string[] | (() => string);
|
|
27
|
+
code?: string | string[] | ((text: any, record: any) => string);
|
|
28
28
|
copyable?: boolean;
|
|
29
29
|
originalTip?: boolean;
|
|
30
30
|
prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
|
package/es/ProTable/utils.js
CHANGED
|
@@ -208,7 +208,7 @@ export var formatColumn = function formatColumn(column, originalObj, dataSourceO
|
|
|
208
208
|
};
|
|
209
209
|
} else if (['enumName', 'enumCodeName'].includes(valueType)) {
|
|
210
210
|
column.render = function (value, record, index) {
|
|
211
|
-
var realCode = typeof code === 'function' ? code() : code;
|
|
211
|
+
var realCode = typeof code === 'function' ? code(value, record) : code;
|
|
212
212
|
var renderValue = getEnumLabel(realCode, value, valueType === 'enumCodeName');
|
|
213
213
|
var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
|
214
214
|
var originalRenderValue = getEnumLabel(realCode, originalValue, valueType === 'enumCodeName');
|
|
@@ -25,7 +25,7 @@ var _empty = _interopRequireDefault(require("../assets/empty.png"));
|
|
|
25
25
|
var _locale = _interopRequireWildcard(require("../locale"));
|
|
26
26
|
var _excluded = ["value", "onChange", "className", "columns", "type", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "otherProps", "requiredAlign", "summary", "max", "headerRender", "pagination", "originalValues", "originalTip", "rowKey"];
|
|
27
27
|
var ProEditTable = function ProEditTable(_ref, ref) {
|
|
28
|
-
var _resetProps$id, _resetProps$id$split, _value$2;
|
|
28
|
+
var _resetProps$id, _resetProps$id$split, _themeConfig$data2, _value$2;
|
|
29
29
|
var value = _ref.value,
|
|
30
30
|
onChange = _ref.onChange,
|
|
31
31
|
className = _ref.className,
|
|
@@ -46,7 +46,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
46
46
|
mulDeletePoConfirmMsg = _ref.mulDeletePoConfirmMsg,
|
|
47
47
|
_ref$otherProps = _ref.otherProps,
|
|
48
48
|
otherProps = _ref$otherProps === void 0 ? {} : _ref$otherProps,
|
|
49
|
-
|
|
49
|
+
configRequiredAlign = _ref.requiredAlign,
|
|
50
50
|
summary = _ref.summary,
|
|
51
51
|
max = _ref.max,
|
|
52
52
|
headerRender = _ref.headerRender,
|
|
@@ -68,6 +68,13 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
68
68
|
getPrefixCls = _React$useContext.getPrefixCls;
|
|
69
69
|
var prefixCls = getPrefixCls();
|
|
70
70
|
disabled = (otherProps === null || otherProps === void 0 ? void 0 : otherProps.disabled) || disabled;
|
|
71
|
+
var _useLocalStorageState = (0, _ahooks.useLocalStorageState)('themeConfig'),
|
|
72
|
+
_useLocalStorageState2 = (0, _slicedToArray2.default)(_useLocalStorageState, 1),
|
|
73
|
+
themeConfig = _useLocalStorageState2[0];
|
|
74
|
+
var requiredAlign = (0, _react.useMemo)(function () {
|
|
75
|
+
var _ref2, _themeConfig$data$zau, _themeConfig$data;
|
|
76
|
+
return (_ref2 = (_themeConfig$data$zau = themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data = themeConfig.data) === null || _themeConfig$data === void 0 ? void 0 : _themeConfig$data.zauiFormAlign) !== null && _themeConfig$data$zau !== void 0 ? _themeConfig$data$zau : configRequiredAlign) !== null && _ref2 !== void 0 ? _ref2 : 'left';
|
|
77
|
+
}, [themeConfig === null || themeConfig === void 0 ? void 0 : (_themeConfig$data2 = themeConfig.data) === null || _themeConfig$data2 === void 0 ? void 0 : _themeConfig$data2.zauiFormAlign]);
|
|
71
78
|
var _useSetState = (0, _ahooks.useSetState)({
|
|
72
79
|
_columns: columns,
|
|
73
80
|
cellNamePath: [],
|
|
@@ -104,8 +111,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
104
111
|
var getRowKey = function getRowKey(record) {
|
|
105
112
|
var key = record.rowKey || (0, _tools.getRandom)();
|
|
106
113
|
if (rowKey) {
|
|
107
|
-
var
|
|
108
|
-
key = (
|
|
114
|
+
var _ref3;
|
|
115
|
+
key = (_ref3 = typeof rowKey === 'function' ? rowKey(record) : record[rowKey]) !== null && _ref3 !== void 0 ? _ref3 : key;
|
|
109
116
|
}
|
|
110
117
|
return key;
|
|
111
118
|
};
|
|
@@ -229,7 +236,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
229
236
|
return isForbiddenBtn('mulDelete') ? rowSelection : _rowSelection;
|
|
230
237
|
};
|
|
231
238
|
var setColumns = /*#__PURE__*/function () {
|
|
232
|
-
var
|
|
239
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
233
240
|
var nextColumns;
|
|
234
241
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
235
242
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -248,7 +255,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
248
255
|
}, _callee);
|
|
249
256
|
}));
|
|
250
257
|
return function setColumns() {
|
|
251
|
-
return
|
|
258
|
+
return _ref4.apply(this, arguments);
|
|
252
259
|
};
|
|
253
260
|
}();
|
|
254
261
|
(0, _ahooks.useDebounceEffect)(function () {
|
|
@@ -358,7 +365,6 @@ ForwardProEditTable.defaultProps = {
|
|
|
358
365
|
type: 'multiple',
|
|
359
366
|
mode: 'multiple',
|
|
360
367
|
insertType: 'after',
|
|
361
|
-
requiredAlign: 'right',
|
|
362
368
|
value: [],
|
|
363
369
|
actionProps: [],
|
|
364
370
|
toolbarProps: [],
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
.drag-wrapper {
|
|
64
64
|
display: flex;
|
|
65
65
|
.drag-icon {
|
|
66
|
-
margin-right: var(--zaui-space-size-
|
|
66
|
+
margin-right: var(--zaui-space-size-md, 16px);
|
|
67
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
67
68
|
cursor: pointer;
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -92,33 +93,8 @@
|
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
.@{ant-prefix}-table-header>table .@{ant-prefix}-table-thead>tr>th:not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan]).is-required {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&.is-required-left {
|
|
100
|
-
&::before {
|
|
101
|
-
content: "";
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
.pro-edit-table-title {
|
|
105
|
-
&::after {
|
|
106
|
-
width: auto;
|
|
107
|
-
position : static;
|
|
108
|
-
top : 0;
|
|
109
|
-
display : inline-block;
|
|
110
|
-
margin-left: var(--zaui-space-size-xs, 4px);
|
|
111
|
-
color : #ff5050;
|
|
112
|
-
font-size : 14px;
|
|
113
|
-
line-height: 1;
|
|
114
|
-
content : "*";
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&.is-required-left {
|
|
118
|
-
&::after {
|
|
119
|
-
display: none;
|
|
120
|
-
}
|
|
121
|
-
|
|
96
|
+
&.is-required-right {
|
|
97
|
+
.pro-edit-table-title {
|
|
122
98
|
&::before {
|
|
123
99
|
position : static;
|
|
124
100
|
top : 0;
|
|
@@ -131,6 +107,21 @@
|
|
|
131
107
|
}
|
|
132
108
|
}
|
|
133
109
|
}
|
|
110
|
+
&.is-required-left {
|
|
111
|
+
.pro-edit-table-title {
|
|
112
|
+
&::after {
|
|
113
|
+
width: auto;
|
|
114
|
+
position : static;
|
|
115
|
+
top : 0;
|
|
116
|
+
display : inline-block;
|
|
117
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
118
|
+
color : #ff5050;
|
|
119
|
+
font-size : 14px;
|
|
120
|
+
line-height: 1;
|
|
121
|
+
content : "*";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
134
125
|
}
|
|
135
126
|
|
|
136
127
|
.@{ant-prefix}-table-scroll-horizontal {
|
|
@@ -166,33 +157,8 @@
|
|
|
166
157
|
}
|
|
167
158
|
|
|
168
159
|
.@{ant-prefix}-table-thead>tr>th:not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan]).is-required {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
&.is-required-left {
|
|
174
|
-
&::before {
|
|
175
|
-
content: "";
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
.pro-edit-table-title {
|
|
179
|
-
&::after {
|
|
180
|
-
width: auto;
|
|
181
|
-
position : static;
|
|
182
|
-
top : 0;
|
|
183
|
-
display : inline-block;
|
|
184
|
-
margin-left: var(--zaui-space-size-xs, 4px);
|
|
185
|
-
color : #ff5050;
|
|
186
|
-
font-size : var(--zaui-font-size-md, 14px);
|
|
187
|
-
line-height: 1;
|
|
188
|
-
content : "*";
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
&.is-required-left {
|
|
192
|
-
&::after {
|
|
193
|
-
display: none;
|
|
194
|
-
}
|
|
195
|
-
|
|
160
|
+
&.is-required-right {
|
|
161
|
+
.pro-edit-table-title {
|
|
196
162
|
&::before {
|
|
197
163
|
position : static;
|
|
198
164
|
top : 0;
|
|
@@ -205,6 +171,21 @@
|
|
|
205
171
|
}
|
|
206
172
|
}
|
|
207
173
|
}
|
|
174
|
+
&.is-required-left {
|
|
175
|
+
.pro-edit-table-title {
|
|
176
|
+
&::after {
|
|
177
|
+
width: auto;
|
|
178
|
+
position : static;
|
|
179
|
+
top : 0;
|
|
180
|
+
display : inline-block;
|
|
181
|
+
margin-left: var(--zaui-space-size-xs, 4px);
|
|
182
|
+
color : #ff5050;
|
|
183
|
+
font-size : 14px;
|
|
184
|
+
line-height: 1;
|
|
185
|
+
content : "*";
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
208
189
|
}
|
|
209
190
|
}
|
|
210
191
|
}
|
|
@@ -254,8 +254,8 @@ var transformColumns = exports.transformColumns = function transformColumns() {
|
|
|
254
254
|
item.className = (0, _classnames2.default)((0, _defineProperty2.default)({
|
|
255
255
|
'is-hidden': hidden,
|
|
256
256
|
'is-required': required || labelRequired,
|
|
257
|
-
'is-required-
|
|
258
|
-
'is-required-
|
|
257
|
+
'is-required-left': requiredAlign === 'left',
|
|
258
|
+
'is-required-right': requiredAlign === 'right'
|
|
259
259
|
}, className, className));
|
|
260
260
|
// 防止重复渲染导致className重复添加
|
|
261
261
|
if (item.className) {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var Group = function Group(props) {
|
|
13
|
+
var value = props.value,
|
|
14
|
+
onChange = props.onChange,
|
|
15
|
+
dataSource = props.dataSource,
|
|
16
|
+
fieldValue = props.fieldValue,
|
|
17
|
+
fieldLabel = props.fieldLabel;
|
|
18
|
+
var _useState = (0, _react.useState)(),
|
|
19
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
|
+
checked = _useState2[0],
|
|
21
|
+
setValue = _useState2[1];
|
|
22
|
+
(0, _react.useEffect)(function () {
|
|
23
|
+
setValue(value);
|
|
24
|
+
}, [value]);
|
|
25
|
+
var handleClick = function handleClick(val) {
|
|
26
|
+
setValue(val);
|
|
27
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
28
|
+
};
|
|
29
|
+
if (dataSource.length === 0) {
|
|
30
|
+
return (0, _jsxRuntime.jsx)("span", {
|
|
31
|
+
children: "-"
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return (0, _jsxRuntime.jsx)("div", {
|
|
35
|
+
className: "pro-enum-group-root",
|
|
36
|
+
children: dataSource.map(function (item) {
|
|
37
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
38
|
+
onClick: function onClick() {
|
|
39
|
+
return handleClick(item[fieldValue]);
|
|
40
|
+
},
|
|
41
|
+
className: (0, _classnames.default)('pro-enum-group-item', checked === item[fieldValue] ? 'pro-enum-group-item-selected' : ''),
|
|
42
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
43
|
+
className: "pro-enum-group-item-after"
|
|
44
|
+
}), item[fieldLabel]]
|
|
45
|
+
}, item[fieldValue]);
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var _default = exports.default = Group;
|
package/lib/ProEnum/index.js
CHANGED
|
@@ -19,6 +19,7 @@ var _lodash = require("lodash");
|
|
|
19
19
|
var _ProSelect = _interopRequireDefault(require("../ProSelect"));
|
|
20
20
|
var _ProConfigProvider = require("../ProConfigProvider");
|
|
21
21
|
var _Tag = _interopRequireDefault(require("./components/Tag"));
|
|
22
|
+
var _Group = _interopRequireDefault(require("./components/Group"));
|
|
22
23
|
var _Container = _interopRequireDefault(require("../ProForm/components/Container"));
|
|
23
24
|
var _utils = require("./utils");
|
|
24
25
|
var _getEnumLabel = _interopRequireDefault(require("./utils/getEnumLabel"));
|
|
@@ -206,6 +207,14 @@ var ProEnum = function ProEnum(props) {
|
|
|
206
207
|
fieldValue: fieldValue,
|
|
207
208
|
dataSource: list
|
|
208
209
|
});
|
|
210
|
+
case 'Group':
|
|
211
|
+
return (0, _jsxRuntime.jsx)(_Group.default, {
|
|
212
|
+
value: value,
|
|
213
|
+
onChange: onChange,
|
|
214
|
+
fieldLabel: label,
|
|
215
|
+
fieldValue: fieldValue,
|
|
216
|
+
dataSource: list
|
|
217
|
+
});
|
|
209
218
|
default:
|
|
210
219
|
return null;
|
|
211
220
|
}
|
|
@@ -42,7 +42,7 @@ export interface ProEnumConfig {
|
|
|
42
42
|
};
|
|
43
43
|
dics: Record<string, DataOption[]>;
|
|
44
44
|
}
|
|
45
|
-
type ProEnumType = 'ProSelect' | 'Radio' | 'Checkbox' | 'Tag';
|
|
45
|
+
type ProEnumType = 'ProSelect' | 'Radio' | 'Checkbox' | 'Tag' | 'Group';
|
|
46
46
|
export interface ProEnum {
|
|
47
47
|
/** 组件展示类型、默认 ProSelect */
|
|
48
48
|
type?: ProEnumType;
|
|
@@ -86,7 +86,7 @@ export type CheckboxPropsMap = {
|
|
|
86
86
|
type?: 'Checkbox';
|
|
87
87
|
} & CheckboxProps;
|
|
88
88
|
export interface TagPropsMap {
|
|
89
|
-
type?: 'Tag';
|
|
89
|
+
type?: 'Tag' | 'Group';
|
|
90
90
|
}
|
|
91
91
|
export type ProEnumProps = Omit<ProEnum, 'type'> & (PropProSelectsMap | PropRadioPropsMap | CheckboxPropsMap | TagPropsMap);
|
|
92
92
|
export {};
|
|
@@ -27,4 +27,53 @@
|
|
|
27
27
|
background-color: #f5f5f5;
|
|
28
28
|
pointer-events: none;
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
&-group-root {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: row;
|
|
34
|
+
flex-wrap: wrap;
|
|
35
|
+
|
|
36
|
+
.pro-enum-group-item {
|
|
37
|
+
position: relative;
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
justify-content: center;
|
|
41
|
+
// margin-right: var(--zaui-space-size-sm);
|
|
42
|
+
margin-bottom: calc(var(--zaui-space-size-sm; 8px) * var(--zaui-size; 1));
|
|
43
|
+
padding: var(--zaui-space-size-xs) 10px;
|
|
44
|
+
background-color: #f5f5f5;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
|
|
47
|
+
.pro-enum-group-item-after {
|
|
48
|
+
position: absolute;
|
|
49
|
+
top: var(--zaui-space-size-xs);
|
|
50
|
+
right: 0;
|
|
51
|
+
bottom: var(--zaui-space-size-xs);
|
|
52
|
+
width: 1px;
|
|
53
|
+
// height: ;
|
|
54
|
+
background: var(--zaui-brand);
|
|
55
|
+
opacity: 0.7;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&:first-child {
|
|
59
|
+
border-top-left-radius: var(--zaui-space-size-xs);
|
|
60
|
+
border-bottom-left-radius: var(--zaui-space-size-xs);
|
|
61
|
+
}
|
|
62
|
+
&:last-child {
|
|
63
|
+
border-top-right-radius: var(--zaui-space-size-xs);
|
|
64
|
+
border-bottom-right-radius: var(--zaui-space-size-xs);
|
|
65
|
+
.pro-enum-group-item-after {
|
|
66
|
+
width: 0;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.pro-enum-group-item-selected {
|
|
72
|
+
color: var(--zaui-brand);
|
|
73
|
+
border: 1px solid var(--zaui-brand);
|
|
74
|
+
.pro-enum-group-item-after {
|
|
75
|
+
width: 0;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
30
79
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ProFormColumnProps } from '@/ProForm/propsType';
|
|
3
|
+
interface Props<T = any> {
|
|
4
|
+
value?: T;
|
|
5
|
+
onChange?: (value: T, ...rest: any[]) => void;
|
|
6
|
+
confirmProps: ProFormColumnProps['confirmProps'];
|
|
7
|
+
[K: string]: any;
|
|
8
|
+
}
|
|
9
|
+
declare const ConfirmWrapper: React.FC<Props>;
|
|
10
|
+
export default ConfirmWrapper;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
var _lodash = require("lodash");
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _antd = require("antd");
|
|
15
|
+
var _ProForm = _interopRequireDefault(require("@/ProForm"));
|
|
16
|
+
var _excluded = ["onChange", "children", "confirmProps"];
|
|
17
|
+
var defaultConfirmProps = {
|
|
18
|
+
title: '点击确定完成修改'
|
|
19
|
+
};
|
|
20
|
+
var ConfirmWrapper = function ConfirmWrapper(props) {
|
|
21
|
+
var onChange = props.onChange,
|
|
22
|
+
children = props.children,
|
|
23
|
+
confirmProps = props.confirmProps,
|
|
24
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
25
|
+
var needConfirm = confirmProps.needConfirm;
|
|
26
|
+
var _ProForm$useFieldProp = _ProForm.default.useFieldProps(),
|
|
27
|
+
form = _ProForm$useFieldProp.form;
|
|
28
|
+
var handleOk = function handleOk(changeProps, okProps) {
|
|
29
|
+
var _confirmProps$onOk;
|
|
30
|
+
confirmProps === null || confirmProps === void 0 ? void 0 : (_confirmProps$onOk = confirmProps.onOk) === null || _confirmProps$onOk === void 0 ? void 0 : _confirmProps$onOk.call.apply(_confirmProps$onOk, [confirmProps].concat((0, _toConsumableArray2.default)(okProps)));
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, (0, _toConsumableArray2.default)(changeProps));
|
|
33
|
+
};
|
|
34
|
+
var handleChange = function handleChange(value) {
|
|
35
|
+
for (var _len = arguments.length, other = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
36
|
+
other[_key - 1] = arguments[_key];
|
|
37
|
+
}
|
|
38
|
+
if (needConfirm === true || (0, _lodash.isFunction)(needConfirm) && needConfirm(form.getFieldsValue())) {
|
|
39
|
+
_antd.Modal.confirm((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultConfirmProps), confirmProps), {}, {
|
|
40
|
+
onOk: function onOk() {
|
|
41
|
+
for (var _len2 = arguments.length, arg = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
42
|
+
arg[_key2] = arguments[_key2];
|
|
43
|
+
}
|
|
44
|
+
return handleOk([value].concat(other), arg);
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
} else {
|
|
48
|
+
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, [value].concat(other));
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
52
|
+
children: /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
value: rest.value === undefined ? null : rest.value,
|
|
55
|
+
onChange: handleChange
|
|
56
|
+
}))
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
var _default = exports.default = ConfirmWrapper;
|
|
@@ -27,6 +27,7 @@ var _valueType = _interopRequireDefault(require("../../utils/valueType"));
|
|
|
27
27
|
var _useChanged3 = require("../../utils/useChanged");
|
|
28
28
|
var _tip = _interopRequireDefault(require("../../../assets/tip.svg"));
|
|
29
29
|
var _useRules = _interopRequireDefault(require("../../utils/useRules"));
|
|
30
|
+
var _ConfirmWrapper = _interopRequireDefault(require("./ConfirmWrapper"));
|
|
30
31
|
var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className", "rules", "required", "labelRequired", "tooltip"];
|
|
31
32
|
/* eslint-disable prefer-destructuring */
|
|
32
33
|
// 这个组件只管渲染, 参数的整理在外部处理
|
|
@@ -49,7 +50,8 @@ var Render = function Render(props) {
|
|
|
49
50
|
originalValues = props.originalValues,
|
|
50
51
|
equalWith = props.equalWith,
|
|
51
52
|
requiredOnView = props.requiredOnView,
|
|
52
|
-
originalTip = props.originalTip
|
|
53
|
+
originalTip = props.originalTip,
|
|
54
|
+
confirmProps = props.confirmProps;
|
|
53
55
|
var colProps = props.colProps;
|
|
54
56
|
// 剔除一些不是FormItem的属性, 防止控制台报warning
|
|
55
57
|
var labelWidth = formItemProps.labelWidth,
|
|
@@ -352,6 +354,13 @@ var Render = function Render(props) {
|
|
|
352
354
|
onChange: handleChange,
|
|
353
355
|
onBlur: handleBlur
|
|
354
356
|
}));
|
|
357
|
+
if (confirmProps === null || confirmProps === void 0 ? void 0 : confirmProps.needConfirm) {
|
|
358
|
+
child = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
359
|
+
confirmProps: confirmProps
|
|
360
|
+
}, childProps), {}, {
|
|
361
|
+
children: child
|
|
362
|
+
}));
|
|
363
|
+
}
|
|
355
364
|
// 表单提示
|
|
356
365
|
if (tooltip) {
|
|
357
366
|
_otherFormItemProps.tooltip = {
|
|
@@ -16,7 +16,7 @@ var componentMap = _interopRequireWildcard(require("../index"));
|
|
|
16
16
|
var _utils = require("../../utils");
|
|
17
17
|
var _useFieldProps = require("../../utils/useFieldProps");
|
|
18
18
|
var _locale = _interopRequireDefault(require("../../../locale"));
|
|
19
|
-
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required"];
|
|
19
|
+
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required", "confirmProps"];
|
|
20
20
|
var RenderFields = function RenderFields(props) {
|
|
21
21
|
var isView = props.isView,
|
|
22
22
|
_props$columns = props.columns,
|
|
@@ -79,6 +79,7 @@ var RenderFields = function RenderFields(props) {
|
|
|
79
79
|
_column$clearNotShow = column.clearNotShow,
|
|
80
80
|
clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
|
|
81
81
|
columnRequired = column.required,
|
|
82
|
+
confirmProps = column.confirmProps,
|
|
82
83
|
otherFormItemProps = (0, _objectWithoutProperties2.default)(column, _excluded);
|
|
83
84
|
var component = column.component;
|
|
84
85
|
var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
|
|
@@ -202,6 +203,7 @@ var RenderFields = function RenderFields(props) {
|
|
|
202
203
|
component: TargetComponent,
|
|
203
204
|
// @ts-ignore
|
|
204
205
|
formItemProps: _formItemProps,
|
|
206
|
+
confirmProps: confirmProps,
|
|
205
207
|
colProps: _colProps,
|
|
206
208
|
componentProps: componentProps,
|
|
207
209
|
otherProps: otherProps,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColProps, FormInstance, FormItemProps } from 'antd';
|
|
1
|
+
import { ColProps, FormInstance, FormItemProps, ModalFuncProps } from 'antd';
|
|
2
2
|
import { NamePath } from 'antd/es/form/interface';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { validate, regExp } from '@zat-design/utils';
|
|
@@ -175,7 +175,7 @@ export type ColumnPropsMap<Values = any, T = 'ProForm'> = {
|
|
|
175
175
|
type?: 'Container';
|
|
176
176
|
fieldProps?: any;
|
|
177
177
|
};
|
|
178
|
-
interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, 'rules' | 'required'> {
|
|
178
|
+
export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, 'rules' | 'required'> {
|
|
179
179
|
component?: React.ReactNode | ReactiveFunction<Values, React.ReactNode>;
|
|
180
180
|
names?: NamePath[];
|
|
181
181
|
show?: boolean | ReactiveFunction<Values, boolean>;
|
|
@@ -224,6 +224,9 @@ interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Values>, '
|
|
|
224
224
|
extra?: string | React.ReactNode;
|
|
225
225
|
/** 是否固定字段, 不隐藏 */
|
|
226
226
|
fixed?: boolean;
|
|
227
|
+
confirmProps?: ModalFuncProps & {
|
|
228
|
+
needConfirm?: boolean | ((values: any) => boolean);
|
|
229
|
+
};
|
|
227
230
|
}
|
|
228
231
|
export type ProColumnProps<T = any> = ProFormColumnProps<T> & ColumnPropsMap<T, 'ProForm'>;
|
|
229
232
|
/**
|
|
@@ -268,6 +271,7 @@ export interface RenderProps<Values = any> {
|
|
|
268
271
|
isSelect: boolean;
|
|
269
272
|
originalValues?: Values;
|
|
270
273
|
requiredOnView?: boolean;
|
|
274
|
+
confirmProps?: ProFormColumnProps['confirmProps'];
|
|
271
275
|
[name: string]: any;
|
|
272
276
|
}
|
|
273
277
|
export {};
|
|
@@ -24,7 +24,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
|
24
24
|
valueType?: ProTableValueType;
|
|
25
25
|
format?: string;
|
|
26
26
|
precision?: number;
|
|
27
|
-
code?: string | string[] | (() => string);
|
|
27
|
+
code?: string | string[] | ((text: any, record: any) => string);
|
|
28
28
|
copyable?: boolean;
|
|
29
29
|
originalTip?: boolean;
|
|
30
30
|
prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
|
package/lib/ProTable/utils.js
CHANGED
|
@@ -215,7 +215,7 @@ var formatColumn = exports.formatColumn = function formatColumn(column, original
|
|
|
215
215
|
};
|
|
216
216
|
} else if (['enumName', 'enumCodeName'].includes(valueType)) {
|
|
217
217
|
column.render = function (value, record, index) {
|
|
218
|
-
var realCode = typeof code === 'function' ? code() : code;
|
|
218
|
+
var realCode = typeof code === 'function' ? code(value, record) : code;
|
|
219
219
|
var renderValue = (0, _getEnumLabel.default)(realCode, value, valueType === 'enumCodeName');
|
|
220
220
|
var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
|
221
221
|
var originalRenderValue = (0, _getEnumLabel.default)(realCode, originalValue, valueType === 'enumCodeName');
|