@zat-design/sisyphus-react 3.6.9-beta.6 → 3.6.10
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 +41 -41
- package/dist/less.esm.css +41 -41
- package/es/ProEditTable/components/RenderField/index.js +46 -26
- package/es/ProForm/components/combination/ProCascader/index.js +14 -8
- package/es/ProForm/components/render/Render.js +39 -25
- package/es/ProForm/style/index.less +52 -52
- package/es/ProForm/utils/diffOriginal.d.ts +1 -0
- package/es/ProForm/utils/diffOriginal.js +27 -4
- package/es/ProForm/utils/index.d.ts +0 -6
- package/es/ProForm/utils/index.js +8 -57
- package/es/ProForm/utils/useChanged.js +2 -1
- package/es/ProForm/utils/useListChanged.js +3 -3
- package/es/ProTable/components/FormatColumn/index.js +16 -0
- package/es/ProTable/propsType.d.ts +4 -0
- package/es/ProThemeTools/component/{ProTools → PrdTools}/index.d.ts +2 -2
- package/es/ProThemeTools/component/{ProTools → PrdTools}/index.js +2 -2
- package/es/ProThemeTools/component/index.d.ts +2 -1
- package/es/ProThemeTools/component/index.js +2 -1
- package/es/ProThemeTools/index.js +2 -2
- package/es/ProThemeTools/style/index.less +1 -1
- package/lib/ProEditTable/components/RenderField/index.js +41 -25
- package/lib/ProForm/components/combination/ProCascader/index.js +12 -6
- package/lib/ProForm/components/render/Render.js +37 -25
- package/lib/ProForm/style/index.less +52 -52
- package/lib/ProForm/utils/diffOriginal.d.ts +1 -0
- package/lib/ProForm/utils/diffOriginal.js +27 -3
- package/lib/ProForm/utils/index.d.ts +0 -6
- package/lib/ProForm/utils/index.js +8 -59
- package/lib/ProForm/utils/useChanged.js +2 -1
- package/lib/ProForm/utils/useListChanged.js +2 -2
- package/lib/ProTable/components/FormatColumn/index.js +16 -0
- package/lib/ProTable/propsType.d.ts +4 -0
- package/lib/ProThemeTools/component/{ProTools → PrdTools}/index.d.ts +2 -2
- package/lib/ProThemeTools/component/{ProTools → PrdTools}/index.js +2 -2
- package/lib/ProThemeTools/component/index.d.ts +2 -1
- package/lib/ProThemeTools/component/index.js +3 -3
- package/lib/ProThemeTools/index.js +1 -1
- package/lib/ProThemeTools/style/index.less +1 -1
- package/package.json +1 -1
- package/es/ProEditTable/components/RenderField/ListChanged.d.ts +0 -16
- package/es/ProEditTable/components/RenderField/ListChanged.js +0 -124
- package/es/ProForm/components/render/Changed.d.ts +0 -14
- package/es/ProForm/components/render/Changed.js +0 -64
- package/lib/ProEditTable/components/RenderField/ListChanged.d.ts +0 -16
- package/lib/ProEditTable/components/RenderField/ListChanged.js +0 -129
- package/lib/ProForm/components/render/Changed.d.ts +0 -14
- package/lib/ProForm/components/render/Changed.js +0 -69
- /package/es/ProThemeTools/component/{ProTools → PrdTools}/style/index.less +0 -0
- /package/lib/ProThemeTools/component/{ProTools → PrdTools}/style/index.less +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
1
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
3
|
-
import
|
|
2
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
4
3
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
5
4
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
6
5
|
import React, { useState } from 'react';
|
|
7
6
|
import moment from 'moment';
|
|
8
|
-
import _, { isObject, isFunction,
|
|
7
|
+
import _, { isObject, isFunction, get, set, omit, isNaN } from 'lodash';
|
|
9
8
|
export var getLayout = function getLayout(params) {
|
|
10
9
|
var _params$span = params.span,
|
|
11
10
|
span = _params$span === void 0 ? 8 : _params$span,
|
|
@@ -249,54 +248,6 @@ export function toArray(value) {
|
|
|
249
248
|
}
|
|
250
249
|
return Array.isArray(value) ? value : [value];
|
|
251
250
|
}
|
|
252
|
-
/**
|
|
253
|
-
* names值合并
|
|
254
|
-
* @param obj AnyObject
|
|
255
|
-
* @returns AnyObject
|
|
256
|
-
*/
|
|
257
|
-
export function processHyphenKeys(obj) {
|
|
258
|
-
var newObj = _objectSpread({}, obj);
|
|
259
|
-
var keys = Object.keys(obj);
|
|
260
|
-
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
261
|
-
var key = _keys[_i];
|
|
262
|
-
if (key.includes('-')) {
|
|
263
|
-
var keyParts = key.split('-');
|
|
264
|
-
var shouldCombine = true;
|
|
265
|
-
var combinedArray = [];
|
|
266
|
-
var _iterator = _createForOfIteratorHelper(keyParts),
|
|
267
|
-
_step;
|
|
268
|
-
try {
|
|
269
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
270
|
-
var part = _step.value;
|
|
271
|
-
if (obj.hasOwnProperty(part)) {
|
|
272
|
-
combinedArray.push(obj[part]);
|
|
273
|
-
} else {
|
|
274
|
-
shouldCombine = false;
|
|
275
|
-
break;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
} catch (err) {
|
|
279
|
-
_iterator.e(err);
|
|
280
|
-
} finally {
|
|
281
|
-
_iterator.f();
|
|
282
|
-
}
|
|
283
|
-
if (shouldCombine) {
|
|
284
|
-
newObj[key] = combinedArray;
|
|
285
|
-
} else {
|
|
286
|
-
newObj[key] = undefined;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
// 匹配数组的namePath,只匹配到1层
|
|
290
|
-
if (key.includes('_')) {
|
|
291
|
-
var _keyParts = key.split('_')[0];
|
|
292
|
-
// 校验值是否存在,解决names多传额外空值报错
|
|
293
|
-
newObj[key] = isObject(newObj[_keyParts]) ? Object.values(newObj[_keyParts]).filter(function (val) {
|
|
294
|
-
return val !== null && val !== undefined && val !== '';
|
|
295
|
-
}) : [];
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
return cloneDeep(newObj);
|
|
299
|
-
}
|
|
300
251
|
/**
|
|
301
252
|
* 初始化值names值合并
|
|
302
253
|
* @param obj AnyObject
|
|
@@ -464,11 +415,11 @@ export var parseNamePath = function parseNamePath(input) {
|
|
|
464
415
|
};
|
|
465
416
|
/** 解析namePath */
|
|
466
417
|
export function findNamesKeyInArray(arr, key) {
|
|
467
|
-
var
|
|
468
|
-
|
|
418
|
+
var _iterator = _createForOfIteratorHelper(arr),
|
|
419
|
+
_step;
|
|
469
420
|
try {
|
|
470
|
-
for (
|
|
471
|
-
var item =
|
|
421
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
422
|
+
var item = _step.value;
|
|
472
423
|
if (!item.includes('_')) {
|
|
473
424
|
return null;
|
|
474
425
|
}
|
|
@@ -477,9 +428,9 @@ export function findNamesKeyInArray(arr, key) {
|
|
|
477
428
|
}
|
|
478
429
|
}
|
|
479
430
|
} catch (err) {
|
|
480
|
-
|
|
431
|
+
_iterator.e(err);
|
|
481
432
|
} finally {
|
|
482
|
-
|
|
433
|
+
_iterator.f();
|
|
483
434
|
}
|
|
484
435
|
return null;
|
|
485
436
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "antd/es/form/style";
|
|
2
2
|
import _Form from "antd/es/form";
|
|
3
|
-
import { get } from 'lodash';
|
|
3
|
+
import { get, isString } from 'lodash';
|
|
4
4
|
import { diffOriginal } from './diffOriginal';
|
|
5
5
|
var toNamePath = function toNamePath(name) {
|
|
6
6
|
if (Array.isArray(name)) {
|
|
@@ -86,8 +86,8 @@ export var useListChanged = function useListChanged(params) {
|
|
|
86
86
|
value: value,
|
|
87
87
|
originalValue: originalValue,
|
|
88
88
|
form: form,
|
|
89
|
-
equalWith: equalWith
|
|
90
|
-
|
|
89
|
+
equalWith: equalWith,
|
|
90
|
+
name: isString(namesStr) ? namesStr : originalName || name
|
|
91
91
|
});
|
|
92
92
|
return [changed, originalValue];
|
|
93
93
|
};
|
|
@@ -191,6 +191,22 @@ export var formatColumn = function formatColumn(column, originalObj, dataSourceO
|
|
|
191
191
|
var renderValue = getEnumLabel(realCode, value, valueType === 'enumCodeName');
|
|
192
192
|
var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
|
|
193
193
|
var originalRenderValue = getEnumLabel(realCode, originalValue, valueType === 'enumCodeName');
|
|
194
|
+
if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
|
|
195
|
+
var _column$codeValues$fi;
|
|
196
|
+
var labelName = column === null || column === void 0 ? void 0 : (_column$codeValues$fi = column.codeValues.find(function (item) {
|
|
197
|
+
return item.value === value;
|
|
198
|
+
})) === null || _column$codeValues$fi === void 0 ? void 0 : _column$codeValues$fi.label;
|
|
199
|
+
if (valueType === 'enumName') {
|
|
200
|
+
renderValue = _jsx(_Fragment, {
|
|
201
|
+
children: labelName || '-'
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
if (valueType === 'enumCodeName') {
|
|
205
|
+
renderValue = _jsx(_Fragment, {
|
|
206
|
+
children: labelName ? "".concat(value, "-").concat(labelName) : labelName
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
194
210
|
var node = _jsxs(_Space, {
|
|
195
211
|
size: 8,
|
|
196
212
|
children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
|
|
@@ -26,6 +26,10 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
|
26
26
|
format?: string;
|
|
27
27
|
precision?: number;
|
|
28
28
|
code?: string | string[] | ((text: any, record: any) => string);
|
|
29
|
+
codeValues?: {
|
|
30
|
+
label: string;
|
|
31
|
+
value: string | number;
|
|
32
|
+
}[];
|
|
29
33
|
copyable?: boolean;
|
|
30
34
|
originalDiffTip?: boolean;
|
|
31
35
|
prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { DevToolsPropsType } from '../../propsType';
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
2
|
+
declare const PrdTools: ({ onReset, onClose, setState, open, state, tableBorder, tableStripe, }: DevToolsPropsType) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default PrdTools;
|
|
@@ -21,7 +21,7 @@ var connect = function connect(Component) {
|
|
|
21
21
|
return ComponentWrapper;
|
|
22
22
|
};
|
|
23
23
|
var NewDrawer = connect(_Drawer);
|
|
24
|
-
var
|
|
24
|
+
var PrdTools = function PrdTools(_ref) {
|
|
25
25
|
var onReset = _ref.onReset,
|
|
26
26
|
onClose = _ref.onClose,
|
|
27
27
|
setState = _ref.setState,
|
|
@@ -266,4 +266,4 @@ var ProTools = function ProTools(_ref) {
|
|
|
266
266
|
})]
|
|
267
267
|
});
|
|
268
268
|
};
|
|
269
|
-
export default
|
|
269
|
+
export default PrdTools;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="typings" />
|
|
2
|
+
export { default as PrdTools } from './PrdTools';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference path="../../../typings.d.ts" />;
|
|
2
|
+
export { default as PrdTools } from './PrdTools';
|
|
@@ -17,7 +17,7 @@ import { isEqual } from 'lodash';
|
|
|
17
17
|
import classnames from 'classnames';
|
|
18
18
|
import { getKebabCase, setThemes, setTableBorder, getMapKebabCase, getMapHumpCase } from './utils/index';
|
|
19
19
|
import settingSvg from '../assets/setting.svg';
|
|
20
|
-
import {
|
|
20
|
+
import { PrdTools } from './component';
|
|
21
21
|
import locale from '../locale';
|
|
22
22
|
var defaultCacheTime = 1; // 配置保存时间为一天
|
|
23
23
|
var defaultThemeConfig = {
|
|
@@ -183,7 +183,7 @@ var ProThemeTools = function ProThemeTools(_ref) {
|
|
|
183
183
|
className: "setting-icon",
|
|
184
184
|
src: settingSvg
|
|
185
185
|
})
|
|
186
|
-
}), _jsx(
|
|
186
|
+
}), _jsx(PrdTools, {
|
|
187
187
|
prefixCls: prefixCls,
|
|
188
188
|
onReset: onReset,
|
|
189
189
|
onClose: toggle,
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -25,10 +26,10 @@ var _ProConfigProvider = require("../../../ProConfigProvider");
|
|
|
25
26
|
var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
|
|
26
27
|
var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
|
|
27
28
|
var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
|
|
29
|
+
var _useListChanged3 = require("../../../ProForm/utils/useListChanged");
|
|
28
30
|
var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
|
|
29
31
|
var _utils = require("../../../ProForm/utils");
|
|
30
32
|
var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
|
|
31
|
-
var _ListChanged = _interopRequireDefault(require("./ListChanged"));
|
|
32
33
|
var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
|
|
33
34
|
/* eslint-disable prefer-destructuring */
|
|
34
35
|
/* eslint-disable prefer-const */
|
|
@@ -491,6 +492,21 @@ var RenderField = function RenderField(_ref) {
|
|
|
491
492
|
return _ref3.apply(this, arguments);
|
|
492
493
|
};
|
|
493
494
|
}();
|
|
495
|
+
// 判断当前字段是否变更
|
|
496
|
+
var _useListChanged = (0, _useListChanged3.useListChanged)({
|
|
497
|
+
name: cellName,
|
|
498
|
+
names: names,
|
|
499
|
+
namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
|
|
500
|
+
rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
|
|
501
|
+
originalName: originalName,
|
|
502
|
+
originalNames: originalNames,
|
|
503
|
+
originalValues: originalValues,
|
|
504
|
+
form: form,
|
|
505
|
+
equalWith: equalWith
|
|
506
|
+
}),
|
|
507
|
+
_useListChanged2 = (0, _slicedToArray2.default)(_useListChanged, 2),
|
|
508
|
+
changed = _useListChanged2[0],
|
|
509
|
+
originalValue = _useListChanged2[1];
|
|
494
510
|
var componentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
495
511
|
form: form,
|
|
496
512
|
name: cellName
|
|
@@ -536,35 +552,16 @@ var RenderField = function RenderField(_ref) {
|
|
|
536
552
|
if (isView) {
|
|
537
553
|
delete _formItemProps.rules;
|
|
538
554
|
}
|
|
539
|
-
var _className = (0, _classnames.default)((0, _defineProperty2.default)({}, className, className));
|
|
555
|
+
var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-changed', changed));
|
|
540
556
|
var FormItem = null;
|
|
541
|
-
var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
|
|
542
|
-
if (originalValues) {
|
|
543
|
-
FieldComponent = (0, _jsxRuntime.jsx)(_ListChanged.default, {
|
|
544
|
-
name: cellName,
|
|
545
|
-
names: names,
|
|
546
|
-
namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
|
|
547
|
-
rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
|
|
548
|
-
originalName: originalName,
|
|
549
|
-
originalNames: originalNames,
|
|
550
|
-
originalValues: originalValues,
|
|
551
|
-
form: form,
|
|
552
|
-
equalWith: equalWith,
|
|
553
|
-
type: type,
|
|
554
|
-
children: FieldComponent
|
|
555
|
-
});
|
|
556
|
-
}
|
|
557
|
-
if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
|
|
558
|
-
FieldComponent = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
559
|
-
children: FieldComponent
|
|
560
|
-
}));
|
|
561
|
-
}
|
|
562
557
|
FormItem = TargetComponent ? (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
563
558
|
validateFirst: true
|
|
564
559
|
}, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell'])), {}, {
|
|
565
560
|
className: _className,
|
|
566
561
|
name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
|
|
567
|
-
children:
|
|
562
|
+
children: ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) ? (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
563
|
+
children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
|
|
564
|
+
})) : /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
|
|
568
565
|
})) : (0, _jsxRuntime.jsx)(_Container.default, {
|
|
569
566
|
viewEmpty: viewEmpty
|
|
570
567
|
});
|
|
@@ -582,9 +579,28 @@ var RenderField = function RenderField(_ref) {
|
|
|
582
579
|
}
|
|
583
580
|
}));
|
|
584
581
|
}
|
|
582
|
+
var originalTitle = originalDiffTip && originalValues ? (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
583
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
584
|
+
isView: true,
|
|
585
|
+
value: originalValue,
|
|
586
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
587
|
+
}))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
|
|
588
|
+
isView: true,
|
|
589
|
+
value: originalValue,
|
|
590
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
591
|
+
}))]
|
|
592
|
+
}) : null;
|
|
585
593
|
return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
|
|
586
594
|
value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
|
|
587
|
-
children: FormItem
|
|
595
|
+
children: !originalTitle || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
596
|
+
title: originalTitle,
|
|
597
|
+
placement: "topLeft",
|
|
598
|
+
open: changed ? undefined : false,
|
|
599
|
+
getPopupContainer: function getPopupContainer(target) {
|
|
600
|
+
return target.parentElement;
|
|
601
|
+
},
|
|
602
|
+
children: FormItem
|
|
603
|
+
})
|
|
588
604
|
});
|
|
589
605
|
};
|
|
590
606
|
var _default = exports.default = RenderField;
|
|
@@ -21,7 +21,6 @@ var _ProConfigProvider = require("../../../../ProConfigProvider");
|
|
|
21
21
|
var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
|
|
22
22
|
var _locale = _interopRequireDefault(require("../../../../locale"));
|
|
23
23
|
var _ = _interopRequireDefault(require("../../.."));
|
|
24
|
-
var _Container = _interopRequireDefault(require("../../Container"));
|
|
25
24
|
var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder"];
|
|
26
25
|
var Text = _antd.Typography.Text;
|
|
27
26
|
var defaultFieldNames = {
|
|
@@ -83,8 +82,7 @@ var ProCascader = function ProCascader(props) {
|
|
|
83
82
|
detailPlaceholder = props.detailPlaceholder,
|
|
84
83
|
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
85
84
|
var _ref3 = _.default.useFieldProps() || {},
|
|
86
|
-
isViewCon = _ref3.isView
|
|
87
|
-
viewEmpty = _ref3.viewEmpty;
|
|
85
|
+
isViewCon = _ref3.isView;
|
|
88
86
|
var addressCode = code || enumCode;
|
|
89
87
|
var realIsView = typeof isView === 'boolean' ? isView : isViewCon;
|
|
90
88
|
var realLevel = Math.max(2, level);
|
|
@@ -240,9 +238,17 @@ var ProCascader = function ProCascader(props) {
|
|
|
240
238
|
}
|
|
241
239
|
}
|
|
242
240
|
};
|
|
243
|
-
return realIsView ? (0, _jsxRuntime.jsx)(
|
|
244
|
-
|
|
245
|
-
|
|
241
|
+
return realIsView ? tooltip ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
242
|
+
className: className,
|
|
243
|
+
title: tooltip === true ? viewValue : tooltip,
|
|
244
|
+
children: (0, _jsxRuntime.jsx)(Text, {
|
|
245
|
+
ellipsis: {
|
|
246
|
+
tooltip: false
|
|
247
|
+
},
|
|
248
|
+
children: viewValue
|
|
249
|
+
})
|
|
250
|
+
}) : (0, _jsxRuntime.jsx)("span", {
|
|
251
|
+
className: className,
|
|
246
252
|
children: viewValue
|
|
247
253
|
}) : (0, _jsxRuntime.jsxs)("div", {
|
|
248
254
|
className: "pro-address ".concat(className),
|
|
@@ -11,6 +11,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
15
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
var _antd = require("antd");
|
|
@@ -23,10 +24,10 @@ var _index = require("../../utils/index");
|
|
|
23
24
|
var _ProConfigProvider = require("../../../ProConfigProvider");
|
|
24
25
|
var _transformNames = _interopRequireDefault(require("../../utils/transformNames"));
|
|
25
26
|
var _valueType = _interopRequireDefault(require("../../utils/valueType"));
|
|
27
|
+
var _useChanged3 = require("../../utils/useChanged");
|
|
26
28
|
var _tip = _interopRequireDefault(require("../../../assets/tip.svg"));
|
|
27
29
|
var _useRules = _interopRequireDefault(require("../../utils/useRules"));
|
|
28
30
|
var _ConfirmWrapper = _interopRequireDefault(require("./ConfirmWrapper"));
|
|
29
|
-
var _Changed = _interopRequireDefault(require("./Changed"));
|
|
30
31
|
var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className", "rules", "required", "labelRequired", "tooltip"];
|
|
31
32
|
/* eslint-disable prefer-destructuring */
|
|
32
33
|
// 这个组件只管渲染, 参数的整理在外部处理
|
|
@@ -98,6 +99,18 @@ var Render = function Render(props) {
|
|
|
98
99
|
return Array.isArray(name) ? name.join('_') : name;
|
|
99
100
|
}).join('-');
|
|
100
101
|
}, [otherProps === null || otherProps === void 0 ? void 0 : otherProps.names]);
|
|
102
|
+
// 判断当前字段是否变更
|
|
103
|
+
var _useChanged = (0, _useChanged3.useChanged)({
|
|
104
|
+
name: formItemProps.name,
|
|
105
|
+
names: otherProps.names,
|
|
106
|
+
namesStr: namesStr,
|
|
107
|
+
originalValues: originalValues,
|
|
108
|
+
form: form,
|
|
109
|
+
equalWith: equalWith
|
|
110
|
+
}),
|
|
111
|
+
_useChanged2 = (0, _slicedToArray2.default)(_useChanged, 2),
|
|
112
|
+
changed = _useChanged2[0],
|
|
113
|
+
originalValue = _useChanged2[1];
|
|
101
114
|
var internalRule = (0, _useRules.default)({
|
|
102
115
|
names: otherProps.names,
|
|
103
116
|
label: otherFormItemProps.label,
|
|
@@ -169,7 +182,7 @@ var Render = function Render(props) {
|
|
|
169
182
|
var lastComponentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), _fieldProps), {}, {
|
|
170
183
|
disabled: lastDisabled
|
|
171
184
|
});
|
|
172
|
-
var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
|
|
185
|
+
var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-changed', changed), 'pro-form-item-width-auto', ['Switch'].includes(type)));
|
|
173
186
|
if (formItemProps.hidden === true || _show === false) {
|
|
174
187
|
// 为了监听shouldUpdate 必须存在一个FormItem, 空Input解决 【[antd: Form.Item] `name` is only used for validate React element】
|
|
175
188
|
return (0, _jsxRuntime.jsx)(_antd.Form.Item, {
|
|
@@ -431,17 +444,7 @@ var Render = function Render(props) {
|
|
|
431
444
|
// @ts-ignore
|
|
432
445
|
_internalItemRender: internalItemRender,
|
|
433
446
|
className: _className,
|
|
434
|
-
children:
|
|
435
|
-
name: formItemProps.name,
|
|
436
|
-
names: otherProps.names,
|
|
437
|
-
namesStr: namesStr,
|
|
438
|
-
originalValues: originalValues,
|
|
439
|
-
form: form,
|
|
440
|
-
equalWith: equalWith,
|
|
441
|
-
originalDiffTip: originalDiffTip,
|
|
442
|
-
type: type,
|
|
443
|
-
children: child
|
|
444
|
-
})
|
|
447
|
+
children: child
|
|
445
448
|
}));
|
|
446
449
|
var formItem = orgFormItem;
|
|
447
450
|
// 当存在shouldUpdate时捕获所有form变更(防止表单onchange设置form值时无法更新的问题)
|
|
@@ -457,23 +460,32 @@ var Render = function Render(props) {
|
|
|
457
460
|
// @ts-ignore
|
|
458
461
|
_internalItemRender: internalItemRender,
|
|
459
462
|
className: _className,
|
|
460
|
-
children:
|
|
461
|
-
name: formItemProps.name,
|
|
462
|
-
names: otherProps.names,
|
|
463
|
-
namesStr: namesStr,
|
|
464
|
-
originalValues: originalValues,
|
|
465
|
-
form: form,
|
|
466
|
-
equalWith: equalWith,
|
|
467
|
-
originalDiffTip: originalDiffTip,
|
|
468
|
-
type: type,
|
|
469
|
-
children: child
|
|
470
|
-
})
|
|
463
|
+
children: child
|
|
471
464
|
}));
|
|
472
465
|
}
|
|
473
466
|
})
|
|
474
467
|
});
|
|
475
468
|
}
|
|
476
|
-
|
|
469
|
+
// 不渲染tooltip
|
|
470
|
+
if (!originalDiffTip || ['FormList', 'ProEditTable'].includes(type)) {
|
|
471
|
+
return formItem;
|
|
472
|
+
}
|
|
473
|
+
var title = (0, _jsxRuntime.jsxs)(_antd.Space, {
|
|
474
|
+
children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.cloneElement(child, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, child), {}, {
|
|
475
|
+
isView: true,
|
|
476
|
+
value: originalValue,
|
|
477
|
+
checked: type === 'Switch' ? originalValue : undefined
|
|
478
|
+
}))]
|
|
479
|
+
});
|
|
480
|
+
return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
481
|
+
title: title,
|
|
482
|
+
open: changed ? undefined : false,
|
|
483
|
+
// open={true}
|
|
484
|
+
getPopupContainer: function getPopupContainer(target) {
|
|
485
|
+
return target.parentElement;
|
|
486
|
+
},
|
|
487
|
+
children: formItem
|
|
488
|
+
});
|
|
477
489
|
};
|
|
478
490
|
var FormItem = (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
479
491
|
children: [renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
|
|
@@ -116,6 +116,58 @@
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
// 比较原始值场景下 不同时的样式
|
|
120
|
+
&.pro-form-item-changed {
|
|
121
|
+
span.@{ant-prefix}-input-affix-wrapper,
|
|
122
|
+
.@{ant-prefix}-select .@{ant-prefix}-select-selector,
|
|
123
|
+
.@{ant-prefix}-picker,
|
|
124
|
+
.@{ant-prefix}-input-number {
|
|
125
|
+
background: @zaui-contract-bg !important;
|
|
126
|
+
|
|
127
|
+
input {
|
|
128
|
+
background: transparent;
|
|
129
|
+
}
|
|
130
|
+
.@{ant-prefix}-select-selection-placeholder {
|
|
131
|
+
z-index: 9;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
|
|
136
|
+
.@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
|
|
137
|
+
background: @zaui-contract-bg;
|
|
138
|
+
border-radius: 4px;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// 地址组件
|
|
142
|
+
.@{ant-prefix}-form-item-control-input-content {
|
|
143
|
+
// 查看模式
|
|
144
|
+
& > span {
|
|
145
|
+
border-radius: 4px;
|
|
146
|
+
padding: 5px 8px;
|
|
147
|
+
background: @zaui-contract-bg;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
& > .pro-address {
|
|
151
|
+
.@{ant-prefix}-select-selector,
|
|
152
|
+
.@{ant-prefix}-input-affix-wrapper,
|
|
153
|
+
.@{ant-prefix}-input-disabled {
|
|
154
|
+
background: @zaui-contract-bg;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
& > .@{ant-prefix}-input-group {
|
|
158
|
+
.forever-checkbox {
|
|
159
|
+
background: @zaui-contract-bg;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.pro-form-view-container {
|
|
165
|
+
padding: 4px 8px;
|
|
166
|
+
background: @zaui-contract-bg;
|
|
167
|
+
border-radius: 4px;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
119
171
|
.@{ant-prefix}-row {
|
|
120
172
|
width: 100%;
|
|
121
173
|
}
|
|
@@ -321,56 +373,4 @@
|
|
|
321
373
|
}
|
|
322
374
|
}
|
|
323
375
|
}
|
|
324
|
-
|
|
325
|
-
// 比较原始值场景下 不同时的样式
|
|
326
|
-
.pro-form-item-changed {
|
|
327
|
-
span.@{ant-prefix}-input-affix-wrapper,
|
|
328
|
-
.@{ant-prefix}-select .@{ant-prefix}-select-selector,
|
|
329
|
-
.@{ant-prefix}-picker,
|
|
330
|
-
.@{ant-prefix}-input-number {
|
|
331
|
-
background: @zaui-contract-bg !important;
|
|
332
|
-
|
|
333
|
-
input {
|
|
334
|
-
background: transparent !important;
|
|
335
|
-
}
|
|
336
|
-
.@{ant-prefix}-select-selection-placeholder {
|
|
337
|
-
z-index: 9;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
.@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
|
|
342
|
-
.@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
|
|
343
|
-
background: @zaui-contract-bg;
|
|
344
|
-
border-radius: 4px;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
// 地址组件
|
|
348
|
-
.@{ant-prefix}-form-item-control-input-content {
|
|
349
|
-
// 查看模式
|
|
350
|
-
& > span {
|
|
351
|
-
border-radius: 4px;
|
|
352
|
-
padding: 5px 8px;
|
|
353
|
-
background: @zaui-contract-bg;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
& > .pro-address {
|
|
357
|
-
.@{ant-prefix}-select-selector,
|
|
358
|
-
.@{ant-prefix}-input-affix-wrapper,
|
|
359
|
-
.@{ant-prefix}-input-disabled {
|
|
360
|
-
background: @zaui-contract-bg;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
& > .@{ant-prefix}-input-group {
|
|
364
|
-
.forever-checkbox {
|
|
365
|
-
background: @zaui-contract-bg;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.pro-form-view-container {
|
|
371
|
-
padding: 4px 8px;
|
|
372
|
-
background: @zaui-contract-bg;
|
|
373
|
-
border-radius: 4px;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
376
|
}
|
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.diffOriginal = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
7
9
|
var _lodash = require("lodash");
|
|
8
10
|
var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
|
|
11
|
+
/** 将解构后的name值,反向转回names,例如 formData {a:1, b:2} names ['a', 'b'] 返回 [1,2] */
|
|
12
|
+
var extractValues = function extractValues(form, pathString) {
|
|
13
|
+
var _pathString;
|
|
14
|
+
var result = [];
|
|
15
|
+
var PrefixesName = (0, _lodash.isString)(pathString) ? [] : pathString.slice(0, -1);
|
|
16
|
+
if ((0, _lodash.isString)(pathString)) {
|
|
17
|
+
pathString.split('-').forEach(function (item) {
|
|
18
|
+
result.push(form.getFieldValue([].concat((0, _toConsumableArray2.default)(PrefixesName), [item])));
|
|
19
|
+
});
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
(_pathString = pathString[pathString.length - 1]) === null || _pathString === void 0 ? void 0 : _pathString.split('-').forEach(function (item) {
|
|
23
|
+
result.push(form.getFieldValue([].concat((0, _toConsumableArray2.default)(PrefixesName), [item])));
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
9
27
|
var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
|
|
28
|
+
var _name$join;
|
|
10
29
|
var originalValue = params.originalValue,
|
|
11
|
-
|
|
12
|
-
equalWith = params.equalWith
|
|
30
|
+
_value = params.value,
|
|
31
|
+
equalWith = params.equalWith,
|
|
32
|
+
form = params.form,
|
|
33
|
+
name = params.name;
|
|
34
|
+
var isNames = Array.isArray(name) && ((_name$join = name.join(',')) === null || _name$join === void 0 ? void 0 : _name$join.includes('-')) || (name === null || name === void 0 ? void 0 : name.includes('-'));
|
|
35
|
+
var value = !isNames ? _value : extractValues(form, name);
|
|
13
36
|
// 支持传入自定义比较事件
|
|
14
37
|
if ((0, _lodash.isFunction)(equalWith)) {
|
|
15
38
|
return !equalWith(originalValue, value);
|
|
@@ -24,7 +47,8 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
|
|
|
24
47
|
});
|
|
25
48
|
}
|
|
26
49
|
if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
|
|
27
|
-
|
|
50
|
+
var res = !(0, _lodash.isEqual)(value, originalValue);
|
|
51
|
+
return res;
|
|
28
52
|
}
|
|
29
53
|
return false;
|
|
30
54
|
};
|