@zat-design/sisyphus-react 4.1.3-beta.6 → 4.1.3-beta.7

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.
@@ -1,5 +1,5 @@
1
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
+ _excluded2 = ["_dragIndex", "_rowIndex"];
3
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; }
4
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; }
5
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; }
@@ -427,14 +427,16 @@ var ProEditTable = (_ref, ref) => {
427
427
  var TableComponent = draggable ? DraggableTable : BaseTable;
428
428
 
429
429
  // 给每个 record 附加编辑状态标识,让 shouldCellUpdate 能检测到状态变化
430
- // draggable 时同时注入 _dragIndex,供 shouldCellUpdate 感知行位置变化(拖拽后同一行数据不变但位置变了)
430
+ // 始终注入 _rowIndex,供 shouldCellUpdate 感知行位置变化(增删行后同一行数据不变但位置变了)
431
+ // draggable 时同时注入 _dragIndex
431
432
  var enrichedValue = useMemo(() => {
432
- if (!virtualKey && !draggable) return value;
433
- return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
433
+ return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
434
434
  _isEditing: editingKeys.includes(record.rowKey) || record._addFlag
435
435
  } : {}), draggable ? {
436
436
  _dragIndex: idx
437
- } : {}));
437
+ } : {}), {}, {
438
+ _rowIndex: idx
439
+ }));
438
440
  }, [value, virtualKey, editingKeys, draggable]);
439
441
  var tableRowKey = useMemo(() => buildTableRowKey(rowKey), [rowKey]);
440
442
  var tableProps = useMemo(() => ({
@@ -461,10 +463,12 @@ var ProEditTable = (_ref, ref) => {
461
463
  handlePageChange
462
464
  }), [_className, _columns, _rowClassName, disabled, editingKeys, formatMessage, handlePageChange, headerRender, isHideCheckBox, locale, page, pagination, renderRowSelection, rowDraggable, rowKey, tableRowKey, scroll, _summary, tableRef, enrichedValue, virtualKey]);
463
465
 
464
- // 拖拽排序后,enrichedValue 中含 _dragIndex(内部字段),需清除后再传给外部 onChange
466
+ // 拖拽排序后,enrichedValue 中含 _dragIndex/_rowIndex(内部字段),需清除后再传给外部 onChange
465
467
  var handleDragChange = useCallback(newValue => {
468
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
466
469
  var cleanValue = newValue === null || newValue === void 0 ? void 0 : newValue.map(_ref6 => {
467
- var _ = _ref6._dragIndex,
470
+ var _d = _ref6._dragIndex,
471
+ _r = _ref6._rowIndex,
468
472
  rest = _objectWithoutProperties(_ref6, _excluded2);
469
473
  return rest;
470
474
  });
@@ -407,6 +407,10 @@ export var transformColumns = function transformColumns() {
407
407
  if ((record === null || record === void 0 ? void 0 : record.rowKey) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord.rowKey)) {
408
408
  return true;
409
409
  }
410
+ // 行位置变化时(增删其他行导致 index 移位),需强制重渲染以更新 Form.Item name 路径
411
+ if ((record === null || record === void 0 ? void 0 : record._rowIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._rowIndex)) {
412
+ return true;
413
+ }
410
414
  // 拖拽排序时,行数据不变但位置(_dragIndex)变化,需强制重渲染以更新 cellName(Form.Item name)
411
415
  if ((record === null || record === void 0 ? void 0 : record._dragIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._dragIndex)) {
412
416
  return true;
@@ -18,7 +18,7 @@ var _locale = _interopRequireWildcard(require("../locale"));
18
18
  var _RcTable = require("./components/RcTable");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
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
+ _excluded2 = ["_dragIndex", "_rowIndex"];
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
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); }
24
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; }
@@ -434,14 +434,16 @@ var ProEditTable = (_ref, ref) => {
434
434
  var TableComponent = draggable ? _RcTable.DraggableTable : _RcTable.BaseTable;
435
435
 
436
436
  // 给每个 record 附加编辑状态标识,让 shouldCellUpdate 能检测到状态变化
437
- // draggable 时同时注入 _dragIndex,供 shouldCellUpdate 感知行位置变化(拖拽后同一行数据不变但位置变了)
437
+ // 始终注入 _rowIndex,供 shouldCellUpdate 感知行位置变化(增删行后同一行数据不变但位置变了)
438
+ // draggable 时同时注入 _dragIndex
438
439
  var enrichedValue = (0, _react.useMemo)(() => {
439
- if (!virtualKey && !draggable) return value;
440
- return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
440
+ return value === null || value === void 0 ? void 0 : value.map((record, idx) => _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, record), virtualKey ? {
441
441
  _isEditing: editingKeys.includes(record.rowKey) || record._addFlag
442
442
  } : {}), draggable ? {
443
443
  _dragIndex: idx
444
- } : {}));
444
+ } : {}), {}, {
445
+ _rowIndex: idx
446
+ }));
445
447
  }, [value, virtualKey, editingKeys, draggable]);
446
448
  var tableRowKey = (0, _react.useMemo)(() => (0, _tools.buildTableRowKey)(rowKey), [rowKey]);
447
449
  var tableProps = (0, _react.useMemo)(() => ({
@@ -468,10 +470,12 @@ var ProEditTable = (_ref, ref) => {
468
470
  handlePageChange
469
471
  }), [_className, _columns, _rowClassName, disabled, editingKeys, _locale.formatMessage, handlePageChange, headerRender, isHideCheckBox, _locale.default, page, pagination, renderRowSelection, rowDraggable, rowKey, tableRowKey, scroll, _summary, tableRef, enrichedValue, virtualKey]);
470
472
 
471
- // 拖拽排序后,enrichedValue 中含 _dragIndex(内部字段),需清除后再传给外部 onChange
473
+ // 拖拽排序后,enrichedValue 中含 _dragIndex/_rowIndex(内部字段),需清除后再传给外部 onChange
472
474
  var handleDragChange = (0, _react.useCallback)(newValue => {
475
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
473
476
  var cleanValue = newValue === null || newValue === void 0 ? void 0 : newValue.map(_ref6 => {
474
- var _ = _ref6._dragIndex,
477
+ var _d = _ref6._dragIndex,
478
+ _r = _ref6._rowIndex,
475
479
  rest = _objectWithoutProperties(_ref6, _excluded2);
476
480
  return rest;
477
481
  });
@@ -413,6 +413,10 @@ var transformColumns = exports.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
+ // 行位置变化时(增删其他行导致 index 移位),需强制重渲染以更新 Form.Item name 路径
417
+ if ((record === null || record === void 0 ? void 0 : record._rowIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._rowIndex)) {
418
+ return true;
419
+ }
416
420
  // 拖拽排序时,行数据不变但位置(_dragIndex)变化,需强制重渲染以更新 cellName(Form.Item name)
417
421
  if ((record === null || record === void 0 ? void 0 : record._dragIndex) !== (prevRecord === null || prevRecord === void 0 ? void 0 : prevRecord._dragIndex)) {
418
422
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "4.1.3-beta.6",
3
+ "version": "4.1.3-beta.7",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",