@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,141 @@
|
|
|
1
|
+
import type { CellEditor } from './cell-editor.interface';
|
|
2
|
+
import type { CellRef } from '../types';
|
|
3
|
+
import type { EventEmitter } from '../events/event-emitter';
|
|
4
|
+
import type { GridEvents } from '../events/grid-events';
|
|
5
|
+
/**
|
|
6
|
+
* Editor manager options
|
|
7
|
+
*/
|
|
8
|
+
export interface EditorManagerOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Container element for editors
|
|
11
|
+
*/
|
|
12
|
+
container: HTMLElement;
|
|
13
|
+
/**
|
|
14
|
+
* Event emitter for grid events
|
|
15
|
+
*/
|
|
16
|
+
events?: EventEmitter<GridEvents>;
|
|
17
|
+
/**
|
|
18
|
+
* Callback to get cell value
|
|
19
|
+
*/
|
|
20
|
+
getValue: (row: number, col: number) => any;
|
|
21
|
+
/**
|
|
22
|
+
* Callback to set cell value
|
|
23
|
+
*/
|
|
24
|
+
setValue: (row: number, col: number, value: any) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Callback to get column definition
|
|
27
|
+
*/
|
|
28
|
+
getColumn?: (col: number) => any;
|
|
29
|
+
/**
|
|
30
|
+
* Callback to get row data
|
|
31
|
+
*/
|
|
32
|
+
getRowData?: (row: number) => any;
|
|
33
|
+
/**
|
|
34
|
+
* Callback to get cell element
|
|
35
|
+
*/
|
|
36
|
+
getCellElement: (row: number, col: number) => HTMLElement | null;
|
|
37
|
+
/**
|
|
38
|
+
* Callback when editing starts
|
|
39
|
+
*/
|
|
40
|
+
onEditStart?: (cell: CellRef) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Callback when editing ends
|
|
43
|
+
*/
|
|
44
|
+
onEditEnd?: (cell: CellRef, cancelled: boolean) => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* EditorManager - Manages cell editing lifecycle
|
|
48
|
+
*
|
|
49
|
+
* Coordinates the editing process:
|
|
50
|
+
* - Creates and destroys editor instances
|
|
51
|
+
* - Handles edit start/end events
|
|
52
|
+
* - Validates and commits changes
|
|
53
|
+
* - Manages keyboard shortcuts (Enter, Escape)
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const editorManager = new EditorManager({
|
|
58
|
+
* container: gridElement,
|
|
59
|
+
* getValue: (row, col) => data[row][col],
|
|
60
|
+
* setValue: (row, col, value) => { data[row][col] = value; },
|
|
61
|
+
* getCellElement: (row, col) => document.getElementById(`cell-${row}-${col}`),
|
|
62
|
+
* });
|
|
63
|
+
*
|
|
64
|
+
* // Start editing
|
|
65
|
+
* editorManager.startEdit({ row: 0, col: 0 });
|
|
66
|
+
*
|
|
67
|
+
* // Cancel editing
|
|
68
|
+
* editorManager.cancelEdit();
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare class EditorManager {
|
|
72
|
+
private container;
|
|
73
|
+
private events?;
|
|
74
|
+
private getValue;
|
|
75
|
+
private setValue;
|
|
76
|
+
private getColumn?;
|
|
77
|
+
private getRowData?;
|
|
78
|
+
private getCellElement;
|
|
79
|
+
private onEditStart?;
|
|
80
|
+
private onEditEnd?;
|
|
81
|
+
private currentEditor;
|
|
82
|
+
private editingCell;
|
|
83
|
+
private originalValue;
|
|
84
|
+
private editorContainer;
|
|
85
|
+
private boundHandleEditorKeyDown;
|
|
86
|
+
private editors;
|
|
87
|
+
constructor(options: EditorManagerOptions);
|
|
88
|
+
/**
|
|
89
|
+
* Register a custom editor
|
|
90
|
+
* @param type - Editor type name
|
|
91
|
+
* @param editorClass - Editor class constructor
|
|
92
|
+
*/
|
|
93
|
+
registerEditor(type: string, editorClass: new () => CellEditor): void;
|
|
94
|
+
/**
|
|
95
|
+
* Start editing a cell
|
|
96
|
+
* @param cell - Cell to edit
|
|
97
|
+
* @param initialValue - Optional initial value (for typing to start edit)
|
|
98
|
+
*/
|
|
99
|
+
startEdit(cell: CellRef, initialValue?: any): void;
|
|
100
|
+
/**
|
|
101
|
+
* Commit the current edit
|
|
102
|
+
*/
|
|
103
|
+
commitEdit(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Cancel the current edit
|
|
106
|
+
*/
|
|
107
|
+
cancelEdit(): void;
|
|
108
|
+
/**
|
|
109
|
+
* End editing and cleanup
|
|
110
|
+
*/
|
|
111
|
+
private endEdit;
|
|
112
|
+
/**
|
|
113
|
+
* Get currently editing cell
|
|
114
|
+
*/
|
|
115
|
+
getEditingCell(): CellRef | null;
|
|
116
|
+
/**
|
|
117
|
+
* Check if currently editing
|
|
118
|
+
*/
|
|
119
|
+
isEditing(): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Setup keyboard event handlers
|
|
122
|
+
*/
|
|
123
|
+
private setupKeyboardHandlers;
|
|
124
|
+
/**
|
|
125
|
+
* Cleanup keyboard event handlers
|
|
126
|
+
*/
|
|
127
|
+
private cleanupKeyboardHandlers;
|
|
128
|
+
/**
|
|
129
|
+
* Handle keyboard events during editing
|
|
130
|
+
*/
|
|
131
|
+
private handleEditorKeyDown;
|
|
132
|
+
/**
|
|
133
|
+
* Get default editor type based on value
|
|
134
|
+
*/
|
|
135
|
+
private getDefaultEditor;
|
|
136
|
+
/**
|
|
137
|
+
* Destroy editor manager
|
|
138
|
+
*/
|
|
139
|
+
destroy(): void;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=editor-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/editing/editor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAElC;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;IAEjE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAC,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,SAAS,CAAC,CAA8C;IAEhE,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,wBAAwB,CAAiC;IAEjE,OAAO,CAAC,OAAO,CAAgD;gBAEnD,OAAO,EAAE,oBAAoB;IAmBzC;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,UAAU,GAAG,IAAI;IAIrE;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI;IA+FlD;;OAEG;IACH,UAAU,IAAI,IAAI;IA4ClB;;OAEG;IACH,UAAU,IAAI,IAAI;IA2BlB;;OAEG;IACH,OAAO,CAAC,OAAO;IAqBf;;OAEG;IACH,cAAc,IAAI,OAAO,GAAG,IAAI;IAIhC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cell editing system for ZenGrid
|
|
3
|
+
*/
|
|
4
|
+
export type { CellEditor, EditorParams, ValidationResult, EditorFactory } from './cell-editor.interface';
|
|
5
|
+
export { EditorManager } from './editor-manager';
|
|
6
|
+
export type { EditorManagerOptions } from './editor-manager';
|
|
7
|
+
export { TextEditor } from './text-editor';
|
|
8
|
+
export type { TextEditorOptions } from './text-editor';
|
|
9
|
+
export { NumberEditor } from './number-editor';
|
|
10
|
+
export type { NumberEditorOptions } from './number-editor';
|
|
11
|
+
export { SelectEditor } from './select-editor';
|
|
12
|
+
export type { SelectEditorOptions } from './select-editor';
|
|
13
|
+
export { DateEditor } from './date-editor';
|
|
14
|
+
export type { DateEditorOptions } from './date-editor';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/editing/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEzG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { CellEditor, EditorParams } from './cell-editor.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Number editor options
|
|
4
|
+
*/
|
|
5
|
+
export interface NumberEditorOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Minimum value
|
|
8
|
+
*/
|
|
9
|
+
min?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Maximum value
|
|
12
|
+
*/
|
|
13
|
+
max?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Step increment
|
|
16
|
+
* @default 1
|
|
17
|
+
*/
|
|
18
|
+
step?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Number of decimal places
|
|
21
|
+
*/
|
|
22
|
+
precision?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Allow negative numbers
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
allowNegative?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Placeholder text
|
|
30
|
+
*/
|
|
31
|
+
placeholder?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* NumberEditor - Numeric input editor
|
|
35
|
+
*
|
|
36
|
+
* Provides a number input with validation and formatting.
|
|
37
|
+
* Supports min/max, step, precision, and negative numbers.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const editor = new NumberEditor();
|
|
42
|
+
* editor.init(container, 42, {
|
|
43
|
+
* cell: { row: 0, col: 0 },
|
|
44
|
+
* options: {
|
|
45
|
+
* min: 0,
|
|
46
|
+
* max: 100,
|
|
47
|
+
* step: 0.1,
|
|
48
|
+
* precision: 2,
|
|
49
|
+
* },
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class NumberEditor implements CellEditor<number> {
|
|
54
|
+
private input;
|
|
55
|
+
private options;
|
|
56
|
+
private boundHandleKeyDown;
|
|
57
|
+
constructor();
|
|
58
|
+
init(container: HTMLElement, value: number, params: EditorParams): void;
|
|
59
|
+
getValue(): number;
|
|
60
|
+
focus(): void;
|
|
61
|
+
isValid(): boolean | {
|
|
62
|
+
valid: boolean;
|
|
63
|
+
message?: string;
|
|
64
|
+
};
|
|
65
|
+
destroy(): void;
|
|
66
|
+
private handleKeyDown;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=number-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-editor.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/editing/number-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,YAAa,YAAW,UAAU,CAAC,MAAM,CAAC;IACrD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,kBAAkB,CAAiC;;IAM3D,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IA6DvE,QAAQ,IAAI,MAAM;IAclB,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAsCzD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;CAUtB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CellEditor, EditorParams } from './cell-editor.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Select editor options
|
|
4
|
+
*/
|
|
5
|
+
export interface SelectEditorOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Available options
|
|
8
|
+
*/
|
|
9
|
+
options: Array<{
|
|
10
|
+
value: any;
|
|
11
|
+
label: string;
|
|
12
|
+
}> | string[];
|
|
13
|
+
/**
|
|
14
|
+
* Allow empty selection
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
allowEmpty?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Placeholder for empty selection
|
|
20
|
+
*/
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* SelectEditor - Dropdown selection editor
|
|
25
|
+
*
|
|
26
|
+
* Provides a dropdown select for choosing from predefined options.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const editor = new SelectEditor();
|
|
31
|
+
* editor.init(container, 'active', {
|
|
32
|
+
* cell: { row: 0, col: 0 },
|
|
33
|
+
* options: {
|
|
34
|
+
* options: ['active', 'inactive', 'pending'],
|
|
35
|
+
* allowEmpty: true,
|
|
36
|
+
* placeholder: 'Select status...',
|
|
37
|
+
* },
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class SelectEditor implements CellEditor<any> {
|
|
42
|
+
private select;
|
|
43
|
+
private options;
|
|
44
|
+
private boundHandleKeyDown;
|
|
45
|
+
constructor();
|
|
46
|
+
init(container: HTMLElement, value: any, params: EditorParams): void;
|
|
47
|
+
getValue(): any;
|
|
48
|
+
focus(): void;
|
|
49
|
+
isValid(): boolean;
|
|
50
|
+
destroy(): void;
|
|
51
|
+
private handleKeyDown;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=select-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-editor.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/editing/select-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IAEzD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,YAAW,UAAU,CAAC,GAAG,CAAC;IAClD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,kBAAkB,CAAiC;;IAM3D,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAqEpE,QAAQ,IAAI,GAAG;IAoBf,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO;IAKlB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { CellEditor, EditorParams } from './cell-editor.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Text editor options
|
|
4
|
+
*/
|
|
5
|
+
export interface TextEditorOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Maximum length
|
|
8
|
+
*/
|
|
9
|
+
maxLength?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Placeholder text
|
|
12
|
+
*/
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Input type
|
|
16
|
+
* @default 'text'
|
|
17
|
+
*/
|
|
18
|
+
type?: 'text' | 'email' | 'url' | 'tel';
|
|
19
|
+
/**
|
|
20
|
+
* Auto-select text on focus
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
autoSelect?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Validation pattern (regex)
|
|
26
|
+
*/
|
|
27
|
+
pattern?: RegExp;
|
|
28
|
+
/**
|
|
29
|
+
* Custom validator function
|
|
30
|
+
*/
|
|
31
|
+
validator?: (value: string) => boolean | {
|
|
32
|
+
valid: boolean;
|
|
33
|
+
message?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* TextEditor - Basic text input editor
|
|
38
|
+
*
|
|
39
|
+
* Provides a simple text input for editing cell values.
|
|
40
|
+
* Supports validation, max length, and auto-selection.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const editor = new TextEditor();
|
|
45
|
+
* editor.init(container, 'Hello', {
|
|
46
|
+
* cell: { row: 0, col: 0 },
|
|
47
|
+
* options: {
|
|
48
|
+
* maxLength: 100,
|
|
49
|
+
* placeholder: 'Enter text...',
|
|
50
|
+
* },
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class TextEditor implements CellEditor<string> {
|
|
55
|
+
private input;
|
|
56
|
+
private options;
|
|
57
|
+
private boundHandleKeyDown;
|
|
58
|
+
constructor();
|
|
59
|
+
init(container: HTMLElement, value: string, params: EditorParams): void;
|
|
60
|
+
getValue(): string;
|
|
61
|
+
focus(): void;
|
|
62
|
+
isValid(): boolean | {
|
|
63
|
+
valid: boolean;
|
|
64
|
+
message?: string;
|
|
65
|
+
};
|
|
66
|
+
destroy(): void;
|
|
67
|
+
private handleKeyDown;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=text-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-editor.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/editing/text-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAExC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAW,YAAW,UAAU,CAAC,MAAM,CAAC;IACnD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,kBAAkB,CAAiC;;IAM3D,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAuDvE,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAoBzD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe event emitter for grid events
|
|
3
|
+
*
|
|
4
|
+
* Provides a strongly-typed pub/sub system for grid events.
|
|
5
|
+
* Supports both synchronous and asynchronous event handlers.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const emitter = new EventEmitter<GridEvents>();
|
|
10
|
+
*
|
|
11
|
+
* // Subscribe
|
|
12
|
+
* emitter.on('cell:change', (event) => {
|
|
13
|
+
* console.log(`Cell ${event.cell.row},${event.cell.col} changed`);
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* // Emit
|
|
17
|
+
* emitter.emit('cell:change', {
|
|
18
|
+
* cell: { row: 0, col: 0 },
|
|
19
|
+
* oldValue: 'old',
|
|
20
|
+
* newValue: 'new',
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // Unsubscribe
|
|
24
|
+
* emitter.off('cell:change', handler);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class EventEmitter<TEvents extends Record<string, any>> {
|
|
28
|
+
private listeners;
|
|
29
|
+
private onceListeners;
|
|
30
|
+
private maxListeners;
|
|
31
|
+
/**
|
|
32
|
+
* Subscribe to an event
|
|
33
|
+
* @param event - Event name
|
|
34
|
+
* @param handler - Event handler function
|
|
35
|
+
* @returns Unsubscribe function
|
|
36
|
+
*/
|
|
37
|
+
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Subscribe to an event (fires only once)
|
|
40
|
+
* @param event - Event name
|
|
41
|
+
* @param handler - Event handler function
|
|
42
|
+
* @returns Unsubscribe function
|
|
43
|
+
*/
|
|
44
|
+
once<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
45
|
+
/**
|
|
46
|
+
* Unsubscribe from an event
|
|
47
|
+
* @param event - Event name
|
|
48
|
+
* @param handler - Event handler function to remove
|
|
49
|
+
*/
|
|
50
|
+
off<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): void;
|
|
51
|
+
/**
|
|
52
|
+
* Remove a once listener
|
|
53
|
+
* @param event - Event name
|
|
54
|
+
* @param handler - Event handler function to remove
|
|
55
|
+
*/
|
|
56
|
+
private offOnce;
|
|
57
|
+
/**
|
|
58
|
+
* Emit an event
|
|
59
|
+
* @param event - Event name
|
|
60
|
+
* @param data - Event data
|
|
61
|
+
*/
|
|
62
|
+
emit<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
|
|
63
|
+
/**
|
|
64
|
+
* Remove all listeners for an event (or all events if no event specified)
|
|
65
|
+
* @param event - Optional event name
|
|
66
|
+
*/
|
|
67
|
+
removeAllListeners<K extends keyof TEvents>(event?: K): void;
|
|
68
|
+
/**
|
|
69
|
+
* Get the number of listeners for an event
|
|
70
|
+
* @param event - Event name
|
|
71
|
+
* @returns Number of listeners
|
|
72
|
+
*/
|
|
73
|
+
listenerCount<K extends keyof TEvents>(event: K): number;
|
|
74
|
+
/**
|
|
75
|
+
* Get all event names that have listeners
|
|
76
|
+
* @returns Array of event names
|
|
77
|
+
*/
|
|
78
|
+
eventNames(): Array<keyof TEvents>;
|
|
79
|
+
/**
|
|
80
|
+
* Set the maximum number of listeners per event
|
|
81
|
+
* @param n - Maximum number of listeners
|
|
82
|
+
*/
|
|
83
|
+
setMaxListeners(n: number): void;
|
|
84
|
+
/**
|
|
85
|
+
* Get the maximum number of listeners per event
|
|
86
|
+
* @returns Maximum number of listeners
|
|
87
|
+
*/
|
|
88
|
+
getMaxListeners(): number;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/events/event-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3D,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,YAAY,CAAO;IAE3B;;;;;OAKG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EACxB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,MAAM,IAAI;IAmBb;;;;;OAKG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,MAAM,IAAI;IAWb;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,OAAO,EACzB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,IAAI;IAUP;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAaf;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IA4B/D;;;OAGG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;IAU5D;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAMxD;;;OAGG;IACH,UAAU,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC;IAWlC;;;OAGG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAOhC;;;OAGG;IACH,eAAe,IAAI,MAAM;CAG1B"}
|