@affino/datagrid-vue 0.3.29 → 0.3.31

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.
@@ -26,14 +26,15 @@ export interface UseDataGridAppClipboardOptions<TRow, TSnapshot> {
26
26
  clearCellSelection: () => void;
27
27
  captureRowsSnapshot: () => TSnapshot;
28
28
  captureRowsSnapshotForRowIds?: (rowIds: readonly (string | number)[]) => TSnapshot;
29
- recordEditTransaction: (beforeSnapshot: TSnapshot) => void;
29
+ recordEditTransaction: (beforeSnapshot: TSnapshot, afterSnapshotOverride?: TSnapshot, label?: string) => void;
30
30
  readCell: (row: DataGridRowNode<TRow>, columnKey: string) => string;
31
31
  readClipboardCell?: (row: DataGridRowNode<TRow>, columnKey: string) => string;
32
32
  isCellEditable: (row: DataGridRowNode<TRow>, rowIndex: number, columnKey: string, columnIndex: number) => boolean;
33
33
  syncViewport: () => void;
34
34
  applyClipboardEdits?: (range: DataGridCopyRange, matrix: string[][], options?: {
35
35
  recordHistory?: boolean;
36
- }) => number;
36
+ recordHistoryLabel?: string;
37
+ }) => number | Promise<number>;
37
38
  buildFillMatrixFromRange?: (range: DataGridCopyRange) => string[][];
38
39
  buildPasteSpecialMatrixFromRange?: (range: DataGridCopyRange, mode: Exclude<DataGridAppPasteMode, "default">) => string[][];
39
40
  }
@@ -44,7 +45,8 @@ export interface UseDataGridAppClipboardResult {
44
45
  normalizeClipboardRange: (range: DataGridCopyRange) => DataGridCopyRange | null;
45
46
  applyClipboardEdits: (range: DataGridCopyRange, matrix: string[][], options?: {
46
47
  recordHistory?: boolean;
47
- }) => number;
48
+ recordHistoryLabel?: string;
49
+ }) => number | Promise<number>;
48
50
  rangesEqual: (left: DataGridCopyRange | null, right: DataGridCopyRange | null) => boolean;
49
51
  buildFillMatrixFromRange: (range: DataGridCopyRange) => string[][];
50
52
  clearPendingClipboardOperation: (clearSelection: boolean, clearBufferedClipboardPayload?: boolean) => 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":"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"}
@@ -46,7 +46,7 @@ export function useDataGridAppClipboard(options) {
46
46
  setLastAction: () => undefined,
47
47
  closeContextMenu: () => undefined,
48
48
  });
