@affino/datagrid-vue 0.3.18 → 0.3.19
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/app/useDataGridAppCellSelection.d.ts +3 -2
- package/dist/app/useDataGridAppCellSelection.d.ts.map +1 -1
- package/dist/app/useDataGridAppCellSelection.js +125 -68
- package/dist/app/useDataGridAppClipboard.d.ts +2 -0
- package/dist/app/useDataGridAppClipboard.d.ts.map +1 -1
- package/dist/app/useDataGridAppClipboard.js +57 -19
- package/dist/app/useDataGridAppInteractionController.d.ts +2 -2
- package/dist/app/useDataGridAppInteractionController.d.ts.map +1 -1
- package/dist/app/useDataGridAppInteractionController.js +3 -3
- package/dist/app/useDataGridAppSelection.d.ts +3 -2
- package/dist/app/useDataGridAppSelection.d.ts.map +1 -1
- package/dist/app/useDataGridAppSelection.js +44 -39
- package/dist/public.d.ts +1 -1
- package/dist/public.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -23,13 +23,14 @@ export interface UseDataGridAppCellSelectionResult<TRow> {
|
|
|
23
23
|
normalizeRowId: (value: unknown) => DataGridRowId | null;
|
|
24
24
|
normalizeCellCoord: (coord: DataGridAppCellCoord) => DataGridAppCellCoord | null;
|
|
25
25
|
resolveSelectionRange: () => DataGridCopyRange | null;
|
|
26
|
+
resolveSelectionRanges: () => readonly DataGridCopyRange[];
|
|
26
27
|
resolveCurrentCellCoord: () => {
|
|
27
28
|
rowIndex: number;
|
|
28
29
|
columnIndex: number;
|
|
29
30
|
} | null;
|
|
30
31
|
applySelectionRange: (range: DataGridCopyRange) => void;
|
|
31
|
-
applyCellSelectionByCoord: (coord: DataGridAppCellCoord, extend: boolean, fallbackAnchor?: DataGridAppSelectionAnchorLike) => void;
|
|
32
|
-
setCellSelection: (row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number, extend: boolean) => void;
|
|
32
|
+
applyCellSelectionByCoord: (coord: DataGridAppCellCoord, extend: boolean, fallbackAnchor?: DataGridAppSelectionAnchorLike, additive?: boolean) => void;
|
|
33
|
+
setCellSelection: (row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number, extend: boolean, additive?: boolean) => void;
|
|
33
34
|
clearCellSelection: () => void;
|
|
34
35
|
isCellSelected: (rowOffset: number, columnIndex: number) => boolean;
|
|
35
36
|
isSelectionAnchorCell: (rowOffset: number, columnIndex: number) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridAppCellSelection.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppCellSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,yBAAyB,
|
|
1
|
+
{"version":3,"file":"useDataGridAppCellSelection.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppCellSelection.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,29 +37,10 @@ export function useDataGridAppCellSelection(options) {
|
|
|
37
37
|
getRowIdByIndex: (rowIndex) => options.runtime.getBodyRowAtIndex(rowIndex)?.rowId ?? null,
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
|
-
const buildSelectionSnapshot = (
|
|
40
|
+
const buildSelectionSnapshot = (ranges, activeRangeIndex, activeCell) => {
|
|
41
41
|
return {
|
|
42
|
-
ranges: [
|
|
43
|
-
|
|
44
|
-
startRow: range.startRow,
|
|
45
|
-
endRow: range.endRow,
|
|
46
|
-
startCol: range.startCol,
|
|
47
|
-
endCol: range.endCol,
|
|
48
|
-
startRowId: range.startRowId ?? null,
|
|
49
|
-
endRowId: range.endRowId ?? null,
|
|
50
|
-
anchor: {
|
|
51
|
-
rowIndex: range.anchor.rowIndex,
|
|
52
|
-
colIndex: range.anchor.colIndex,
|
|
53
|
-
rowId: range.anchor.rowId ?? null,
|
|
54
|
-
},
|
|
55
|
-
focus: {
|
|
56
|
-
rowIndex: range.focus.rowIndex,
|
|
57
|
-
colIndex: range.focus.colIndex,
|
|
58
|
-
rowId: range.focus.rowId ?? null,
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
activeRangeIndex: 0,
|
|
42
|
+
ranges: [...ranges],
|
|
43
|
+
activeRangeIndex,
|
|
63
44
|
activeCell: {
|
|
64
45
|
rowIndex: activeCell.rowIndex,
|
|
65
46
|
colIndex: activeCell.colIndex,
|
|
@@ -67,6 +48,26 @@ export function useDataGridAppCellSelection(options) {
|
|
|
67
48
|
},
|
|
68
49
|
};
|
|
69
50
|
};
|
|
51
|
+
const buildSnapshotRange = (range) => {
|
|
52
|
+
return {
|
|
53
|
+
startRow: range.startRow,
|
|
54
|
+
endRow: range.endRow,
|
|
55
|
+
startCol: range.startCol,
|
|
56
|
+
endCol: range.endCol,
|
|
57
|
+
startRowId: range.startRowId ?? null,
|
|
58
|
+
endRowId: range.endRowId ?? null,
|
|
59
|
+
anchor: {
|
|
60
|
+
rowIndex: range.anchor.rowIndex,
|
|
61
|
+
colIndex: range.anchor.colIndex,
|
|
62
|
+
rowId: range.anchor.rowId ?? null,
|
|
63
|
+
},
|
|
64
|
+
focus: {
|
|
65
|
+
rowIndex: range.focus.rowIndex,
|
|
66
|
+
colIndex: range.focus.colIndex,
|
|
67
|
+
rowId: range.focus.rowId ?? null,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
};
|
|
70
71
|
const normalizeRowId = (value) => {
|
|
71
72
|
return typeof value === "string" || typeof value === "number" ? value : null;
|
|
72
73
|
};
|
|
@@ -104,13 +105,7 @@ export function useDataGridAppCellSelection(options) {
|
|
|
104
105
|
endColumn,
|
|
105
106
|
};
|
|
106
107
|
};
|
|
107
|
-
const
|
|
108
|
-
const snapshot = options.selectionSnapshot.value;
|
|
109
|
-
if (!snapshot || snapshot.ranges.length === 0) {
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
const activeIndex = snapshot.activeRangeIndex ?? 0;
|
|
113
|
-
const range = snapshot.ranges[activeIndex] ?? snapshot.ranges[0];
|
|
108
|
+
const normalizeSelectionSnapshotRange = (range) => {
|
|
114
109
|
if (!range) {
|
|
115
110
|
return null;
|
|
116
111
|
}
|
|
@@ -121,6 +116,44 @@ export function useDataGridAppCellSelection(options) {
|
|
|
121
116
|
endColumn: range.endCol,
|
|
122
117
|
});
|
|
123
118
|
};
|
|
119
|
+
const resolveActiveSnapshotRange = (snapshot) => {
|
|
120
|
+
if (!snapshot || snapshot.ranges.length === 0) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
const activeIndex = snapshot.activeRangeIndex ?? 0;
|
|
124
|
+
return snapshot.ranges[activeIndex] ?? snapshot.ranges[0] ?? null;
|
|
125
|
+
};
|
|
126
|
+
const areSnapshotRangesEqual = (left, right) => {
|
|
127
|
+
return left.startRow === right.startRow
|
|
128
|
+
&& left.endRow === right.endRow
|
|
129
|
+
&& left.startCol === right.startCol
|
|
130
|
+
&& left.endCol === right.endCol
|
|
131
|
+
&& left.anchor.rowIndex === right.anchor.rowIndex
|
|
132
|
+
&& left.anchor.colIndex === right.anchor.colIndex
|
|
133
|
+
&& left.focus.rowIndex === right.focus.rowIndex
|
|
134
|
+
&& left.focus.colIndex === right.focus.colIndex;
|
|
135
|
+
};
|
|
136
|
+
const applySelectionSnapshot = (snapshot, anchor) => {
|
|
137
|
+
options.selectionAnchor.value = {
|
|
138
|
+
rowIndex: anchor.rowIndex,
|
|
139
|
+
colIndex: anchor.colIndex,
|
|
140
|
+
rowId: anchor.rowId ?? null,
|
|
141
|
+
};
|
|
142
|
+
options.selectionSnapshot.value = snapshot;
|
|
143
|
+
options.runtime.api.selection.setSnapshot(snapshot);
|
|
144
|
+
};
|
|
145
|
+
const resolveSelectionRange = () => {
|
|
146
|
+
return normalizeSelectionSnapshotRange(resolveActiveSnapshotRange(options.selectionSnapshot.value));
|
|
147
|
+
};
|
|
148
|
+
const resolveSelectionRanges = () => {
|
|
149
|
+
const snapshot = options.selectionSnapshot.value;
|
|
150
|
+
if (!snapshot || snapshot.ranges.length === 0) {
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
return snapshot.ranges
|
|
154
|
+
.map(range => normalizeSelectionSnapshotRange(range))
|
|
155
|
+
.filter((range) => range != null);
|
|
156
|
+
};
|
|
124
157
|
const resolveCurrentCellCoord = () => {
|
|
125
158
|
const activeCell = options.selectionSnapshot.value?.activeCell;
|
|
126
159
|
if (!activeCell) {
|
|
@@ -156,20 +189,14 @@ export function useDataGridAppCellSelection(options) {
|
|
|
156
189
|
rowId: options.runtime.getBodyRowAtIndex(normalized.endRow)?.rowId ?? null,
|
|
157
190
|
};
|
|
158
191
|
const createdRange = createGridSelectionRange(anchor, focus, context);
|
|
159
|
-
const snapshot = buildSelectionSnapshot(createdRange, {
|
|
192
|
+
const snapshot = buildSelectionSnapshot([buildSnapshotRange(createdRange)], 0, {
|
|
160
193
|
rowIndex: createdRange.focus.rowIndex,
|
|
161
194
|
colIndex: createdRange.focus.colIndex,
|
|
162
195
|
rowId: createdRange.focus.rowId ?? null,
|
|
163
196
|
});
|
|
164
|
-
|
|
165
|
-
rowIndex: createdRange.anchor.rowIndex,
|
|
166
|
-
colIndex: createdRange.anchor.colIndex,
|
|
167
|
-
rowId: createdRange.anchor.rowId ?? null,
|
|
168
|
-
};
|
|
169
|
-
options.selectionSnapshot.value = snapshot;
|
|
170
|
-
options.runtime.api.selection.setSnapshot(snapshot);
|
|
197
|
+
applySelectionSnapshot(snapshot, createdRange.anchor);
|
|
171
198
|
};
|
|
172
|
-
const applyCellSelectionByCoord = (coord, extend, fallbackAnchor) => {
|
|
199
|
+
const applyCellSelectionByCoord = (coord, extend, fallbackAnchor, additive = false) => {
|
|
173
200
|
if (!supportsCellSelectionMode() || !options.runtime.api.selection.hasSupport()) {
|
|
174
201
|
return;
|
|
175
202
|
}
|
|
@@ -198,20 +225,39 @@ export function useDataGridAppCellSelection(options) {
|
|
|
198
225
|
colIndex: normalizedCoord.columnIndex,
|
|
199
226
|
rowId: normalizedCoord.rowId,
|
|
200
227
|
}, context);
|
|
201
|
-
const
|
|
228
|
+
const nextSnapshotRange = buildSnapshotRange(range);
|
|
229
|
+
const currentSnapshot = options.selectionSnapshot.value;
|
|
230
|
+
const normalizedActiveIndex = currentSnapshot && currentSnapshot.ranges.length > 0
|
|
231
|
+
? Math.max(0, Math.min(currentSnapshot.activeRangeIndex ?? 0, currentSnapshot.ranges.length - 1))
|
|
232
|
+
: 0;
|
|
233
|
+
let nextRanges;
|
|
234
|
+
let activeRangeIndex = 0;
|
|
235
|
+
if (extend && currentSnapshot && currentSnapshot.ranges.length > 0) {
|
|
236
|
+
nextRanges = currentSnapshot.ranges.map((entry, index) => (index === normalizedActiveIndex ? nextSnapshotRange : entry));
|
|
237
|
+
activeRangeIndex = normalizedActiveIndex;
|
|
238
|
+
}
|
|
239
|
+
else if (additive && currentSnapshot && currentSnapshot.ranges.length > 0) {
|
|
240
|
+
const duplicateIndex = currentSnapshot.ranges.findIndex(entry => areSnapshotRangesEqual(entry, nextSnapshotRange));
|
|
241
|
+
if (duplicateIndex >= 0) {
|
|
242
|
+
nextRanges = [...currentSnapshot.ranges];
|
|
243
|
+
activeRangeIndex = duplicateIndex;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
nextRanges = [...currentSnapshot.ranges, nextSnapshotRange];
|
|
247
|
+
activeRangeIndex = nextRanges.length - 1;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
nextRanges = [nextSnapshotRange];
|
|
252
|
+
}
|
|
253
|
+
const snapshot = buildSelectionSnapshot(nextRanges, activeRangeIndex, {
|
|
202
254
|
rowIndex: normalizedCoord.rowIndex,
|
|
203
255
|
colIndex: normalizedCoord.columnIndex,
|
|
204
256
|
rowId: normalizedCoord.rowId,
|
|
205
257
|
});
|
|
206
|
-
|
|
207
|
-
rowIndex: range.anchor.rowIndex,
|
|
208
|
-
colIndex: range.anchor.colIndex,
|
|
209
|
-
rowId: range.anchor.rowId ?? null,
|
|
210
|
-
};
|
|
211
|
-
options.selectionSnapshot.value = snapshot;
|
|
212
|
-
options.runtime.api.selection.setSnapshot(snapshot);
|
|
258
|
+
applySelectionSnapshot(snapshot, range.anchor);
|
|
213
259
|
};
|
|
214
|
-
const setCellSelection = (row, rowOffset, columnIndex, extend) => {
|
|
260
|
+
const setCellSelection = (row, rowOffset, columnIndex, extend, additive = false) => {
|
|
215
261
|
if (options.isEditingCell(row, options.visibleColumns.value[columnIndex]?.key ?? "")) {
|
|
216
262
|
return;
|
|
217
263
|
}
|
|
@@ -219,7 +265,7 @@ export function useDataGridAppCellSelection(options) {
|
|
|
219
265
|
rowIndex: options.viewportRowStart.value + rowOffset,
|
|
220
266
|
columnIndex,
|
|
221
267
|
rowId: row.rowId ?? null,
|
|
222
|
-
}, extend);
|
|
268
|
+
}, extend, undefined, additive);
|
|
223
269
|
};
|
|
224
270
|
const clearCellSelection = () => {
|
|
225
271
|
options.selectionAnchor.value = null;
|
|
@@ -227,15 +273,15 @@ export function useDataGridAppCellSelection(options) {
|
|
|
227
273
|
options.runtime.api.selection.clear();
|
|
228
274
|
};
|
|
229
275
|
const isCellSelected = (rowOffset, columnIndex) => {
|
|
230
|
-
const
|
|
231
|
-
if (
|
|
276
|
+
const ranges = resolveSelectionRanges();
|
|
277
|
+
if (ranges.length === 0) {
|
|
232
278
|
return false;
|
|
233
279
|
}
|
|
234
280
|
const rowIndex = options.viewportRowStart.value + rowOffset;
|
|
235
|
-
return (rowIndex >= range.startRow
|
|
281
|
+
return ranges.some(range => (rowIndex >= range.startRow
|
|
236
282
|
&& rowIndex <= range.endRow
|
|
237
283
|
&& columnIndex >= range.startColumn
|
|
238
|
-
&& columnIndex <= range.endColumn);
|
|
284
|
+
&& columnIndex <= range.endColumn));
|
|
239
285
|
};
|
|
240
286
|
const isSelectionAnchorCell = (rowOffset, columnIndex) => {
|
|
241
287
|
const anchor = resolveSelectionAnchorCoord();
|
|
@@ -246,37 +292,48 @@ export function useDataGridAppCellSelection(options) {
|
|
|
246
292
|
return rowIndex === anchor.rowIndex && columnIndex === anchor.columnIndex;
|
|
247
293
|
};
|
|
248
294
|
const shouldHighlightSelectedCell = (rowOffset, columnIndex) => {
|
|
249
|
-
const
|
|
250
|
-
if (
|
|
295
|
+
const ranges = resolveSelectionRanges();
|
|
296
|
+
if (ranges.length === 0 || !isCellSelected(rowOffset, columnIndex)) {
|
|
251
297
|
return false;
|
|
252
298
|
}
|
|
253
|
-
|
|
254
|
-
|
|
299
|
+
if (ranges.length === 1
|
|
300
|
+
&& ranges[0]
|
|
301
|
+
&& ranges[0].startRow === ranges[0].endRow
|
|
302
|
+
&& ranges[0].startColumn === ranges[0].endColumn) {
|
|
255
303
|
return false;
|
|
256
304
|
}
|
|
257
305
|
return !isSelectionAnchorCell(rowOffset, columnIndex);
|
|
258
306
|
};
|
|
259
307
|
const isCellOnSelectionEdge = (rowOffset, columnIndex, edge) => {
|
|
260
|
-
const
|
|
261
|
-
if (
|
|
308
|
+
const ranges = resolveSelectionRanges();
|
|
309
|
+
if (ranges.length === 0 || !isCellSelected(rowOffset, columnIndex)) {
|
|
262
310
|
return false;
|
|
263
311
|
}
|
|
264
312
|
const rowIndex = options.viewportRowStart.value + rowOffset;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
313
|
+
return ranges.some(range => {
|
|
314
|
+
if (rowIndex < range.startRow
|
|
315
|
+
|| rowIndex > range.endRow
|
|
316
|
+
|| columnIndex < range.startColumn
|
|
317
|
+
|| columnIndex > range.endColumn) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
switch (edge) {
|
|
321
|
+
case "top":
|
|
322
|
+
return rowIndex === range.startRow;
|
|
323
|
+
case "right":
|
|
324
|
+
return columnIndex === range.endColumn;
|
|
325
|
+
case "bottom":
|
|
326
|
+
return rowIndex === range.endRow;
|
|
327
|
+
case "left":
|
|
328
|
+
return columnIndex === range.startColumn;
|
|
329
|
+
}
|
|
330
|
+
});
|
|
275
331
|
};
|
|
276
332
|
return {
|
|
277
333
|
normalizeRowId,
|
|
278
334
|
normalizeCellCoord,
|
|
279
335
|
resolveSelectionRange,
|
|
336
|
+
resolveSelectionRanges,
|
|
280
337
|
resolveCurrentCellCoord,
|
|
281
338
|
applySelectionRange,
|
|
282
339
|
applyCellSelectionByCoord,
|
|
@@ -13,6 +13,7 @@ export interface UseDataGridAppClipboardOptions<TRow, TSnapshot> {
|
|
|
13
13
|
visibleColumns: Ref<readonly DataGridColumnSnapshot[]>;
|
|
14
14
|
viewportRowStart: Ref<number>;
|
|
15
15
|
resolveSelectionRange: () => DataGridCopyRange | null;
|
|
16
|
+
resolveSelectionRanges?: () => readonly DataGridCopyRange[];
|
|
16
17
|
resolveCurrentCellCoord: () => {
|
|
17
18
|
rowIndex: number;
|
|
18
19
|
columnIndex: number;
|
|
@@ -34,6 +35,7 @@ export interface UseDataGridAppClipboardOptions<TRow, TSnapshot> {
|
|
|
34
35
|
export interface UseDataGridAppClipboardResult {
|
|
35
36
|
pendingClipboardOperation: Ref<DataGridAppPendingClipboardOperation>;
|
|
36
37
|
pendingClipboardRange: Ref<DataGridCopyRange | null>;
|
|
38
|
+
pendingClipboardRanges: Ref<readonly DataGridCopyRange[]>;
|
|
37
39
|
normalizeClipboardRange: (range: DataGridCopyRange) => DataGridCopyRange | null;
|
|
38
40
|
applyClipboardEdits: (range: DataGridCopyRange, matrix: string[][], options?: {
|
|
39
41
|
recordHistory?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridAppClipboard.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppClipboard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useDataGridAppClipboard.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAA0B,sBAAsB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,MAAM,MAAM,oCAAoC,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAC1E,MAAM,MAAM,+BAA+B,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEjF,MAAM,WAAW,8BAA8B,CAAC,IAAI,EAAE,SAAS;IAC7D,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1B,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,mBAAmB,CAAC,CAAA;IAC1E,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7E,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,cAAc,EAAE,GAAG,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAA;IACtD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,qBAAqB,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;IACrD,sBAAsB,CAAC,EAAE,MAAM,SAAS,iBAAiB,EAAE,CAAA;IAC3D,uBAAuB,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAC/E,mBAAmB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvD,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,mBAAmB,EAAE,MAAM,SAAS,CAAA;IACpC,4BAA4B,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,CAAA;IAClF,qBAAqB,EAAE,CAAC,cAAc,EAAE,SAAS,KAAK,IAAI,CAAA;IAC1D,QAAQ,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACnE,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7E,cAAc,EAAE,CACd,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,KAChB,OAAO,CAAA;IACZ,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAClC,MAAM,CAAA;IACX,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,EAAE,EAAE,CAAA;CACpE;AAED,MAAM,WAAW,6BAA6B;IAC5C,yBAAyB,EAAE,GAAG,CAAC,oCAAoC,CAAC,CAAA;IACpE,qBAAqB,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACpD,sBAAsB,EAAE,GAAG,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAA;IACzD,uBAAuB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,iBAAiB,GAAG,IAAI,CAAA;IAC/E,mBAAmB,EAAE,CACnB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KAClC,MAAM,CAAA;IACX,WAAW,EAAE,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,KAAK,OAAO,CAAA;IACzF,wBAAwB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,EAAE,EAAE,CAAA;IAClE,8BAA8B,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,6BAA6B,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;IAC7G,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9E,kBAAkB,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/E,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7E,6BAA6B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAA;IAClF,4BAA4B,EAAE,CAC5B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,+BAA+B,KAClC,OAAO,CAAA;CACb;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EACrD,OAAO,EAAE,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,GACvD,6BAA6B,CAqV/B"}
|
|
@@ -9,6 +9,7 @@ export function useDataGridAppClipboard(options) {
|
|
|
9
9
|
const lastCopiedPayload = ref("");
|
|
10
10
|
const pendingClipboardOperation = ref("none");
|
|
11
11
|
const pendingClipboardRange = ref(null);
|
|
12
|
+
const pendingClipboardRanges = ref([]);
|
|
12
13
|
const normalizeClipboardRange = (range) => {
|
|
13
14
|
const rowCount = options.totalRows.value;
|
|
14
15
|
const columnCount = options.visibleColumns.value.length;
|
|
@@ -100,6 +101,29 @@ export function useDataGridAppClipboard(options) {
|
|
|
100
101
|
&& left.startColumn === right.startColumn
|
|
101
102
|
&& left.endColumn === right.endColumn);
|
|
102
103
|
};
|
|
104
|
+
const collectAffectedRowIds = (ranges) => {
|
|
105
|
+
const rowIds = new Set();
|
|
106
|
+
for (const candidateRange of ranges) {
|
|
107
|
+
const range = candidateRange ? normalizeClipboardRange(candidateRange) : null;
|
|
108
|
+
if (!range) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
for (let rowIndex = range.startRow; rowIndex <= range.endRow; rowIndex += 1) {
|
|
112
|
+
const rowId = getBodyRowAtIndex(rowIndex)?.rowId;
|
|
113
|
+
if (typeof rowId === "string" || typeof rowId === "number") {
|
|
114
|
+
rowIds.add(rowId);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return Array.from(rowIds);
|
|
119
|
+
};
|
|
120
|
+
const captureBeforeEditSnapshot = (ranges) => {
|
|
121
|
+
const rowIds = collectAffectedRowIds(ranges);
|
|
122
|
+
if (rowIds.length > 0 && typeof options.captureRowsSnapshotForRowIds === "function") {
|
|
123
|
+
return options.captureRowsSnapshotForRowIds(rowIds);
|
|
124
|
+
}
|
|
125
|
+
return options.captureRowsSnapshot();
|
|
126
|
+
};
|
|
103
127
|
const buildFillMatrixFromRange = options.buildFillMatrixFromRange ?? ((range) => {
|
|
104
128
|
const matrix = [];
|
|
105
129
|
for (let rowIndex = range.startRow; rowIndex <= range.endRow; rowIndex += 1) {
|
|
@@ -123,6 +147,7 @@ export function useDataGridAppClipboard(options) {
|
|
|
123
147
|
}
|
|
124
148
|
pendingClipboardOperation.value = "none";
|
|
125
149
|
pendingClipboardRange.value = null;
|
|
150
|
+
pendingClipboardRanges.value = [];
|
|
126
151
|
if (clearBufferedClipboardPayload) {
|
|
127
152
|
copiedSelectionRange.value = null;
|
|
128
153
|
lastCopiedPayload.value = "";
|
|
@@ -148,6 +173,13 @@ export function useDataGridAppClipboard(options) {
|
|
|
148
173
|
}
|
|
149
174
|
pendingClipboardOperation.value = operation;
|
|
150
175
|
pendingClipboardRange.value = sourceRange;
|
|
176
|
+
pendingClipboardRanges.value = options.resolveSelectionRanges?.()
|
|
177
|
+
.map(range => normalizeClipboardRange(range))
|
|
178
|
+
.filter((range) => range != null)
|
|
179
|
+
?? [sourceRange];
|
|
180
|
+
if (pendingClipboardRanges.value.length === 0) {
|
|
181
|
+
pendingClipboardRanges.value = [sourceRange];
|
|
182
|
+
}
|
|
151
183
|
return true;
|
|
152
184
|
};
|
|
153
185
|
const copySelectedCells = async (trigger = "keyboard") => {
|
|
@@ -189,7 +221,9 @@ export function useDataGridAppClipboard(options) {
|
|
|
189
221
|
void trigger;
|
|
190
222
|
return true;
|
|
191
223
|
}
|
|
192
|
-
const beforeSnapshot =
|
|
224
|
+
const beforeSnapshot = captureBeforeEditSnapshot(pendingOperation === "cut"
|
|
225
|
+
? [pendingSourceRange, normalizedTargetRange]
|
|
226
|
+
: [normalizedTargetRange]);
|
|
193
227
|
if (pendingOperation === "cut" && pendingSourceRange) {
|
|
194
228
|
applyClipboardEdits(pendingSourceRange, [[""]], { recordHistory: false });
|
|
195
229
|
}
|
|
@@ -213,39 +247,43 @@ export function useDataGridAppClipboard(options) {
|
|
|
213
247
|
if (options.mode.value !== "base" || pendingClipboardOperation.value === "none") {
|
|
214
248
|
return false;
|
|
215
249
|
}
|
|
216
|
-
|
|
217
|
-
if (!range) {
|
|
250
|
+
if (pendingClipboardRanges.value.length === 0) {
|
|
218
251
|
return false;
|
|
219
252
|
}
|
|
220
253
|
const rowIndex = options.viewportRowStart.value + rowOffset;
|
|
221
|
-
return (rowIndex >= range.startRow
|
|
254
|
+
return pendingClipboardRanges.value.some(range => (rowIndex >= range.startRow
|
|
222
255
|
&& rowIndex <= range.endRow
|
|
223
256
|
&& columnIndex >= range.startColumn
|
|
224
|
-
&& columnIndex <= range.endColumn);
|
|
257
|
+
&& columnIndex <= range.endColumn));
|
|
225
258
|
};
|
|
226
259
|
const isCellOnPendingClipboardEdge = (rowOffset, columnIndex, edge) => {
|
|
227
260
|
if (!isCellInPendingClipboardRange(rowOffset, columnIndex)) {
|
|
228
261
|
return false;
|
|
229
262
|
}
|
|
230
|
-
const range = pendingClipboardRange.value;
|
|
231
|
-
if (!range) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
263
|
const rowIndex = options.viewportRowStart.value + rowOffset;
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
264
|
+
return pendingClipboardRanges.value.some(range => {
|
|
265
|
+
if (rowIndex < range.startRow
|
|
266
|
+
|| rowIndex > range.endRow
|
|
267
|
+
|| columnIndex < range.startColumn
|
|
268
|
+
|| columnIndex > range.endColumn) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
if (edge === "top") {
|
|
272
|
+
return rowIndex === range.startRow;
|
|
273
|
+
}
|
|
274
|
+
if (edge === "right") {
|
|
275
|
+
return columnIndex === range.endColumn;
|
|
276
|
+
}
|
|
277
|
+
if (edge === "bottom") {
|
|
278
|
+
return rowIndex === range.endRow;
|
|
279
|
+
}
|
|
280
|
+
return columnIndex === range.startColumn;
|
|
281
|
+
});
|
|
245
282
|
};
|
|
246
283
|
return {
|
|
247
284
|
pendingClipboardOperation,
|
|
248
285
|
pendingClipboardRange,
|
|
286
|
+
pendingClipboardRanges,
|
|
249
287
|
normalizeClipboardRange,
|
|
250
288
|
applyClipboardEdits,
|
|
251
289
|
rangesEqual,
|
|
@@ -25,8 +25,8 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
|
|
|
25
25
|
normalizeCellCoord: (coord: DataGridAppCellCoord) => DataGridAppCellCoord | null;
|
|
26
26
|
resolveSelectionRange: () => DataGridCopyRange | null;
|
|
27
27
|
applySelectionRange: (range: DataGridCopyRange) => void;
|
|
28
|
-
applyCellSelectionByCoord: (coord: DataGridAppCellCoord, extend: boolean, fallbackAnchor?: DataGridAppSelectionAnchorLike) => void;
|
|
29
|
-
setCellSelection: (row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number, extend: boolean) => void;
|
|
28
|
+
applyCellSelectionByCoord: (coord: DataGridAppCellCoord, extend: boolean, fallbackAnchor?: DataGridAppSelectionAnchorLike, additive?: boolean) => void;
|
|
29
|
+
setCellSelection: (row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number, extend: boolean, additive?: boolean) => void;
|
|
30
30
|
clearCellSelection: () => void;
|
|
31
31
|
readCell: (row: DataGridRowNode<TRow>, columnKey: string) => string;
|
|
32
32
|
ensureEditableRowAtIndex?: (rowIndex: number) => DataGridRowNode<TRow> | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridAppInteractionController.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInteractionController.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EAC1B,MAAM,uBAAuB,CAAA;AAM9B,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAeL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AACjF,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAS/D,KAAK,8BAA8B,GAAG,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,sBAAsB,GAAG,eAAe,CAAA;AAI1I,MAAM,WAAW,0CAA0C,CACzD,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,SAAS;IAET,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1B,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/B,eAAe,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9B,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,mBAAmB,GAAG,yBAAyB,CAAC,CAAA;IACtG,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACtB,cAAc,EAAE,GAAG,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAA;IACtD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,iBAAiB,EAAE,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACxD,eAAe,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,MAAM,CAAA;IAC9D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC9C,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IACnD,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAC1D,kBAAkB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,oBAAoB,GAAG,IAAI,CAAA;IAChF,qBAAqB,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;IACrD,mBAAmB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvD,yBAAyB,EAAE,CACzB,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,8BAA8B,
|
|
1
|
+
{"version":3,"file":"useDataGridAppInteractionController.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInteractionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1178,8 +1178,8 @@ export function useDataGridAppInteractionController(options) {
|
|
|
1178
1178
|
setDragPointer: pointer => {
|
|
1179
1179
|
pendingDragPointerStart.value = pointer;
|
|
1180
1180
|
},
|
|
1181
|
-
applyCellSelection: (coord, extend, fallbackAnchor) => {
|
|
1182
|
-
options.applyCellSelectionByCoord(coord, extend, fallbackAnchor);
|
|
1181
|
+
applyCellSelection: (coord, extend, fallbackAnchor, additive) => {
|
|
1182
|
+
options.applyCellSelectionByCoord(coord, extend, fallbackAnchor, additive);
|
|
1183
1183
|
},
|
|
1184
1184
|
startInteractionAutoScroll: () => {
|
|
1185
1185
|
pointerAutoScroll.startInteractionAutoScroll();
|
|
@@ -1365,7 +1365,7 @@ export function useDataGridAppInteractionController(options) {
|
|
|
1365
1365
|
if (event.button !== 0) {
|
|
1366
1366
|
return;
|
|
1367
1367
|
}
|
|
1368
|
-
options.setCellSelection(row, rowOffset, columnIndex, event.shiftKey);
|
|
1368
|
+
options.setCellSelection(row, rowOffset, columnIndex, event.shiftKey, event.ctrlKey || event.metaKey);
|
|
1369
1369
|
if (!supportsCellSelectionMode()) {
|
|
1370
1370
|
return;
|
|
1371
1371
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { type Ref } from "vue";
|
|
2
|
-
import type { DataGridColumnSnapshot, DataGridRowId, DataGridSelectionSnapshot } from "@affino/datagrid-core";
|
|
2
|
+
import type { DataGridColumnSnapshot, DataGridRowId, DataGridRowNode, DataGridSelectionSnapshot } from "@affino/datagrid-core";
|
|
3
3
|
import type { GridSelectionPointLike } from "@affino/datagrid-core/advanced";
|
|
4
4
|
import type { UseDataGridRuntimeOptions, UseDataGridRuntimeResult } from "../composables/useDataGridRuntime";
|
|
5
5
|
import type { DataGridAppMode } from "./useDataGridAppControls";
|
|
6
6
|
type MaybeRef<T> = T | Ref<T>;
|
|
7
7
|
export interface UseDataGridAppSelectionOptions<TRow> {
|
|
8
8
|
mode: MaybeRef<DataGridAppMode>;
|
|
9
|
-
resolveRuntime?: () => Pick<UseDataGridRuntimeResult<TRow>, "api"> | null;
|
|
9
|
+
resolveRuntime?: () => (Pick<UseDataGridRuntimeResult<TRow>, "api"> & Partial<Pick<UseDataGridRuntimeResult<TRow>, "rowModel">>) | null;
|
|
10
10
|
visibleColumns?: Ref<readonly DataGridColumnSnapshot[]>;
|
|
11
11
|
totalRows?: Ref<number>;
|
|
12
12
|
showRowSelection?: MaybeRef<boolean>;
|
|
13
|
+
readSelectionCell?: (row: DataGridRowNode<TRow>, columnKey: string) => unknown;
|
|
13
14
|
}
|
|
14
15
|
export interface UseDataGridAppSelectionResult<TRow> {
|
|
15
16
|
selectionSnapshot: Ref<DataGridSelectionSnapshot | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridAppSelection.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppSelection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useDataGridAppSelection.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAIpD,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEb,eAAe,EACf,yBAAyB,EAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAS7B,MAAM,WAAW,8BAA8B,CAAC,IAAI;IAClD,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACvI,cAAc,CAAC,EAAE,GAAG,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAA;IACvD,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACpC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;CAC/E;AAED,MAAM,WAAW,6BAA6B,CAAC,IAAI;IACjD,iBAAiB,EAAE,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACxD,eAAe,EAAE,GAAG,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;IAClE,gBAAgB,EAAE,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IACpG,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;IAC5F,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrC,gCAAgC,EAAE,MAAM,IAAI,CAAA;CAC7C;AAkED,wBAAgB,uBAAuB,CAAC,IAAI,EAC1C,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,GAC5C,6BAA6B,CAAC,IAAI,CAAC,CA6KrC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { computed, ref } from "vue";
|
|
1
|
+
import { computed, ref, watch } from "vue";
|
|
2
|
+
import { resolveDataGridSelectionCellValue, } from "@affino/datagrid-core";
|
|
2
3
|
function resolveMaybeRef(value) {
|
|
3
4
|
if (typeof value === "object" && value !== null && "value" in value) {
|
|
4
5
|
return value.value;
|
|
@@ -6,20 +7,6 @@ function resolveMaybeRef(value) {
|
|
|
6
7
|
return value;
|
|
7
8
|
}
|
|
8
9
|
const aggregateNumberFormatter = new Intl.NumberFormat("en-US", { maximumFractionDigits: 2 });
|
|
9
|
-
function readByPath(value, path) {
|
|
10
|
-
if (!path || typeof value !== "object" || value === null) {
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
const segments = path.split(".").filter(Boolean);
|
|
14
|
-
let current = value;
|
|
15
|
-
for (const segment of segments) {
|
|
16
|
-
if (typeof current !== "object" || current === null || !(segment in current)) {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
current = current[segment];
|
|
20
|
-
}
|
|
21
|
-
return current;
|
|
22
|
-
}
|
|
23
10
|
function normalizeRowId(value) {
|
|
24
11
|
return typeof value === "string" || typeof value === "number" ? value : null;
|
|
25
12
|
}
|
|
@@ -29,32 +16,31 @@ function formatAggregateNumber(value) {
|
|
|
29
16
|
}
|
|
30
17
|
return aggregateNumberFormatter.format(value);
|
|
31
18
|
}
|
|
32
|
-
function readSelectionCellValue(
|
|
19
|
+
function readSelectionCellValue(rowNode, column, readSelectionCell) {
|
|
33
20
|
if (!column) {
|
|
34
21
|
return undefined;
|
|
35
22
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return readByPath(source, directKey);
|
|
23
|
+
return resolveDataGridSelectionCellValue({
|
|
24
|
+
rowNode,
|
|
25
|
+
columnKey: column.key,
|
|
26
|
+
readSelectionCell,
|
|
27
|
+
valueGetter: typeof column.column.valueGetter === "function"
|
|
28
|
+
? currentRowNode => column.column.valueGetter?.(currentRowNode.data)
|
|
29
|
+
: undefined,
|
|
30
|
+
accessor: typeof column.column.accessor === "function"
|
|
31
|
+
? rowData => column.column.accessor?.(rowData)
|
|
32
|
+
: undefined,
|
|
33
|
+
field: typeof column.column.field === "string" ? column.column.field : undefined,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function resolveRowModelVersionKey(snapshot) {
|
|
37
|
+
return [
|
|
38
|
+
snapshot.kind,
|
|
39
|
+
snapshot.revision ?? "",
|
|
40
|
+
snapshot.rowCount,
|
|
41
|
+
snapshot.loading ? 1 : 0,
|
|
42
|
+
snapshot.projection?.recomputeVersion ?? snapshot.projection?.version ?? "",
|
|
43
|
+
].join("|");
|
|
58
44
|
}
|
|
59
45
|
function hasLeadingRowSelectionColumn(showRowSelection, runtime) {
|
|
60
46
|
return showRowSelection && runtime?.api.rowSelection?.hasSupport?.() === true;
|
|
@@ -69,6 +55,7 @@ function resolveSelectionColumnAtIndex(visibleColumns, columnIndex, hasRowSelect
|
|
|
69
55
|
export function useDataGridAppSelection(options) {
|
|
70
56
|
const selectionSnapshot = ref(null);
|
|
71
57
|
const selectionAnchor = ref(null);
|
|
58
|
+
const rowVersion = ref(0);
|
|
72
59
|
const syncSelectionState = (snapshot) => {
|
|
73
60
|
selectionSnapshot.value = snapshot;
|
|
74
61
|
if (!snapshot || snapshot.ranges.length === 0) {
|
|
@@ -105,7 +92,25 @@ export function useDataGridAppSelection(options) {
|
|
|
105
92
|
? runtime.api.selection.getSnapshot()
|
|
106
93
|
: null);
|
|
107
94
|
};
|
|
95
|
+
watch(() => options.resolveRuntime?.()?.rowModel ?? null, (rowModel, _previous, onCleanup) => {
|
|
96
|
+
if (!rowModel) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
let lastVersionKey = resolveRowModelVersionKey(rowModel.getSnapshot());
|
|
100
|
+
const unsubscribe = rowModel.subscribe(() => {
|
|
101
|
+
const nextVersionKey = resolveRowModelVersionKey(rowModel.getSnapshot());
|
|
102
|
+
if (nextVersionKey === lastVersionKey) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
lastVersionKey = nextVersionKey;
|
|
106
|
+
rowVersion.value += 1;
|
|
107
|
+
});
|
|
108
|
+
onCleanup(() => {
|
|
109
|
+
unsubscribe();
|
|
110
|
+
});
|
|
111
|
+
}, { immediate: true });
|
|
108
112
|
const selectionAggregates = computed(() => {
|
|
113
|
+
void rowVersion.value;
|
|
109
114
|
if (resolveMaybeRef(options.mode) !== "base") {
|
|
110
115
|
return null;
|
|
111
116
|
}
|
|
@@ -150,7 +155,7 @@ export function useDataGridAppSelection(options) {
|
|
|
150
155
|
if (!column?.key) {
|
|
151
156
|
continue;
|
|
152
157
|
}
|
|
153
|
-
const rawValue = readSelectionCellValue(rowNode
|
|
158
|
+
const rawValue = readSelectionCellValue(rowNode, column, options.readSelectionCell);
|
|
154
159
|
const numericValue = typeof rawValue === "number" ? rawValue : Number(rawValue);
|
|
155
160
|
if (!Number.isFinite(numericValue)) {
|
|
156
161
|
continue;
|
package/dist/public.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { buildDataGridCellRenderModel, createClientRowModel, createDataSourceBackedRowModel, createServerBackedRowModel, createServerRowModel, createDataGridServerPivotRowId, createDataGridCellTypeRegistry, createDataGridColumnModel, formatDataGridCellValue, getDataGridRowRenderMeta, invokeDataGridCellInteraction, parseDataGridCellDraftValue, createDataGridSelectionSummary, createInMemoryDataGridSettingsAdapter, buildDataGridAdvancedFilterExpressionFromLegacyFilters, cloneDataGridFilterSnapshot, evaluateColumnPredicateFilter, evaluateDataGridAdvancedFilterExpression, normalizeDataGridAdvancedFilterExpression, resolveDataGridCellInteraction, resolveDataGridCellClickAction, resolveDataGridCellKeyboardAction, resolveDataGridCellType, serializeColumnValueToToken, toggleDataGridCellValue, } from "@affino/datagrid-core";
|
|
5
5
|
export { normalizePivotSpec, clonePivotSpec, isSamePivotSpec, } from "@affino/datagrid-pivot";
|
|
6
|
-
export type { CreateDataGridCoreOptions, DataGridCoreServiceRegistry, DataGridAggOp, DataGridAggregationColumnSpec, DataGridAggregationColumnSpecAnyState, DataGridAggregationModel, DataGridAdvancedFilterExpression, DataGridAdvancedFilterCondition, DataGridApiCapabilities, DataGridApiMutationControlOptions, DataGridApiPivotNamespace, DataGridApiRowSelectionNamespace, DataGridApiSelectionNamespace, DataGridApiTransactionNamespace, DataGridApiRowsNamespace, DataGridApiDataNamespace, DataGridApiColumnsNamespace, DataGridApiViewNamespace, DataGridApiComputeNamespace, DataGridApiDiagnosticsNamespace, DataGridApiDiagnosticsSnapshot, DataGridApiFormulaExplainSnapshot, DataGridApiRowModelDiagnostics, DataGridApiLifecycleNamespace, DataGridApiMetaNamespace, DataGridApiSchemaSnapshot, DataGridApiSchemaColumn, DataGridApiRuntimeInfo, DataGridApiPolicyNamespace, DataGridApiProjectionMode, DataGridApiPluginDefinition, DataGridApiPluginsNamespace, DataGridApiStateNamespace, DataGridApiEventsNamespace, DataGridApiEventMap, DataGridApiEventName, DataGridApiEventPayload, DataGridApiErrorCode, DataGridApiErrorEvent, DataGridApiRowSelectionChangedEvent, DataGridApiSelectionChangedEvent, DataGridMigrateStateOptions, DataGridSetStateOptions, DataGridUnifiedRowsState, DataGridUnifiedColumnState, DataGridUnifiedState, DataGridColumnModel, DataGridColumnCapabilities, DataGridCellInteractionInvocationTrigger, DataGridCellInteractionKeyboardTrigger, DataGridCellInteractionRole, DataGridCellInteractionTriState, DataGridColumnCellInteraction, DataGridColumnCellInteractionContext, DataGridColumnCellInteractionInvokeContext, DataGridColumnConstraintValue, DataGridColumnConstraints, DataGridColumnDataType, DataGridColumnDateTimeFormatOptions, DataGridColumnDef, DataGridColumnInitialState, DataGridColumnInput, DataGridColumnOption, DataGridColumnNumberFormatOptions, DataGridColumnModelSnapshot, DataGridColumnPin, DataGridColumnPresentation, DataGridColumnSnapshot, DataGridColumnStateSnapshot, DataGridColumnState, DataGridColumnValueAccessors, BuildDataGridCellRenderModelOptions, CreateDataGridCellTypeRegistryOptions, DataGridCellClickAction, DataGridCellInteractionContext, DataGridCellEditorMode, DataGridCellKeyboardAction, DataGridCellRenderModel, DataGridResolvedCellInteraction, DataGridCellTypeDefinition, DataGridCellTypeId, DataGridCellTypeOption, DataGridCellTypeRegistry, InvokeDataGridCellInteractionOptions, DataGridClientRowPatch, DataGridClientRowPatchOptions, DataGridClientComputeMode, DataGridClientComputeDiagnostics, DataGridClientComputeRequest, DataGridClientComputeTransport, DataGridClientComputeTransportResult, DataGridApi, DataGridClientRowReorderInput, DataGridComputedFieldDefinition, DataGridComputedFieldSnapshot, DataGridCoreServiceContext, DataGridEventEnvelope, DataGridEventPhase, DataGridEventSource, DataGridEventTier, DataGridFilterSnapshot, DataGridGroupBySpec, DataGridGroupExpansionSnapshot, DataGridDataSource, DataGridDataSourceBackpressureDiagnostics, DataGridDataSourceInvalidation, DataGridDataSourcePaginationPullContext, DataGridDataSourcePullPriority, DataGridDataSourcePivotPullContext, DataGridDataSourcePullReason, DataGridDataSourcePullRequest, DataGridDataSourcePullResult, DataGridDataSourceTreePullContext, DataGridDataSourceTreePullOperation, DataGridDataSourceTreePullScope, DataGridDataSourcePushEvent, DataGridDataSourcePushInvalidateEvent, DataGridDataSourcePushListener, DataGridDataSourcePushRemoveEvent, DataGridDataSourcePushUpsertEvent, DataGridDataSourceRowEntry, DataGridServerPivotRowIdInput, DataGridServerPivotRowRole, DataSourceBackedRowModel, CreateDataSourceBackedRowModelOptions, ServerBackedRowModel, CreateServerBackedRowModelOptions, ServerRowModel, ServerRowModelOptions, ServerRowModelFetchResult, DataGridPaginationInput, DataGridPaginationSnapshot, DataGridProjectionDiagnostics, DataGridProjectionMemoryDiagnostics, DataGridProjectionPerformanceDiagnostics, DataGridProjectionPipelineDiagnostics, DataGridProjectionRowCounts, DataGridProjectionStageTimes, DataGridFormulaFieldDefinition, DataGridFormulaFieldSnapshot, DataGridFormulaFunctionDefinition, DataGridFormulaFunctionRegistry, DataGridFormulaComputeStageDiagnostics, DataGridFormulaRowRecomputeDiagnostics, DataGridRowId, DataGridRowRenderMeta, DataGridRowSelectionSnapshot, DataGridRowModel, DataGridRowModelSnapshot, DataGridRowNode, DataGridRowNodeInput, DataGridSettingsAdapter, DataGridSelectionAggregationKind, DataGridSelectionSnapshot, DataGridSelectionSnapshotRange, DataGridSelectionSummaryColumnConfig, DataGridSelectionSummarySnapshot, GridSelectionSnapshot, GridSelectionSnapshotRange, DataGridSortDirection, DataGridSortState, DataGridViewportRange, ClientRowModel, CreateClientRowModelOptions, ResolveDataGridCellInteractionOptions, } from "@affino/datagrid-core";
|
|
6
|
+
export type { DataGridBivariantCallback, CreateDataGridCoreOptions, DataGridCoreServiceRegistry, DataGridAggOp, DataGridAggregationColumnSpec, DataGridAggregationColumnSpecAnyState, DataGridAggregationModel, DataGridAdvancedFilterExpression, DataGridAdvancedFilterCondition, DataGridApiCapabilities, DataGridApiMutationControlOptions, DataGridApiPivotNamespace, DataGridApiRowSelectionNamespace, DataGridApiSelectionNamespace, DataGridApiTransactionNamespace, DataGridApiRowsNamespace, DataGridApiDataNamespace, DataGridApiColumnsNamespace, DataGridApiViewNamespace, DataGridApiComputeNamespace, DataGridApiDiagnosticsNamespace, DataGridApiDiagnosticsSnapshot, DataGridApiFormulaExplainSnapshot, DataGridApiRowModelDiagnostics, DataGridApiLifecycleNamespace, DataGridApiMetaNamespace, DataGridApiSchemaSnapshot, DataGridApiSchemaColumn, DataGridApiRuntimeInfo, DataGridApiPolicyNamespace, DataGridApiProjectionMode, DataGridApiPluginDefinition, DataGridApiPluginsNamespace, DataGridApiStateNamespace, DataGridApiEventsNamespace, DataGridApiEventMap, DataGridApiEventName, DataGridApiEventPayload, DataGridApiErrorCode, DataGridApiErrorEvent, DataGridApiRowSelectionChangedEvent, DataGridApiSelectionChangedEvent, DataGridMigrateStateOptions, DataGridSetStateOptions, DataGridUnifiedRowsState, DataGridUnifiedColumnState, DataGridUnifiedState, DataGridColumnModel, DataGridColumnHistogramEntry, DataGridColumnCapabilities, DataGridCellInteractionInvocationTrigger, DataGridCellInteractionKeyboardTrigger, DataGridCellInteractionRole, DataGridCellInteractionTriState, DataGridColumnCellInteraction, DataGridColumnCellInteractionContext, DataGridColumnCellInteractionInvokeContext, DataGridColumnConstraintValue, DataGridColumnConstraints, DataGridColumnDataType, DataGridColumnDateTimeFormatOptions, DataGridColumnDef, DataGridColumnInitialState, DataGridColumnInput, DataGridColumnOption, DataGridColumnNumberFormatOptions, DataGridColumnModelSnapshot, DataGridColumnPin, DataGridColumnPresentation, DataGridColumnSnapshot, DataGridColumnStateSnapshot, DataGridColumnState, DataGridColumnValueAccessors, BuildDataGridCellRenderModelOptions, CreateDataGridCellTypeRegistryOptions, DataGridCellClickAction, DataGridCellInteractionContext, DataGridCellEditorMode, DataGridCellKeyboardAction, DataGridCellRenderModel, DataGridResolvedCellInteraction, DataGridCellTypeDefinition, DataGridCellTypeId, DataGridCellTypeOption, DataGridCellTypeRegistry, InvokeDataGridCellInteractionOptions, DataGridClientRowPatch, DataGridClientRowPatchOptions, DataGridClientComputeMode, DataGridClientComputeDiagnostics, DataGridClientComputeRequest, DataGridClientComputeTransport, DataGridClientComputeTransportResult, DataGridApi, DataGridClientRowReorderInput, DataGridComputedFieldDefinition, DataGridComputedFieldSnapshot, DataGridCoreServiceContext, DataGridEventEnvelope, DataGridEventPhase, DataGridEventSource, DataGridEventTier, DataGridFilterSnapshot, DataGridGroupBySpec, DataGridGroupExpansionSnapshot, DataGridDataSource, DataGridDataSourceBackpressureDiagnostics, DataGridDataSourceInvalidation, DataGridDataSourcePaginationPullContext, DataGridDataSourcePullPriority, DataGridDataSourcePivotPullContext, DataGridDataSourcePullReason, DataGridDataSourcePullRequest, DataGridDataSourcePullResult, DataGridDataSourceTreePullContext, DataGridDataSourceTreePullOperation, DataGridDataSourceTreePullScope, DataGridDataSourcePushEvent, DataGridDataSourcePushInvalidateEvent, DataGridDataSourcePushListener, DataGridDataSourcePushRemoveEvent, DataGridDataSourcePushUpsertEvent, DataGridDataSourceRowEntry, DataGridServerPivotRowIdInput, DataGridServerPivotRowRole, DataSourceBackedRowModel, CreateDataSourceBackedRowModelOptions, ServerBackedRowModel, CreateServerBackedRowModelOptions, ServerRowModel, ServerRowModelOptions, ServerRowModelFetchResult, DataGridPaginationInput, DataGridPaginationSnapshot, DataGridProjectionDiagnostics, DataGridProjectionMemoryDiagnostics, DataGridProjectionPerformanceDiagnostics, DataGridProjectionPipelineDiagnostics, DataGridProjectionRowCounts, DataGridProjectionStageTimes, DataGridFormulaFieldDefinition, DataGridFormulaFieldSnapshot, DataGridFormulaFunctionDefinition, DataGridFormulaFunctionRegistry, DataGridFormulaComputeStageDiagnostics, DataGridFormulaRowRecomputeDiagnostics, DataGridRowId, DataGridRowRenderMeta, DataGridRowSelectionSnapshot, DataGridRowModel, DataGridRowModelSnapshot, DataGridRowNode, DataGridRowNodeInput, DataGridSettingsAdapter, DataGridSelectionAggregationKind, DataGridSelectionSnapshot, DataGridSelectionSnapshotRange, DataGridSelectionSummaryColumnConfig, DataGridSelectionSummarySnapshot, GridSelectionSnapshot, GridSelectionSnapshotRange, DataGridSortDirection, DataGridSortState, DataGridViewportRange, ClientRowModel, CreateClientRowModelOptions, ResolveDataGridCellInteractionOptions, } from "@affino/datagrid-core";
|
|
7
7
|
export type { DataGridPivotSpec, DataGridPivotValueSpec, DataGridPivotColumn, DataGridPivotColumnPathSegment, DataGridPivotCellDrilldownInput, DataGridPivotCellDrilldown, DataGridPivotLayoutColumnState, DataGridPivotLayoutSnapshot, DataGridPivotLayoutImportOptions, DataGridPivotInteropSnapshot, } from "@affino/datagrid-pivot";
|
|
8
8
|
export type { DataGridTransactionSnapshot, GridSelectionPointLike, } from "@affino/datagrid-core/advanced";
|
|
9
9
|
export type { DataGridRuntimeOverrides, } from "@affino/datagrid-orchestration";
|
package/dist/public.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@affino/datagrid-vue",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.19",
|
|
4
4
|
"author": "Anton Pavlov <a.pavlov@affino.dev>",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Vue adapter and headless foundation for Affino DataGrid",
|
|
@@ -75,10 +75,10 @@
|
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@affino/datagrid-core": "0.3.
|
|
79
|
-
"@affino/datagrid-
|
|
80
|
-
"@affino/datagrid-
|
|
81
|
-
"@affino/datagrid-
|
|
78
|
+
"@affino/datagrid-core": "0.3.10",
|
|
79
|
+
"@affino/datagrid-orchestration": "0.3.8",
|
|
80
|
+
"@affino/datagrid-worker": "0.1.1",
|
|
81
|
+
"@affino/datagrid-pivot": "0.1.1"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@affino/datagrid-theme": "^0.2.2"
|