@tinisoftin/tsdatagrid 1.0.0

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 (175) hide show
  1. package/README.md +1272 -0
  2. package/dist/components/TSDataGrid.vue.d.ts +1285 -0
  3. package/dist/components/TSDataGrid.vue.d.ts.map +1 -0
  4. package/dist/components/TSDataGridActiveFilters.vue.d.ts +24 -0
  5. package/dist/components/TSDataGridActiveFilters.vue.d.ts.map +1 -0
  6. package/dist/components/TSDataGridBody.vue.d.ts +259 -0
  7. package/dist/components/TSDataGridBody.vue.d.ts.map +1 -0
  8. package/dist/components/TSDataGridCell.vue.d.ts +83 -0
  9. package/dist/components/TSDataGridCell.vue.d.ts.map +1 -0
  10. package/dist/components/TSDataGridColumnChooser.vue.d.ts +56 -0
  11. package/dist/components/TSDataGridColumnChooser.vue.d.ts.map +1 -0
  12. package/dist/components/TSDataGridContextMenu.vue.d.ts +46 -0
  13. package/dist/components/TSDataGridContextMenu.vue.d.ts.map +1 -0
  14. package/dist/components/TSDataGridFilter.vue.d.ts +92 -0
  15. package/dist/components/TSDataGridFilter.vue.d.ts.map +1 -0
  16. package/dist/components/TSDataGridFooter.vue.d.ts +95 -0
  17. package/dist/components/TSDataGridFooter.vue.d.ts.map +1 -0
  18. package/dist/components/TSDataGridGroupPanel.vue.d.ts +47 -0
  19. package/dist/components/TSDataGridGroupPanel.vue.d.ts.map +1 -0
  20. package/dist/components/TSDataGridHeader.vue.d.ts +221 -0
  21. package/dist/components/TSDataGridHeader.vue.d.ts.map +1 -0
  22. package/dist/components/TSDataGridRow.vue.d.ts +83 -0
  23. package/dist/components/TSDataGridRow.vue.d.ts.map +1 -0
  24. package/dist/components/TSDataGridToolbar.vue.d.ts +139 -0
  25. package/dist/components/TSDataGridToolbar.vue.d.ts.map +1 -0
  26. package/dist/composables/index.d.ts +28 -0
  27. package/dist/composables/index.d.ts.map +1 -0
  28. package/dist/composables/useClipboard.d.ts +863 -0
  29. package/dist/composables/useClipboard.d.ts.map +1 -0
  30. package/dist/composables/useColumnChooser.d.ts +36 -0
  31. package/dist/composables/useColumnChooser.d.ts.map +1 -0
  32. package/dist/composables/useColumnReorder.d.ts +40 -0
  33. package/dist/composables/useColumnReorder.d.ts.map +1 -0
  34. package/dist/composables/useColumnResize.d.ts +36 -0
  35. package/dist/composables/useColumnResize.d.ts.map +1 -0
  36. package/dist/composables/useContextMenu.d.ts +55 -0
  37. package/dist/composables/useContextMenu.d.ts.map +1 -0
  38. package/dist/composables/useDataSource.d.ts +1770 -0
  39. package/dist/composables/useDataSource.d.ts.map +1 -0
  40. package/dist/composables/useEditing.d.ts +54 -0
  41. package/dist/composables/useEditing.d.ts.map +1 -0
  42. package/dist/composables/useExport.d.ts +72 -0
  43. package/dist/composables/useExport.d.ts.map +1 -0
  44. package/dist/composables/useFiltering.d.ts +42 -0
  45. package/dist/composables/useFiltering.d.ts.map +1 -0
  46. package/dist/composables/useGridApi.d.ts +85 -0
  47. package/dist/composables/useGridApi.d.ts.map +1 -0
  48. package/dist/composables/useGrouping.d.ts +879 -0
  49. package/dist/composables/useGrouping.d.ts.map +1 -0
  50. package/dist/composables/useInfiniteScroll.d.ts +49 -0
  51. package/dist/composables/useInfiniteScroll.d.ts.map +1 -0
  52. package/dist/composables/useKeyboardNavigation.d.ts +47 -0
  53. package/dist/composables/useKeyboardNavigation.d.ts.map +1 -0
  54. package/dist/composables/useLoadingState.d.ts +36 -0
  55. package/dist/composables/useLoadingState.d.ts.map +1 -0
  56. package/dist/composables/usePagination.d.ts +45 -0
  57. package/dist/composables/usePagination.d.ts.map +1 -0
  58. package/dist/composables/useRowExpansion.d.ts +47 -0
  59. package/dist/composables/useRowExpansion.d.ts.map +1 -0
  60. package/dist/composables/useSearch.d.ts +97 -0
  61. package/dist/composables/useSearch.d.ts.map +1 -0
  62. package/dist/composables/useSelection.d.ts +32 -0
  63. package/dist/composables/useSelection.d.ts.map +1 -0
  64. package/dist/composables/useSorting.d.ts +859 -0
  65. package/dist/composables/useSorting.d.ts.map +1 -0
  66. package/dist/composables/useStatePersistence.d.ts +26 -0
  67. package/dist/composables/useStatePersistence.d.ts.map +1 -0
  68. package/dist/composables/useSummary.d.ts +49 -0
  69. package/dist/composables/useSummary.d.ts.map +1 -0
  70. package/dist/composables/useUndo.d.ts +27 -0
  71. package/dist/composables/useUndo.d.ts.map +1 -0
  72. package/dist/composables/useVirtualization.d.ts +40 -0
  73. package/dist/composables/useVirtualization.d.ts.map +1 -0
  74. package/dist/html2canvas.esm-1a1724a1.js +4886 -0
  75. package/dist/index-541cb5f8.js +38398 -0
  76. package/dist/index.d.ts +108 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.es-713282db.js +5771 -0
  79. package/dist/plugin.d.ts +22 -0
  80. package/dist/plugin.d.ts.map +1 -0
  81. package/dist/purify.es-35a15df8.js +480 -0
  82. package/dist/style.css +1 -0
  83. package/dist/tsdatagrid.es.js +358 -0
  84. package/dist/tsdatagrid.umd.js +450 -0
  85. package/dist/types/core/base.d.ts +143 -0
  86. package/dist/types/core/base.d.ts.map +1 -0
  87. package/dist/types/core/column.d.ts +354 -0
  88. package/dist/types/core/column.d.ts.map +1 -0
  89. package/dist/types/core/datasource.d.ts +247 -0
  90. package/dist/types/core/datasource.d.ts.map +1 -0
  91. package/dist/types/core/events.d.ts +297 -0
  92. package/dist/types/core/events.d.ts.map +1 -0
  93. package/dist/types/core/models.d.ts +74 -0
  94. package/dist/types/core/models.d.ts.map +1 -0
  95. package/dist/types/features/accessibility.d.ts +75 -0
  96. package/dist/types/features/accessibility.d.ts.map +1 -0
  97. package/dist/types/features/editing.d.ts +185 -0
  98. package/dist/types/features/editing.d.ts.map +1 -0
  99. package/dist/types/features/export.d.ts +145 -0
  100. package/dist/types/features/export.d.ts.map +1 -0
  101. package/dist/types/features/filtering.d.ts +193 -0
  102. package/dist/types/features/filtering.d.ts.map +1 -0
  103. package/dist/types/features/grouping.d.ts +148 -0
  104. package/dist/types/features/grouping.d.ts.map +1 -0
  105. package/dist/types/features/keyboard.d.ts +126 -0
  106. package/dist/types/features/keyboard.d.ts.map +1 -0
  107. package/dist/types/features/pagination.d.ts +85 -0
  108. package/dist/types/features/pagination.d.ts.map +1 -0
  109. package/dist/types/features/searching.d.ts +90 -0
  110. package/dist/types/features/searching.d.ts.map +1 -0
  111. package/dist/types/features/selection.d.ts +99 -0
  112. package/dist/types/features/selection.d.ts.map +1 -0
  113. package/dist/types/features/sorting.d.ts +81 -0
  114. package/dist/types/features/sorting.d.ts.map +1 -0
  115. package/dist/types/features/summary.d.ts +99 -0
  116. package/dist/types/features/summary.d.ts.map +1 -0
  117. package/dist/types/features/virtualization.d.ts +88 -0
  118. package/dist/types/features/virtualization.d.ts.map +1 -0
  119. package/dist/types/index.d.ts +60 -0
  120. package/dist/types/index.d.ts.map +1 -0
  121. package/dist/types/state/grid-state.d.ts +70 -0
  122. package/dist/types/state/grid-state.d.ts.map +1 -0
  123. package/dist/types/state/persistence.d.ts +65 -0
  124. package/dist/types/state/persistence.d.ts.map +1 -0
  125. package/dist/types/ui/styling.d.ts +72 -0
  126. package/dist/types/ui/styling.d.ts.map +1 -0
  127. package/dist/types/ui/templates.d.ts +80 -0
  128. package/dist/types/ui/templates.d.ts.map +1 -0
  129. package/dist/types/ui/toolbar.d.ts +63 -0
  130. package/dist/types/ui/toolbar.d.ts.map +1 -0
  131. package/dist/types/validation/validators.d.ts +134 -0
  132. package/dist/types/validation/validators.d.ts.map +1 -0
  133. package/dist/utils/accessibility.d.ts +35 -0
  134. package/dist/utils/accessibility.d.ts.map +1 -0
  135. package/dist/utils/array.d.ts +88 -0
  136. package/dist/utils/array.d.ts.map +1 -0
  137. package/dist/utils/cache.d.ts +92 -0
  138. package/dist/utils/cache.d.ts.map +1 -0
  139. package/dist/utils/clipboard.d.ts +25 -0
  140. package/dist/utils/clipboard.d.ts.map +1 -0
  141. package/dist/utils/column-searcher.d.ts +44 -0
  142. package/dist/utils/column-searcher.d.ts.map +1 -0
  143. package/dist/utils/constants.d.ts +76 -0
  144. package/dist/utils/constants.d.ts.map +1 -0
  145. package/dist/utils/date.d.ts +101 -0
  146. package/dist/utils/date.d.ts.map +1 -0
  147. package/dist/utils/dom.d.ts +128 -0
  148. package/dist/utils/dom.d.ts.map +1 -0
  149. package/dist/utils/error-handling.d.ts +190 -0
  150. package/dist/utils/error-handling.d.ts.map +1 -0
  151. package/dist/utils/export.d.ts +37 -0
  152. package/dist/utils/export.d.ts.map +1 -0
  153. package/dist/utils/formatters.d.ts +60 -0
  154. package/dist/utils/formatters.d.ts.map +1 -0
  155. package/dist/utils/index.d.ts +25 -0
  156. package/dist/utils/index.d.ts.map +1 -0
  157. package/dist/utils/keyboard.d.ts +58 -0
  158. package/dist/utils/keyboard.d.ts.map +1 -0
  159. package/dist/utils/logger.d.ts +45 -0
  160. package/dist/utils/logger.d.ts.map +1 -0
  161. package/dist/utils/number.d.ts +77 -0
  162. package/dist/utils/number.d.ts.map +1 -0
  163. package/dist/utils/object.d.ts +101 -0
  164. package/dist/utils/object.d.ts.map +1 -0
  165. package/dist/utils/odata.d.ts +87 -0
  166. package/dist/utils/odata.d.ts.map +1 -0
  167. package/dist/utils/performance.d.ts +75 -0
  168. package/dist/utils/performance.d.ts.map +1 -0
  169. package/dist/utils/storage.d.ts +83 -0
  170. package/dist/utils/storage.d.ts.map +1 -0
  171. package/dist/utils/string.d.ts +105 -0
  172. package/dist/utils/string.d.ts.map +1 -0
  173. package/dist/utils/validators.d.ts +60 -0
  174. package/dist/utils/validators.d.ts.map +1 -0
  175. package/package.json +90 -0
