@zat-design/sisyphus-react 4.1.3-beta.1 → 4.1.3-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/ProEditTable/index.js +20 -6
- package/es/ProEditTable/utils/config.d.ts +1 -1
- package/es/ProEditTable/utils/config.js +5 -3
- package/es/ProEditTable/utils/index.js +4 -0
- package/lib/ProEditTable/index.js +20 -6
- package/lib/ProEditTable/utils/config.d.ts +1 -1
- package/lib/ProEditTable/utils/config.js +5 -3
- package/lib/ProEditTable/utils/index.js +4 -0
- package/package.json +1 -1
package/es/ProEditTable/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"]
|
|
1
|
+
var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"],
|
|
2
|
+
_excluded2 = ["_dragIndex"];
|
|
2
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -426,12 +427,15 @@ var ProEditTable = (_ref, ref) => {
|
|
|
426
427
|
var TableComponent = draggable ? DraggableTable : BaseTable;
|
|
427
428
|
|
|
428
429
|
// 给每个 record 附加编辑状态标识,让 shouldCellUpdate 能检测到状态变化
|
|
430
|
+
// draggable 时同时注入 _dragIndex,供 shouldCellUpdate 感知行位置变化(拖拽后同一行数据不变但位置变了)
|
|
429
431
|
var enrichedValue = useMemo(() => {
|
|
430
|
-
if (!virtualKey) return value;
|
|
431
|
-
return value === null || value === void 0 ? void 0 : value.map(record => _objectSpread(_objectSpread({}, record),
|
|
432
|
+
if (!virtualKey && !draggable) return value;
|
|
433
|
+
return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
|
|
432
434
|
_isEditing: editingKeys.includes(record.rowKey) || record._addFlag
|
|
433
|
-
})
|
|
434
|
-
|
|
435
|
+
} : {}), draggable ? {
|
|
436
|
+
_dragIndex: idx
|
|
437
|
+
} : {}));
|
|
438
|
+
}, [value, virtualKey, editingKeys, draggable]);
|
|
435
439
|
var tableProps = useMemo(() => ({
|
|
436
440
|
rowKey,
|
|
437
441
|
value: enrichedValue,
|
|
@@ -454,12 +458,22 @@ var ProEditTable = (_ref, ref) => {
|
|
|
454
458
|
locale,
|
|
455
459
|
handlePageChange
|
|
456
460
|
}), [_className, _columns, _rowClassName, disabled, editingKeys, formatMessage, handlePageChange, headerRender, isHideCheckBox, locale, page, pagination, renderRowSelection, rowDraggable, rowKey, scroll, _summary, tableRef, enrichedValue, virtualKey]);
|
|
461
|
+
|
|
462
|
+
// 拖拽排序后,enrichedValue 中含 _dragIndex(内部字段),需清除后再传给外部 onChange
|
|
463
|
+
var handleDragChange = useCallback(newValue => {
|
|
464
|
+
var cleanValue = newValue === null || newValue === void 0 ? void 0 : newValue.map(_ref6 => {
|
|
465
|
+
var _ = _ref6._dragIndex,
|
|
466
|
+
rest = _objectWithoutProperties(_ref6, _excluded2);
|
|
467
|
+
return rest;
|
|
468
|
+
});
|
|
469
|
+
onChange === null || onChange === void 0 || onChange(cleanValue);
|
|
470
|
+
}, [onChange]);
|
|
457
471
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
458
472
|
children: [/*#__PURE__*/_jsx(ConfigProvider, {
|
|
459
473
|
renderEmpty: value !== null && value !== void 0 && value.length ? undefined : emptyDom,
|
|
460
474
|
children: /*#__PURE__*/_jsx(TableComponent, _objectSpread(_objectSpread({}, resetProps), {}, {
|
|
461
475
|
draggableProps: {
|
|
462
|
-
onChange,
|
|
476
|
+
onChange: draggable ? handleDragChange : onChange,
|
|
463
477
|
onDrag,
|
|
464
478
|
onDragEnd,
|
|
465
479
|
draggable
|
|
@@ -18,7 +18,7 @@ export declare const defaultToolbarKeys: string[];
|
|
|
18
18
|
export declare const actions: {
|
|
19
19
|
edit: ({ record, editingKeys, setState, form, virtualRowName, virtualKey, onlyOneLineMsg }: any) => boolean;
|
|
20
20
|
save: ({ record, editingKeys, setState, form, rowName, virtualRowName, result }: any) => Promise<void>;
|
|
21
|
-
cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey }: any) => void;
|
|
21
|
+
cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey, rowName }: any) => void;
|
|
22
22
|
delete: ({ name, record, editingKeys, setState, form, virtualKey, onlyOneLineMsg }: any) => boolean;
|
|
23
23
|
add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, page, handlePageChange, }: any) => Promise<boolean>;
|
|
24
24
|
mulDelete: ({ form, name, virtualKey, setState, selectedRowKeys, editingKeys }: any) => void;
|
|
@@ -111,7 +111,8 @@ export var actions = {
|
|
|
111
111
|
setState = _ref3.setState,
|
|
112
112
|
form = _ref3.form,
|
|
113
113
|
virtualRowName = _ref3.virtualRowName,
|
|
114
|
-
virtualKey = _ref3.virtualKey
|
|
114
|
+
virtualKey = _ref3.virtualKey,
|
|
115
|
+
rowName = _ref3.rowName;
|
|
115
116
|
var nextEditingKeys = editingKeys.filter(key => key !== record.rowKey);
|
|
116
117
|
// 保存后取消编辑状态,供validator做保存校验
|
|
117
118
|
if (nextEditingKeys !== null && nextEditingKeys !== void 0 && nextEditingKeys.length) {
|
|
@@ -131,9 +132,10 @@ export var actions = {
|
|
|
131
132
|
selectedRowKeys: [record.rowKey]
|
|
132
133
|
});
|
|
133
134
|
} else {
|
|
134
|
-
//
|
|
135
|
+
// 取消时使用主 form 原始行数据重置虚拟 form,避免编辑值残留
|
|
136
|
+
var originalRecord = form.getFieldValue(rowName);
|
|
135
137
|
var values = form.getFieldsValue();
|
|
136
|
-
set(values, virtualRowName, record);
|
|
138
|
+
set(values, virtualRowName, originalRecord !== null && originalRecord !== void 0 ? originalRecord : record);
|
|
137
139
|
form.setFieldsValue(values);
|
|
138
140
|
}
|
|
139
141
|
},
|
|
@@ -413,6 +413,10 @@ export var transformColumns = function transformColumns() {
|
|
|
413
413
|
if ((record === null || record === void 0 ? void 0 : record.rowKey) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord.rowKey)) {
|
|
414
414
|
return true;
|
|
415
415
|
}
|
|
416
|
+
// 拖拽排序时,行数据不变但位置(_dragIndex)变化,需强制重渲染以更新 cellName(Form.Item name)
|
|
417
|
+
if ((record === null || record === void 0 ? void 0 : record._dragIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._dragIndex)) {
|
|
418
|
+
return true;
|
|
419
|
+
}
|
|
416
420
|
// 单行编辑模式下,需要检测编辑状态变化
|
|
417
421
|
if (virtualKey && (record === null || record === void 0 ? void 0 : record._isEditing) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._isEditing)) {
|
|
418
422
|
return true;
|
|
@@ -17,7 +17,8 @@ var _empty = _interopRequireDefault(require("../assets/empty.png"));
|
|
|
17
17
|
var _locale = _interopRequireWildcard(require("../locale"));
|
|
18
18
|
var _RcTable = require("./components/RcTable");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"]
|
|
20
|
+
var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "mode", "stripe", "draggable", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"],
|
|
21
|
+
_excluded2 = ["_dragIndex"];
|
|
21
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -433,12 +434,15 @@ var ProEditTable = (_ref, ref) => {
|
|
|
433
434
|
var TableComponent = draggable ? _RcTable.DraggableTable : _RcTable.BaseTable;
|
|
434
435
|
|
|
435
436
|
// 给每个 record 附加编辑状态标识,让 shouldCellUpdate 能检测到状态变化
|
|
437
|
+
// draggable 时同时注入 _dragIndex,供 shouldCellUpdate 感知行位置变化(拖拽后同一行数据不变但位置变了)
|
|
436
438
|
var enrichedValue = (0, _react.useMemo)(() => {
|
|
437
|
-
if (!virtualKey) return value;
|
|
438
|
-
return value === null || value === void 0 ? void 0 : value.map(record => _objectSpread(_objectSpread({}, record),
|
|
439
|
+
if (!virtualKey && !draggable) return value;
|
|
440
|
+
return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
|
|
439
441
|
_isEditing: editingKeys.includes(record.rowKey) || record._addFlag
|
|
440
|
-
})
|
|
441
|
-
|
|
442
|
+
} : {}), draggable ? {
|
|
443
|
+
_dragIndex: idx
|
|
444
|
+
} : {}));
|
|
445
|
+
}, [value, virtualKey, editingKeys, draggable]);
|
|
442
446
|
var tableProps = (0, _react.useMemo)(() => ({
|
|
443
447
|
rowKey,
|
|
444
448
|
value: enrichedValue,
|
|
@@ -461,12 +465,22 @@ var ProEditTable = (_ref, ref) => {
|
|
|
461
465
|
locale: _locale.default,
|
|
462
466
|
handlePageChange
|
|
463
467
|
}), [_className, _columns, _rowClassName, disabled, editingKeys, _locale.formatMessage, handlePageChange, headerRender, isHideCheckBox, _locale.default, page, pagination, renderRowSelection, rowDraggable, rowKey, scroll, _summary, tableRef, enrichedValue, virtualKey]);
|
|
468
|
+
|
|
469
|
+
// 拖拽排序后,enrichedValue 中含 _dragIndex(内部字段),需清除后再传给外部 onChange
|
|
470
|
+
var handleDragChange = (0, _react.useCallback)(newValue => {
|
|
471
|
+
var cleanValue = newValue === null || newValue === void 0 ? void 0 : newValue.map(_ref6 => {
|
|
472
|
+
var _ = _ref6._dragIndex,
|
|
473
|
+
rest = _objectWithoutProperties(_ref6, _excluded2);
|
|
474
|
+
return rest;
|
|
475
|
+
});
|
|
476
|
+
onChange === null || onChange === void 0 || onChange(cleanValue);
|
|
477
|
+
}, [onChange]);
|
|
464
478
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
465
479
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
|
|
466
480
|
renderEmpty: value !== null && value !== void 0 && value.length ? undefined : emptyDom,
|
|
467
481
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TableComponent, _objectSpread(_objectSpread({}, resetProps), {}, {
|
|
468
482
|
draggableProps: {
|
|
469
|
-
onChange,
|
|
483
|
+
onChange: draggable ? handleDragChange : onChange,
|
|
470
484
|
onDrag,
|
|
471
485
|
onDragEnd,
|
|
472
486
|
draggable
|
|
@@ -18,7 +18,7 @@ export declare const defaultToolbarKeys: string[];
|
|
|
18
18
|
export declare const actions: {
|
|
19
19
|
edit: ({ record, editingKeys, setState, form, virtualRowName, virtualKey, onlyOneLineMsg }: any) => boolean;
|
|
20
20
|
save: ({ record, editingKeys, setState, form, rowName, virtualRowName, result }: any) => Promise<void>;
|
|
21
|
-
cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey }: any) => void;
|
|
21
|
+
cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey, rowName }: any) => void;
|
|
22
22
|
delete: ({ name, record, editingKeys, setState, form, virtualKey, onlyOneLineMsg }: any) => boolean;
|
|
23
23
|
add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, page, handlePageChange, }: any) => Promise<boolean>;
|
|
24
24
|
mulDelete: ({ form, name, virtualKey, setState, selectedRowKeys, editingKeys }: any) => void;
|
|
@@ -118,7 +118,8 @@ var actions = exports.actions = {
|
|
|
118
118
|
setState = _ref3.setState,
|
|
119
119
|
form = _ref3.form,
|
|
120
120
|
virtualRowName = _ref3.virtualRowName,
|
|
121
|
-
virtualKey = _ref3.virtualKey
|
|
121
|
+
virtualKey = _ref3.virtualKey,
|
|
122
|
+
rowName = _ref3.rowName;
|
|
122
123
|
var nextEditingKeys = editingKeys.filter(key => key !== record.rowKey);
|
|
123
124
|
// 保存后取消编辑状态,供validator做保存校验
|
|
124
125
|
if (nextEditingKeys !== null && nextEditingKeys !== void 0 && nextEditingKeys.length) {
|
|
@@ -138,9 +139,10 @@ var actions = exports.actions = {
|
|
|
138
139
|
selectedRowKeys: [record.rowKey]
|
|
139
140
|
});
|
|
140
141
|
} else {
|
|
141
|
-
//
|
|
142
|
+
// 取消时使用主 form 原始行数据重置虚拟 form,避免编辑值残留
|
|
143
|
+
var originalRecord = form.getFieldValue(rowName);
|
|
142
144
|
var values = form.getFieldsValue();
|
|
143
|
-
(0, _lodash.set)(values, virtualRowName, record);
|
|
145
|
+
(0, _lodash.set)(values, virtualRowName, originalRecord !== null && originalRecord !== void 0 ? originalRecord : record);
|
|
144
146
|
form.setFieldsValue(values);
|
|
145
147
|
}
|
|
146
148
|
},
|
|
@@ -419,6 +419,10 @@ var transformColumns = exports.transformColumns = function transformColumns() {
|
|
|
419
419
|
if ((record === null || record === void 0 ? void 0 : record.rowKey) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord.rowKey)) {
|
|
420
420
|
return true;
|
|
421
421
|
}
|
|
422
|
+
// 拖拽排序时,行数据不变但位置(_dragIndex)变化,需强制重渲染以更新 cellName(Form.Item name)
|
|
423
|
+
if ((record === null || record === void 0 ? void 0 : record._dragIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._dragIndex)) {
|
|
424
|
+
return true;
|
|
425
|
+
}
|
|
422
426
|
// 单行编辑模式下,需要检测编辑状态变化
|
|
423
427
|
if (virtualKey && (record === null || record === void 0 ? void 0 : record._isEditing) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._isEditing)) {
|
|
424
428
|
return true;
|