@aquera/ngx-smart-table 0.0.17-alpha → 0.0.18-alpha

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 (170) hide show
  1. package/{fesm2020 → fesm2022}/aquera-ngx-smart-table.mjs +1579 -2101
  2. package/fesm2022/aquera-ngx-smart-table.mjs.map +1 -0
  3. package/package.json +8 -16
  4. package/types/aquera-ngx-smart-table.d.ts +5909 -0
  5. package/aquera-ngx-smart-table.d.ts +0 -5
  6. package/esm2020/aquera-ngx-smart-table.mjs +0 -5
  7. package/esm2020/lib/builder/components/builder-preview/builder-preview.component.mjs +0 -63
  8. package/esm2020/lib/builder/components/builder-toolbar/builder-toolbar.component.mjs +0 -115
  9. package/esm2020/lib/builder/components/column-editor/column-editor.component.mjs +0 -206
  10. package/esm2020/lib/builder/components/column-list/column-list.component.mjs +0 -125
  11. package/esm2020/lib/builder/components/definition-builder/definition-builder.component.mjs +0 -105
  12. package/esm2020/lib/builder/components/table-config-editor/table-config-editor.component.mjs +0 -132
  13. package/esm2020/lib/builder/definition-builder.module.mjs +0 -70
  14. package/esm2020/lib/builder/models/builder-state.interface.mjs +0 -5
  15. package/esm2020/lib/builder/services/definition-builder.service.mjs +0 -251
  16. package/esm2020/lib/builder/services/definition-export.service.mjs +0 -167
  17. package/esm2020/lib/builder/services/definition-import.service.mjs +0 -193
  18. package/esm2020/lib/builder/services/sample-data-generator.service.mjs +0 -126
  19. package/esm2020/lib/builder/utils/config-validator.util.mjs +0 -165
  20. package/esm2020/lib/builder/utils/typescript-generator.util.mjs +0 -206
  21. package/esm2020/lib/editors/index.mjs +0 -9
  22. package/esm2020/lib/editors/nile-autocomplete-editor.mjs +0 -228
  23. package/esm2020/lib/editors/nile-calendar-editor.mjs +0 -211
  24. package/esm2020/lib/editors/nile-date-picker-editor.mjs +0 -188
  25. package/esm2020/lib/editors/nile-input-editor.mjs +0 -235
  26. package/esm2020/lib/editors/nile-select-editor.mjs +0 -498
  27. package/esm2020/lib/factories/column-config.factory.mjs +0 -231
  28. package/esm2020/lib/models/autosave-config.interface.mjs +0 -8
  29. package/esm2020/lib/models/base-column-config.class.mjs +0 -253
  30. package/esm2020/lib/models/cell-strategies.interface.mjs +0 -6
  31. package/esm2020/lib/models/cell-types.mjs +0 -147
  32. package/esm2020/lib/models/column-action.interface.mjs +0 -6
  33. package/esm2020/lib/models/column-config.interface.mjs +0 -43
  34. package/esm2020/lib/models/column-config.utils.mjs +0 -101
  35. package/esm2020/lib/models/row-action.interface.mjs +0 -5
  36. package/esm2020/lib/models/row-validator.interface.mjs +0 -2
  37. package/esm2020/lib/models/schema-validation.interface.mjs +0 -2
  38. package/esm2020/lib/models/sheet-action.interface.mjs +0 -5
  39. package/esm2020/lib/models/sheet-config.interface.mjs +0 -5
  40. package/esm2020/lib/models/table-config.interface.mjs +0 -107
  41. package/esm2020/lib/models/table-validator.interface.mjs +0 -2
  42. package/esm2020/lib/models/workbook-action.interface.mjs +0 -5
  43. package/esm2020/lib/models/workbook-config.interface.mjs +0 -5
  44. package/esm2020/lib/renderer/components/st-add-column-button/st-add-column-button.component.mjs +0 -24
  45. package/esm2020/lib/renderer/components/st-cell/st-cell.component.mjs +0 -397
  46. package/esm2020/lib/renderer/components/st-column-editor-modal/st-column-editor-modal.component.mjs +0 -103
  47. package/esm2020/lib/renderer/components/st-column-filter/st-column-filter.component.mjs +0 -383
  48. package/esm2020/lib/renderer/components/st-column-menu/st-column-menu.component.mjs +0 -232
  49. package/esm2020/lib/renderer/components/st-column-visibility/st-column-visibility.component.mjs +0 -97
  50. package/esm2020/lib/renderer/components/st-header/st-header.component.mjs +0 -157
  51. package/esm2020/lib/renderer/components/st-pagination/st-pagination.component.mjs +0 -87
  52. package/esm2020/lib/renderer/components/st-row-actions-dropdown/st-row-actions-dropdown.component.mjs +0 -167
  53. package/esm2020/lib/renderer/components/st-sheet/st-sheet.component.mjs +0 -165
  54. package/esm2020/lib/renderer/components/st-sheet-actions/st-sheet-actions.component.mjs +0 -112
  55. package/esm2020/lib/renderer/components/st-table/st-table.component.mjs +0 -1453
  56. package/esm2020/lib/renderer/components/st-table-actions/st-table-actions.component.mjs +0 -169
  57. package/esm2020/lib/renderer/components/st-workbook/st-workbook.component.mjs +0 -581
  58. package/esm2020/lib/renderer/directives/click-outside.directive.mjs +0 -28
  59. package/esm2020/lib/renderer/directives/st-column-resize.directive.mjs +0 -108
  60. package/esm2020/lib/renderer/directives/st-keyboard-navigation.directive.mjs +0 -83
  61. package/esm2020/lib/renderer/models/cell-state.interface.mjs +0 -66
  62. package/esm2020/lib/renderer/models/cell.class.mjs +0 -389
  63. package/esm2020/lib/renderer/models/row-validation-state.interface.mjs +0 -7
  64. package/esm2020/lib/renderer/models/sheet-state.class.mjs +0 -90
  65. package/esm2020/lib/renderer/models/sheet-state.interface.mjs +0 -5
  66. package/esm2020/lib/renderer/models/table-state.class.mjs +0 -871
  67. package/esm2020/lib/renderer/models/table-state.interface.mjs +0 -5
  68. package/esm2020/lib/renderer/models/table-types.mjs +0 -29
  69. package/esm2020/lib/renderer/models/table-validation-state.interface.mjs +0 -7
  70. package/esm2020/lib/renderer/models/workbook-state.class.mjs +0 -174
  71. package/esm2020/lib/renderer/models/workbook-state.interface.mjs +0 -5
  72. package/esm2020/lib/renderer/models/z-index.enum.mjs +0 -55
  73. package/esm2020/lib/schemas/table-config.schema.mjs +0 -472
  74. package/esm2020/lib/services/autosave.service.mjs +0 -92
  75. package/esm2020/lib/services/custom-validation-rules.util.mjs +0 -124
  76. package/esm2020/lib/services/json-schema-validator.service.mjs +0 -216
  77. package/esm2020/lib/services/row-validation.service.mjs +0 -42
  78. package/esm2020/lib/services/validation-logger.service.mjs +0 -177
  79. package/esm2020/lib/services/virtual-scroll.service.mjs +0 -52
  80. package/esm2020/lib/shared/shared-table-components.module.mjs +0 -35
  81. package/esm2020/lib/smart-table.module.mjs +0 -124
  82. package/esm2020/lib/strategies/default-editors.mjs +0 -433
  83. package/esm2020/lib/strategies/default-formatters.mjs +0 -238
  84. package/esm2020/lib/strategies/default-validators.mjs +0 -327
  85. package/esm2020/public-api.mjs +0 -146
  86. package/fesm2015/aquera-ngx-smart-table.mjs +0 -12347
  87. package/fesm2015/aquera-ngx-smart-table.mjs.map +0 -1
  88. package/fesm2020/aquera-ngx-smart-table.mjs.map +0 -1
  89. package/lib/builder/components/builder-preview/builder-preview.component.d.ts +0 -31
  90. package/lib/builder/components/builder-toolbar/builder-toolbar.component.d.ts +0 -53
  91. package/lib/builder/components/column-editor/column-editor.component.d.ts +0 -69
  92. package/lib/builder/components/column-list/column-list.component.d.ts +0 -65
  93. package/lib/builder/components/definition-builder/definition-builder.component.d.ts +0 -58
  94. package/lib/builder/components/table-config-editor/table-config-editor.component.d.ts +0 -32
  95. package/lib/builder/definition-builder.module.d.ts +0 -15
  96. package/lib/builder/models/builder-state.interface.d.ts +0 -93
  97. package/lib/builder/services/definition-builder.service.d.ts +0 -80
  98. package/lib/builder/services/definition-export.service.d.ts +0 -59
  99. package/lib/builder/services/definition-import.service.d.ts +0 -31
  100. package/lib/builder/services/sample-data-generator.service.d.ts +0 -41
  101. package/lib/builder/utils/config-validator.util.d.ts +0 -32
  102. package/lib/builder/utils/typescript-generator.util.d.ts +0 -29
  103. package/lib/editors/index.d.ts +0 -8
  104. package/lib/editors/nile-autocomplete-editor.d.ts +0 -102
  105. package/lib/editors/nile-calendar-editor.d.ts +0 -88
  106. package/lib/editors/nile-date-picker-editor.d.ts +0 -97
  107. package/lib/editors/nile-input-editor.d.ts +0 -67
  108. package/lib/editors/nile-select-editor.d.ts +0 -113
  109. package/lib/factories/column-config.factory.d.ts +0 -73
  110. package/lib/models/autosave-config.interface.d.ts +0 -23
  111. package/lib/models/base-column-config.class.d.ts +0 -115
  112. package/lib/models/cell-strategies.interface.d.ts +0 -188
  113. package/lib/models/cell-types.d.ts +0 -337
  114. package/lib/models/column-action.interface.d.ts +0 -86
  115. package/lib/models/column-config.interface.d.ts +0 -272
  116. package/lib/models/column-config.utils.d.ts +0 -37
  117. package/lib/models/row-action.interface.d.ts +0 -86
  118. package/lib/models/row-validator.interface.d.ts +0 -37
  119. package/lib/models/schema-validation.interface.d.ts +0 -42
  120. package/lib/models/sheet-action.interface.d.ts +0 -59
  121. package/lib/models/sheet-config.interface.d.ts +0 -41
  122. package/lib/models/table-config.interface.d.ts +0 -251
  123. package/lib/models/table-validator.interface.d.ts +0 -40
  124. package/lib/models/workbook-action.interface.d.ts +0 -95
  125. package/lib/models/workbook-config.interface.d.ts +0 -107
  126. package/lib/renderer/components/st-add-column-button/st-add-column-button.component.d.ts +0 -9
  127. package/lib/renderer/components/st-cell/st-cell.component.d.ts +0 -69
  128. package/lib/renderer/components/st-column-editor-modal/st-column-editor-modal.component.d.ts +0 -39
  129. package/lib/renderer/components/st-column-filter/st-column-filter.component.d.ts +0 -139
  130. package/lib/renderer/components/st-column-menu/st-column-menu.component.d.ts +0 -81
  131. package/lib/renderer/components/st-column-visibility/st-column-visibility.component.d.ts +0 -44
  132. package/lib/renderer/components/st-header/st-header.component.d.ts +0 -93
  133. package/lib/renderer/components/st-pagination/st-pagination.component.d.ts +0 -42
  134. package/lib/renderer/components/st-row-actions-dropdown/st-row-actions-dropdown.component.d.ts +0 -67
  135. package/lib/renderer/components/st-sheet/st-sheet.component.d.ts +0 -98
  136. package/lib/renderer/components/st-sheet-actions/st-sheet-actions.component.d.ts +0 -58
  137. package/lib/renderer/components/st-table/st-table.component.d.ts +0 -380
  138. package/lib/renderer/components/st-table-actions/st-table-actions.component.d.ts +0 -77
  139. package/lib/renderer/components/st-workbook/st-workbook.component.d.ts +0 -275
  140. package/lib/renderer/directives/click-outside.directive.d.ts +0 -10
  141. package/lib/renderer/directives/st-column-resize.directive.d.ts +0 -44
  142. package/lib/renderer/directives/st-keyboard-navigation.directive.d.ts +0 -19
  143. package/lib/renderer/models/cell-state.interface.d.ts +0 -118
  144. package/lib/renderer/models/cell.class.d.ts +0 -174
  145. package/lib/renderer/models/row-validation-state.interface.d.ts +0 -27
  146. package/lib/renderer/models/sheet-state.class.d.ts +0 -67
  147. package/lib/renderer/models/sheet-state.interface.d.ts +0 -55
  148. package/lib/renderer/models/table-state.class.d.ts +0 -320
  149. package/lib/renderer/models/table-state.interface.d.ts +0 -18
  150. package/lib/renderer/models/table-types.d.ts +0 -228
  151. package/lib/renderer/models/table-validation-state.interface.d.ts +0 -34
  152. package/lib/renderer/models/workbook-state.class.d.ts +0 -117
  153. package/lib/renderer/models/workbook-state.interface.d.ts +0 -71
  154. package/lib/renderer/models/z-index.enum.d.ts +0 -44
  155. package/lib/schemas/table-config.schema.d.ts +0 -455
  156. package/lib/services/autosave.service.d.ts +0 -73
  157. package/lib/services/custom-validation-rules.util.d.ts +0 -12
  158. package/lib/services/json-schema-validator.service.d.ts +0 -49
  159. package/lib/services/row-validation.service.d.ts +0 -17
  160. package/lib/services/validation-logger.service.d.ts +0 -87
  161. package/lib/services/virtual-scroll.service.d.ts +0 -44
  162. package/lib/shared/shared-table-components.module.d.ts +0 -9
  163. package/lib/smart-table.module.d.ts +0 -26
  164. package/lib/strategies/default-editors.d.ts +0 -109
  165. package/lib/strategies/default-formatters.d.ts +0 -116
  166. package/lib/strategies/default-validators.d.ts +0 -113
  167. package/public-api.d.ts +0 -70
  168. package/src/lib/builder/README.md +0 -30
  169. package/src/lib/editors/README.md +0 -303
  170. package/src/lib/renderer/components/st-column-filter/README.md +0 -286