@@ -0,0 +1,247 @@
1
+ import { FilterCondition } from '../features/filtering';
2
+ import { SortDescriptor } from '../features/sorting';
3
+ import { GroupDescriptor } from '../features/grouping';
4
+ import { ErrorInfo } from './base';
5
+
6
+ /**
7
+ * Data source type
8
+ */
9
+ export declare const enum DataSourceType {
10
+ Local = "local",
11
+ Array = "array",
12
+ OData = "odata",
13
+ WebAPI = "webapi",
14
+ Custom = "custom"
15
+ }
16
+ /**
17
+ * Data source mode
18
+ */
19
+ export declare const enum DataSourceMode {
20
+ /** All operations on client */
21
+ Client = "client",
22
+ /** All operations on server */
23
+ Server = "server",
24
+ /** Hybrid mode */
25
+ Hybrid = "hybrid"
26
+ }
27
+ /**
28
+ * OData version
29
+ */
30
+ export declare const enum ODataVersion {
31
+ V2 = "2",
32
+ V3 = "3",
33
+ V4 = "4"
34
+ }
35
+ /**
36
+ * HTTP method
37
+ */
38
+ export declare const enum HttpMethod {
39
+ GET = "GET",
40
+ POST = "POST",
41
+ PUT = "PUT",
42
+ DELETE = "DELETE",
43
+ PATCH = "PATCH"
44
+ }
45
+ /**
46
+ * Load options for server requests
47
+ */
48
+ export interface LoadOptions {
49
+ /** Skip count (for pagination) */
50
+ skip?: number;
51
+ /** Take count (page size) */
52
+ take?: number;
53
+ /** Sort descriptors */
54
+ sort?: SortDescriptor[];
55
+ /** Filter conditions */
56
+ filter?: FilterCondition[];
57
+ /** Group descriptors */
58
+ group?: GroupDescriptor[];
59
+ /** Search term */
60
+ search?: string;
61
+ /** Select fields (projection) */
62
+ select?: string[];
63
+ /** Expand relations */
64
+ expand?: string[];
65
+ /** Require total count */
66
+ requireTotalCount?: boolean;
67
+ /** Custom parameters */
68
+ customParams?: Record<string, any>;
69
+ /** Request timestamp */
70
+ timestamp?: number;
71
+ }
72
+ /**
73
+ * Data result from server
74
+ */
75
+ export interface DataResult<T = any> {
76
+ /** Data rows */
77
+ data: T[];
78
+ /** Total count (all data, not just current page) */
79
+ totalCount: number;
80
+ /** Summary values */
81
+ summary?: Record<string, any>;
82
+ /** Group count */
83
+ groupCount?: number;
84
+ /** Actual page size returned */
85
+ actualPageSize?: number;
86
+ /** Server page size limit */
87
+ serverPageSizeLimit?: number;
88
+ /** Error information */
89
+ error?: ErrorInfo;
90
+ /** Additional metadata */
91
+ metadata?: Record<string, any>;
92
+ }
93
+ /**
94
+ * OData configuration
95
+ */
96
+ export interface ODataConfig {
97
+ /** OData version */
98
+ version?: ODataVersion;
99
+ /** Service URL */
100
+ url: string;
101
+ /** Entity set name */
102
+ entitySet?: string;
103
+ /** Key field */
104
+ key?: string;
105
+ /** Request timeout (ms) */
106
+ timeout?: number;
107
+ /** Use JSONP */
108
+ jsonp?: boolean;
109
+ /** With credentials */
110
+ withCredentials?: boolean;
111
+ /** Before send callback */
112
+ beforeSend?: (options: LoadOptions) => LoadOptions | Promise<LoadOptions>;
113
+ /** Error handler */
114
+ errorHandler?: (error: ErrorInfo) => void;
115
+ }
116
+ /**
117
+ * Custom store configuration
118
+ */
119
+ export interface CustomStoreConfig<T = any> {
120
+ /** Load data */
121
+ load: (options: LoadOptions) => Promise<DataResult<T>> | DataResult<T>;
122
+ /** Insert row */
123
+ insert?: (values: Partial<T>) => Promise<T> | T;
124
+ /** Update row */
125
+ update?: (key: any, values: Partial<T>) => Promise<T> | T;
126
+ /** Remove row */
127
+ remove?: (key: any) => Promise<void> | void;
128
+ /** Get by key */
129
+ byKey?: (key: any) => Promise<T | undefined> | T | undefined;
130
+ /** Total count */
131
+ totalCount?: (options: LoadOptions) => Promise<number> | number;
132
+ /** Key expression */
133
+ key?: keyof T | string;
134
+ /** Cache enabled */
135
+ cacheEnabled?: boolean;
136
+ /** Cache expiration (ms) */
137
+ cacheExpiration?: number;
138
+ }
139
+ /**
140
+ * Data source configuration
141
+ */
142
+ export interface DataSourceConfig<T = any> {
143
+ /** Data source type */
144
+ type?: DataSourceType;
145
+ /** Data source mode */
146
+ mode?: DataSourceMode;
147
+ /** Local data array */
148
+ data?: T[];
149
+ /** Remote URL */
150
+ url?: string;
151
+ /** Key field */
152
+ key?: keyof T | string;
153
+ /** Default page size */
154
+ pageSize?: number;
155
+ /** Server-side paging */
156
+ serverPaging?: boolean;
157
+ /** Server-side sorting */
158
+ serverSorting?: boolean;
159
+ /** Default sort */
160
+ defaultSort?: SortDescriptor[];
161
+ /** Server-side filtering */
162
+ serverFiltering?: boolean;
163
+ /** Default filter */
164
+ defaultFilter?: FilterCondition[];
165
+ /** Server-side grouping */
166
+ serverGrouping?: boolean;
167
+ /** Default group */
168
+ defaultGroup?: GroupDescriptor[];
169
+ /** Server-side search */
170
+ serverSearch?: boolean;
171
+ /** Search fields */
172
+ searchFields?: string[];
173
+ /** Search debounce (ms) */
174
+ searchDebounce?: number;
175
+ /** Fetch options */
176
+ fetchOptions?: RequestInit;
177
+ /** Request headers */
178
+ headers?: Record<string, string>;
179
+ /** Request timeout (ms) */
180
+ timeout?: number;
181
+ /** Retry count */
182
+ retryCount?: number;
183
+ /** Retry delay (ms) */
184
+ retryDelay?: number;
185
+ /** OData configuration */
186
+ odata?: ODataConfig;
187
+ /** Custom store */
188
+ customStore?: CustomStoreConfig<T>;
189
+ /** Transform response */
190
+ transformResponse?: (response: any) => DataResult<T>;
191
+ /** Transform request */
192
+ transformRequest?: (options: LoadOptions) => any;
193
+ /** Enable caching */
194
+ cache?: boolean;
195
+ /** Cache duration (ms) */
196
+ cacheDuration?: number;
197
+ /** Cache key generator */
198
+ cacheKeyGenerator?: (options: LoadOptions) => string;
199
+ /** Before load */
200
+ onBeforeLoad?: (options: LoadOptions) => LoadOptions | Promise<LoadOptions> | void;
201
+ /** After load */
202
+ onAfterLoad?: (result: DataResult<T>) => DataResult<T> | void;
203
+ /** Load error */
204
+ onLoadError?: (error: ErrorInfo) => void;
205
+ /** Change */
206
+ onChange?: (data: T[]) => void;
207
+ /** Current filters */
208
+ currentFilters?: FilterCondition[];
209
+ /** Current sorts */
210
+ currentSorts?: SortDescriptor[];
211
+ /** Current groups */
212
+ currentGroups?: GroupDescriptor[];
213
+ /** Additional metadata */
214
+ metadata?: Record<string, any>;
215
+ }
216
+ /**
217
+ * Data source instance
218
+ */
219
+ export interface IDataSource<T = any> {
220
+ /** Load data */
221
+ load(options?: LoadOptions): Promise<DataResult<T>>;
222
+ /** Reload data */
223
+ reload(): Promise<DataResult<T>>;
224
+ /** Insert row */
225
+ insert(values: Partial<T>): Promise<T>;
226
+ /** Update row */
227
+ update(key: any, values: Partial<T>): Promise<T>;
228
+ /** Remove row */
229
+ remove(key: any): Promise<void>;
230
+ /** Get by key */
231
+ byKey(key: any): Promise<T | undefined>;
232
+ /** Get total count */
233
+ totalCount(): Promise<number>;
234
+ /** Clear cache */
235
+ clearCache(): void;
236
+ /** Dispose */
237
+ dispose(): void;
238
+ }
239
+ /**
240
+ * Type guard: Check if config is OData
241
+ */
242
+ export declare function isODataConfig(config: DataSourceConfig): config is Required<Pick<DataSourceConfig, 'odata'>>;
243
+ /**
244
+ * Type guard: Check if config is Custom Store
245
+ */
246
+ export declare function isCustomStoreConfig(config: DataSourceConfig): config is Required<Pick<DataSourceConfig, 'customStore'>>;
247
+ //# sourceMappingURL=datasource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/types/core/datasource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ import { ColumnDefinition } from './column';
2
+ import { FilterCondition, ActiveFilter } from '../features/filtering';
3
+ import { SortDescriptor } from '../features/sorting';
4
+ import { GroupDescriptor } from '../features/grouping';
5
+ import { EditingMode } from '../features/editing';
6
+ import { ExportConfig } from '../features/export';
7
+ import { ErrorInfo, CancellableEvent } from './base';
8
+
9
+ /**
10
+ * Row event
11
+ */
12
+ export interface RowEvent<T = any> extends CancellableEvent {
13
+ /** Row data */
14
+ row: T;
15
+ /** Row index */
16
+ rowIndex: number;
17
+ /** Row key */
18
+ rowKey: any;
19
+ /** Mouse event */
20
+ event?: MouseEvent;
21
+ /** Column (for cell events) */
22
+ column?: ColumnDefinition;
23
+ /** Handled flag */
24
+ handled?: boolean;
25
+ }
26
+ /**
27
+ * Cell event
28
+ */
29
+ export interface CellEvent<T = any> extends RowEvent<T> {
30
+ /** Column definition */
31
+ column: ColumnDefinition;
32
+ /** Cell value */
33
+ value: any;
34
+ /** Column index */
35
+ columnIndex: number;
36
+ /** Display value */
37
+ displayValue: string;
38
+ }
39
+ /**
40
+ * Edit event
41
+ */
42
+ export interface EditEvent<T = any> extends CancellableEvent {
43
+ /** Row data */
44
+ row: T;
45
+ /** Row key */
46
+ rowKey: any;
47
+ /** Changes */
48
+ changes: Partial<T>;
49
+ /** Edit mode */
50
+ mode: EditingMode;
51
+ /** Is new row */
52
+ isNew: boolean;
53
+ }
54
+ /**
55
+ * Validation event
56
+ */
57
+ export interface ValidationEvent<T = any> {
58
+ /** Row data */
59
+ row: T;
60
+ /** Row key */
61
+ rowKey: any;
62
+ /** Field name */
63
+ field: string;
64
+ /** Field value */
65
+ value: any;
66
+ /** Validation errors */
67
+ errors: Record<string, string>;
68
+ /** Is valid */
69
+ isValid: boolean;
70
+ }
71
+ /**
72
+ * Selection event
73
+ */
74
+ export interface SelectionEvent<T = any> extends CancellableEvent {
75
+ /** Selected keys */
76
+ selectedKeys: any[];
77
+ /** Selected rows */
78
+ selectedRows: T[];
79
+ /** Added keys */
80
+ addedKeys?: any[];
81
+ /** Removed keys */
82
+ removedKeys?: any[];
83
+ /** Selection mode */
84
+ mode: 'single' | 'multiple';
85
+ }
86
+ /**
87
+ * Data event
88
+ */
89
+ export interface DataEvent<T = any> {
90
+ /** Data */
91
+ data: T[];
92
+ /** Total count */
93
+ totalCount: number;
94
+ /** Load options */
95
+ loadOptions?: any;
96
+ /** Duration (ms) */
97
+ duration?: number;
98
+ }
99
+ /**
100
+ * Export event
101
+ */
102
+ export interface ExportEvent extends CancellableEvent {
103
+ /** Export configuration */
104
+ config: ExportConfig;
105
+ /** Export data */
106
+ data?: any[];
107
+ /** File blob */
108
+ file?: Blob;
109
+ /** Download URL */
110
+ url?: string;
111
+ }
112
+ /**
113
+ * Column event
114
+ */
115
+ export interface ColumnEvent extends CancellableEvent {
116
+ /** Column */
117
+ column: ColumnDefinition;
118
+ /** Old value */
119
+ oldValue?: any;
120
+ /** New value */
121
+ newValue?: any;
122
+ }
123
+ /**
124
+ * Context menu event
125
+ */
126
+ export interface ContextMenuEvent<T = any> extends CancellableEvent {
127
+ /** Row data */
128
+ row?: T;
129
+ /** Column */
130
+ column?: ColumnDefinition;
131
+ /** Mouse event */
132
+ event: MouseEvent;
133
+ /** Menu items */
134
+ items?: ContextMenuItem[];
135
+ }
136
+ /**
137
+ * Context menu item
138
+ */
139
+ export interface ContextMenuItem {
140
+ /** Item text */
141
+ text: string;
142
+ /** Item icon */
143
+ icon?: string;
144
+ /** Disabled */
145
+ disabled?: boolean;
146
+ /** On click */
147
+ onClick?: () => void;
148
+ /** Children */
149
+ items?: ContextMenuItem[];
150
+ }
151
+ /**
152
+ * Keyboard event
153
+ */
154
+ export interface GridKeyboardEvent extends CancellableEvent {
155
+ /** Key code */
156
+ key: string;
157
+ /** Ctrl key */
158
+ ctrlKey: boolean;
159
+ /** Shift key */
160
+ shiftKey: boolean;
161
+ /** Alt key */
162
+ altKey: boolean;
163
+ /** Meta key */
164
+ metaKey: boolean;
165
+ /** Target element */
166
+ target: HTMLElement;
167
+ /** Original event */
168
+ event: KeyboardEvent;
169
+ }
170
+ /**
171
+ * Grid events interface
172
+ */
173
+ export interface GridEvents<T = any> {
174
+ /** Row click */
175
+ 'row-click': (e: RowEvent<T>) => void;
176
+ /** Row double click */
177
+ 'row-dblclick': (e: RowEvent<T>) => void;
178
+ /** Row context menu */
179
+ 'row-contextmenu': (e: ContextMenuEvent<T>) => void;
180
+ /** Row prepared */
181
+ 'row-prepared': (e: RowEvent<T>) => void;
182
+ /** Cell click */
183
+ 'cell-click': (e: CellEvent<T>) => void;
184
+ /** Cell double click */
185
+ 'cell-dblclick': (e: CellEvent<T>) => void;
186
+ /** Cell prepared */
187
+ 'cell-prepared': (e: CellEvent<T>) => void;
188
+ /** Edit start */
189
+ 'edit-start': (e: EditEvent<T>) => void;
190
+ /** Edit end */
191
+ 'edit-end': (e: EditEvent<T>) => void;
192
+ /** Edit cancel */
193
+ 'edit-cancel': (e: EditEvent<T>) => void;
194
+ /** Row inserting */
195
+ 'row-inserting': (e: EditEvent<T>) => void;
196
+ /** Row inserted */
197
+ 'row-inserted': (e: EditEvent<T>) => void;
198
+ /** Row updating */
199
+ 'row-updating': (e: EditEvent<T>) => void;
200
+ /** Row updated */
201
+ 'row-updated': (e: EditEvent<T>) => void;
202
+ /** Row removing */
203
+ 'row-removing': (e: RowEvent<T>) => void;
204
+ /** Row removed */
205
+ 'row-removed': (e: RowEvent<T>) => void;
206
+ /** Validation */
207
+ 'validation': (e: ValidationEvent<T>) => void;
208
+ /** Selection changed */
209
+ 'selection-changed': (e: SelectionEvent<T>) => void;
210
+ /** Data loading */
211
+ 'data-loading': () => void;
212
+ /** Data loaded */
213
+ 'data-loaded': (e: DataEvent<T>) => void;
214
+ /** Data error */
215
+ 'data-error': (e: {
216
+ error: ErrorInfo;
217
+ }) => void;
218
+ /** Filter changed */
219
+ 'filter-changed': (e: {
220
+ filters: FilterCondition[];
221
+ activeFilters: ActiveFilter[];
222
+ }) => void;
223
+ /** Filter cleared */
224
+ 'filter-cleared': () => void;
225
+ /** Sort changed */
226
+ 'sort-changed': (sort: SortDescriptor[]) => void;
227
+ /** Group changed */
228
+ 'group-changed': (e: {
229
+ groups: GroupDescriptor[];
230
+ }) => void;
231
+ /** Group expanded */
232
+ 'group-expanded': (e: {
233
+ group: any;
234
+ }) => void;
235
+ /** Group collapsed */
236
+ 'group-collapsed': (e: {
237
+ group: any;
238
+ }) => void;
239
+ /** Page changed */
240
+ 'page-changed': (e: {
241
+ page: number;
242
+ pageSize: number;
243
+ }) => void;
244
+ /** Page size changed */
245
+ 'page-size-changed': (e: {
246
+ pageSize: number;
247
+ }) => void;
248
+ /** Export starting */
249
+ 'export-starting': (e: ExportEvent) => void;
250
+ /** Export complete */
251
+ 'export-complete': (e: ExportEvent) => void;
252
+ /** Column resized */
253
+ 'column-resized': (e: ColumnEvent & {
254
+ width: number;
255
+ }) => void;
256
+ /** Column reordered */
257
+ 'column-reordered': (e: {
258
+ oldIndex: number;
259
+ newIndex: number;
260
+ column: ColumnDefinition;
261
+ }) => void;
262
+ /** Column visibility changed */
263
+ 'column-visibility-changed': (e: ColumnEvent & {
264
+ visible: boolean;
265
+ }) => void;
266
+ /** State changed */
267
+ 'state-changed': (e: {
268
+ state: any;
269
+ }) => void;
270
+ /** State loaded */
271
+ 'state-loaded': (e: {
272
+ state: any;
273
+ }) => void;
274
+ /** State saved */
275
+ 'state-saved': (e: {
276
+ state: any;
277
+ }) => void;
278
+ /** Search changed */
279
+ 'search': (e: {
280
+ term: string;
281
+ }) => void;
282
+ /** Key down */
283
+ 'key-down': (e: GridKeyboardEvent) => void;
284
+ /** Key up */
285
+ 'key-up': (e: GridKeyboardEvent) => void;
286
+ /** Context menu */
287
+ 'context-menu': (e: ContextMenuEvent<T>) => void;
288
+ /** Initialized */
289
+ 'initialized': () => void;
290
+ /** Disposed */
291
+ 'disposed': () => void;
292
+ }
293
+ /**
294
+ * Event emitter type
295
+ */
296
+ export type GridEmit<T = any> = <K extends keyof GridEvents<T>>(event: K, ...args: Parameters<GridEvents<T>[K]>) => void;
297
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/types/core/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @fileoverview Core data models
3
+ * @module @tsdatagrid/types/core/models
4
+ */
5
+ /**
6
+ * Base entity interface
7
+ */
8
+ export interface IEntity {
9
+ /** Unique identifier */
10
+ id?: string | number;
11
+ /** Created timestamp */
12
+ createdAt?: Date | string;
13
+ /** Updated timestamp */
14
+ updatedAt?: Date | string;
15
+ /** Version for optimistic concurrency */
16
+ version?: number;
17
+ }
18
+ /**
19
+ * Soft deletable entity
20
+ */
21
+ export interface ISoftDeletable extends IEntity {
22
+ /** Deleted flag */
23
+ isDeleted?: boolean;
24
+ /** Deleted timestamp */
25
+ deletedAt?: Date | string;
26
+ /** Deleted by */
27
+ deletedBy?: string;
28
+ }
29
+ /**
30
+ * Auditable entity
31
+ */
32
+ export interface IAuditable extends IEntity {
33
+ /** Created by */
34
+ createdBy?: string;
35
+ /** Updated by */
36
+ updatedBy?: string;
37
+ }
38
+ /**
39
+ * Tree node interface
40
+ */
41
+ export interface ITreeNode<T = any> {
42
+ /** Node data */
43
+ data: T;
44
+ /** Parent node */
45
+ parent?: ITreeNode<T>;
46
+ /** Child nodes */
47
+ children?: ITreeNode<T>[];
48
+ /** Level */
49
+ level: number;
50
+ /** Expanded */
51
+ expanded?: boolean;
52
+ /** Has children */
53
+ hasChildren?: boolean;
54
+ /** Key */
55
+ key: any;
56
+ }
57
+ /**
58
+ * Change tracking
59
+ */
60
+ export interface IChangeTracking<T = any> {
61
+ /** Original value */
62
+ originalValue: T;
63
+ /** Current value */
64
+ currentValue: T;
65
+ /** Is modified */
66
+ isModified: boolean;
67
+ /** Modified fields */
68
+ modifiedFields: Set<keyof T>;
69
+ /** Reset changes */
70
+ reset(): void;
71
+ /** Accept changes */
72
+ accept(): void;
73
+ }
74
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/types/core/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAEzB,wBAAwB;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAEzB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,mBAAmB;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAEzB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,GAAG;IAChC,gBAAgB;IAChB,IAAI,EAAE,CAAC,CAAA;IAEP,kBAAkB;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAErB,kBAAkB;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzB,YAAY;IACZ,KAAK,EAAE,MAAM,CAAA;IAEb,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,mBAAmB;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB,UAAU;IACV,GAAG,EAAE,GAAG,CAAA;CACT;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,qBAAqB;IACrB,aAAa,EAAE,CAAC,CAAA;IAEhB,oBAAoB;IACpB,YAAY,EAAE,CAAC,CAAA;IAEf,kBAAkB;IAClB,UAAU,EAAE,OAAO,CAAA;IAEnB,sBAAsB;IACtB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5B,oBAAoB;IACpB,KAAK,IAAI,IAAI,CAAA;IAEb,qBAAqB;IACrB,MAAM,IAAI,IAAI,CAAA;CACf"}