@vuu-ui/vuu-data-editing 3.5.15 → 3.5.17
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/README.md +1 -0
- package/package.json +6 -6
- package/src/EditSession.js +5 -0
package/README.md
CHANGED
|
@@ -182,6 +182,7 @@ editSession.undoRowChange(key, action);
|
|
|
182
182
|
- `action === "addRow"` OR
|
|
183
183
|
- Row key exists in private `#addedRowKeys`
|
|
184
184
|
- Decrements `addCount` and removes `key` from `#addedRowKeys`.
|
|
185
|
+
- **Deselects the row**: If selection is active (`selectedRowsCount !== 0`), dispatches `dataSource.select({ type: "DESELECT_ROW", rowKey: key, preserveExistingSelection: true })` so that the undone row does not leave a phantom selection behind.
|
|
185
186
|
|
|
186
187
|
> **Robust Add-Delete-Undo**: Even if a row was added, then soft-deleted (`action` became `"deleteRow"`), and the server purges the row on undo without returning any special flag, `EditSession` identifies the row via `#addedRowKeys` and decrements **both** `deleteCount` and `addCount`, returning `editState` cleanly to `"clean"`.
|
|
187
188
|
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.5.
|
|
2
|
+
"version": "3.5.17",
|
|
3
3
|
"description": "Shared data editing APIs and React components for VUU UI",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"author": "heswell",
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@salt-ds/core": "1.54.1",
|
|
15
|
-
"@vuu-ui/vuu-ui-controls": "3.5.
|
|
16
|
-
"@vuu-ui/vuu-utils": "3.5.
|
|
15
|
+
"@vuu-ui/vuu-ui-controls": "3.5.17",
|
|
16
|
+
"@vuu-ui/vuu-utils": "3.5.17"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@vuu-ui/vuu-data-types": "3.5.
|
|
20
|
-
"@vuu-ui/vuu-protocol-types": "3.5.
|
|
21
|
-
"@vuu-ui/vuu-table-types": "3.5.
|
|
19
|
+
"@vuu-ui/vuu-data-types": "3.5.17",
|
|
20
|
+
"@vuu-ui/vuu-protocol-types": "3.5.17",
|
|
21
|
+
"@vuu-ui/vuu-table-types": "3.5.17"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": "^19.2.3"
|
package/src/EditSession.js
CHANGED
|
@@ -323,6 +323,11 @@ class EditSession extends EventEmitter {
|
|
|
323
323
|
if (wasInsertedRow) {
|
|
324
324
|
this.#addedRowKeys.delete(key);
|
|
325
325
|
this.#addCount = Math.max(0, this.#addCount - 1);
|
|
326
|
+
if (this.dataSource?.selectedRowsCount !== 0) await this.dataSource?.select?.({
|
|
327
|
+
preserveExistingSelection: true,
|
|
328
|
+
rowKey: key,
|
|
329
|
+
type: "DESELECT_ROW"
|
|
330
|
+
});
|
|
326
331
|
}
|
|
327
332
|
this.#emitEditStateChange(oldState);
|
|
328
333
|
return response;
|