@affino/datagrid-vue-app 0.1.61 → 0.1.63

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.
Files changed (25) hide show
  1. package/dist/advanced-filter.js +1 -1
  2. package/dist/aggregations.js +1 -1
  3. package/dist/chunks/{DataGridAdvancedFilterPopover-C_MjEKFo.js → DataGridAdvancedFilterPopover-BmEL_QzN.js} +1 -1
  4. package/dist/chunks/{DataGridAdvancedFilterPopover.vue_vue_type_script_setup_true_lang-DxZakgyj.js → DataGridAdvancedFilterPopover.vue_vue_type_script_setup_true_lang-BkrpyjJb.js} +1 -1
  5. package/dist/chunks/{DataGridAggregationsPopover-C8kdwv0O.js → DataGridAggregationsPopover-D-HP10PE.js} +1 -1
  6. package/dist/chunks/{DataGridAggregationsPopover.vue_vue_type_script_setup_true_lang-t6v8MqIT.js → DataGridAggregationsPopover.vue_vue_type_script_setup_true_lang-VYIMuuIQ.js} +1 -1
  7. package/dist/chunks/DataGridFilterableCombobox.vue_vue_type_script_setup_true_lang-Dt_KqrSU.js +405 -0
  8. package/dist/chunks/DataGridGanttStageEntry-D6OYD0Gx.js +11781 -0
  9. package/dist/chunks/{useDataGridAppRowModel-B8E788Tu.js → useDataGridAppRowModel-9ZIepsHi.js} +271 -268
  10. package/dist/gantt.js +1 -1
  11. package/dist/gestures/dataGridTouchPanGuard.d.ts +1 -0
  12. package/dist/index.js +3 -3
  13. package/dist/internal.js +3 -3
  14. package/dist/stage/DataGridTableStageHeader.vue.d.ts +11 -1
  15. package/dist/stage/dataGridMouseEventGuards.d.ts +9 -0
  16. package/dist/stage/dataGridTableStageBody.types.d.ts +14 -1
  17. package/dist/stage/useDataGridStageCellRendering.d.ts +3 -1
  18. package/dist/stage/useDataGridStageFocusRuntime.d.ts +2 -0
  19. package/dist/stage/useDataGridStagePointerInteractions.d.ts +6 -0
  20. package/dist/stage/useDataGridStageRenderApis.d.ts +14 -1
  21. package/dist/stage/useDataGridStageRenderApis.grouped.d.ts +15 -2
  22. package/dist/stage/useDataGridStageViewportRuntime.d.ts +8 -2
  23. package/package.json +3 -3
  24. package/dist/chunks/DataGridFilterableCombobox.vue_vue_type_script_setup_true_lang-xry4J3Lx.js +0 -389
  25. package/dist/chunks/DataGridGanttStageEntry-B-Igcclh.js +0 -11013
package/dist/gantt.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D as t } from "./chunks/DataGridGanttStageEntry-B-Igcclh.js";
1
+ import { D as t } from "./chunks/DataGridGanttStageEntry-D6OYD0Gx.js";
2
2
  import { buildDataGridTimelineRenderModels as r, normalizeDataGridGanttOptions as n, resolveDataGridTimelineRange as o } from "@affino/datagrid-gantt";