49
- const applyClipboardEdits = options.applyClipboardEdits ?? ((range, matrix, applyOptions = {}) => {
49
+ const applyClipboardEdits = options.applyClipboardEdits ?? (async (range, matrix, applyOptions = {}) => {
50
50
  const normalized = normalizeClipboardRange(range);
51
51
  if (!normalized) {
52
52
  return 0;
@@ -54,9 +54,6 @@ export function useDataGridAppClipboard(options) {
54
54
  const matrixHeight = Math.max(1, matrix.length);
55
55
  const matrixWidth = Math.max(1, matrix[0]?.length ?? 1);
56
56
  const editsByRowId = new Map();
57
- const beforeSnapshot = applyOptions.recordHistory === false
58
- ? null
59
- : options.captureRowsSnapshot();
60
57
  for (let rowIndex = normalized.startRow; rowIndex <= normalized.endRow; rowIndex += 1) {
61
58
  const row = options.ensureEditableRowAtIndex?.(rowIndex) ?? getBodyRowAtIndex(rowIndex);
62
59
  if (!row || row.rowId == null || row.kind === "group") {
@@ -81,14 +78,21 @@ export function useDataGridAppClipboard(options) {
81
78
  if (editsByRowId.size === 0) {
82
79
  return 0;
83
80
  }
81
+ const rowIds = Array.from(editsByRowId.keys());
82
+ const beforeSnapshot = applyOptions.recordHistory === false
83
+ ? null
84
+ : (options.captureRowsSnapshotForRowIds?.(rowIds) ?? options.captureRowsSnapshot());
84
85
  const updates = Array.from(editsByRowId.entries(), ([rowId, data]) => ({
85
86
  rowId,
86
87
  data: data,
87
88
  }));
88
- options.runtime.api.rows.applyEdits(updates);
89
+ await options.runtime.api.rows.applyEdits(updates);
89
90
  options.applySelectionRange(normalized);
90
91
  if (beforeSnapshot != null) {
91
- options.recordEditTransaction(beforeSnapshot);
92
+ const afterSnapshot = options.captureRowsSnapshotForRowIds
93
+ ? options.captureRowsSnapshotForRowIds(rowIds)
94
+ : options.captureRowsSnapshot();
95
+ options.recordEditTransaction(beforeSnapshot, afterSnapshot, applyOptions.recordHistoryLabel);
92
96
  }
93
97
  return editsByRowId.size;
94
98
  });
@@ -233,9 +237,9 @@ export function useDataGridAppClipboard(options) {
233
237
  ? [pendingSourceRange, normalizedTargetRange]
234
238
  : [normalizedTargetRange]);
235
239
  if (pendingOperation === "cut" && pendingSourceRange) {
236
- applyClipboardEdits(pendingSourceRange, [[""]], { recordHistory: false });
240
+ void applyClipboardEdits(pendingSourceRange, [[""]], { recordHistory: false });
237
241
  }
238
- const appliedRows = applyClipboardEdits(targetRange, matrix, { recordHistory: false });
242
+ const appliedRows = await applyClipboardEdits(targetRange, matrix, { recordHistory: false });
239
243
  if (appliedRows <= 0) {
240
244
  return false;
241
245
  }
@@ -18,14 +18,38 @@ export interface UseDataGridAppFillOptions {
18
18
  resolveSelectionRange: () => DataGridCopyRange | null;
19
19
  rangesEqual: (left: DataGridCopyRange | null, right: DataGridCopyRange | null) => boolean;
20
20
  buildFillMatrixFromRange: (range: DataGridCopyRange) => string[][];
21
- applyClipboardEdits: (range: DataGridCopyRange, matrix: string[][]) => number;
21
+ shouldUseServerFill?: (baseRange: DataGridCopyRange, previewRange: DataGridCopyRange, behavior: DataGridFillBehavior) => boolean;
22
+ commitServerFill?: (request: {
23
+ baseRange: DataGridCopyRange;
24
+ previewRange: DataGridCopyRange;
25
+ behavior: DataGridFillBehavior;
26
+ }) => Promise<{
27
+ operationId: string;
28
+ revision?: string | number | null;
29
+ affectedRange?: DataGridCopyRange | null;
30
+ invalidation?: {
31
+ kind: "range";
32
+ range: DataGridCopyRange;
33
+ reason?: string;
34
+ } | null;
35
+ } | null>;
36
+ applyClipboardEdits: (range: DataGridCopyRange, matrix: string[][], options?: {
37
+ recordHistory?: boolean;
38
+ recordHistoryLabel?: string;
39
+ }) => number | Promise<number>;
22
40
  isCellEditableAt: (rowIndex: number, columnIndex: number) => boolean;
23
41
  setLastAppliedFillSession: (session: DataGridAppAppliedFillSession | null) => void;
42
+ setLastServerFillSession?: (session: {
43
+ operationId: string;
44
+ revision?: string | number | null;
45
+ affectedRange?: DataGridCopyRange | null;
46
+ behavior: DataGridFillBehavior;
47
+ } | null) => void;
24
48
  syncViewport: () => void;
25
49
  }
26
50
  export interface UseDataGridAppFillResult {
27
- applyFillPreview: (behavior?: DataGridFillBehavior) => boolean;
28
- applyFillRange: (baseRange: DataGridCopyRange, previewRange: DataGridCopyRange, behavior?: DataGridFillBehavior) => boolean;
51
+ applyFillPreview: (behavior?: DataGridFillBehavior) => boolean | Promise<boolean>;
52
+ applyFillRange: (baseRange: DataGridCopyRange, previewRange: DataGridCopyRange, behavior?: DataGridFillBehavior) => boolean | Promise<boolean>;
29
53
  isCellInFillPreview: (rowOffset: number, columnIndex: number) => boolean;
30
54
  isFillHandleCell: (rowOffset: number, columnIndex: number) => boolean;
31
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDataGridAppFill.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppFill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,iBAAiB,CAAA;IAC5B,YAAY,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,aAAa,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC5C,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC/C,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IACpD,qBAAqB,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;IACrD,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,mBAAmB,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,CAAA;IAC7E,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAA;IACpE,yBAAyB,EAAE,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,KAAK,IAAI,CAAA;IAClF,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAA;IAC9D,cAAc,EAAE,CACd,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,iBAAiB,EAC/B,QAAQ,CAAC,EAAE,oBAAoB,KAC5B,OAAO,CAAA;IACZ,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAA;IACxE,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAA;CACtE;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,wBAAwB,CA0G1B"}
1
+ {"version":3,"file":"useDataGridAppFill.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppFill.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { buildDataGridFillMatrix, canToggleDataGridFillBehavior, resolveDataGridDefaultFillBehavior, } from "../composables/dataGridFillBehavior";
2
2
  import {} from "../advanced";
3
3
  export function useDataGridAppFill(options) {
4
- const applyFillRange = (baseRange, previewRange, behaviorOverride) => {
4
+ const applyFillRange = async (baseRange, previewRange, behaviorOverride) => {
5
5
  if (options.rangesEqual(baseRange, previewRange)) {
6
6
  return false;
7
7
  }
@@ -16,13 +16,29 @@ export function useDataGridAppFill(options) {
16
16
  previewRange,
17
17
  sourceMatrix,
18
18
  });
19
+ const useServerFill = options.shouldUseServerFill?.(baseRange, previewRange, behavior) ?? false;
20
+ if (useServerFill && options.commitServerFill) {
21
+ const committed = await options.commitServerFill({ baseRange, previewRange, behavior });
22
+ if (committed) {
23
+ options.setLastServerFillSession?.({
24
+ operationId: committed.operationId,
25
+ revision: committed.revision,
26
+ affectedRange: committed.affectedRange ?? previewRange,
27
+ behavior,
28
+ });
29
+ options.syncViewport();
30
+ return true;
31
+ }
32
+ }
19
33
  const matrix = buildDataGridFillMatrix({
20
34
  baseRange,
21
35
  previewRange,
22
36
  sourceMatrix,
23
37
  behavior,
24
38
  });
25
- const appliedRows = options.applyClipboardEdits(previewRange, matrix);
39
+ const appliedRows = await options.applyClipboardEdits(previewRange, matrix, {
40
+ recordHistoryLabel: "Fill edit",
41
+ });
26
42
  if (appliedRows > 0) {
27
43
  options.setLastAppliedFillSession({
28
44
  baseRange: { ...baseRange },
@@ -39,7 +55,7 @@ export function useDataGridAppFill(options) {
39
55
  }
40
56
  return false;
41
57
  };
42
- const applyFillPreview = (behavior) => {
58
+ const applyFillPreview = async (behavior) => {
43
59
  const baseRange = options.fillBaseRange.value;
44
60
  const previewRange = options.fillPreviewRange.value;
45
61
  if (!baseRange || !previewRange) {
@@ -31,7 +31,17 @@ export interface UseDataGridAppInlineEditingOptions<TRow, TSnapshot> {
31
31
  isCellEditable: (row: DataGridRowNode<TRow>, rowIndex: number, columnKey: string, columnIndex: number) => boolean;
32
32
  captureRowsSnapshot: () => TSnapshot;
33
33
  captureRowsSnapshotForRowIds?: (rowIds: readonly (string | number)[]) => TSnapshot;
34
- recordEditTransaction: (beforeSnapshot: TSnapshot) => void;
34
+ recordEditTransaction: (beforeSnapshot: TSnapshot, afterSnapshotOverride?: TSnapshot, label?: string) => void;
35
+ onCellEdit?: (payload: {
36
+ rowId: string | number;
37
+ columnKey: string;
38
+ oldValue: unknown;
39
+ newValue: unknown;
40
+ patch: {
41
+ rowId: string | number;
42
+ data: Partial<TRow>;
43
+ };
44
+ }) => void;
35
45
  }
36
46
  export interface UseDataGridAppInlineEditingResult<TRow> {
37
47
  editingCell: Ref<DataGridAppEditingCell | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"useDataGridAppInlineEditing.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInlineEditing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDataGridAppInlineEditing.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInlineEditing.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,27 @@ import { nextTick, ref } from "vue";
2
2
  import { buildDataGridCellRenderModel, parseDataGridCellDraftValue, } from "@affino/datagrid-core";
3
3
  import { restoreDataGridFocus } from "./dataGridFocusRestore";
4
4
  export function useDataGridAppInlineEditing(options) {
5
+ const buildAfterSnapshotFromEdit = (beforeSnapshot, rowId, columnKey, nextValue) => {
6
+ if (beforeSnapshot && typeof beforeSnapshot === "object" && Array.isArray(beforeSnapshot.rows)) {
7
+ const snapshot = beforeSnapshot;
8
+ return {
9
+ ...beforeSnapshot,
10
+ rows: snapshot.rows.map(entry => {
11
+ if (entry.rowId !== rowId) {
12
+ return entry;
13
+ }
14
+ return {
15
+ ...entry,
16
+ row: {
17
+ ...entry.row,
18
+ [columnKey]: nextValue,
19
+ },
20
+ };
21
+ }),
22
+ };
23
+ }
24
+ return beforeSnapshot;
25
+ };
5
26
  const editingCell = ref(null);
6
27
  const editingCellValue = ref("");
7
28
  const editingCellInitialFilter = ref("");
@@ -285,7 +306,7 @@ export function useDataGridAppInlineEditing(options) {
285
306
  focusInlineEditor();
286
307
  return true;
287
308
  };
288
- const commitInlineEdit = (targetOrEvent = "stay") => {
309
+ const commitInlineEdit = async (targetOrEvent = "stay") => {
289
310
  const currentEditingCell = editingCell.value;
290
311
  if (!currentEditingCell) {
291
312
  return;
@@ -309,6 +330,11 @@ export function useDataGridAppInlineEditing(options) {
309
330
  }
310
331
  const resolvedRowId = rowNode?.rowId ?? currentEditingCell.rowId;
311
332
  const columnSnapshot = options.visibleColumns.value.find(column => column.key === currentEditingCell.columnKey);
333
+ const oldValue = rowNode && rowNode.kind !== "group"
334
+ ? (columnSnapshot
335
+ ? readEditorSourceValue(rowNode, columnSnapshot)
336
+ : rowNode.data[currentEditingCell.columnKey])
337
+ : undefined;
312
338
  const parsedValue = columnSnapshot
313
339
  ? parseDataGridCellDraftValue({
314
340
  column: columnSnapshot.column,
@@ -316,7 +342,10 @@ export function useDataGridAppInlineEditing(options) {
316
342
  draft: editingCellValue.value,
317
343
  })
318
344
  : editingCellValue.value;
319
- options.runtime.api.rows.applyEdits([
345
+ const afterSnapshot = typeof beforeSnapshot !== "undefined"
346
+ ? buildAfterSnapshotFromEdit(beforeSnapshot, resolvedRowId, currentEditingCell.columnKey, parsedValue)
347
+ : undefined;
348
+ await options.runtime.api.rows.applyEdits([
320
349
  {
321
350
  rowId: resolvedRowId,
322
351
  data: {
@@ -324,7 +353,19 @@ export function useDataGridAppInlineEditing(options) {
324
353
  },
325
354
  },
326
355
  ]);
327
- options.recordEditTransaction(beforeSnapshot);
356
+ options.onCellEdit?.({
357
+ rowId: resolvedRowId,
358
+ columnKey: currentEditingCell.columnKey,
359
+ oldValue,
360
+ newValue: parsedValue,
361
+ patch: {
362
+ rowId: resolvedRowId,
363
+ data: {
364
+ [currentEditingCell.columnKey]: parsedValue,
365
+ },
366
+ },
367
+ });
368
+ options.recordEditTransaction(beforeSnapshot, afterSnapshot, "Cell edit");
328
369
  clearInlineEdit();
329
370
  suppressNextBlurCommit.value = false;
330
371
  if (target !== "none") {
@@ -53,7 +53,7 @@ export function useDataGridAppIntentHistory(options) {
53
53
  applySnapshot: snapshot => {
54
54
  if (snapshot.kind === "partial") {
55
55
  if (snapshot.rows.length > 0) {
56
- options.runtime.api.rows.applyEdits(snapshot.rows.map(entry => ({
56
+ return options.runtime.api.rows.applyEdits(snapshot.rows.map(entry => ({
57
57
  rowId: entry.rowId,
58
58
  data: options.cloneRowData(entry.row),
59
59
  })));
@@ -3,6 +3,89 @@ import type { DataGridColumnSnapshot, DataGridRowNode, DataGridSelectionSnapshot
3
3
  import { type DataGridFillBehavior } from "../composables/dataGridFillBehavior";
4
4
  import { type DataGridCopyRange } from "../advanced";
5
5
  import type { UseDataGridRuntimeResult } from "../composables/useDataGridRuntime";
6
+ import type { DataGridFilterSnapshot, DataGridGroupBySpec, DataGridGroupExpansionSnapshot, DataGridPaginationSnapshot, DataGridSortState } from "@affino/datagrid-core";
7
+ interface DataGridAppFillProjectionContext {
8
+ sortModel: readonly DataGridSortState[];
9
+ filterModel: DataGridFilterSnapshot | null;
10
+ groupBy: DataGridGroupBySpec | null;
11
+ groupExpansion: DataGridGroupExpansionSnapshot;
12
+ treeData: null;
13
+ pivot: null;
14
+ pagination: DataGridPaginationSnapshot;
15
+ }
16
+ interface DataGridAppResolveFillBoundaryRequest {
17
+ direction: "up" | "down" | "left" | "right";
18
+ baseRange: DataGridCopyRange;
19
+ fillColumns: readonly string[];
20
+ referenceColumns: readonly string[];
21
+ projection: DataGridAppFillProjectionContext;
22
+ startRowIndex: number;
23
+ startColumnIndex: number;
24
+ limit?: number | null;
25
+ }
26
+ interface DataGridAppResolveFillBoundaryResult {
27
+ endRowIndex: number | null;
28
+ endRowId?: string | number | null;
29
+ boundaryKind: "data-end" | "gap" | "cache-boundary" | "projection-end" | "unresolved";
30
+ scannedRowCount?: number;
31
+ truncated?: boolean;
32
+ }
33
+ interface DataGridAppFillDataSource {
34
+ resolveFillBoundary?: (request: DataGridAppResolveFillBoundaryRequest) => Promise<DataGridAppResolveFillBoundaryResult> | DataGridAppResolveFillBoundaryResult;
35
+ commitFillOperation?: (request: {
36
+ operationId?: string | null;
37
+ revision?: string | number | null;
38
+ projection: DataGridAppFillProjectionContext;
39
+ sourceRange: DataGridCopyRange;
40
+ targetRange: DataGridCopyRange;
41
+ fillColumns: readonly string[];
42
+ referenceColumns: readonly string[];
43
+ mode: DataGridFillBehavior;
44
+ metadata?: {
45
+ origin?: "drag-fill" | "double-click-fill" | "menu-reapply";
46
+ behaviorSource?: "default" | "explicit";
47
+ } | null;
48
+ }) => Promise<{
49
+ operationId: string;
50
+ revision?: string | number | null;
51
+ affectedRowCount: number;
52
+ affectedCellCount?: number;
53
+ invalidation?: {
54
+ kind: "range";
55
+ range: DataGridCopyRange;
56
+ reason?: string;
57
+ } | null;
58
+ warnings?: readonly string[];
59
+ } | null>;
60
+ undoFillOperation?: (request: {
61
+ operationId: string;
62
+ revision?: string | number | null;
63
+ projection: DataGridAppFillProjectionContext;
64
+ }) => Promise<{
65
+ operationId: string;
66
+ revision?: string | number | null;
67
+ invalidation?: {
68
+ kind: "range";
69
+ range: DataGridCopyRange;
70
+ reason?: string;
71
+ } | null;
72
+ warnings?: readonly string[];
73
+ } | null>;
74
+ redoFillOperation?: (request: {
75
+ operationId: string;
76
+ revision?: string | number | null;
77
+ projection: DataGridAppFillProjectionContext;
78
+ }) => Promise<{
79
+ operationId: string;
80
+ revision?: string | number | null;
81
+ invalidation?: {
82
+ kind: "range";
83
+ range: DataGridCopyRange;
84
+ reason?: string;
85
+ } | null;
86
+ warnings?: readonly string[];
87
+ } | null>;
88
+ }
6
89
  import { type DataGridAppAppliedFillSession } from "./useDataGridAppFill";
7
90
  import type { DataGridAppCellCoord, DataGridAppSelectionAnchorLike } from "./useDataGridAppCellSelection";
8
91
  import type { DataGridAppMode } from "./useDataGridAppControls";
@@ -11,7 +94,7 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
11
94
  mode: Ref<DataGridAppMode>;
12
95
  enableFillHandle?: Ref<boolean>;
13
96
  enableRangeMove?: Ref<boolean>;
14
- runtime: Pick<UseDataGridRuntimeResult<TRow>, "api" | "getBodyRowAtIndex" | "resolveBodyRowIndexById">;
97
+ runtime: Pick<UseDataGridRuntimeResult<TRow>, "api" | "getBodyRowAtIndex" | "resolveBodyRowIndexById" | "rowModel">;
15
98
  totalRows: Ref<number>;
16
99
  visibleColumns: Ref<readonly DataGridColumnSnapshot[]>;
17
100
  viewportRowStart: Ref<number>;
@@ -25,6 +108,14 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
25
108
  normalizeCellCoord: (coord: DataGridAppCellCoord) => DataGridAppCellCoord | null;
26
109
  resolveSelectionRange: () => DataGridCopyRange | null;
27
110
  applySelectionRange: (range: DataGridCopyRange) => void;
111
+ recordServerFillTransaction?: (descriptor: {
112
+ intent: "fill";
113
+ label: string;
114
+ affectedRange?: DataGridCopyRange | null;
115
+ operationId: string;
116
+ revision?: string | number | null;
117
+ mode: DataGridFillBehavior;
118
+ }) => void;
28
119
  applyCellSelectionByCoord: (coord: DataGridAppCellCoord, extend: boolean, fallbackAnchor?: DataGridAppSelectionAnchorLike, additive?: boolean) => void;
29
120
  setCellSelection: (row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number, extend: boolean, additive?: boolean) => void;
30
121
  clearCellSelection: () => void;
@@ -33,13 +124,20 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
33
124
  isCellEditable: (row: DataGridRowNode<TRow>, rowIndex: number, columnKey: string, columnIndex: number) => boolean;
34
125
  cloneRowData: (row: TRow) => TRow;
35
126
  resolveRowIndexById?: (rowId: string | number) => number;
127
+ isRowMaterializedAtIndex?: (rowIndex: number) => boolean;
128
+ resolveFillBoundary?: (request: DataGridAppResolveFillBoundaryRequest) => Promise<DataGridAppResolveFillBoundaryResult> | DataGridAppResolveFillBoundaryResult;
129
+ runtimeRowModel?: {
130
+ dataSource?: DataGridAppFillDataSource;
131
+ } | null;
132
+ reportFillWarning?: (message: string) => void;
133
+ reportFillPlumbingState?: (layer: string, present: boolean) => void;
36
134
  captureRowsSnapshot: () => TSnapshot;
37
135
  captureRowsSnapshotForRowIds?: (rowIds: readonly (string | number)[]) => TSnapshot;
38
136
  recordIntentTransaction: (descriptor: {
39
137
  intent: string;
40
138
  label: string;
41
139
  affectedRange?: DataGridCopyRange | null;
42
- }, beforeSnapshot: TSnapshot) => void | Promise<void>;
140
+ }, beforeSnapshot: TSnapshot, afterSnapshotOverride?: TSnapshot) => void | Promise<void>;
43
141
  clearPendingClipboardOperation: (clearSelection: boolean, clearBufferedClipboardPayload?: boolean) => boolean;
44
142
  clearExternalPendingClipboardOperation?: () => boolean;
45
143
  copySelectedCells: (trigger?: "keyboard" | "context-menu") => Promise<boolean>;
@@ -50,10 +148,10 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
50
148
  normalizeClipboardRange: (range: DataGridCopyRange) => DataGridCopyRange | null;
51
149
  applyClipboardEdits: (range: DataGridCopyRange, matrix: string[][], options?: {
52
150
  recordHistory?: boolean;
53
- }) => number;
151
+ }) => number | Promise<number>;
54
152
  rangesEqual: (left: DataGridCopyRange | null, right: DataGridCopyRange | null) => boolean;
55
153
  buildFillMatrixFromRange: (range: DataGridCopyRange) => string[][];
56
- applyRangeMove?: (baseRange: DataGridCopyRange, targetRange: DataGridCopyRange) => boolean;
154
+ applyRangeMove?: (baseRange: DataGridCopyRange, targetRange: DataGridCopyRange) => boolean | Promise<boolean>;
57
155
  syncViewport: () => void;
58
156
  editingCell: Ref<{
59
157
  rowId: string | number;
@@ -74,6 +172,7 @@ export interface UseDataGridAppInteractionControllerOptions<TRow extends Record<
74
172
  closeContextMenu?: () => void;
75
173
  openContextMenuFromCurrentCell?: () => void;
76
174
  runRowIndexKeyboardAction?: (action: DataGridRowIndexKeyboardAction, rowId: string | number) => Promise<boolean> | boolean;
175
+ reportFillPlumbingDetail?: (layer: string, value: string) => void;
77
176
  }
78
177
  export interface UseDataGridAppInteractionControllerResult<TRow> {
79
178
  isPointerSelectingCells: Ref<boolean>;
@@ -87,7 +186,7 @@ export interface UseDataGridAppInteractionControllerResult<TRow> {
87
186
  stopFillSelection: (commit: boolean) => void;
88
187
  startFillHandleDrag: (event: MouseEvent) => void;
89
188
  startFillHandleDoubleClick: (event: MouseEvent) => void;
90
- applyLastFillBehavior: (behavior: DataGridFillBehavior) => boolean;
189
+ applyLastFillBehavior: (behavior: DataGridFillBehavior) => boolean | Promise<boolean>;
91
190
  handleCellMouseDown: (event: MouseEvent, row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number) => void;
92
191
  handleCellKeydown: (event: KeyboardEvent, row: DataGridRowNode<TRow>, rowOffset: number, columnIndex: number) => void;
93
192
  handleRowIndexKeydown: (event: KeyboardEvent, row: DataGridRowNode<TRow>, rowOffset: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useDataGridAppInteractionController.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInteractionController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDataGridAppInteractionController.d.ts","sourceRoot":"","sources":["../../src/app/useDataGridAppInteractionController.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,29 @@ import { computed, nextTick, ref } from "vue";
2
2
  import { invokeDataGridCellInteraction, resolveDataGridCellKeyboardAction, toggleDataGridCellValue, } from "@affino/datagrid-core";
3
3
  import { buildDataGridFillMatrix, canToggleDataGridFillBehavior, resolveDataGridDefaultFillBehavior, } from "../composables/dataGridFillBehavior";
4
4
  import { useDataGridAxisAutoScrollDelta, useDataGridCellNavigation, useDataGridCellPointerDownRouter, useDataGridDragPointerSelection, useDataGridFillHandleStart, useDataGridFillSelectionLifecycle, useDataGridHistoryActionRunner, useDataGridKeyboardCommandRouter, useDataGridPointerCellCoordResolver, useDataGridPointerAutoScroll, useDataGridPointerPreviewRouter, useDataGridRangeMoveLifecycle, useDataGridRangeMoveStart, useDataGridRangeMutationEngine, } from "../advanced";
5
+ function getFillRangeStart(range) {
6
+ const candidate = range;
7
+ return Number.isFinite(candidate.startRow)
8
+ ? Math.max(0, Math.trunc(Number(candidate.startRow)))
9
+ : Math.max(0, Math.trunc(Number(candidate.start ?? 0)));
10
+ }
11
+ function getFillRangeEnd(range) {
12
+ const candidate = range;
13
+ return Number.isFinite(candidate.endRow)
14
+ ? Math.max(0, Math.trunc(Number(candidate.endRow)))
15
+ : Math.max(0, Math.trunc(Number(candidate.end ?? getFillRangeStart(range))));
16
+ }
17
+ function formatServerFillAffectedRange(range, fallbackColumns) {
18
+ const start = getFillRangeStart(range);
19
+ const end = getFillRangeEnd(range);
20
+ const startColumn = Number.isFinite(range.startColumn)
21
+ ? range.startColumn
22
+ : fallbackColumns.startColumn;
23
+ const endColumn = Number.isFinite(range.endColumn)
24
+ ? range.endColumn
25
+ : fallbackColumns.endColumn;
26
+ return `${start}..${end} x ${startColumn}..${endColumn}`;
27
+ }
5
28
  import { useDataGridAppFill, } from "./useDataGridAppFill";
6
29
  import { restoreDataGridFocus } from "./dataGridFocusRestore";
7
30
  const DRAG_SELECTION_POINTER_THRESHOLD_PX = 4;
@@ -174,7 +197,7 @@ export function useDataGridAppInteractionController(options) {
174
197
  }
175
198
  return event.key.length === 1;
176
199
  };
177
- const applyDirectCellEdit = (row, rowIndex, columnIndex, columnKey, nextValue, label) => {
200
+ const applyDirectCellEdit = async (row, rowIndex, columnIndex, columnKey, nextValue, label) => {
178
201
  if (row.kind === "group" || row.rowId == null) {
179
202
  return false;
180
203
  }
@@ -183,7 +206,7 @@ export function useDataGridAppInteractionController(options) {
183
206
  if (resolvedRow.kind === "group" || resolvedRow.rowId == null) {
184
207
  return false;
185
208
  }
186
- options.runtime.api.rows.applyEdits([
209
+ await options.runtime.api.rows.applyEdits([
187
210
  {
188
211
  rowId: resolvedRow.rowId,
189
212
  data: {
@@ -397,12 +420,12 @@ export function useDataGridAppInteractionController(options) {
397
420
  setSelectionFromRange: (range, activePosition) => {
398
421
  applySelectionRangeWithActivePosition(range, activePosition);
399
422
  },
400
- recordIntent: (descriptor, beforeSnapshot) => {
423
+ recordIntent: (descriptor, beforeSnapshot, afterSnapshotOverride) => {
401
424
  void options.recordIntentTransaction({
402
425
  intent: descriptor.intent,
403
426
  label: descriptor.label,
404
427
  affectedRange: descriptor.affectedRange ?? null,
405
- }, beforeSnapshot);
428
+ }, beforeSnapshot, afterSnapshotOverride);
406
429
  },
407
430
  setLastAction: () => undefined,
408
431
  });
@@ -416,6 +439,101 @@ export function useDataGridAppInteractionController(options) {
416
439
  resolveSelectionRange: options.resolveSelectionRange,
417
440
  rangesEqual: options.rangesEqual,
418
441
  buildFillMatrixFromRange: options.buildFillMatrixFromRange,
442
+ shouldUseServerFill: (_baseRange, previewRange) => {
443
+ const controllerRowModel = options.runtimeRowModel;
444
+ const runtimeRowModelDataSource = controllerRowModel?.dataSource;
445
+ const runtimeRowModelFromRuntime = options.runtime.rowModel?.dataSource;
446
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_exists", controllerRowModel != null);
447
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_dataSource_exists", runtimeRowModelDataSource != null);
448
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_dataSource_keys", Object.keys(runtimeRowModelDataSource ?? {}).length > 0);
449
+ options.reportFillPlumbingDetail?.("controller_runtimeRowModel_dataSource_keys", Object.keys(runtimeRowModelDataSource ?? {}).join(","));
450
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_commit_type", typeof runtimeRowModelDataSource?.commitFillOperation === "function");
451
+ options.reportFillPlumbingState?.("controller_runtime_rowModel_keys", Object.keys(runtimeRowModelFromRuntime ?? {}).length > 0);
452
+ options.reportFillPlumbingDetail?.("controller_runtime_rowModel_keys", Object.keys(runtimeRowModelFromRuntime ?? {}).join(","));
453
+ options.reportFillPlumbingState?.("controller_runtime_rowModel_commit_type", typeof runtimeRowModelFromRuntime?.commitFillOperation === "function");
454
+ const dataSource = runtimeRowModelDataSource ?? runtimeRowModelFromRuntime;
455
+ options.reportFillPlumbingState?.("commitFillOperation_available", typeof dataSource?.commitFillOperation === "function");
456
+ options.reportFillPlumbingState?.("server_fill_dispatch_attempted", true);
457
+ if (typeof dataSource?.commitFillOperation !== "function") {
458
+ return false;
459
+ }
460
+ const rowCount = Math.max(0, previewRange.endRow - previewRange.startRow + 1);
461
+ if (rowCount < 256) {
462
+ return false;
463
+ }
464
+ for (let rowIndex = previewRange.startRow; rowIndex <= previewRange.endRow; rowIndex += 1) {
465
+ if (!options.runtime?.getBodyRowAtIndex?.(rowIndex)) {
466
+ return true;
467
+ }
468
+ }
469
+ return false;
470
+ },
471
+ commitServerFill: async ({ baseRange, previewRange, behavior }) => {
472
+ const runtimeRowModelDataSource = options.runtimeRowModel?.dataSource;
473
+ const runtimeRowModelFallback = options.runtime.rowModel?.dataSource;
474
+ const dataSource = runtimeRowModelDataSource ?? runtimeRowModelFallback;
475
+ if (!dataSource?.commitFillOperation) {
476
+ options.reportFillWarning?.("server fill execution not implemented yet");
477
+ return null;
478
+ }
479
+ const snapshot = options.runtime.api.rows.getSnapshot();
480
+ const operationId = `fill-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
481
+ const result = await dataSource.commitFillOperation({
482
+ operationId,
483
+ projection: {
484
+ sortModel: snapshot.sortModel ?? [],
485
+ filterModel: snapshot.filterModel ?? null,
486
+ groupBy: snapshot.groupBy ?? null,
487
+ groupExpansion: snapshot.groupExpansion ?? { expandedByDefault: false, toggledGroupKeys: [] },
488
+ treeData: null,
489
+ pivot: null,
490
+ pagination: snapshot.pagination ?? {
491
+ enabled: false,
492
+ pageSize: 0,
493
+ currentPage: 0,
494
+ pageCount: 0,
495
+ totalRowCount: 0,
496
+ startIndex: 0,
497
+ endIndex: 0,
498
+ },
499
+ },
500
+ sourceRange: baseRange,
501
+ targetRange: previewRange,
502
+ fillColumns: options.visibleColumns.value
503
+ .slice(previewRange.startColumn, previewRange.endColumn + 1)
504
+ .map(column => String(column.key)),
505
+ referenceColumns: options.visibleColumns.value
506
+ .slice(baseRange.startColumn, baseRange.endColumn + 1)
507
+ .map(column => String(column.key)),
508
+ mode: behavior,
509
+ metadata: { origin: "double-click-fill", behaviorSource: "default" },
510
+ });
511
+ options.reportFillPlumbingState?.("commitFillOperation_called", true);
512
+ options.reportFillPlumbingState?.("server_fill_operationId", true);
513
+ if (!result) {
514
+ options.reportFillWarning?.("server fill commit failed");
515
+ return null;
516
+ }
517
+ if ((result.affectedRowCount ?? 0) <= 0 || (result.warnings?.length ?? 0) > 0) {
518
+ options.reportFillWarning?.(result.warnings?.[0] ?? "server fill invalid range");
519
+ return null;
520
+ }
521
+ const invalidationRange = result.invalidation?.kind === "range" ? result.invalidation.range : previewRange;
522
+ options.reportFillPlumbingDetail?.("server_fill_affected_range", formatServerFillAffectedRange(invalidationRange, previewRange));
523
+ options.reportFillWarning?.("server fill committed");
524
+ options.reportFillPlumbingState?.("server_fill_affectedRowCount", true);
525
+ const rowsApi = options.runtime.api.rows;
526
+ if (typeof rowsApi.invalidateRange === "function") {
527
+ rowsApi.invalidateRange(invalidationRange);
528
+ }
529
+ await Promise.resolve(rowsApi.refresh?.());
530
+ return {
531
+ operationId: result.operationId,
532
+ revision: result.revision,
533
+ affectedRange: invalidationRange,
534
+ invalidation: result.invalidation ?? null,
535
+ };
536
+ },
419
537
  applyClipboardEdits: options.applyClipboardEdits,
420
538
  isCellEditableAt: (rowIndex, columnIndex) => {
421
539
  const row = getBodyRowAtIndex(rowIndex);
@@ -429,9 +547,22 @@ export function useDataGridAppInteractionController(options) {
429
547
  lastAppliedFill.value = session;
430
548
  activeFillBehavior.value = session?.behavior ?? activeFillBehavior.value;
431
549
  },
550
+ setLastServerFillSession: session => {
551
+ if (!session) {
552
+ return;
553
+ }
554
+ options.recordServerFillTransaction?.({
555
+ intent: "fill",
556
+ label: "Server fill",
557
+ affectedRange: session.affectedRange ?? null,
558
+ operationId: session.operationId,
559
+ revision: session.revision,
560
+ mode: session.behavior,
561
+ });
562
+ },
432
563
  syncViewport: options.syncViewport,
433
564
  });
434
- const applyCommittedFillRange = (baseRange, previewRange, behavior) => {
565
+ const applyCommittedFillRange = async (baseRange, previewRange, behavior) => {
435
566
  const resolveRemovedFillRange = (previousRange, nextRange) => {
436
567
  if (options.rangesEqual(previousRange, nextRange)) {
437
568
  return null;
@@ -497,13 +628,13 @@ export function useDataGridAppInteractionController(options) {
497
628
  previewRange,
498
629
  sourceMatrix,
499
630
  });
500
- options.applyClipboardEdits(removedRange, [[""]], { recordHistory: false });
631
+ await options.applyClipboardEdits(removedRange, [[""]], { recordHistory: false });
501
632
  if (options.rangesEqual(baseRange, previewRange)) {
502
633
  options.applySelectionRange(baseRange);
503
634
  lastAppliedFill.value = null;
504
635
  }
505
636
  else {
506
- options.applyClipboardEdits(previewRange, buildDataGridFillMatrix({
637
+ await options.applyClipboardEdits(previewRange, buildDataGridFillMatrix({
507
638
  baseRange,
508
639
  previewRange,
509
640
  sourceMatrix,
@@ -520,19 +651,20 @@ export function useDataGridAppInteractionController(options) {
520
651
  }),
521
652
  };
522
653
  }
654
+ const afterSnapshot = captureRowsSnapshotForRanges([removedRange, previewRange]);
523
655
  options.syncViewport();
524
656
  void options.recordIntentTransaction({
525
657
  intent: "fill",
526
- label: "Fill cells",
658
+ label: "Fill edit",
527
659
  affectedRange: previewRange,
528
- }, beforeSnapshot);
660
+ }, beforeSnapshot, afterSnapshot);
529
661
  if (behavior) {
530
662
  activeFillBehavior.value = behavior;
531
663
  }
532
664
  return true;
533
665
  }
534
666
  }
535
- const applied = applyFillRange(baseRange, previewRange, behavior);
667
+ const applied = await applyFillRange(baseRange, previewRange, behavior);
536
668
  if (applied && behavior) {
537
669
  activeFillBehavior.value = behavior;
538
670
  }
@@ -806,7 +938,7 @@ export function useDataGridAppInteractionController(options) {
806
938
  if (!baseRange || !previewRange) {
807
939
  return;
808
940
  }
809
- applyCommittedFillRange(baseRange, previewRange);
941
+ void applyCommittedFillRange(baseRange, previewRange);
810
942
  },
811
943
  setFillDragging: value => {
812
944
  isFillDragging.value = value;
@@ -1067,7 +1199,7 @@ export function useDataGridAppInteractionController(options) {
1067
1199
  }
1068
1200
  const beforeSnapshot = captureRowsSnapshotForRanges([range]);
1069
1201
  options.clearPendingClipboardOperation(false);
1070
- const applied = options.applyClipboardEdits(range, [[""]], { recordHistory: false });
1202
+ const applied = await options.applyClipboardEdits(range, [[""]], { recordHistory: false });
1071
1203
  if (applied <= 0) {
1072
1204
  return false;
1073
1205
  }
@@ -1211,6 +1343,33 @@ export function useDataGridAppInteractionController(options) {
1211
1343
  const isNonEmptyFillReferenceValue = (row, columnKey) => {
1212
1344
  return options.readCell(row, columnKey).trim().length > 0;
1213
1345
  };
1346
+ const buildFillProjectionContext = () => {
1347
+ const getSnapshot = options.runtime.api.rows.getSnapshot;
1348
+ if (typeof getSnapshot !== "function") {
1349
+ return null;
1350
+ }
1351
+ const snapshot = getSnapshot();
1352
+ if (!snapshot) {
1353
+ return null;
1354
+ }
1355
+ return {
1356
+ sortModel: snapshot.sortModel ?? [],
1357
+ filterModel: snapshot.filterModel ?? null,
1358
+ groupBy: snapshot.groupBy ?? null,
1359
+ groupExpansion: snapshot.groupExpansion ?? { expandedByDefault: false, toggledGroupKeys: [] },
1360
+ treeData: null,
1361
+ pivot: null,
1362
+ pagination: snapshot.pagination ?? {
1363
+ enabled: false,
1364
+ pageSize: 0,
1365
+ currentPage: 0,
1366
+ pageCount: 0,
1367
+ totalRowCount: 0,
1368
+ startIndex: 0,
1369
+ endIndex: 0,
1370
+ },
1371
+ };
1372
+ };
1214
1373
  const resolveReferenceColumnExtentEndRow = (baseRange, columnIndex) => {
1215
1374
  const columnKey = options.visibleColumns.value[columnIndex]?.key;
1216
1375
  if (!columnKey) {
@@ -1261,52 +1420,183 @@ export function useDataGridAppInteractionController(options) {
1261
1420
  }
1262
1421
  return evaluateDirection(baseRange.endColumn + 1, 1);
1263
1422
  };
1423
+ const resolveServerAwareFillBoundary = async (baseRange) => {
1424
+ if (!options.resolveFillBoundary) {
1425
+ options.reportFillPlumbingState?.("interaction_controller_option", false);
1426
+ return null;
1427
+ }
1428
+ options.reportFillPlumbingState?.("interaction_controller_option", true);
1429
+ const fillColumns = [];
1430
+ for (let columnIndex = baseRange.startColumn; columnIndex <= baseRange.endColumn; columnIndex += 1) {
1431
+ const columnKey = options.visibleColumns.value[columnIndex]?.key;
1432
+ if (columnKey) {
1433
+ fillColumns.push(columnKey);
1434
+ }
1435
+ }
1436
+ const leftReferenceColumns = [];
1437
+ for (let columnIndex = baseRange.startColumn - 1; columnIndex >= 0; columnIndex -= 1) {
1438
+ const columnKey = options.visibleColumns.value[columnIndex]?.key;
1439
+ if (columnKey) {
1440
+ leftReferenceColumns.push(columnKey);
1441
+ }
1442
+ }
1443
+ const rightReferenceColumns = [];
1444
+ for (let columnIndex = baseRange.endColumn + 1; columnIndex < options.visibleColumns.value.length; columnIndex += 1) {
1445
+ const columnKey = options.visibleColumns.value[columnIndex]?.key;
1446
+ if (columnKey) {
1447
+ rightReferenceColumns.push(columnKey);
1448
+ }
1449
+ }
1450
+ const projection = buildFillProjectionContext();
1451
+ options.reportFillPlumbingState?.("double_click_fill_columns", fillColumns.length > 0);
1452
+ options.reportFillPlumbingState?.("double_click_left_refs", leftReferenceColumns.length > 0);
1453
+ options.reportFillPlumbingState?.("double_click_right_refs", rightReferenceColumns.length > 0);
1454
+ options.reportFillPlumbingState?.("double_click_projection", projection != null);
1455
+ if (!projection) {
1456
+ return null;
1457
+ }
1458
+ const resolve = async (referenceColumns, direction) => {
1459
+ if (referenceColumns.length === 0) {
1460
+ options.reportFillPlumbingState?.(`double_click_resolve_${direction}_skipped_no_refs`, true);
1461
+ return null;
1462
+ }
1463
+ options.reportFillPlumbingState?.(`double_click_resolve_${direction}_called`, true);
1464
+ return options.resolveFillBoundary({
1465
+ direction,
1466
+ baseRange,
1467
+ fillColumns,
1468
+ referenceColumns,
1469
+ projection,
1470
+ startRowIndex: baseRange.startRow,
1471
+ startColumnIndex: direction === "left" ? baseRange.startColumn - 1 : baseRange.endColumn + 1,
1472
+ limit: 500,
1473
+ });
1474
+ };
1475
+ const left = await resolve(leftReferenceColumns, "left");
1476
+ options.reportFillPlumbingState?.("double_click_left_result", left != null);
1477
+ if (left && left.boundaryKind !== "unresolved" && left.endRowIndex != null) {
1478
+ options.reportFillPlumbingState?.("double_click_left_selected", true);
1479
+ return { endRow: left.endRowIndex, boundaryKind: left.boundaryKind, resolvedByServer: true };
1480
+ }
1481
+ const right = await resolve(rightReferenceColumns, "right");
1482
+ options.reportFillPlumbingState?.("double_click_right_result", right != null);
1483
+ if (right && right.boundaryKind !== "unresolved" && right.endRowIndex != null) {
1484
+ options.reportFillPlumbingState?.("double_click_right_selected", true);
1485
+ return { endRow: right.endRowIndex, boundaryKind: right.boundaryKind, resolvedByServer: true };
1486
+ }
1487
+ if (left?.boundaryKind === "unresolved" || right?.boundaryKind === "unresolved") {
1488
+ options.reportFillWarning?.("server fill boundary unresolved; using loaded-cache fallback");
1489
+ }
1490
+ return null;
1491
+ };
1264
1492
  const startFillHandleDoubleClick = (event) => {
1493
+ options.reportFillPlumbingState?.("double_click_handler", true);
1265
1494
  if (options.mode.value !== "base" || !isFillHandleEnabled.value) {
1495
+ options.reportFillPlumbingState?.("double_click_handler_skipped", true);
1266
1496
  return;
1267
1497
  }
1268
1498
  const baseRange = options.resolveSelectionRange();
1269
1499
  if (!baseRange) {
1500
+ options.reportFillPlumbingState?.("double_click_handler_skipped_no_range", true);
1270
1501
  return;
1271
1502
  }
1272
1503
  const anchorRow = getBodyRowAtIndex(baseRange.endRow);
1273
1504
  const anchorColumnKey = options.visibleColumns.value[baseRange.endColumn]?.key;
1274
1505
  if (!anchorRow || !anchorColumnKey) {
1506
+ options.reportFillPlumbingState?.("double_click_handler_skipped_no_anchor", true);
1275
1507
  return;
1276
1508
  }
1277
1509
  if (!options.isCellEditable(anchorRow, baseRange.endRow, anchorColumnKey, baseRange.endColumn)) {
1510
+ options.reportFillPlumbingState?.("double_click_handler_skipped_not_editable", true);
1278
1511
  return;
1279
1512
  }
1280
- const targetEndRow = resolveBestNeighborFillEndRow(baseRange);
1281
- const previewRange = targetEndRow > baseRange.endRow
1282
- ? options.normalizeClipboardRange({
1283
- startRow: baseRange.startRow,
1284
- endRow: targetEndRow,
1285
- startColumn: baseRange.startColumn,
1286
- endColumn: baseRange.endColumn,
1287
- })
1288
- : null;
1289
- if (!previewRange || options.rangesEqual(baseRange, previewRange)) {
1290
- return;
1291
- }
1292
- const sourceMatrix = options.buildFillMatrixFromRange(baseRange);
1293
- const behavior = activeFillBehavior.value ?? resolveDataGridDefaultFillBehavior({
1294
- baseRange,
1295
- previewRange,
1296
- sourceMatrix,
1297
- });
1298
1513
  const preferredFocusCoord = resolveFillOriginFocusCoord();
1299
1514
  event.preventDefault();
1300
1515
  event.stopPropagation();
1301
- if (applyCommittedFillRange(baseRange, previewRange, behavior)) {
1302
- activeFillBehavior.value = behavior;
1303
- const restoredCoord = preferredFocusCoord
1304
- ? restoreSelectionActiveCellToCoord(preferredFocusCoord)
1516
+ void resolveServerAwareFillBoundary(baseRange).then(resolved => {
1517
+ options.reportFillPlumbingState?.("double_click_resolved_server_branch", !!resolved?.resolvedByServer);
1518
+ options.reportFillPlumbingState?.("double_click_resolved_endrow", typeof resolved?.endRow === "number");
1519
+ const targetEndRow = resolved?.endRow ?? resolveBestNeighborFillEndRow(baseRange);
1520
+ const previewRange = targetEndRow > baseRange.endRow
1521
+ ? options.normalizeClipboardRange({
1522
+ startRow: baseRange.startRow,
1523
+ endRow: targetEndRow,
1524
+ startColumn: baseRange.startColumn,
1525
+ endColumn: baseRange.endColumn,
1526
+ })
1305
1527
  : null;
1306
- restoreActiveCellFocus(restoredCoord ?? preferredFocusCoord);
1307
- }
1528
+ if (!previewRange || options.rangesEqual(baseRange, previewRange)) {
1529
+ return;
1530
+ }
1531
+ const sourceMatrix = options.buildFillMatrixFromRange(baseRange);
1532
+ const behavior = activeFillBehavior.value ?? resolveDataGridDefaultFillBehavior({
1533
+ baseRange,
1534
+ previewRange,
1535
+ sourceMatrix,
1536
+ });
1537
+ if (resolved?.resolvedByServer) {
1538
+ options.reportFillPlumbingState?.("double_click_server_branch_entered", true);
1539
+ const resolvedRowCount = previewRange.endRow - previewRange.startRow + 1;
1540
+ const threshold = 500;
1541
+ const rowModel = options.runtimeRowModel;
1542
+ const dataSource = rowModel?.dataSource ?? options.runtime.rowModel?.dataSource;
1543
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_exists", rowModel != null);
1544
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_dataSource_exists", dataSource != null);
1545
+ options.reportFillPlumbingState?.("controller_runtimeRowModel_commit_type", typeof rowModel?.dataSource?.commitFillOperation === "function");
1546
+ options.reportFillPlumbingState?.("controller_runtime_rowModel_commit_type", typeof options.runtime.rowModel?.dataSource?.commitFillOperation === "function");
1547
+ const canCommitServerFill = typeof dataSource?.commitFillOperation === "function";
1548
+ options.reportFillPlumbingState?.("commitFillOperation_available", canCommitServerFill);
1549
+ if (resolvedRowCount > threshold) {
1550
+ if (!canCommitServerFill) {
1551
+ options.reportFillPlumbingState?.("double_click_blocked_large", true);
1552
+ options.reportFillWarning?.("server fill execution not implemented yet");
1553
+ return;
1554
+ }
1555
+ }
1556
+ let allLoaded = true;
1557
+ for (let rowIndex = previewRange.startRow; rowIndex <= previewRange.endRow; rowIndex += 1) {
1558
+ const isMaterialized = options.isRowMaterializedAtIndex
1559
+ ? options.isRowMaterializedAtIndex(rowIndex)
1560
+ : !!getBodyRowAtIndex(rowIndex) && getBodyRowAtIndex(rowIndex).__placeholder !== true;
1561
+ if (!isMaterialized) {
1562
+ allLoaded = false;
1563
+ break;
1564
+ }
1565
+ }
1566
+ if (!allLoaded && !canCommitServerFill) {
1567
+ options.reportFillPlumbingState?.("double_click_blocked_unloaded", true);
1568
+ options.reportFillWarning?.("server fill execution not implemented yet");
1569
+ return;
1570
+ }
1571
+ if (canCommitServerFill) {
1572
+ options.reportFillPlumbingState?.("server-fill-committed", true);
1573
+ void Promise.resolve(applyFillRange(baseRange, previewRange, behavior)).then((applied) => {
1574
+ if (!applied) {
1575
+ return;
1576
+ }
1577
+ activeFillBehavior.value = behavior;
1578
+ const restoredCoord = preferredFocusCoord
1579
+ ? restoreSelectionActiveCellToCoord(preferredFocusCoord)
1580
+ : null;
1581
+ restoreActiveCellFocus(restoredCoord ?? preferredFocusCoord);
1582
+ });
1583
+ return;
1584
+ }
1585
+ }
1586
+ options.reportFillPlumbingState?.("double_click_batch_commit_path", true);
1587
+ void applyCommittedFillRange(baseRange, previewRange, behavior).then(applied => {
1588
+ if (!applied) {
1589
+ return;
1590
+ }
1591
+ activeFillBehavior.value = behavior;
1592
+ const restoredCoord = preferredFocusCoord
1593
+ ? restoreSelectionActiveCellToCoord(preferredFocusCoord)
1594
+ : null;
1595
+ restoreActiveCellFocus(restoredCoord ?? preferredFocusCoord);
1596
+ });
1597
+ });
1308
1598
  };
1309
- const applyLastFillBehavior = (behavior) => {
1599
+ const applyLastFillBehavior = async (behavior) => {
1310
1600
  if (!isFillHandleEnabled.value) {
1311
1601
  return false;
1312
1602
  }
@@ -1315,7 +1605,7 @@ export function useDataGridAppInteractionController(options) {
1315
1605
  return false;
1316
1606
  }
1317
1607
  const preferredFocusCoord = resolveFillOriginFocusCoord();
1318
- const applied = applyCommittedFillRange(session.baseRange, session.previewRange, behavior);
1608
+ const applied = await applyCommittedFillRange(session.baseRange, session.previewRange, behavior);
1319
1609
  if (applied) {
1320
1610
  activeFillBehavior.value = behavior;
1321
1611
  const restoredCoord = preferredFocusCoord
@@ -1459,7 +1749,7 @@ export function useDataGridAppInteractionController(options) {
1459
1749
  if (keyboardAction === "toggle" && columnSnapshot && columnKey) {
1460
1750
  event.preventDefault();
1461
1751
  options.setCellSelection(row, rowOffset, columnIndex, event.shiftKey);
1462
- applyDirectCellEdit(row, rowIndex, columnIndex, columnKey, toggleDataGridCellValue({
1752
+ void applyDirectCellEdit(row, rowIndex, columnIndex, columnKey, toggleDataGridCellValue({
1463
1753
  column: columnSnapshot.column,
1464
1754
  row: row.kind !== "group" ? row.data : undefined,
1465
1755
  }), `Toggle ${columnKey}`);
@@ -54,7 +54,7 @@ export interface UseDataGridRuntimeResult<TRow = unknown> extends DataGridVueRun
54
54
  exportPivotInterop: () => DataGridPivotInteropSnapshot<TRow> | null;
55
55
  importPivotLayout: (layout: DataGridPivotLayoutSnapshot<TRow>, options?: DataGridPivotLayoutImportOptions) => void;
56
56
  patchRows: (updates: readonly DataGridClientRowPatch<TRow>[], options?: DataGridClientRowPatchOptions) => void;
57
- applyEdits: (updates: readonly DataGridClientRowPatch<TRow>[], options?: DataGridEditOptions) => void;
57
+ applyEdits: (updates: readonly DataGridClientRowPatch<TRow>[], options?: DataGridEditOptions) => void | Promise<void>;
58
58
  reapplyView: () => void;
59
59
  autoReapply: Ref<boolean>;
60
60
  getProjectionMode: () => DataGridApiProjectionMode;
@@ -1 +1 @@
1
- {"version":3,"file":"useDataGridRuntime.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzF,OAAO,KAAK,EACV,uBAAuB,EAGvB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAE7E,YAAY,EACV,oCAAoC,GACrC,CAAA;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAM7B,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,6BAA6B,EAC7B,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CACvD;IACC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,yBAAyB,CAAC,IAAI,GAAG,OAAO;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACjC,0BAA0B,CAAC,EAAE;QAC3B,MAAM,EAAE,OAAO,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,eAAe,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QACvD,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,0BAA0B,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;KAChD,CAAA;IACD,OAAO,CAAC,EAAE,SAAS,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAA;IACtD,qBAAqB,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAA;IACnF,OAAO,EAAE,QAAQ,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAA;IACjD,QAAQ,CAAC,EAAE,wBAAwB,CAAA;IACnC,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACxF,cAAc,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAChD;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,CAAA;IAC/D;;OAEG;IACH,YAAY,EAAE,GAAG,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAA;IACxC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;IACtF,mBAAmB,EAAE,MAAM,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChE,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7D,aAAa,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;IAC7C,qBAAqB,EAAE,CACrB,KAAK,EAAE,+BAA+B,KACnC,0BAA0B,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5C,iBAAiB,EAAE,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAA;IAC1D,kBAAkB,EAAE,MAAM,4BAA4B,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnE,iBAAiB,EAAE,CACjB,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC,EACzC,OAAO,CAAC,EAAE,gCAAgC,KACvC,IAAI,CAAA;IACT,SAAS,EAAE,CACT,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,6BAA6B,KACpC,IAAI,CAAA;IACT,UAAU,EAAE,CACV,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,CAAA;IACT,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,yBAAyB,CAAA;IACjF,SAAS,EAAE,MAAM,yBAAyB,CAAA;IAC1C,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;IACjD,cAAc,EAAE,MAAM,sBAAsB,CAAA;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC,KAAK,OAAO,CAAA;IACtE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IAClC,WAAW,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IACpC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,eAAe,EAAE,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACjD,mBAAmB,EAAE,CACnB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,2BAA2B,KAClC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC/F,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IACnF;;;OAGG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IAC3F;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC3D;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACxD;;;OAGG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAC7D;;;OAGG;IACH,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;CAClD;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAA;AAE7D,MAAM,WAAW,mCAAmC,CAAC,IAAI,GAAG,OAAO;IACjE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IAC/C,gBAAgB,EAAE,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;CACnD;AAkMD,wBAAgB,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/C,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,GACvC,wBAAwB,CAAC,IAAI,CAAC,CAkUhC"}
1
+ {"version":3,"file":"useDataGridRuntime.d.ts","sourceRoot":"","sources":["../../src/composables/useDataGridRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzF,OAAO,KAAK,EACV,uBAAuB,EAGvB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAE7E,YAAY,EACV,oCAAoC,GACrC,CAAA;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAM7B,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,6BAA6B,EAC7B,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CACvD;IACC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,yBAAyB,CAAC,IAAI,GAAG,OAAO;IACvD,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACjC,0BAA0B,CAAC,EAAE;QAC3B,MAAM,EAAE,OAAO,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,eAAe,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QACvD,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,0BAA0B,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;KAChD,CAAA;IACD,OAAO,CAAC,EAAE,SAAS,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAA;IACtD,qBAAqB,CAAC,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAA;IACnF,OAAO,EAAE,QAAQ,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAA;IACjD,QAAQ,CAAC,EAAE,wBAAwB,CAAA;IACnC,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACxF,cAAc,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAChD;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,oCAAoC,GAAG,IAAI,CAAC,CAAA;IAC/D;;OAEG;IACH,YAAY,EAAE,GAAG,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAA;IACxC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;IACtF,mBAAmB,EAAE,MAAM,wBAAwB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAChE,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7D,aAAa,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAA;IAC7C,qBAAqB,EAAE,CACrB,KAAK,EAAE,+BAA+B,KACnC,0BAA0B,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5C,iBAAiB,EAAE,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAA;IAC1D,kBAAkB,EAAE,MAAM,4BAA4B,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnE,iBAAiB,EAAE,CACjB,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC,EACzC,OAAO,CAAC,EAAE,gCAAgC,KACvC,IAAI,CAAA;IACT,SAAS,EAAE,CACT,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,6BAA6B,KACpC,IAAI,CAAA;IACT,UAAU,EAAE,CACV,OAAO,EAAE,SAAS,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACzB,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,yBAAyB,CAAA;IACjF,SAAS,EAAE,MAAM,yBAAyB,CAAA;IAC1C,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;IACjD,cAAc,EAAE,MAAM,sBAAsB,CAAA;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC,KAAK,OAAO,CAAA;IACtE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;IAClC,WAAW,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IACpC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,eAAe,EAAE,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACjD,mBAAmB,EAAE,CACnB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,2BAA2B,KAClC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC/F,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IACnF;;;OAGG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IAC3F;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC3D;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACxD;;;OAGG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAC7D;;;OAGG;IACH,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;CAClD;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,CAAA;AAE7D,MAAM,WAAW,mCAAmC,CAAC,IAAI,GAAG,OAAO;IACjE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IAC/C,gBAAgB,EAAE,SAAS,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;CACnD;AAkMD,wBAAgB,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/C,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,GACvC,wBAAwB,CAAC,IAAI,CAAC,CAkUhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affino/datagrid-vue",
3
- "version": "0.3.29",
3
+ "version": "0.3.31",
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,9 +75,9 @@
75
75
  }
76
76
  },
77
77
  "dependencies": {
78
- "@affino/datagrid-orchestration": "0.3.11",
79
- "@affino/datagrid-core": "0.3.18",
78
+ "@affino/datagrid-core": "0.3.20",
80
79
  "@affino/datagrid-pivot": "0.1.2",
80
+ "@affino/datagrid-orchestration": "0.3.12",
81
81
  "@affino/datagrid-worker": "0.1.1"
82
82
  },
83
83
  "devDependencies": {