@zengrid/core 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/dist/README.md +55 -0
- package/dist/index.cjs.default.js +1 -0
- package/dist/index.cjs.js +9882 -0
- package/dist/index.cjs.mjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +9847 -0
- package/dist/package.json +49 -0
- package/dist/src/a11y/aria-manager.d.ts +171 -0
- package/dist/src/a11y/aria-manager.d.ts.map +1 -0
- package/dist/src/a11y/focus-manager.d.ts +124 -0
- package/dist/src/a11y/focus-manager.d.ts.map +1 -0
- package/dist/src/a11y/index.d.ts +8 -0
- package/dist/src/a11y/index.d.ts.map +1 -0
- package/dist/src/data/data-accessor/array-accessor.d.ts +38 -0
- package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -0
- package/dist/src/data/data-accessor/column-store-accessor.d.ts +41 -0
- package/dist/src/data/data-accessor/column-store-accessor.d.ts.map +1 -0
- package/dist/src/data/data-accessor/data-accessor.interface.d.ts +41 -0
- package/dist/src/data/data-accessor/data-accessor.interface.d.ts.map +1 -0
- package/dist/src/data/data-accessor/index.d.ts +9 -0
- package/dist/src/data/data-accessor/index.d.ts.map +1 -0
- package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts +39 -0
- package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts.map +1 -0
- package/dist/src/data/data-manager.d.ts +161 -0
- package/dist/src/data/data-manager.d.ts.map +1 -0
- package/dist/src/data/data-source.interface.d.ts +82 -0
- package/dist/src/data/data-source.interface.d.ts.map +1 -0
- package/dist/src/data/grid-data-model.d.ts +102 -0
- package/dist/src/data/grid-data-model.d.ts.map +1 -0
- package/dist/src/data/index-map/index-map.d.ts +30 -0
- package/dist/src/data/index-map/index-map.d.ts.map +1 -0
- package/dist/src/data/index-map/index-map.interface.d.ts +49 -0
- package/dist/src/data/index-map/index-map.interface.d.ts.map +1 -0
- package/dist/src/data/index-map/index.d.ts +7 -0
- package/dist/src/data/index-map/index.d.ts.map +1 -0
- package/dist/src/data/index.d.ts +9 -0
- package/dist/src/data/index.d.ts.map +1 -0
- package/dist/src/editing/cell-editor.interface.d.ts +87 -0
- package/dist/src/editing/cell-editor.interface.d.ts.map +1 -0
- package/dist/src/editing/date-editor.d.ts +67 -0
- package/dist/src/editing/date-editor.d.ts.map +1 -0
- package/dist/src/editing/editor-manager.d.ts +141 -0
- package/dist/src/editing/editor-manager.d.ts.map +1 -0
- package/dist/src/editing/index.d.ts +15 -0
- package/dist/src/editing/index.d.ts.map +1 -0
- package/dist/src/editing/number-editor.d.ts +68 -0
- package/dist/src/editing/number-editor.d.ts.map +1 -0
- package/dist/src/editing/select-editor.d.ts +53 -0
- package/dist/src/editing/select-editor.d.ts.map +1 -0
- package/dist/src/editing/text-editor.d.ts +69 -0
- package/dist/src/editing/text-editor.d.ts.map +1 -0
- package/dist/src/events/event-emitter.d.ts +90 -0
- package/dist/src/events/event-emitter.d.ts.map +1 -0
- package/dist/src/events/grid-events.d.ts +277 -0
- package/dist/src/events/grid-events.d.ts.map +1 -0
- package/dist/src/events/index.d.ts +6 -0
- package/dist/src/events/index.d.ts.map +1 -0
- package/dist/src/features/autofill/autofill-manager.d.ts +103 -0
- package/dist/src/features/autofill/autofill-manager.d.ts.map +1 -0
- package/dist/src/features/autofill/index.d.ts +6 -0
- package/dist/src/features/autofill/index.d.ts.map +1 -0
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts +52 -0
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize-manager.d.ts +114 -0
- package/dist/src/features/column-resize/column-resize-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts +167 -0
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize.styles.css +30 -0
- package/dist/src/features/column-resize/index.d.ts +15 -0
- package/dist/src/features/column-resize/index.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts +52 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts +41 -0
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-preview.d.ts +32 -0
- package/dist/src/features/column-resize/resize-preview.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-state-manager.d.ts +75 -0
- package/dist/src/features/column-resize/resize-state-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-strategies.d.ts +26 -0
- package/dist/src/features/column-resize/resize-strategies.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-test-helper.d.ts +71 -0
- package/dist/src/features/column-resize/resize-test-helper.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-zone-detector.d.ts +32 -0
- package/dist/src/features/column-resize/resize-zone-detector.d.ts.map +1 -0
- package/dist/src/features/copy-paste/clipboard-manager.d.ts +116 -0
- package/dist/src/features/copy-paste/clipboard-manager.d.ts.map +1 -0
- package/dist/src/features/copy-paste/index.d.ts +6 -0
- package/dist/src/features/copy-paste/index.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/adapter.interface.d.ts +100 -0
- package/dist/src/features/filtering/adapters/adapter.interface.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/graphql-adapter.d.ts +124 -0
- package/dist/src/features/filtering/adapters/graphql-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/index.d.ts +11 -0
- package/dist/src/features/filtering/adapters/index.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/rest-adapter.d.ts +108 -0
- package/dist/src/features/filtering/adapters/rest-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/sql-adapter.d.ts +123 -0
- package/dist/src/features/filtering/adapters/sql-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/types.d.ts +201 -0
- package/dist/src/features/filtering/adapters/types.d.ts.map +1 -0
- package/dist/src/features/filtering/column-filter.d.ts +117 -0
- package/dist/src/features/filtering/column-filter.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-autocomplete.d.ts +78 -0
- package/dist/src/features/filtering/filter-autocomplete.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-cache.d.ts +113 -0
- package/dist/src/features/filtering/filter-cache.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-compiler.d.ts +66 -0
- package/dist/src/features/filtering/filter-compiler.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-export-manager.d.ts +131 -0
- package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-index-manager.d.ts +126 -0
- package/dist/src/features/filtering/filter-index-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager.d.ts +408 -0
- package/dist/src/features/filtering/filter-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-optimizer.d.ts +101 -0
- package/dist/src/features/filtering/filter-optimizer.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-query-parser.d.ts +69 -0
- package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -0
- package/dist/src/features/filtering/index.d.ts +20 -0
- package/dist/src/features/filtering/index.d.ts.map +1 -0
- package/dist/src/features/filtering/range-filter-optimizer.d.ts +138 -0
- package/dist/src/features/filtering/range-filter-optimizer.d.ts.map +1 -0
- package/dist/src/features/filtering/substring-filter.d.ts +90 -0
- package/dist/src/features/filtering/substring-filter.d.ts.map +1 -0
- package/dist/src/features/filtering/types.d.ts +204 -0
- package/dist/src/features/filtering/types.d.ts.map +1 -0
- package/dist/src/features/formulas/formula-calculator.d.ts +151 -0
- package/dist/src/features/formulas/formula-calculator.d.ts.map +1 -0
- package/dist/src/features/formulas/index.d.ts +6 -0
- package/dist/src/features/formulas/index.d.ts.map +1 -0
- package/dist/src/features/hit-testing/index.d.ts +7 -0
- package/dist/src/features/hit-testing/index.d.ts.map +1 -0
- package/dist/src/features/hit-testing/spatial-hit-tester.d.ts +137 -0
- package/dist/src/features/hit-testing/spatial-hit-tester.d.ts.map +1 -0
- package/dist/src/features/loading/index.d.ts +5 -0
- package/dist/src/features/loading/index.d.ts.map +1 -0
- package/dist/src/features/loading/loading-indicator.d.ts +79 -0
- package/dist/src/features/loading/loading-indicator.d.ts.map +1 -0
- package/dist/src/features/loading/loading.styles.css +413 -0
- package/dist/src/features/pagination/index.d.ts +5 -0
- package/dist/src/features/pagination/index.d.ts.map +1 -0
- package/dist/src/features/pagination/pagination.styles.css +288 -0
- package/dist/src/features/pagination/paginator.d.ts +89 -0
- package/dist/src/features/pagination/paginator.d.ts.map +1 -0
- package/dist/src/features/selection/index.d.ts +7 -0
- package/dist/src/features/selection/index.d.ts.map +1 -0
- package/dist/src/features/selection/selection-manager.d.ts +167 -0
- package/dist/src/features/selection/selection-manager.d.ts.map +1 -0
- package/dist/src/features/sorting/index.d.ts +13 -0
- package/dist/src/features/sorting/index.d.ts.map +1 -0
- package/dist/src/features/sorting/row-sorter.interface.d.ts +63 -0
- package/dist/src/features/sorting/row-sorter.interface.d.ts.map +1 -0
- package/dist/src/features/sorting/single-column-sorter.d.ts +75 -0
- package/dist/src/features/sorting/single-column-sorter.d.ts.map +1 -0
- package/dist/src/features/sorting/sort-manager.d.ts +132 -0
- package/dist/src/features/sorting/sort-manager.d.ts.map +1 -0
- package/dist/src/features/undo-redo/index.d.ts +8 -0
- package/dist/src/features/undo-redo/index.d.ts.map +1 -0
- package/dist/src/features/undo-redo/undo-redo-manager.d.ts +215 -0
- package/dist/src/features/undo-redo/undo-redo-manager.d.ts.map +1 -0
- package/dist/src/grid.d.ts +412 -0
- package/dist/src/grid.d.ts.map +1 -0
- package/dist/src/i18n/index.d.ts +8 -0
- package/dist/src/i18n/index.d.ts.map +1 -0
- package/dist/src/i18n/locale-manager.d.ts +123 -0
- package/dist/src/i18n/locale-manager.d.ts.map +1 -0
- package/dist/src/i18n/rtl-support.d.ts +120 -0
- package/dist/src/i18n/rtl-support.d.ts.map +1 -0
- package/dist/src/index.d.ts +38 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/keyboard/index.d.ts +6 -0
- package/dist/src/keyboard/index.d.ts.map +1 -0
- package/dist/src/keyboard/keyboard-navigator.d.ts +171 -0
- package/dist/src/keyboard/keyboard-navigator.d.ts.map +1 -0
- package/dist/src/rendering/cache/index.d.ts +3 -0
- package/dist/src/rendering/cache/index.d.ts.map +1 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts +100 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -0
- package/dist/src/rendering/cache/renderer-cache.interface.d.ts +89 -0
- package/dist/src/rendering/cache/renderer-cache.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/cell-pool.d.ts +36 -0
- package/dist/src/rendering/cell-pool/cell-pool.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts +76 -0
- package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/index.d.ts +6 -0
- package/dist/src/rendering/cell-pool/index.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +46 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +86 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/index.d.ts +6 -0
- package/dist/src/rendering/cell-positioner/index.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts +62 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/index.d.ts +7 -0
- package/dist/src/rendering/height-provider/index.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/uniform-height-provider.d.ts +31 -0
- package/dist/src/rendering/height-provider/uniform-height-provider.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/variable-height-provider.d.ts +33 -0
- package/dist/src/rendering/height-provider/variable-height-provider.d.ts.map +1 -0
- package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts +105 -0
- package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/image-renderer.d.ts +60 -0
- package/dist/src/rendering/renderers/image-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/index.d.ts +13 -0
- package/dist/src/rendering/renderers/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/number-renderer.d.ts +71 -0
- package/dist/src/rendering/renderers/number-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/renderer-registry.d.ts +55 -0
- package/dist/src/rendering/renderers/renderer-registry.d.ts.map +1 -0
- package/dist/src/rendering/renderers/renderer.interface.d.ts +79 -0
- package/dist/src/rendering/renderers/renderer.interface.d.ts.map +1 -0
- package/dist/src/rendering/renderers/text-renderer.d.ts +20 -0
- package/dist/src/rendering/renderers/text-renderer.d.ts.map +1 -0
- package/dist/src/rendering/spatial-hit-tester.d.ts +108 -0
- package/dist/src/rendering/spatial-hit-tester.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/index.d.ts +6 -0
- package/dist/src/rendering/virtual-scroller/index.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +56 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts +170 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/index.d.ts +7 -0
- package/dist/src/rendering/width-provider/index.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/uniform-width-provider.d.ts +31 -0
- package/dist/src/rendering/width-provider/uniform-width-provider.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/variable-width-provider.d.ts +33 -0
- package/dist/src/rendering/width-provider/variable-width-provider.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/width-provider.interface.d.ts +62 -0
- package/dist/src/rendering/width-provider/width-provider.interface.d.ts.map +1 -0
- package/dist/src/selection/hit-tester.d.ts +168 -0
- package/dist/src/selection/hit-tester.d.ts.map +1 -0
- package/dist/src/selection/hit-tester.interface.d.ts +108 -0
- package/dist/src/selection/hit-tester.interface.d.ts.map +1 -0
- package/dist/src/selection/index.d.ts +9 -0
- package/dist/src/selection/index.d.ts.map +1 -0
- package/dist/src/selection/range-utils.d.ts +219 -0
- package/dist/src/selection/range-utils.d.ts.map +1 -0
- package/dist/src/selection/range-utils.interface.d.ts +51 -0
- package/dist/src/selection/range-utils.interface.d.ts.map +1 -0
- package/dist/src/styles/grid.css +356 -0
- package/dist/src/styles.css +273 -0
- package/dist/src/touch/index.d.ts +6 -0
- package/dist/src/touch/index.d.ts.map +1 -0
- package/dist/src/touch/touch-handler.d.ts +167 -0
- package/dist/src/touch/touch-handler.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +133 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types.d.ts +559 -0
- package/dist/src/types.d.ts.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import type { CellRef } from '../types';
|
|
2
|
+
import type { EventEmitter } from '../events/event-emitter';
|
|
3
|
+
import type { GridEvents } from '../events/grid-events';
|
|
4
|
+
/**
|
|
5
|
+
* Touch gesture types
|
|
6
|
+
*/
|
|
7
|
+
export type TouchGesture = 'tap' | 'double-tap' | 'long-press' | 'swipe-left' | 'swipe-right' | 'swipe-up' | 'swipe-down' | 'pinch-zoom' | 'drag';
|
|
8
|
+
/**
|
|
9
|
+
* Touch handler options
|
|
10
|
+
*/
|
|
11
|
+
export interface TouchHandlerOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Grid container element
|
|
14
|
+
*/
|
|
15
|
+
container: HTMLElement;
|
|
16
|
+
/**
|
|
17
|
+
* Event emitter for grid events
|
|
18
|
+
*/
|
|
19
|
+
events?: EventEmitter<GridEvents>;
|
|
20
|
+
/**
|
|
21
|
+
* Callback to get cell at point
|
|
22
|
+
*/
|
|
23
|
+
getCellAtPoint: (x: number, y: number) => CellRef | null;
|
|
24
|
+
/**
|
|
25
|
+
* Callback for tap gesture
|
|
26
|
+
*/
|
|
27
|
+
onTap?: (cell: CellRef, event: TouchEvent) => void;
|
|
28
|
+
/**
|
|
29
|
+
* Callback for double-tap gesture
|
|
30
|
+
*/
|
|
31
|
+
onDoubleTap?: (cell: CellRef, event: TouchEvent) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Callback for long-press gesture
|
|
34
|
+
*/
|
|
35
|
+
onLongPress?: (cell: CellRef, event: TouchEvent) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Callback for drag gesture
|
|
38
|
+
*/
|
|
39
|
+
onDrag?: (startCell: CellRef, currentCell: CellRef, event: TouchEvent) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Double-tap delay (ms)
|
|
42
|
+
* @default 300
|
|
43
|
+
*/
|
|
44
|
+
doubleTapDelay?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Long-press delay (ms)
|
|
47
|
+
* @default 500
|
|
48
|
+
*/
|
|
49
|
+
longPressDelay?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Minimum swipe distance (px)
|
|
52
|
+
* @default 50
|
|
53
|
+
*/
|
|
54
|
+
minSwipeDistance?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Enable pinch zoom
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
enablePinchZoom?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Enable drag to select
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
64
|
+
enableDragSelect?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Prevent default scroll on touch
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
preventDefaultScroll?: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* TouchHandler - Manages touch interactions for mobile devices
|
|
73
|
+
*
|
|
74
|
+
* Handles touch gestures:
|
|
75
|
+
* - Tap: Single touch (cell click)
|
|
76
|
+
* - Double-tap: Quick double touch (start editing)
|
|
77
|
+
* - Long-press: Touch and hold (context menu)
|
|
78
|
+
* - Swipe: Fast directional movement (scroll)
|
|
79
|
+
* - Pinch zoom: Two-finger zoom
|
|
80
|
+
* - Drag: Touch and drag (range selection)
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* const touchHandler = new TouchHandler({
|
|
85
|
+
* container: gridElement,
|
|
86
|
+
* getCellAtPoint: (x, y) => hitTester.getCellAtPoint(x, y),
|
|
87
|
+
* onTap: (cell) => {
|
|
88
|
+
* console.log('Tapped cell:', cell);
|
|
89
|
+
* },
|
|
90
|
+
* onDoubleTap: (cell) => {
|
|
91
|
+
* startEditing(cell);
|
|
92
|
+
* },
|
|
93
|
+
* onLongPress: (cell) => {
|
|
94
|
+
* showContextMenu(cell);
|
|
95
|
+
* },
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare class TouchHandler {
|
|
100
|
+
private container;
|
|
101
|
+
private getCellAtPoint;
|
|
102
|
+
private onTap?;
|
|
103
|
+
private onDoubleTap?;
|
|
104
|
+
private onLongPress?;
|
|
105
|
+
private onDrag?;
|
|
106
|
+
private doubleTapDelay;
|
|
107
|
+
private longPressDelay;
|
|
108
|
+
private minSwipeDistance;
|
|
109
|
+
private enablePinchZoom;
|
|
110
|
+
private enableDragSelect;
|
|
111
|
+
private preventDefaultScroll;
|
|
112
|
+
private touchStart;
|
|
113
|
+
private lastTap;
|
|
114
|
+
private longPressTimer;
|
|
115
|
+
private isDragging;
|
|
116
|
+
private isPinching;
|
|
117
|
+
constructor(options: TouchHandlerOptions);
|
|
118
|
+
/**
|
|
119
|
+
* Attach touch event listeners
|
|
120
|
+
*/
|
|
121
|
+
private attachEventListeners;
|
|
122
|
+
/**
|
|
123
|
+
* Handle touchstart event
|
|
124
|
+
*/
|
|
125
|
+
private handleTouchStart;
|
|
126
|
+
/**
|
|
127
|
+
* Handle touchmove event
|
|
128
|
+
*/
|
|
129
|
+
private handleTouchMove;
|
|
130
|
+
/**
|
|
131
|
+
* Handle touchend event
|
|
132
|
+
*/
|
|
133
|
+
private handleTouchEnd;
|
|
134
|
+
/**
|
|
135
|
+
* Handle touchcancel event
|
|
136
|
+
*/
|
|
137
|
+
private handleTouchCancel;
|
|
138
|
+
/**
|
|
139
|
+
* Handle tap gesture
|
|
140
|
+
*/
|
|
141
|
+
private handleTapGesture;
|
|
142
|
+
/**
|
|
143
|
+
* Handle long-press gesture
|
|
144
|
+
*/
|
|
145
|
+
private handleLongPress;
|
|
146
|
+
/**
|
|
147
|
+
* Handle swipe gesture
|
|
148
|
+
*/
|
|
149
|
+
private handleSwipeGesture;
|
|
150
|
+
/**
|
|
151
|
+
* Cancel long-press timer
|
|
152
|
+
*/
|
|
153
|
+
private cancelLongPress;
|
|
154
|
+
/**
|
|
155
|
+
* Get touch point with cell info
|
|
156
|
+
*/
|
|
157
|
+
private getTouchPoint;
|
|
158
|
+
/**
|
|
159
|
+
* Calculate distance between two touches (for pinch)
|
|
160
|
+
* TODO: Uncomment when pinch zoom is implemented
|
|
161
|
+
*/
|
|
162
|
+
/**
|
|
163
|
+
* Destroy touch handler
|
|
164
|
+
*/
|
|
165
|
+
destroy(): void;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=touch-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch-handler.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/touch/touch-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for ZenGrid
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Reference to a specific cell in the grid
|
|
6
|
+
*/
|
|
7
|
+
export interface CellRef {
|
|
8
|
+
row: number;
|
|
9
|
+
col: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A rectangular range of cells
|
|
13
|
+
*/
|
|
14
|
+
export interface CellRange {
|
|
15
|
+
startRow: number;
|
|
16
|
+
startCol: number;
|
|
17
|
+
endRow: number;
|
|
18
|
+
endCol: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The currently visible range after virtual scrolling calculation
|
|
22
|
+
*/
|
|
23
|
+
export interface VisibleRange {
|
|
24
|
+
startRow: number;
|
|
25
|
+
endRow: number;
|
|
26
|
+
startCol: number;
|
|
27
|
+
endCol: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Cell position and dimensions (for absolute positioning)
|
|
31
|
+
*/
|
|
32
|
+
export interface CellPosition {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sort direction
|
|
40
|
+
*/
|
|
41
|
+
export type SortDirection = 'asc' | 'desc' | null;
|
|
42
|
+
/**
|
|
43
|
+
* Sort state for a column
|
|
44
|
+
*/
|
|
45
|
+
export interface SortState {
|
|
46
|
+
column: number;
|
|
47
|
+
direction: SortDirection;
|
|
48
|
+
sortIndex?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Filter operator types
|
|
52
|
+
*/
|
|
53
|
+
export type FilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'blank' | 'notBlank';
|
|
54
|
+
/**
|
|
55
|
+
* Filter condition
|
|
56
|
+
*/
|
|
57
|
+
export interface FilterCondition {
|
|
58
|
+
operator: FilterOperator;
|
|
59
|
+
value?: any;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Filter model for a column
|
|
63
|
+
*/
|
|
64
|
+
export interface FilterModel {
|
|
65
|
+
column: number;
|
|
66
|
+
conditions: FilterCondition[];
|
|
67
|
+
logic?: 'AND' | 'OR';
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Column definition
|
|
71
|
+
*/
|
|
72
|
+
export interface ColumnDef {
|
|
73
|
+
field: string;
|
|
74
|
+
header: string;
|
|
75
|
+
width: number;
|
|
76
|
+
minWidth?: number;
|
|
77
|
+
maxWidth?: number;
|
|
78
|
+
resizable?: boolean;
|
|
79
|
+
sortable?: boolean;
|
|
80
|
+
filterable?: boolean;
|
|
81
|
+
editable?: boolean;
|
|
82
|
+
type?: 'text' | 'number' | 'date' | 'boolean';
|
|
83
|
+
renderer?: string;
|
|
84
|
+
editor?: string;
|
|
85
|
+
formatter?: (value: any) => string;
|
|
86
|
+
parser?: (value: string) => any;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Grid configuration options
|
|
90
|
+
*/
|
|
91
|
+
export interface GridOptions {
|
|
92
|
+
rowCount: number;
|
|
93
|
+
colCount: number;
|
|
94
|
+
columns?: ColumnDef[];
|
|
95
|
+
rowHeight: number | number[];
|
|
96
|
+
colWidth: number | number[];
|
|
97
|
+
headerHeight?: number;
|
|
98
|
+
enableSelection?: boolean;
|
|
99
|
+
enableMultiSelection?: boolean;
|
|
100
|
+
enableEditing?: boolean;
|
|
101
|
+
enableSorting?: boolean;
|
|
102
|
+
enableFiltering?: boolean;
|
|
103
|
+
enableKeyboardNavigation?: boolean;
|
|
104
|
+
enableA11y?: boolean;
|
|
105
|
+
locale?: string;
|
|
106
|
+
direction?: 'ltr' | 'rtl';
|
|
107
|
+
overscanRows?: number;
|
|
108
|
+
overscanCols?: number;
|
|
109
|
+
enableCellPooling?: boolean;
|
|
110
|
+
theme?: string;
|
|
111
|
+
customCSS?: string;
|
|
112
|
+
onCellClick?: (cell: CellRef) => void;
|
|
113
|
+
onCellDoubleClick?: (cell: CellRef) => void;
|
|
114
|
+
onCellChange?: (cell: CellRef, oldValue: any, newValue: any) => void;
|
|
115
|
+
onSelectionChange?: (ranges: CellRange[]) => void;
|
|
116
|
+
onScroll?: (scrollTop: number, scrollLeft: number) => void;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Grid state (internal)
|
|
120
|
+
*/
|
|
121
|
+
export interface GridState {
|
|
122
|
+
data: any[][];
|
|
123
|
+
selection: CellRange[];
|
|
124
|
+
activeCell: CellRef | null;
|
|
125
|
+
sortState: SortState[];
|
|
126
|
+
filterState: FilterModel[];
|
|
127
|
+
scrollPosition: {
|
|
128
|
+
top: number;
|
|
129
|
+
left: number;
|
|
130
|
+
};
|
|
131
|
+
editingCell: CellRef | null;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/types/index.ts"],"names":[],"mappings":"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"}
|