3
3
  export {
4
4
  t as DataGridGanttStage,
@@ -8,6 +8,7 @@ export interface ResolveDataGridTouchPanAxisInput {
8
8
  export interface InstallDataGridTouchPanGuardOptions {
9
9
  root: HTMLElement;
10
10
  resolveScrollContainers: () => readonly (HTMLElement | null | undefined)[];
11
+ shouldHandleTarget?: (target: EventTarget | null) => boolean;
11
12
  }
12
13
  export declare function resolveDataGridTouchPanAxis(input: ResolveDataGridTouchPanAxisInput): DataGridTouchPanAxis | null;
13
14
  export declare function installDataGridTouchPanGuard(options: InstallDataGridTouchPanGuardOptions): () => void;
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as et, ref as V, provide as Dt, computed as m, watch as C, onBeforeUnmount as De, h as Oe, mergeProps as Ft, nextTick as ke, unref as ze, toRef as Ve, onMounted as Bt } from "vue";
2
2
  import { useDataGridRuntime as Gt, cloneDataGridFilterSnapshot as jt } from "@affino/datagrid-vue";
3
3
  import { useDataGridAppSelection as Et, useDataGridAppRowSelection as Kt } from "@affino/datagrid-vue/app";
4
- import { r as Lt, g as Ht, h as Tt, i as kt, j as zt, b as Vt, n as Se, k as Ut, d as _t, c as Wt, l as Nt, u as qt, D as $t } from "./chunks/useDataGridAppRowModel-B8E788Tu.js";
5
- import { a as mo, m as yo, o as vo } from "./chunks/useDataGridAppRowModel-B8E788Tu.js";
4
+ import { r as Lt, g as Ht, h as Tt, i as kt, j as zt, b as Vt, n as Se, k as Ut, d as _t, c as Wt, l as Nt, u as qt, D as $t } from "./chunks/useDataGridAppRowModel-9ZIepsHi.js";
5
+ import { a as mo, m as yo, o as vo } from "./chunks/useDataGridAppRowModel-9ZIepsHi.js";
6
6
  import { r as Jt } from "./chunks/dataGridAdvancedFilter-xnME5bRa.js";
7
- import { r as Yt } from "./chunks/DataGridGanttStageEntry-B-Igcclh.js";
7
+ import { r as Yt } from "./chunks/DataGridGanttStageEntry-D6OYD0Gx.js";
8
8
  import { applyGridTheme as Qt, resolveGridThemeTokens as Xt, defaultStyleConfig as Z, sugarTheme as tt, industrialNeutralTheme as Ue } from "@affino/datagrid-theme";
9
9
  import { d as Zt } from "./chunks/dataGridOverlayThemeVars-vzY74EIz.js";
10
10
  function Xn() {
package/dist/internal.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { d as t, r } from "./chunks/dataGridOverlayThemeVars-vzY74EIz.js";
2
2
  import { buildDataGridChromePaneModel as i, buildDataGridChromeRenderModel as d } from "@affino/datagrid-chrome";
3
- import { D as l, a as n, r as G, b as D, c as S, d as u, u as g, e as b, f as T } from "./chunks/useDataGridAppRowModel-B8E788Tu.js";
4
- import { _ as p, a as c, c as R, b as x, d as C, p as f, u as v, e as M, f as h, g as w, h as y, i as F, j as P, k as A, l as O, m as _, n as E, o as H } from "./chunks/DataGridGanttStageEntry-B-Igcclh.js";
5
- import { _ as V } from "./chunks/DataGridAdvancedFilterPopover.vue_vue_type_script_setup_true_lang-DxZakgyj.js";
3
+ import { D as l, a as n, r as G, b as D, c as S, d as u, u as g, e as b, f as T } from "./chunks/useDataGridAppRowModel-9ZIepsHi.js";
4
+ import { _ as p, a as c, c as R, b as x, d as C, p as f, u as v, e as M, f as h, g as w, h as y, i as F, j as P, k as A, l as O, m as _, n as E, o as H } from "./chunks/DataGridGanttStageEntry-D6OYD0Gx.js";
5
+ import { _ as V } from "./chunks/DataGridAdvancedFilterPopover.vue_vue_type_script_setup_true_lang-BkrpyjJb.js";
6
6
  import { _ as k } from "./chunks/DataGridFindReplacePopover.vue_vue_type_script_setup_true_lang-BEVRKG31.js";
7
7
  import { buildDataGridTimelineRenderModels as B, normalizeDataGridGanttOptions as I, resolveDataGridTimelineRange as L } from "@affino/datagrid-gantt";
8
8
  export {
@@ -36,6 +36,10 @@ declare const __VLS_base: import("vue").DefineComponent<{
36
36
  type: BooleanConstructor;
37
37
  required: true;
38
38
  };
39
+ isCoarsePointer: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
39
43
  onLinkedViewportWheel: {
40
44
  type: PropType<(event: WheelEvent) => void>;
41
45
  required: true;
@@ -69,11 +73,17 @@ declare const __VLS_base: import("vue").DefineComponent<{
69
73
  type: BooleanConstructor;
70
74
  required: true;
71
75
  };
76
+ isCoarsePointer: {
77
+ type: BooleanConstructor;
78
+ default: boolean;
79
+ };
72
80
  onLinkedViewportWheel: {
73
81
  type: PropType<(event: WheelEvent) => void>;
74
82
  required: true;
75
83
  };
76
- }>>, {}, {}>;
84
+ }>>, {
85
+ isCoarsePointer: boolean;
86
+ }, {}>;
77
87
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
78
88
  declare const _default: typeof __VLS_export;
79
89
  export default _default;
@@ -0,0 +1,9 @@
1
+ export type DataGridInteractionMode = "desktop" | "touch" | "auto";
2
+ export interface DataGridInteractionModeInput {
3
+ interactionMode?: DataGridInteractionMode;
4
+ isCoarsePointer?: boolean;
5
+ }
6
+ export declare function isTouchGeneratedMouseEvent(event: MouseEvent): boolean;
7
+ export declare function resolveDataGridInteractionMode(input?: DataGridInteractionModeInput): Exclude<DataGridInteractionMode, "auto">;
8
+ export declare function shouldPrioritizeNativeScrollForMouseDown(event: MouseEvent, input?: DataGridInteractionModeInput): boolean;
9
+ export declare function shouldPrioritizeNativeScrollForMouseEvent(event: MouseEvent, input?: DataGridInteractionModeInput): boolean;
@@ -59,12 +59,25 @@ export interface DataGridTableStageBodyRenderApiBase {
59
59
  handleCellMouseMove: (event: MouseEvent, rowOffset: number, columnIndex: number) => void;
60
60
  clearRangeMoveHandleHover: () => void;
61
61
  handleCellKeydown: (event: KeyboardEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
62
- startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number) => void;
62
+ startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number, event?: MouseEvent) => void;
63
+ handleTouchSelectionHandleMouseDown: (event: MouseEvent) => void;
64
+ handleTouchSelectionHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
65
+ handleTouchSelectionHandleTouchMove: (event: TouchEvent) => void;
66
+ handleTouchSelectionHandleTouchEnd: (event: TouchEvent) => void;
67
+ handleTouchRangeMoveHandleMouseDown: (event: MouseEvent) => void;
68
+ handleTouchRangeMoveHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
69
+ handleTouchRangeMoveHandleTouchMove: (event: TouchEvent) => void;
70
+ handleTouchRangeMoveHandleTouchEnd: (event: TouchEvent) => void;
63
71
  isCellEditableSafe: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
64
72
  isFillHandleCellSafe: (rowOffset: number, columnIndex: number) => boolean;
73
+ isTouchSelectionAnchorHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
74
+ isTouchRangeMoveHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
65
75
  isEditingCellSafe: (row: DataGridTableStageBodyRow, columnKey: string) => boolean;
66
76
  handleFillHandleMouseDown: (event: MouseEvent) => void;
67
77
  handleFillHandleDoubleClick: (event: MouseEvent) => void;
78
+ handleFillHandleTouchStart: (event: TouchEvent) => void;
79
+ handleFillHandleTouchMove: (event: TouchEvent) => void;
80
+ handleFillHandleTouchEnd: (event: TouchEvent) => void;
68
81
  isSelectEditorCell: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
69
82
  resolveSelectEditorValue: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => string;
70
83
  resolveSelectEditorOptions: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => readonly DataGridTableStageSelectEditorOption[];
@@ -14,9 +14,11 @@ export interface UseDataGridStageCellRenderingOptions {
14
14
  isCellEditableSafe: (row: DataGridTableRow<Record<string, unknown>>, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
15
15
  isEditingCellSafe: (row: DataGridTableRow<Record<string, unknown>>, columnKey: string) => boolean;
16
16
  columnIndexByKey: (columnKey: string) => number;
17
+ suppressInlineEditStart?: Readonly<Ref<boolean>>;
18
+ preferLightweightCellRendering?: Readonly<Ref<boolean>>;
17
19
  }
18
20
  export interface UseDataGridStageCellRenderingResult {
19
- startInlineEditIfAllowed: (row: DataGridTableRow<Record<string, unknown>>, column: DataGridTableStageBodyColumn, rowOffset: number) => void;
21
+ startInlineEditIfAllowed: (row: DataGridTableRow<Record<string, unknown>>, column: DataGridTableStageBodyColumn, rowOffset: number, event?: MouseEvent) => void;
20
22
  resolveCellEditorMode: (row: DataGridTableRow<Record<string, unknown>>, column: DataGridTableStageBodyColumn) => "none" | "text" | "select" | "date" | "datetime";
21
23
  resolveSelectEditorOptions: (row: DataGridTableRow<Record<string, unknown>>, column: DataGridTableStageBodyColumn) => readonly DataGridTableStageSelectEditorOption[];
22
24
  resolveSelectEditorOptionsLoader: (row: DataGridTableRow<Record<string, unknown>>, column: DataGridTableStageBodyColumn) => DataGridTableStageSelectEditorOptionsLoader | undefined;
@@ -13,6 +13,8 @@ export interface UseDataGridStageFocusRuntimeOptions {
13
13
  resolveAbsoluteRowIndex: (row: DataGridTableStageBodyRow, rowOffset: number) => number;
14
14
  isSelectionAnchorCellSafe: (rowOffset: number, columnIndex: number) => boolean;
15
15
  isCellEditableSafe: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
16
+ isBodyViewportScrolling?: Readonly<Ref<boolean>>;
17
+ runWhenBodyViewportScrollIdle?: (callback: () => void) => void;
16
18
  }
17
19
  export interface UseDataGridStageFocusRuntimeResult {
18
20
  isVisibleCellEditableByAbsoluteCoord: (rowIndex: number, columnIndex: number) => boolean;
@@ -2,6 +2,7 @@ import { type Ref } from "vue";
2
2
  import type { DataGridTableMode } from "./dataGridTableStage.types";
3
3
  import type { DataGridOverlayRange } from "@affino/datagrid-vue";
4
4
  import type { DataGridTableStageBodyColumn, DataGridTableStageBodyRow } from "./dataGridTableStageBody.types";
5
+ import { type DataGridInteractionModeInput } from "./dataGridMouseEventGuards";
5
6
  export interface UseDataGridStagePointerInteractionsOptions {
6
7
  mode: Readonly<Ref<DataGridTableMode>>;
7
8
  selection: Readonly<Ref<{
@@ -15,6 +16,8 @@ export interface UseDataGridStagePointerInteractionsOptions {
15
16
  displayRows: Readonly<Ref<readonly DataGridTableStageBodyRow[]>>;
16
17
  viewportRowStart: Readonly<Ref<number>>;
17
18
  fillActionMenuOpen: Ref<boolean>;
19
+ interactionModeInput?: Readonly<Ref<DataGridInteractionModeInput>>;
20
+ suppressHoverInteractions?: Readonly<Ref<boolean>>;
18
21
  isCellSelectedSafe: (rowOffset: number, columnIndex: number) => boolean;
19
22
  isCellEditableSafe: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
20
23
  isCellOnSelectionEdgeSafe: (rowOffset: number, columnIndex: number, edge: "top" | "right" | "bottom" | "left") => boolean;
@@ -25,6 +28,9 @@ export interface UseDataGridStagePointerInteractionsResult {
25
28
  handleCellMouseMove: (event: MouseEvent, rowOffset: number, columnIndex: number) => void;
26
29
  handleFillHandleMouseDown: (event: MouseEvent) => void;
27
30
  handleFillHandleDoubleClick: (event: MouseEvent) => void;
31
+ handleFillHandleTouchStart: (event: TouchEvent) => void;
32
+ handleFillHandleTouchMove: (event: TouchEvent) => void;
33
+ handleFillHandleTouchEnd: (event: TouchEvent) => void;
28
34
  resetGlobalFillDragCursor: () => void;
29
35
  }
30
36
  export declare function useDataGridStagePointerInteractions(options: UseDataGridStagePointerInteractionsOptions): UseDataGridStagePointerInteractionsResult;
@@ -62,6 +62,8 @@ export interface UseDataGridStageRenderApisOptions {
62
62
  isCellEditableSafe: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
63
63
  isEditingCellSafe: (row: DataGridTableStageBodyRow, columnKey: string) => boolean;
64
64
  isCellSelectedSafe: (rowOffset: number, columnIndex: number) => boolean;
65
+ isTouchSelectionAnchorHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
66
+ isTouchRangeMoveHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
65
67
  isSelectionAnchorCellSafe: (rowOffset: number, columnIndex: number) => boolean;
66
68
  shouldHighlightSelectedCellVisual: (rowOffset: number, columnIndex: number) => boolean;
67
69
  isCellInFillPreviewSafe: (rowOffset: number, columnIndex: number) => boolean;
@@ -106,9 +108,20 @@ export interface UseDataGridStageRenderApisOptions {
106
108
  handleCellMouseMove: (event: MouseEvent, rowOffset: number, columnIndex: number) => void;
107
109
  clearRangeMoveHandleHover: () => void;
108
110
  handleCellKeydown: (event: KeyboardEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
109
- startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number) => void;
111
+ startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number, event?: MouseEvent) => void;
112
+ handleTouchSelectionHandleMouseDown: (event: MouseEvent) => void;
113
+ handleTouchSelectionHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
114
+ handleTouchSelectionHandleTouchMove: (event: TouchEvent) => void;
115
+ handleTouchSelectionHandleTouchEnd: (event: TouchEvent) => void;
116
+ handleTouchRangeMoveHandleMouseDown: (event: MouseEvent) => void;
117
+ handleTouchRangeMoveHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
118
+ handleTouchRangeMoveHandleTouchMove: (event: TouchEvent) => void;
119
+ handleTouchRangeMoveHandleTouchEnd: (event: TouchEvent) => void;
110
120
  handleFillHandleMouseDown: (event: MouseEvent) => void;
111
121
  handleFillHandleDoubleClick: (event: MouseEvent) => void;
122
+ handleFillHandleTouchStart: (event: TouchEvent) => void;
123
+ handleFillHandleTouchMove: (event: TouchEvent) => void;
124
+ handleFillHandleTouchEnd: (event: TouchEvent) => void;
112
125
  isSelectEditorCell: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
113
126
  resolveSelectEditorValue: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => string;
114
127
  resolveSelectEditorOptions: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => readonly DataGridTableStageSelectEditorOption[];
@@ -40,6 +40,8 @@ type CellRuntime = Readonly<Ref<{
40
40
  isCellEditableSafe: (row: DataGridTableStageBodyRow, rowOffset: number, column: DataGridTableStageBodyColumn, columnIndex: number) => boolean;
41
41
  isEditingCellSafe: (row: DataGridTableStageBodyRow, columnKey: string) => boolean;
42
42
  isCellSelectedSafe: (rowOffset: number, columnIndex: number) => boolean;
43
+ isTouchSelectionAnchorHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
44
+ isTouchRangeMoveHandleCell: (row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => boolean;
43
45
  isSelectionAnchorCellSafe: (rowOffset: number, columnIndex: number) => boolean;
44
46
  shouldHighlightSelectedCellVisual: (rowOffset: number, columnIndex: number) => boolean;
45
47
  isCellInFillPreviewSafe: (rowOffset: number, columnIndex: number) => boolean;
@@ -66,9 +68,20 @@ type CellRuntime = Readonly<Ref<{
66
68
  handleCellMouseMove: (event: MouseEvent, rowOffset: number, columnIndex: number) => void;
67
69
  clearRangeMoveHandleHover: () => void;
68
70
  handleCellKeydown: (event: KeyboardEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
69
- startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number) => void;
71
+ startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number, event?: MouseEvent) => void;
72
+ handleTouchSelectionHandleMouseDown: (event: MouseEvent) => void;
73
+ handleTouchSelectionHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
74
+ handleTouchSelectionHandleTouchMove: (event: TouchEvent) => void;
75
+ handleTouchSelectionHandleTouchEnd: (event: TouchEvent) => void;
76
+ handleTouchRangeMoveHandleMouseDown: (event: MouseEvent) => void;
77
+ handleTouchRangeMoveHandleTouchStart: (event: TouchEvent, row: DataGridTableStageBodyRow, rowOffset: number, columnIndex: number) => void;
78
+ handleTouchRangeMoveHandleTouchMove: (event: TouchEvent) => void;
79
+ handleTouchRangeMoveHandleTouchEnd: (event: TouchEvent) => void;
70
80
  handleFillHandleMouseDown: (event: MouseEvent) => void;
71
81
  handleFillHandleDoubleClick: (event: MouseEvent) => void;
82
+ handleFillHandleTouchStart: (event: TouchEvent) => void;
83
+ handleFillHandleTouchMove: (event: TouchEvent) => void;
84
+ handleFillHandleTouchEnd: (event: TouchEvent) => void;
72
85
  shouldRenderCheckboxCell: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => boolean;
73
86
  checkboxIndicatorClass: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => Record<string, boolean>;
74
87
  checkboxIndicatorMarkClass: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => Record<string, boolean>;
@@ -100,7 +113,7 @@ type EditorRuntime = Readonly<Ref<{
100
113
  readDisplayCell: (row: DataGridTableStageBodyRow, columnKey: string) => string;
101
114
  }>>;
102
115
  editing: Readonly<Ref<DataGridTableStageEditingSection<Record<string, unknown>>>>;
103
- startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number) => void;
116
+ startInlineEditIfAllowed: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn, rowOffset: number, event?: MouseEvent) => void;
104
117
  resolveCellEditorMode: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => "none" | "text" | "select" | "date" | "datetime";
105
118
  resolveSelectEditorOptions: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => readonly DataGridTableStageSelectEditorOption[];
106
119
  resolveSelectEditorOptionsLoader: (row: DataGridTableStageBodyRow, column: DataGridTableStageBodyColumn) => DataGridTableStageSelectEditorOptionsLoader | undefined;
@@ -1,11 +1,12 @@
1
1
  import { type ComponentPublicInstance, type Ref } from "vue";
2
2
  import type { DataGridTableStageViewportSection } from "./dataGridTableStage.types";
3
+ type GridChromeRedrawMode = "full" | "center-scroll";
3
4
  export interface UseDataGridStageViewportRuntimeSyncers {
4
5
  syncBodyViewportMetrics: () => void;
5
6
  syncPinnedBottomViewportMetrics: () => void;
6
7
  syncPinnedBottomViewportScrollLeft: () => void;
7
- scheduleGridChromeRedraw: (mode?: "full" | "center-scroll") => void;
8
- flushGridChromeRedraw: (mode?: "full" | "center-scroll") => void;
8
+ scheduleGridChromeRedraw: (mode?: GridChromeRedrawMode) => void;
9
+ flushGridChromeRedraw: (mode?: GridChromeRedrawMode) => void;
9
10
  connectGridChromeResizeObserver: () => void;
10
11
  disconnectGridChromeResizeObserver: () => void;
11
12
  }
@@ -15,6 +16,7 @@ export interface UseDataGridStageViewportRuntimeOptions {
15
16
  gridChromeSyncers: Readonly<Ref<UseDataGridStageViewportRuntimeSyncers>>;
16
17
  leftPaneContentRef: Readonly<Ref<HTMLElement | null>>;
17
18
  rightPaneContentRef: Readonly<Ref<HTMLElement | null>>;
19
+ perfTraceEnabled?: boolean;
18
20
  }
19
21
  export interface UseDataGridStageViewportRuntimeResult {
20
22
  bodyViewportEl: Ref<HTMLElement | null>;
@@ -27,6 +29,9 @@ export interface UseDataGridStageViewportRuntimeResult {
27
29
  bodyViewportTopOffset: Ref<number>;
28
30
  headerShellHeight: Ref<number>;
29
31
  headerViewportClientWidth: Ref<number>;
32
+ isBodyViewportScrolling: Ref<boolean>;
33
+ isBodyViewportScrollIdle: Ref<boolean>;
34
+ runWhenBodyViewportScrollIdle: (callback: () => void) => void;
30
35
  captureBodyViewportRef: (value: Element | ComponentPublicInstance | null) => void;
31
36
  capturePinnedBottomViewportRef: (value: Element | ComponentPublicInstance | null) => void;
32
37
  handleCenterViewportScroll: (event: Event) => void;
@@ -35,3 +40,4 @@ export interface UseDataGridStageViewportRuntimeResult {
35
40
  handleBodyViewportWheel: (event: WheelEvent) => void;
36
41
  }
37
42
  export declare function useDataGridStageViewportRuntime(options: UseDataGridStageViewportRuntimeOptions): UseDataGridStageViewportRuntimeResult;
43
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@affino/datagrid-vue-app",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
4
4
  "description": "Declarative Vue DataGrid component for Affino",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -46,9 +46,9 @@
46
46
  "@affino/menu-vue": "^2.1.1",
47
47
  "@affino/popover-vue": "^1.1.0",
48
48
  "@affino/datagrid-chrome": "0.1.1",
49
+ "@affino/datagrid-vue": "0.3.45",
49
50
  "@affino/datagrid-theme": "0.2.3",
50
- "@affino/datagrid-gantt": "0.1.2",
51
- "@affino/datagrid-vue": "0.3.43"
51
+ "@affino/datagrid-gantt": "0.1.2"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "vue": "^3.3.0"