@@ -1,455 +0,0 @@
1
- /**
2
- * TableConfig JSON Schema
3
- * Exported as TypeScript constant for use in validation service
4
- */
5
- export declare const tableConfigSchema: {
6
- readonly $schema: "http://json-schema.org/draft-07/schema#";
7
- readonly $id: "https://ngx-smart-table.schema/table-config.json";
8
- readonly title: "Smart Table Configuration Schema";
9
- readonly description: "JSON Schema for Smart Table TableConfig";
10
- readonly type: "object";
11
- readonly required: readonly ["columns"];
12
- readonly properties: {
13
- readonly columns: {
14
- readonly type: "array";
15
- readonly minItems: 1;
16
- readonly description: "Array of column definitions";
17
- readonly items: {
18
- readonly $ref: "#/definitions/ColumnConfig";
19
- };
20
- };
21
- readonly pagination: {
22
- readonly $ref: "#/definitions/PaginationConfig";
23
- };
24
- readonly sorting: {
25
- readonly $ref: "#/definitions/SortingConfig";
26
- };
27
- readonly filtering: {
28
- readonly $ref: "#/definitions/FilteringConfig";
29
- };
30
- readonly selection: {
31
- readonly $ref: "#/definitions/SelectionConfig";
32
- };
33
- readonly display: {
34
- readonly $ref: "#/definitions/DisplayConfig";
35
- };
36
- readonly initialState: {
37
- readonly $ref: "#/definitions/InitialStateConfig";
38
- };
39
- readonly features: {
40
- readonly $ref: "#/definitions/FeaturesConfig";
41
- };
42
- };
43
- readonly definitions: {
44
- readonly ColumnConfig: {
45
- readonly type: "object";
46
- readonly required: readonly ["key", "header", "dataType"];
47
- readonly properties: {
48
- readonly key: {
49
- readonly type: "string";
50
- readonly pattern: "^[a-zA-Z_$][a-zA-Z0-9_$]*$";
51
- readonly description: "Unique identifier for the column (must be a valid identifier)";
52
- };
53
- readonly header: {
54
- readonly type: "string";
55
- readonly description: "Display header text for the column";
56
- };
57
- readonly dataType: {
58
- readonly type: "string";
59
- readonly enum: readonly ["string", "number", "boolean", "date", "custom"];
60
- readonly description: "Data type of the column values";
61
- };
62
- readonly editable: {
63
- readonly type: "boolean";
64
- readonly description: "Whether cells in this column are editable";
65
- };
66
- readonly editMode: {
67
- readonly type: "string";
68
- readonly enum: readonly ["click", "manual", "none"];
69
- readonly description: "Edit mode trigger";
70
- };
71
- readonly sortable: {
72
- readonly type: "boolean";
73
- readonly description: "Whether this column is sortable";
74
- };
75
- readonly filterable: {
76
- readonly type: "boolean";
77
- readonly description: "Whether this column is filterable";
78
- };
79
- readonly hideable: {
80
- readonly type: "boolean";
81
- readonly description: "Whether this column's visibility can be toggled by users";
82
- };
83
- readonly movable: {
84
- readonly type: "boolean";
85
- readonly description: "Whether this column can be moved left/right by users";
86
- };
87
- readonly pinnable: {
88
- readonly type: "boolean";
89
- readonly description: "Whether this column can be pinned/unpinned by users";
90
- };
91
- readonly enableMenu: {
92
- readonly type: "boolean";
93
- readonly description: "Whether to show the column menu dropdown for this column";
94
- };
95
- readonly resizable: {
96
- readonly type: "boolean";
97
- readonly description: "Whether this column is resizable";
98
- };
99
- readonly width: {
100
- readonly oneOf: readonly [{
101
- readonly type: "number";
102
- readonly minimum: 1;
103
- }, {
104
- readonly type: "string";
105
- readonly enum: readonly ["auto"];
106
- }];
107
- readonly description: "Column width (px, %, or 'auto')";
108
- };
109
- readonly minWidth: {
110
- readonly type: "number";
111
- readonly minimum: 1;
112
- readonly description: "Minimum column width (px)";
113
- };
114
- readonly maxWidth: {
115
- readonly type: "number";
116
- readonly minimum: 1;
117
- readonly description: "Maximum column width (px)";
118
- };
119
- readonly sticky: {
120
- readonly oneOf: readonly [{
121
- readonly type: "string";
122
- readonly enum: readonly ["left", "right"];
123
- }, {
124
- readonly type: "boolean";
125
- readonly const: false;
126
- }];
127
- readonly description: "Whether this column is sticky (left or right)";
128
- };
129
- readonly showStickyShadow: {
130
- readonly type: "boolean";
131
- readonly description: "Whether to show shadow indicator on sticky columns";
132
- };
133
- readonly alignment: {
134
- readonly type: "string";
135
- readonly enum: readonly ["left", "center", "right"];
136
- readonly description: "Cell content horizontal alignment";
137
- };
138
- readonly verticalAlignment: {
139
- readonly type: "string";
140
- readonly enum: readonly ["top", "middle", "bottom"];
141
- readonly description: "Cell content vertical alignment";
142
- };
143
- readonly truncate: {
144
- readonly type: "boolean";
145
- readonly description: "Whether to truncate overflowing text";
146
- };
147
- readonly tooltip: {
148
- readonly oneOf: readonly [{
149
- readonly type: "string";
150
- }, {
151
- readonly type: "null";
152
- }];
153
- readonly description: "Tooltip configuration (string or function - functions not serializable)";
154
- };
155
- readonly className: {
156
- readonly oneOf: readonly [{
157
- readonly type: "string";
158
- }, {
159
- readonly type: "array";
160
- readonly items: {
161
- readonly type: "string";
162
- };
163
- }, {
164
- readonly type: "null";
165
- }];
166
- readonly description: "CSS class name(s) for cells in this column";
167
- };
168
- readonly style: {
169
- readonly type: "object";
170
- readonly description: "Inline styles for cells in this column (object or function - functions not serializable)";
171
- };
172
- readonly visible: {
173
- readonly type: "boolean";
174
- readonly description: "Whether column is visible";
175
- };
176
- readonly pinned: {
177
- readonly oneOf: readonly [{
178
- readonly type: "string";
179
- readonly enum: readonly ["left", "right"];
180
- }, {
181
- readonly type: "boolean";
182
- readonly const: false;
183
- }];
184
- readonly description: "Whether column is pinned (left, right, or none)";
185
- };
186
- readonly sortPriority: {
187
- readonly type: "number";
188
- readonly description: "Sort order priority (for multi-column sort)";
189
- };
190
- readonly metadata: {
191
- readonly type: "object";
192
- readonly description: "Custom metadata for column";
193
- };
194
- readonly showLoadingIndicator: {
195
- readonly type: "boolean";
196
- readonly description: "Whether cells should show loading indicator during async operations";
197
- };
198
- readonly sortDirection: {
199
- readonly type: "string";
200
- readonly enum: readonly ["none", "asc", "desc"];
201
- readonly description: "Current sort direction (runtime state)";
202
- };
203
- readonly sortEnabled: {
204
- readonly type: "boolean";
205
- readonly description: "Whether sorting is currently active/enabled (runtime state)";
206
- };
207
- readonly filterConfig: {
208
- readonly type: "object";
209
- readonly properties: {
210
- readonly operator: {
211
- readonly type: "string";
212
- readonly enum: readonly ["equals", "contains", "startsWith", "endsWith", "gt", "lt", "gte", "lte", "between", "in"];
213
- readonly description: "Filter operator";
214
- };
215
- readonly value: {
216
- readonly description: "Current filter value (any type)";
217
- };
218
- readonly enabled: {
219
- readonly type: "boolean";
220
- readonly description: "Whether filtering is currently active/enabled";
221
- };
222
- readonly options: {
223
- readonly $ref: "#/definitions/FilterOptions";
224
- readonly description: "Custom filter options for dropdown-based filtering";
225
- };
226
- };
227
- readonly additionalProperties: false;
228
- readonly description: "Filter configuration for this column";
229
- };
230
- readonly stickyOffset: {
231
- readonly type: "number";
232
- readonly minimum: 0;
233
- readonly description: "Calculated offset for sticky positioning (runtime state, auto-calculated)";
234
- };
235
- };
236
- readonly additionalProperties: false;
237
- };
238
- readonly PaginationConfig: {
239
- readonly type: "object";
240
- readonly properties: {
241
- readonly enabled: {
242
- readonly type: "boolean";
243
- readonly description: "Enable pagination";
244
- };
245
- readonly pageSize: {
246
- readonly type: "number";
247
- readonly minimum: 1;
248
- readonly description: "Number of items per page";
249
- };
250
- readonly pageSizeOptions: {
251
- readonly type: "array";
252
- readonly items: {
253
- readonly type: "number";
254
- readonly minimum: 1;
255
- };
256
- readonly minItems: 1;
257
- readonly description: "Available page size options for user selection";
258
- };
259
- readonly showPagination: {
260
- readonly type: "boolean";
261
- readonly description: "Show pagination UI controls";
262
- };
263
- readonly showTopControls: {
264
- readonly type: "boolean";
265
- readonly description: "Show pagination controls at the top of the table";
266
- };
267
- readonly showBottomControls: {
268
- readonly type: "boolean";
269
- readonly description: "Show pagination controls at the bottom of the table";
270
- };
271
- readonly totalItems: {
272
- readonly type: "number";
273
- readonly minimum: 0;
274
- readonly description: "Total number of items available (for server-side pagination)";
275
- };
276
- };
277
- readonly additionalProperties: false;
278
- };
279
- readonly SortingConfig: {
280
- readonly type: "object";
281
- readonly properties: {
282
- readonly enabled: {
283
- readonly type: "boolean";
284
- readonly description: "Enable sorting";
285
- };
286
- readonly multiColumn: {
287
- readonly type: "boolean";
288
- readonly description: "Allow sorting by multiple columns simultaneously";
289
- };
290
- readonly mode: {
291
- readonly type: "string";
292
- readonly enum: readonly ["local", "server"];
293
- readonly description: "Sorting mode - local (client-side) or server (API-based)";
294
- };
295
- };
296
- readonly additionalProperties: false;
297
- };
298
- readonly FilteringConfig: {
299
- readonly type: "object";
300
- readonly properties: {
301
- readonly enabled: {
302
- readonly type: "boolean";
303
- readonly description: "Enable filtering";
304
- };
305
- readonly mode: {
306
- readonly type: "string";
307
- readonly enum: readonly ["local", "server"];
308
- readonly description: "Filtering mode - local (client-side) or server (API-based)";
309
- };
310
- };
311
- readonly additionalProperties: false;
312
- };
313
- readonly SelectionConfig: {
314
- readonly type: "object";
315
- readonly properties: {
316
- readonly enabled: {
317
- readonly type: "boolean";
318
- readonly description: "Enable row selection";
319
- };
320
- readonly mode: {
321
- readonly type: "string";
322
- readonly enum: readonly ["single", "multiple"];
323
- readonly description: "Selection mode - single row or multiple rows";
324
- };
325
- };
326
- readonly additionalProperties: false;
327
- };
328
- readonly DisplayConfig: {
329
- readonly type: "object";
330
- readonly properties: {
331
- readonly stickyHeader: {
332
- readonly type: "boolean";
333
- readonly description: "Make table header sticky on scroll";
334
- };
335
- readonly maxHeight: {
336
- readonly type: "number";
337
- readonly description: "Maximum height of the table in pixels";
338
- };
339
- readonly virtualScroll: {
340
- readonly $ref: "#/definitions/VirtualScrollConfig";
341
- };
342
- };
343
- readonly additionalProperties: false;
344
- };
345
- readonly InitialStateConfig: {
346
- readonly type: "object";
347
- readonly properties: {
348
- readonly page: {
349
- readonly type: "number";
350
- readonly minimum: 0;
351
- readonly description: "Initial page number (0-indexed)";
352
- };
353
- readonly sortBy: {
354
- readonly type: "array";
355
- readonly items: {
356
- readonly type: "object";
357
- readonly required: readonly ["key"];
358
- readonly properties: {
359
- readonly key: {
360
- readonly type: "string";
361
- readonly description: "Column key to sort by";
362
- };
363
- readonly direction: {
364
- readonly type: "string";
365
- readonly enum: readonly ["none", "asc", "desc"];
366
- readonly description: "Sort direction";
367
- };
368
- };
369
- readonly additionalProperties: false;
370
- };
371
- readonly description: "Initial sort configuration";
372
- };
373
- readonly filters: {
374
- readonly type: "array";
375
- readonly items: {
376
- readonly type: "object";
377
- readonly required: readonly ["key", "operator"];
378
- readonly properties: {
379
- readonly key: {
380
- readonly type: "string";
381
- readonly description: "Column key to filter";
382
- };
383
- readonly operator: {
384
- readonly type: "string";
385
- readonly enum: readonly ["equals", "contains", "startsWith", "endsWith", "gt", "lt", "gte", "lte", "between", "in"];
386
- readonly description: "Filter operator";
387
- };
388
- readonly value: {
389
- readonly description: "Filter value (any type)";
390
- };
391
- };
392
- readonly additionalProperties: false;
393
- };
394
- readonly description: "Initial filter configuration";
395
- };
396
- };
397
- readonly additionalProperties: false;
398
- };
399
- readonly FeaturesConfig: {
400
- readonly type: "object";
401
- readonly properties: {
402
- readonly columnManagement: {
403
- readonly type: "object";
404
- readonly properties: {
405
- readonly allowAdd: {
406
- readonly type: "boolean";
407
- readonly description: "Allow users to add new columns dynamically";
408
- readonly default: false;
409
- };
410
- };
411
- readonly additionalProperties: false;
412
- readonly description: "Column management features";
413
- };
414
- readonly keyboardNavigation: {
415
- readonly type: "object";
416
- readonly properties: {
417
- readonly enabled: {
418
- readonly type: "boolean";
419
- readonly description: "Enable Excel-like keyboard navigation with arrow keys";
420
- readonly default: false;
421
- };
422
- };
423
- readonly additionalProperties: false;
424
- readonly description: "Keyboard navigation features";
425
- };
426
- };
427
- readonly additionalProperties: false;
428
- readonly description: "Features configuration for table capabilities";
429
- };
430
- readonly FilterOptions: {
431
- readonly type: "object";
432
- readonly required: readonly ["data", "handler"];
433
- readonly properties: {
434
- readonly data: {
435
- readonly type: "array";
436
- readonly description: "Array of data items to display in the dropdown";
437
- readonly items: {
438
- readonly description: "Data item of any type";
439
- };
440
- };
441
- readonly handler: {
442
- readonly description: "Handler function to transform data items into {label, value} pairs. Type: (item: any) => {label: string, value: any}";
443
- };
444
- readonly multiselect: {
445
- readonly type: "boolean";
446
- readonly description: "Whether to allow multiple selections (default: false)";
447
- readonly default: false;
448
- };
449
- };
450
- readonly additionalProperties: false;
451
- readonly description: "Filter options configuration for custom dropdown filters";
452
- };
453
- };
454
- readonly additionalProperties: false;
455
- };
@@ -1,73 +0,0 @@
1
- import { WorkbookConfig } from '../models/workbook-config.interface';
2
- import { WorkbookStateSnapshot } from '../renderer/models/workbook-state.interface';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Autosave data structure
6
- */
7
- export interface AutosaveData {
8
- workbookConfig: WorkbookConfig;
9
- workbookState: WorkbookStateSnapshot;
10
- sheetsData: Map<string, any[]>;
11
- timestamp: Date;
12
- }
13
- /**
14
- * AutosaveService - In-memory autosave storage
15
- *
16
- * Stores autosave data in memory for workbooks.
17
- * Data is automatically cleared when the component is destroyed or tab is closed.
18
- */
19
- export declare class AutosaveService {
20
- /**
21
- * In-memory storage for autosaved data
22
- */
23
- private autosaveStore;
24
- /**
25
- * Track dirty state per workbook
26
- */
27
- private dirtyState;
28
- /**
29
- * Track last save timestamp per workbook
30
- */
31
- private lastSaveTime;
32
- /**
33
- * Save workbook data to memory
34
- * @param workbookId Unique workbook identifier
35
- * @param data Autosave data to store
36
- */
37
- save(workbookId: string, data: AutosaveData): void;
38
- /**
39
- * Retrieve autosaved data for a workbook
40
- * @param workbookId Unique workbook identifier
41
- * @returns Autosaved data or null if not found
42
- */
43
- get(workbookId: string): AutosaveData | null;
44
- /**
45
- * Check if workbook has unsaved changes
46
- * @param workbookId Unique workbook identifier
47
- * @returns True if workbook has unsaved changes
48
- */
49
- isDirty(workbookId: string): boolean;
50
- /**
51
- * Mark workbook as dirty or clean
52
- * @param workbookId Unique workbook identifier
53
- * @param dirty Dirty state
54
- */
55
- setDirty(workbookId: string, dirty: boolean): void;
56
- /**
57
- * Get last save timestamp for a workbook
58
- * @param workbookId Unique workbook identifier
59
- * @returns Last save timestamp or null
60
- */
61
- getLastSaveTime(workbookId: string): Date | null;
62
- /**
63
- * Clear autosave data for a specific workbook
64
- * @param workbookId Unique workbook identifier
65
- */
66
- clear(workbookId: string): void;
67
- /**
68
- * Clear all autosave data
69
- */
70
- clearAll(): void;
71
- static ɵfac: i0.ɵɵFactoryDeclaration<AutosaveService, never>;
72
- static ɵprov: i0.ɵɵInjectableDeclaration<AutosaveService>;
73
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Custom validation rules utility
3
- * Implements business logic validations that can't be expressed in JSON Schema
4
- */
5
- import { TableConfig } from '../models/table-config.interface';
6
- import { SchemaValidationError } from '../models/schema-validation.interface';
7
- /**
8
- * Validate custom business rules
9
- * @param config Table configuration
10
- * @returns Array of validation errors
11
- */
12
- export declare function validateCustomRules(config: TableConfig): SchemaValidationError[];
@@ -1,49 +0,0 @@
1
- import { ValidationLoggerService } from './validation-logger.service';
2
- import { SchemaValidationResult } from '../models/schema-validation.interface';
3
- import * as i0 from "@angular/core";
4
- export declare class JsonSchemaValidatorService {
5
- private logger;
6
- private ajv;
7
- private validateFn;
8
- private ajvAvailable;
9
- private initialized;
10
- constructor(logger: ValidationLoggerService);
11
- /**
12
- * Ensure ajv is initialized (lazy initialization)
13
- */
14
- private ensureInitialized;
15
- /**
16
- * Initialize ajv validator
17
- */
18
- private initializeAjv;
19
- /**
20
- * Validate JSON data against TableConfig schema
21
- * @param data JSON data to validate
22
- * @param includeCustomRules Whether to include custom business rule validations
23
- * @param enableLogging Whether to log validation errors (default: true)
24
- * @returns Validation result
25
- */
26
- validate(data: any, includeCustomRules?: boolean, enableLogging?: boolean): SchemaValidationResult;
27
- /**
28
- * Validate JSON string
29
- * @param jsonString JSON string to validate
30
- * @param includeCustomRules Whether to include custom business rule validations
31
- * @param enableLogging Whether to log validation errors (default: true)
32
- * @returns Validation result
33
- */
34
- validateJSONString(jsonString: string, includeCustomRules?: boolean, enableLogging?: boolean): SchemaValidationResult;
35
- /**
36
- * Check if ajv is available
37
- */
38
- isAvailable(): boolean;
39
- /**
40
- * Convert JSON path to user-friendly field name
41
- */
42
- private pathToFieldName;
43
- /**
44
- * Format error message from ajv error
45
- */
46
- private formatErrorMessage;
47
- static ɵfac: i0.ɵɵFactoryDeclaration<JsonSchemaValidatorService, never>;
48
- static ɵprov: i0.ɵɵInjectableDeclaration<JsonSchemaValidatorService>;
49
- }
@@ -1,17 +0,0 @@
1
- import { Cell } from '../renderer/models/cell.class';
2
- import { RowValidator, RowValidationResult } from '../models/row-validator.interface';
3
- import { TableValidator, TableValidationResult } from '../models/table-validator.interface';
4
- import { TableConfig } from '../models/table-config.interface';
5
- import * as i0 from "@angular/core";
6
- export declare class RowValidationService {
7
- /**
8
- * Validate a single row
9
- */
10
- validateRow(rowData: any, cells: Cell[], rowIndex: number, validator: RowValidator): RowValidationResult;
11
- /**
12
- * Validate entire table
13
- */
14
- validateTable(rows: any[], config: TableConfig, validator: TableValidator, rowValidationResults?: Map<number, RowValidationResult>): TableValidationResult;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<RowValidationService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<RowValidationService>;
17
- }