@zat-design/sisyphus-react 3.2.1-beta.4 → 3.2.1-beta.6
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 +17 -0
- package/es/ProEditTable/components/RenderField/index.js +66 -21
- package/es/ProEditTable/index.js +6 -2
- package/es/ProEditTable/propsType.d.ts +11 -1
- package/es/ProForm/components/combination/ProCombination/index.js +1 -0
- package/es/ProForm/style/index.less +6 -0
- package/es/ProLayout/components/ProHeader/style/index.less +1 -0
- package/es/ProTable/components/RenderColumn/index.js +1 -1
- package/es/ProTable/style/index.less +6 -0
- package/es/ProTree/components/Tree.js +1 -1
- package/es/ProTreeSelect/index.js +3 -2
- package/es/style/theme/antd.less +5 -0
- package/lib/ProEditTable/components/RenderField/index.js +61 -20
- package/lib/ProEditTable/index.js +6 -2
- package/lib/ProEditTable/propsType.d.ts +11 -1
- package/lib/ProForm/components/combination/ProCombination/index.js +2 -1
- package/lib/ProForm/style/index.less +6 -0
- package/lib/ProLayout/components/ProHeader/style/index.less +1 -0
- package/lib/ProTable/components/RenderColumn/index.js +1 -1
- package/lib/ProTable/style/index.less +6 -0
- package/lib/ProTree/components/Tree.js +1 -1
- package/lib/ProTreeSelect/index.js +3 -2
- package/lib/style/theme/antd.less +5 -0
- package/package.json +1 -1
package/dist/index.esm.css
CHANGED
|
@@ -905,6 +905,10 @@
|
|
|
905
905
|
}
|
|
906
906
|
.pro-header .ant-breadcrumb .ant-breadcrumb-link {
|
|
907
907
|
font-size: var(--zaui-font-size-xl, 18px);
|
|
908
|
+
display: -webkit-inline-box;
|
|
909
|
+
display: -webkit-inline-flex;
|
|
910
|
+
display: -ms-inline-flexbox;
|
|
911
|
+
display: inline-flex;
|
|
908
912
|
}
|
|
909
913
|
.pro-header .ant-breadcrumb .ant-breadcrumb-separator {
|
|
910
914
|
font-weight: 500;
|
|
@@ -1618,6 +1622,10 @@
|
|
|
1618
1622
|
.pro-table .custom-column-btn .anticon {
|
|
1619
1623
|
height: 16px;
|
|
1620
1624
|
}
|
|
1625
|
+
.pro-table .ant-table-tbody .ant-table-cell-fix-left,
|
|
1626
|
+
.pro-table .ant-table-tbody .ant-table-cell-fix-right {
|
|
1627
|
+
background: unset !important;
|
|
1628
|
+
}
|
|
1621
1629
|
.pro-table .ant-table-body .ant-table-cell .varied-cell {
|
|
1622
1630
|
margin-left: -8px;
|
|
1623
1631
|
background: var(--zaui-contract-bg, #fffaa1);
|
|
@@ -2517,6 +2525,11 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
2517
2525
|
.pro-form .ant-form-item.pro-form-item-changed .ant-picker .ant-select-selection-placeholder {
|
|
2518
2526
|
z-index: 9;
|
|
2519
2527
|
}
|
|
2528
|
+
.pro-form .ant-form-item.pro-form-item-changed .ant-form-item-control-input-content > span {
|
|
2529
|
+
background: var(--zaui-contract-bg, #fffaa1);
|
|
2530
|
+
padding: 4px 8px;
|
|
2531
|
+
border-radius: 4px;
|
|
2532
|
+
}
|
|
2520
2533
|
.pro-form .ant-form-item .ant-row {
|
|
2521
2534
|
width: 100%;
|
|
2522
2535
|
}
|
|
@@ -5137,6 +5150,10 @@ input[type='button'] {
|
|
|
5137
5150
|
.ant-tabs .ant-tabs-nav .ant-tabs-tab-btn {
|
|
5138
5151
|
font-size: var(--zaui-font-size-lg, 16px);
|
|
5139
5152
|
}
|
|
5153
|
+
.ant-tabs.ant-tabs-card .ant-tabs-tab {
|
|
5154
|
+
padding: 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
|
|
5155
|
+
margin-right: 10px !important;
|
|
5156
|
+
}
|
|
5140
5157
|
.ant-tabs.ant-tabs-card .ant-tabs-nav .ant-tabs-tab-btn {
|
|
5141
5158
|
font-size: var(--zaui-font-size, 14px);
|
|
5142
5159
|
}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
import "antd/es/tooltip/style";
|
|
2
|
+
import _Tooltip from "antd/es/tooltip";
|
|
1
3
|
import "antd/es/form/style";
|
|
2
4
|
import _Form from "antd/es/form";
|
|
5
|
+
import "antd/es/space/style";
|
|
6
|
+
import _Space from "antd/es/space";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
9
|
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
4
10
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
5
11
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
6
12
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
7
13
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
8
|
-
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules"];
|
|
9
|
-
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className"];
|
|
15
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
16
|
/* eslint-disable prefer-destructuring */
|
|
11
17
|
/* eslint-disable prefer-const */
|
|
12
18
|
import React, { useCallback, useEffect } from 'react';
|
|
19
|
+
import classNames from 'classnames';
|
|
13
20
|
import { cloneDeep, isEqual, debounce, omit, isFunction, isString } from 'lodash';
|
|
14
21
|
import valueTypeMap from '../../../ProForm/utils/valueType';
|
|
15
22
|
import transformMap from '../../utils/transform';
|
|
@@ -18,11 +25,12 @@ import * as componentMap from '../../../ProForm/components';
|
|
|
18
25
|
import Container from '../../../ProForm/components/Container';
|
|
19
26
|
import transformNames from '../../../ProForm/utils/transformNames';
|
|
20
27
|
import { FieldProvider } from '../../../ProForm/utils/useFieldProps';
|
|
28
|
+
import { useChanged } from '../../../ProForm/utils/useChanged';
|
|
21
29
|
import useRules from '../../../ProForm/utils/useRules';
|
|
22
30
|
import { isSelect } from '../../../ProForm/utils';
|
|
23
31
|
import locale from '../../../locale';
|
|
24
32
|
var RenderField = function RenderField(_ref) {
|
|
25
|
-
var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4;
|
|
33
|
+
var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4, _classNames;
|
|
26
34
|
var value = _ref.text,
|
|
27
35
|
record = _ref.record,
|
|
28
36
|
index = _ref.index,
|
|
@@ -47,6 +55,8 @@ var RenderField = function RenderField(_ref) {
|
|
|
47
55
|
required = _column$required === void 0 ? false : _column$required,
|
|
48
56
|
_column$rules = column.rules,
|
|
49
57
|
rules = _column$rules === void 0 ? [] : _column$rules,
|
|
58
|
+
equalWith = column.equalWith,
|
|
59
|
+
className = column.className,
|
|
50
60
|
resetProps = _objectWithoutProperties(column, _excluded);
|
|
51
61
|
// editRender弃用使用component同ProForm
|
|
52
62
|
var _editRender = component || editRender;
|
|
@@ -61,7 +71,9 @@ var RenderField = function RenderField(_ref) {
|
|
|
61
71
|
setState = config.setState,
|
|
62
72
|
name = config.name,
|
|
63
73
|
virtualKey = config.virtualKey,
|
|
64
|
-
viewEmpty = config.viewEmpty
|
|
74
|
+
viewEmpty = config.viewEmpty,
|
|
75
|
+
originalValues = config.originalValues,
|
|
76
|
+
originalTip = config.originalTip;
|
|
65
77
|
var _fieldProps = fieldProps || formItemProps || {};
|
|
66
78
|
var _rules = rules || [];
|
|
67
79
|
var _required = required;
|
|
@@ -175,13 +187,23 @@ var RenderField = function RenderField(_ref) {
|
|
|
175
187
|
return [].concat(_toConsumableArray(baseName), [index, key]);
|
|
176
188
|
});
|
|
177
189
|
}
|
|
190
|
+
var originalName = cellName;
|
|
191
|
+
var originalNames = names;
|
|
192
|
+
if (virtualKey) {
|
|
193
|
+
var _cellName$slice, _names2, _names2$map;
|
|
194
|
+
originalName = [].concat(_toConsumableArray(name), _toConsumableArray(cellName === null || cellName === void 0 ? void 0 : (_cellName$slice = cellName.slice) === null || _cellName$slice === void 0 ? void 0 : _cellName$slice.call(cellName, 1)));
|
|
195
|
+
originalNames = (_names2 = names) === null || _names2 === void 0 ? void 0 : (_names2$map = _names2.map) === null || _names2$map === void 0 ? void 0 : _names2$map.call(_names2, function (item) {
|
|
196
|
+
var _item$slice;
|
|
197
|
+
return [].concat(_toConsumableArray(name), _toConsumableArray(item === null || item === void 0 ? void 0 : (_item$slice = item.slice) === null || _item$slice === void 0 ? void 0 : _item$slice.call(item, 1)));
|
|
198
|
+
});
|
|
199
|
+
}
|
|
178
200
|
/**
|
|
179
201
|
* 配置names时,基于formItem的normalize与getValueProps进行值类型转换
|
|
180
202
|
* @returns {}
|
|
181
203
|
*/
|
|
182
204
|
var namesTransform = function namesTransform() {
|
|
183
|
-
var
|
|
184
|
-
if (!((
|
|
205
|
+
var _names3;
|
|
206
|
+
if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
|
|
185
207
|
return {};
|
|
186
208
|
}
|
|
187
209
|
var namesStr = [baseName, index, dataIndex];
|
|
@@ -341,14 +363,6 @@ var RenderField = function RenderField(_ref) {
|
|
|
341
363
|
d: Date.now()
|
|
342
364
|
}
|
|
343
365
|
});
|
|
344
|
-
// if (virtualKey) {
|
|
345
|
-
// // 单行编辑时需要 强制更新视图
|
|
346
|
-
// setState({
|
|
347
|
-
// forceUpdate: {
|
|
348
|
-
// d: Date.now(),
|
|
349
|
-
// },
|
|
350
|
-
// });
|
|
351
|
-
// }
|
|
352
366
|
case 30:
|
|
353
367
|
case "end":
|
|
354
368
|
return _context.stop();
|
|
@@ -437,6 +451,20 @@ var RenderField = function RenderField(_ref) {
|
|
|
437
451
|
return _ref3.apply(this, arguments);
|
|
438
452
|
};
|
|
439
453
|
}();
|
|
454
|
+
// 判断当前字段是否变更
|
|
455
|
+
var _useChanged = useChanged({
|
|
456
|
+
name: cellName,
|
|
457
|
+
names: names,
|
|
458
|
+
namesStr: [].concat(_toConsumableArray(baseName), [index, dataIndex]),
|
|
459
|
+
originalName: originalName,
|
|
460
|
+
originalNames: originalNames,
|
|
461
|
+
originalValues: originalValues,
|
|
462
|
+
form: form,
|
|
463
|
+
equalWith: equalWith
|
|
464
|
+
}),
|
|
465
|
+
_useChanged2 = _slicedToArray(_useChanged, 2),
|
|
466
|
+
changed = _useChanged2[0],
|
|
467
|
+
originalValue = _useChanged2[1];
|
|
440
468
|
var componentProps = _objectSpread(_objectSpread(_objectSpread({
|
|
441
469
|
form: form,
|
|
442
470
|
name: cellName,
|
|
@@ -477,15 +505,32 @@ var RenderField = function RenderField(_ref) {
|
|
|
477
505
|
if (!isEditing) {
|
|
478
506
|
delete _formItemProps.rules;
|
|
479
507
|
}
|
|
508
|
+
var _className = classNames((_classNames = {}, _defineProperty(_classNames, className, className), _defineProperty(_classNames, 'pro-form-item-changed', changed), _classNames));
|
|
509
|
+
var originalTitle = _jsxs(_Space, {
|
|
510
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
|
|
511
|
+
isView: true,
|
|
512
|
+
value: originalValue,
|
|
513
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
514
|
+
})) : _jsx(TargetComponent, _objectSpread(_objectSpread({}, omit(componentProps, ['onFieldChange'])), {}, {
|
|
515
|
+
isView: true,
|
|
516
|
+
value: originalValue,
|
|
517
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
518
|
+
}))]
|
|
519
|
+
});
|
|
520
|
+
var FormItem = _jsx(_Form.Item, _objectSpread(_objectSpread({
|
|
521
|
+
validateFirst: true
|
|
522
|
+
}, omit(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
|
|
523
|
+
className: _className,
|
|
524
|
+
name: cellName,
|
|
525
|
+
children: /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange']))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
|
|
526
|
+
}));
|
|
480
527
|
return _jsx(FieldProvider, {
|
|
481
528
|
value: componentProps === null || componentProps === void 0 ? void 0 : componentProps.otherProps,
|
|
482
|
-
children: _jsx(
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
children: /*#__PURE__*/React.isValidElement(TargetComponent) ? /*#__PURE__*/React.cloneElement(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange']))) : _jsx(TargetComponent, _objectSpread({}, omit(componentProps, ['onFieldChange'])))
|
|
488
|
-
}))
|
|
529
|
+
children: !originalTip || ['FormList', 'ProEditTable'].includes(type) ? FormItem : _jsx(_Tooltip, {
|
|
530
|
+
title: originalTitle,
|
|
531
|
+
open: changed ? undefined : false,
|
|
532
|
+
children: FormItem
|
|
533
|
+
})
|
|
489
534
|
});
|
|
490
535
|
};
|
|
491
536
|
export default RenderField;
|
package/es/ProEditTable/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
10
10
|
import "antd/es/form/style";
|
|
11
11
|
import _Form from "antd/es/form";
|
|
12
12
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
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"];
|
|
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"];
|
|
14
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';
|
|
16
16
|
import { isArray } from 'lodash';
|
|
@@ -48,6 +48,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
48
48
|
max = _ref.max,
|
|
49
49
|
headerRender = _ref.headerRender,
|
|
50
50
|
pagination = _ref.pagination,
|
|
51
|
+
originalValues = _ref.originalValues,
|
|
52
|
+
originalTip = _ref.originalTip,
|
|
51
53
|
resetProps = _objectWithoutProperties(_ref, _excluded);
|
|
52
54
|
// 上下文form
|
|
53
55
|
var contentForm = _Form.useFormInstance();
|
|
@@ -134,7 +136,9 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
134
136
|
tableRef: tableRef,
|
|
135
137
|
max: max,
|
|
136
138
|
tableLength: value === null || value === void 0 ? void 0 : value.length,
|
|
137
|
-
page: page
|
|
139
|
+
page: page,
|
|
140
|
+
originalValues: originalValues,
|
|
141
|
+
originalTip: originalTip
|
|
138
142
|
};
|
|
139
143
|
// 判断是否禁止添加、批量删除
|
|
140
144
|
var isForbiddenBtn = useCallback(function (type) {
|
|
@@ -121,9 +121,19 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
|
|
|
121
121
|
* @default -
|
|
122
122
|
*/
|
|
123
123
|
form?: FormInstance;
|
|
124
|
+
/**
|
|
125
|
+
* @description 原始数据源,设置后可以对比更新后的数值
|
|
126
|
+
* @default -
|
|
127
|
+
*/
|
|
128
|
+
originalValues?: any;
|
|
129
|
+
/**
|
|
130
|
+
* @description 原始数据源,是否tooltip显示
|
|
131
|
+
* @default -
|
|
132
|
+
*/
|
|
133
|
+
originalTip?: boolean;
|
|
124
134
|
/**
|
|
125
135
|
* @description 可编辑表格的类型,单行、多行、单元格编辑
|
|
126
|
-
* @default
|
|
136
|
+
* @default false
|
|
127
137
|
*/
|
|
128
138
|
mode?: 'single' | 'multiple' | 'cell';
|
|
129
139
|
/**
|
|
@@ -15,6 +15,7 @@ import Container from '../../Container';
|
|
|
15
15
|
import * as componentMap from '../../index';
|
|
16
16
|
import { isNullValue, weedOutProps } from '../../../utils';
|
|
17
17
|
import { otherKeys } from '../../../propsType';
|
|
18
|
+
import ProForm from '../../../../ProForm';
|
|
18
19
|
import './style/index.less';
|
|
19
20
|
var useControlled = function useControlled(props) {
|
|
20
21
|
var value = props.value,
|
|
@@ -125,7 +125,7 @@ function List(props) {
|
|
|
125
125
|
_useState2 = _slicedToArray(_useState, 2),
|
|
126
126
|
open = _useState2[0],
|
|
127
127
|
setOpen = _useState2[1];
|
|
128
|
-
var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item
|
|
128
|
+
var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item[fieldNameValue], item);
|
|
129
129
|
operateButton === null || operateButton === void 0 ? void 0 : operateButton.map(function (item, i) {
|
|
130
130
|
return _jsx(React.Fragment, {
|
|
131
131
|
children: item
|
|
@@ -145,9 +145,10 @@ export var ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
|
145
145
|
_message.error(msg);
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
|
+
var resultData = transferDataSource(data, showCodeName);
|
|
148
149
|
setState({
|
|
149
|
-
selectList:
|
|
150
|
-
origDataSource:
|
|
150
|
+
selectList: resultData || [],
|
|
151
|
+
origDataSource: resultData || []
|
|
151
152
|
});
|
|
152
153
|
};
|
|
153
154
|
// 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
|
package/es/style/theme/antd.less
CHANGED
|
@@ -339,6 +339,11 @@
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
&.ant-tabs-card {
|
|
342
|
+
.ant-tabs-tab {
|
|
343
|
+
padding : 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
|
|
344
|
+
margin-right: 10px !important;
|
|
345
|
+
}
|
|
346
|
+
|
|
342
347
|
.ant-tabs-nav .ant-tabs-tab-btn {
|
|
343
348
|
font-size: var(--zaui-font-size, 14px);
|
|
344
349
|
}
|
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
11
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
10
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -14,6 +16,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
18
|
var _antd = require("antd");
|
|
19
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
20
|
var _lodash = require("lodash");
|
|
18
21
|
var _valueType = _interopRequireDefault(require("../../../ProForm/utils/valueType"));
|
|
19
22
|
var _transform = _interopRequireDefault(require("../../utils/transform"));
|
|
@@ -22,14 +25,15 @@ var componentMap = _interopRequireWildcard(require("../../../ProForm/components"
|
|
|
22
25
|
var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
|
|
23
26
|
var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
|
|
24
27
|
var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
|
|
28
|
+
var _useChanged3 = require("../../../ProForm/utils/useChanged");
|
|
25
29
|
var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
|
|
26
30
|
var _utils = require("../../../ProForm/utils");
|
|
27
31
|
var _locale = _interopRequireDefault(require("../../../locale"));
|
|
28
|
-
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules"];
|
|
32
|
+
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className"];
|
|
29
33
|
/* eslint-disable prefer-destructuring */
|
|
30
34
|
/* eslint-disable prefer-const */
|
|
31
35
|
var RenderField = function RenderField(_ref) {
|
|
32
|
-
var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4;
|
|
36
|
+
var _type, _type$replace, _fieldProps2, _fieldProps3, _fieldProps4, _names, _formItemChildProps$p, _TargetComponent4, _classNames;
|
|
33
37
|
var value = _ref.text,
|
|
34
38
|
record = _ref.record,
|
|
35
39
|
index = _ref.index,
|
|
@@ -54,6 +58,8 @@ var RenderField = function RenderField(_ref) {
|
|
|
54
58
|
required = _column$required === void 0 ? false : _column$required,
|
|
55
59
|
_column$rules = column.rules,
|
|
56
60
|
rules = _column$rules === void 0 ? [] : _column$rules,
|
|
61
|
+
equalWith = column.equalWith,
|
|
62
|
+
className = column.className,
|
|
57
63
|
resetProps = (0, _objectWithoutProperties2.default)(column, _excluded);
|
|
58
64
|
// editRender弃用使用component同ProForm
|
|
59
65
|
var _editRender = component || editRender;
|
|
@@ -68,7 +74,9 @@ var RenderField = function RenderField(_ref) {
|
|
|
68
74
|
setState = config.setState,
|
|
69
75
|
name = config.name,
|
|
70
76
|
virtualKey = config.virtualKey,
|
|
71
|
-
viewEmpty = config.viewEmpty
|
|
77
|
+
viewEmpty = config.viewEmpty,
|
|
78
|
+
originalValues = config.originalValues,
|
|
79
|
+
originalTip = config.originalTip;
|
|
72
80
|
var _fieldProps = fieldProps || formItemProps || {};
|
|
73
81
|
var _rules = rules || [];
|
|
74
82
|
var _required = required;
|
|
@@ -182,13 +190,23 @@ var RenderField = function RenderField(_ref) {
|
|
|
182
190
|
return [].concat((0, _toConsumableArray2.default)(baseName), [index, key]);
|
|
183
191
|
});
|
|
184
192
|
}
|
|
193
|
+
var originalName = cellName;
|
|
194
|
+
var originalNames = names;
|
|
195
|
+
if (virtualKey) {
|
|
196
|
+
var _cellName$slice, _names2, _names2$map;
|
|
197
|
+
originalName = [].concat((0, _toConsumableArray2.default)(name), (0, _toConsumableArray2.default)(cellName === null || cellName === void 0 ? void 0 : (_cellName$slice = cellName.slice) === null || _cellName$slice === void 0 ? void 0 : _cellName$slice.call(cellName, 1)));
|
|
198
|
+
originalNames = (_names2 = names) === null || _names2 === void 0 ? void 0 : (_names2$map = _names2.map) === null || _names2$map === void 0 ? void 0 : _names2$map.call(_names2, function (item) {
|
|
199
|
+
var _item$slice;
|
|
200
|
+
return [].concat((0, _toConsumableArray2.default)(name), (0, _toConsumableArray2.default)(item === null || item === void 0 ? void 0 : (_item$slice = item.slice) === null || _item$slice === void 0 ? void 0 : _item$slice.call(item, 1)));
|
|
201
|
+
});
|
|
202
|
+
}
|
|
185
203
|
/**
|
|
186
204
|
* 配置names时,基于formItem的normalize与getValueProps进行值类型转换
|
|
187
205
|
* @returns {}
|
|
188
206
|
*/
|
|
189
207
|
var namesTransform = function namesTransform() {
|
|
190
|
-
var
|
|
191
|
-
if (!((
|
|
208
|
+
var _names3;
|
|
209
|
+
if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
|
|
192
210
|
return {};
|
|
193
211
|
}
|
|
194
212
|
var namesStr = [baseName, index, dataIndex];
|
|
@@ -348,14 +366,6 @@ var RenderField = function RenderField(_ref) {
|
|
|
348
366
|
d: Date.now()
|
|
349
367
|
}
|
|
350
368
|
});
|
|
351
|
-
// if (virtualKey) {
|
|
352
|
-
// // 单行编辑时需要 强制更新视图
|
|
353
|
-
// setState({
|
|
354
|
-
// forceUpdate: {
|
|
355
|
-
// d: Date.now(),
|
|
356
|
-
// },
|
|
357
|
-
// });
|
|
358
|
-
// }
|
|
359
369
|
case 30:
|
|
360
370
|
case "end":
|
|
361
371
|
return _context.stop();
|
|
@@ -444,6 +454,20 @@ var RenderField = function RenderField(_ref) {
|
|
|
444
454
|
return _ref3.apply(this, arguments);
|
|
445
455
|
};
|
|
446
456
|
}();
|
|
457
|
+
// 判断当前字段是否变更
|
|
458
|
+
var _useChanged = (0, _useChanged3.useChanged)({
|
|
459
|
+
name: cellName,
|
|
460
|
+
names: names,
|
|
461
|
+
namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
|
|
462
|
+
originalName: originalName,
|
|
463
|
+
originalNames: originalNames,
|
|
464
|
+
originalValues: originalValues,
|
|
465
|
+
form: form,
|
|
466
|
+
equalWith: equalWith
|
|
467
|
+
}),
|
|
468
|
+
_useChanged2 = (0, _slicedToArray2.default)(_useChanged, 2),
|
|
469
|
+
changed = _useChanged2[0],
|
|
470
|
+
originalValue = _useChanged2[1];
|
|
447
471
|
var componentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
448
472
|
form: form,
|
|
449
473
|
name: cellName,
|
|
@@ -484,15 +508,32 @@ var RenderField = function RenderField(_ref) {
|
|
|
484
508
|
if (!isEditing) {
|
|
485
509
|
delete _formItemProps.rules;
|
|
486
510
|
}
|
|
511
|
+
var _className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, className, className), (0, _defineProperty2.default)(_classNames, 'pro-form-item-changed', changed), _classNames));
|
|
512
|
+
var originalTitle = (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
513
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])), {}, {
|
|
514
|
+
isView: true,
|
|
515
|
+
value: originalValue,
|
|
516
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
517
|
+
})) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])), {}, {
|
|
518
|
+
isView: true,
|
|
519
|
+
value: originalValue,
|
|
520
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
521
|
+
}))]
|
|
522
|
+
});
|
|
523
|
+
var FormItem = (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
524
|
+
validateFirst: true
|
|
525
|
+
}, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name'])), {}, {
|
|
526
|
+
className: _className,
|
|
527
|
+
name: cellName,
|
|
528
|
+
children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange']))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])))
|
|
529
|
+
}));
|
|
487
530
|
return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
|
|
488
531
|
value: componentProps === null || componentProps === void 0 ? void 0 : componentProps.otherProps,
|
|
489
|
-
children:
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange']))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, (0, _lodash.omit)(componentProps, ['onFieldChange'])))
|
|
495
|
-
}))
|
|
532
|
+
children: !originalTip || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
533
|
+
title: originalTitle,
|
|
534
|
+
open: changed ? undefined : false,
|
|
535
|
+
children: FormItem
|
|
536
|
+
})
|
|
496
537
|
});
|
|
497
538
|
};
|
|
498
539
|
var _default = exports.default = RenderField;
|
|
@@ -22,7 +22,7 @@ var _tools = require("./utils/tools");
|
|
|
22
22
|
var _components = require("./components");
|
|
23
23
|
var _empty = _interopRequireDefault(require("../assets/empty.png"));
|
|
24
24
|
var _locale = _interopRequireDefault(require("../locale"));
|
|
25
|
-
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"];
|
|
25
|
+
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"];
|
|
26
26
|
var ProEditTable = function ProEditTable(_ref, ref) {
|
|
27
27
|
var _resetProps$id, _resetProps$id$split, _value$2;
|
|
28
28
|
var value = _ref.value,
|
|
@@ -50,6 +50,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
50
50
|
max = _ref.max,
|
|
51
51
|
headerRender = _ref.headerRender,
|
|
52
52
|
pagination = _ref.pagination,
|
|
53
|
+
originalValues = _ref.originalValues,
|
|
54
|
+
originalTip = _ref.originalTip,
|
|
53
55
|
resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
54
56
|
// 上下文form
|
|
55
57
|
var contentForm = _antd.Form.useFormInstance();
|
|
@@ -136,7 +138,9 @@ var ProEditTable = function ProEditTable(_ref, ref) {
|
|
|
136
138
|
tableRef: tableRef,
|
|
137
139
|
max: max,
|
|
138
140
|
tableLength: value === null || value === void 0 ? void 0 : value.length,
|
|
139
|
-
page: page
|
|
141
|
+
page: page,
|
|
142
|
+
originalValues: originalValues,
|
|
143
|
+
originalTip: originalTip
|
|
140
144
|
};
|
|
141
145
|
// 判断是否禁止添加、批量删除
|
|
142
146
|
var isForbiddenBtn = (0, _react.useCallback)(function (type) {
|
|
@@ -121,9 +121,19 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
|
|
|
121
121
|
* @default -
|
|
122
122
|
*/
|
|
123
123
|
form?: FormInstance;
|
|
124
|
+
/**
|
|
125
|
+
* @description 原始数据源,设置后可以对比更新后的数值
|
|
126
|
+
* @default -
|
|
127
|
+
*/
|
|
128
|
+
originalValues?: any;
|
|
129
|
+
/**
|
|
130
|
+
* @description 原始数据源,是否tooltip显示
|
|
131
|
+
* @default -
|
|
132
|
+
*/
|
|
133
|
+
originalTip?: boolean;
|
|
124
134
|
/**
|
|
125
135
|
* @description 可编辑表格的类型,单行、多行、单元格编辑
|
|
126
|
-
* @default
|
|
136
|
+
* @default false
|
|
127
137
|
*/
|
|
128
138
|
mode?: 'single' | 'multiple' | 'cell';
|
|
129
139
|
/**
|
|
@@ -17,6 +17,7 @@ var _Container = _interopRequireDefault(require("../../Container"));
|
|
|
17
17
|
var componentMap = _interopRequireWildcard(require("../../index"));
|
|
18
18
|
var _utils = require("../../../utils");
|
|
19
19
|
var _propsType = require("../../../propsType");
|
|
20
|
+
var _ProForm = _interopRequireDefault(require("../../../../ProForm"));
|
|
20
21
|
require("./style/index.less");
|
|
21
22
|
// @ts-nocheck
|
|
22
23
|
|
|
@@ -54,7 +55,7 @@ var ProCombination = exports.ProCombination = function ProCombination(props) {
|
|
|
54
55
|
renderType: 'Input'
|
|
55
56
|
}] : _props$childProps,
|
|
56
57
|
separator = props.separator;
|
|
57
|
-
var _ref =
|
|
58
|
+
var _ref = _ProForm.default.useFieldProps() || {},
|
|
58
59
|
_ref$isView = _ref.isView,
|
|
59
60
|
isView = _ref$isView === void 0 ? false : _ref$isView,
|
|
60
61
|
viewEmpty = _ref.viewEmpty,
|
|
@@ -130,7 +130,7 @@ function List(props) {
|
|
|
130
130
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
131
131
|
open = _useState2[0],
|
|
132
132
|
setOpen = _useState2[1];
|
|
133
|
-
var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item
|
|
133
|
+
var operateButton = menu && menu(item === null || item === void 0 ? void 0 : item[fieldNameValue], item);
|
|
134
134
|
operateButton === null || operateButton === void 0 ? void 0 : operateButton.map(function (item, i) {
|
|
135
135
|
return (0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
136
136
|
children: item
|
|
@@ -147,9 +147,10 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
|
|
|
147
147
|
_antd.message.error(msg);
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
|
+
var resultData = transferDataSource(data, showCodeName);
|
|
150
151
|
setState({
|
|
151
|
-
selectList:
|
|
152
|
-
origDataSource:
|
|
152
|
+
selectList: resultData || [],
|
|
153
|
+
origDataSource: resultData || []
|
|
153
154
|
});
|
|
154
155
|
};
|
|
155
156
|
// 配置了异步数据源,拉取枚举数据逻辑 如果有code不掉接口从local里根据code取值
|
|
@@ -339,6 +339,11 @@
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
&.ant-tabs-card {
|
|
342
|
+
.ant-tabs-tab {
|
|
343
|
+
padding : 8px calc(var(--zaui-space-size-md, 16px)*var(--zaui-size, 1)) !important;
|
|
344
|
+
margin-right: 10px !important;
|
|
345
|
+
}
|
|
346
|
+
|
|
342
347
|
.ant-tabs-nav .ant-tabs-tab-btn {
|
|
343
348
|
font-size: var(--zaui-font-size, 14px);
|
|
344
349
|
}
|