@memberjunction/ng-entity-viewer 2.132.0 → 3.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 (42) hide show
  1. package/README.md +317 -124
  2. package/dist/lib/entity-cards/entity-cards.component.js +2 -2
  3. package/dist/lib/entity-cards/entity-cards.component.js.map +1 -1
  4. package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts +793 -0
  5. package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts.map +1 -0
  6. package/dist/lib/entity-data-grid/entity-data-grid.component.js +3781 -0
  7. package/dist/lib/entity-data-grid/entity-data-grid.component.js.map +1 -0
  8. package/dist/lib/entity-data-grid/events/grid-events.d.ts +398 -0
  9. package/dist/lib/entity-data-grid/events/grid-events.d.ts.map +1 -0
  10. package/dist/lib/entity-data-grid/events/grid-events.js +556 -0
  11. package/dist/lib/entity-data-grid/events/grid-events.js.map +1 -0
  12. package/dist/lib/entity-data-grid/models/grid-types.d.ts +437 -0
  13. package/dist/lib/entity-data-grid/models/grid-types.d.ts.map +1 -0
  14. package/dist/lib/entity-data-grid/models/grid-types.js +37 -0
  15. package/dist/lib/entity-data-grid/models/grid-types.js.map +1 -0
  16. package/dist/lib/entity-grid/entity-grid.component.js +1 -1
  17. package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js +2 -2
  18. package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js.map +1 -1
  19. package/dist/lib/entity-viewer/entity-viewer.component.d.ts +136 -2
  20. package/dist/lib/entity-viewer/entity-viewer.component.d.ts.map +1 -1
  21. package/dist/lib/entity-viewer/entity-viewer.component.js +321 -94
  22. package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
  23. package/dist/lib/pagination/pagination.component.js +2 -2
  24. package/dist/lib/pagination/pagination.component.js.map +1 -1
  25. package/dist/lib/pill/pill.component.js +2 -2
  26. package/dist/lib/pill/pill.component.js.map +1 -1
  27. package/dist/lib/types.d.ts +14 -31
  28. package/dist/lib/types.d.ts.map +1 -1
  29. package/dist/lib/types.js.map +1 -1
  30. package/dist/lib/view-config-panel/view-config-panel.component.d.ts +363 -0
  31. package/dist/lib/view-config-panel/view-config-panel.component.d.ts.map +1 -0
  32. package/dist/lib/view-config-panel/view-config-panel.component.js +2006 -0
  33. package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -0
  34. package/dist/module.d.ts +16 -13
  35. package/dist/module.d.ts.map +1 -1
  36. package/dist/module.js +25 -15
  37. package/dist/module.js.map +1 -1
  38. package/dist/public-api.d.ts +4 -1
  39. package/dist/public-api.d.ts.map +1 -1
  40. package/dist/public-api.js +6 -1
  41. package/dist/public-api.js.map +1 -1
  42. package/package.json +15 -11
@@ -0,0 +1,556 @@
1
+ // ========================================
2
+ // Base Event Classes
3
+ // ========================================
4
+ /**
5
+ * Base class for all grid events
6
+ */
7
+ export class GridEventArgs {
8
+ /** The grid component that raised the event */
9
+ grid;
10
+ /** Timestamp when event was raised */
11
+ timestamp;
12
+ constructor(grid) {
13
+ this.grid = grid;
14
+ this.timestamp = new Date();
15
+ }
16
+ }
17
+ /**
18
+ * Base class for cancelable events (Before events)
19
+ */
20
+ export class CancelableGridEventArgs extends GridEventArgs {
21
+ /** Set to true to cancel the operation */
22
+ cancel = false;
23
+ /** Optional reason for cancellation (for logging/debugging) */
24
+ cancelReason;
25
+ constructor(grid) {
26
+ super(grid);
27
+ }
28
+ }
29
+ /**
30
+ * Base class for row-related events
31
+ */
32
+ export class RowEventArgs extends GridEventArgs {
33
+ /** The row data (entity) */
34
+ row;
35
+ /** The row index in the current view */
36
+ rowIndex;
37
+ /** The row key (ID) */
38
+ rowKey;
39
+ constructor(grid, row, rowIndex, rowKey) {
40
+ super(grid);
41
+ this.row = row;
42
+ this.rowIndex = rowIndex;
43
+ this.rowKey = rowKey;
44
+ }
45
+ }
46
+ /**
47
+ * Base class for cancelable row events
48
+ */
49
+ export class CancelableRowEventArgs extends RowEventArgs {
50
+ /** Set to true to cancel the operation */
51
+ cancel = false;
52
+ /** Optional reason for cancellation */
53
+ cancelReason;
54
+ constructor(grid, row, rowIndex, rowKey) {
55
+ super(grid, row, rowIndex, rowKey);
56
+ }
57
+ }
58
+ // ========================================
59
+ // Row Selection Events
60
+ // ========================================
61
+ /**
62
+ * Fired before a row is selected - can be canceled
63
+ */
64
+ export class BeforeRowSelectEventArgs extends CancelableRowEventArgs {
65
+ /** Whether this is adding to selection (multi-select) or replacing */
66
+ isAdditive;
67
+ /** Current selection before this change */
68
+ currentSelection;
69
+ constructor(grid, row, rowIndex, rowKey, isAdditive, currentSelection) {
70
+ super(grid, row, rowIndex, rowKey);
71
+ this.isAdditive = isAdditive;
72
+ this.currentSelection = [...currentSelection];
73
+ }
74
+ }
75
+ /**
76
+ * Fired after a row is selected
77
+ */
78
+ export class AfterRowSelectEventArgs extends RowEventArgs {
79
+ /** Whether this was additive selection */
80
+ wasAdditive;
81
+ /** New selection state */
82
+ newSelection;
83
+ /** Previous selection state */
84
+ previousSelection;
85
+ constructor(grid, row, rowIndex, rowKey, wasAdditive, newSelection, previousSelection) {
86
+ super(grid, row, rowIndex, rowKey);
87
+ this.wasAdditive = wasAdditive;
88
+ this.newSelection = [...newSelection];
89
+ this.previousSelection = [...previousSelection];
90
+ }
91
+ }
92
+ /**
93
+ * Fired before a row is deselected - can be canceled
94
+ */
95
+ export class BeforeRowDeselectEventArgs extends CancelableRowEventArgs {
96
+ /** Current selection before this change */
97
+ currentSelection;
98
+ constructor(grid, row, rowIndex, rowKey, currentSelection) {
99
+ super(grid, row, rowIndex, rowKey);
100
+ this.currentSelection = [...currentSelection];
101
+ }
102
+ }
103
+ /**
104
+ * Fired after a row is deselected
105
+ */
106
+ export class AfterRowDeselectEventArgs extends RowEventArgs {
107
+ /** New selection state */
108
+ newSelection;
109
+ /** Previous selection state */
110
+ previousSelection;
111
+ constructor(grid, row, rowIndex, rowKey, newSelection, previousSelection) {
112
+ super(grid, row, rowIndex, rowKey);
113
+ this.newSelection = [...newSelection];
114
+ this.previousSelection = [...previousSelection];
115
+ }
116
+ }
117
+ // ========================================
118
+ // Row Click Events
119
+ // ========================================
120
+ /**
121
+ * Fired before a row click is processed - can be canceled
122
+ */
123
+ export class BeforeRowClickEventArgs extends CancelableRowEventArgs {
124
+ /** The mouse event */
125
+ mouseEvent;
126
+ /** The column that was clicked (if any) */
127
+ column;
128
+ /** The cell value that was clicked (if any) */
129
+ cellValue;
130
+ constructor(grid, row, rowIndex, rowKey, mouseEvent, column, cellValue) {
131
+ super(grid, row, rowIndex, rowKey);
132
+ this.mouseEvent = mouseEvent;
133
+ this.column = column;
134
+ this.cellValue = cellValue;
135
+ }
136
+ }
137
+ /**
138
+ * Fired after a row click
139
+ */
140
+ export class AfterRowClickEventArgs extends RowEventArgs {
141
+ /** The mouse event */
142
+ mouseEvent;
143
+ /** The column that was clicked (if any) */
144
+ column;
145
+ /** The cell value that was clicked (if any) */
146
+ cellValue;
147
+ constructor(grid, row, rowIndex, rowKey, mouseEvent, column, cellValue) {
148
+ super(grid, row, rowIndex, rowKey);
149
+ this.mouseEvent = mouseEvent;
150
+ this.column = column;
151
+ this.cellValue = cellValue;
152
+ }
153
+ }
154
+ /**
155
+ * Fired before a row double-click - can be canceled
156
+ */
157
+ export class BeforeRowDoubleClickEventArgs extends CancelableRowEventArgs {
158
+ /** The mouse event */
159
+ mouseEvent;
160
+ /** The column that was clicked (if any) */
161
+ column;
162
+ /** The cell value that was clicked (if any) */
163
+ cellValue;
164
+ constructor(grid, row, rowIndex, rowKey, mouseEvent, column, cellValue) {
165
+ super(grid, row, rowIndex, rowKey);
166
+ this.mouseEvent = mouseEvent;
167
+ this.column = column;
168
+ this.cellValue = cellValue;
169
+ }
170
+ }
171
+ /**
172
+ * Fired after a row double-click
173
+ */
174
+ export class AfterRowDoubleClickEventArgs extends RowEventArgs {
175
+ /** The mouse event */
176
+ mouseEvent;
177
+ /** The column that was clicked (if any) */
178
+ column;
179
+ /** The cell value that was clicked (if any) */
180
+ cellValue;
181
+ constructor(grid, row, rowIndex, rowKey, mouseEvent, column, cellValue) {
182
+ super(grid, row, rowIndex, rowKey);
183
+ this.mouseEvent = mouseEvent;
184
+ this.column = column;
185
+ this.cellValue = cellValue;
186
+ }
187
+ }
188
+ // ========================================
189
+ // Cell Editing Events
190
+ // ========================================
191
+ /**
192
+ * Fired before cell edit begins - can be canceled
193
+ */
194
+ export class BeforeCellEditEventArgs extends CancelableRowEventArgs {
195
+ /** The column being edited */
196
+ column;
197
+ /** Current value in the cell */
198
+ currentValue;
199
+ constructor(grid, row, rowIndex, rowKey, column, currentValue) {
200
+ super(grid, row, rowIndex, rowKey);
201
+ this.column = column;
202
+ this.currentValue = currentValue;
203
+ }
204
+ }
205
+ /**
206
+ * Fired after cell edit begins
207
+ */
208
+ export class AfterCellEditBeginEventArgs extends RowEventArgs {
209
+ /** The column being edited */
210
+ column;
211
+ /** Current value in the cell */
212
+ currentValue;
213
+ constructor(grid, row, rowIndex, rowKey, column, currentValue) {
214
+ super(grid, row, rowIndex, rowKey);
215
+ this.column = column;
216
+ this.currentValue = currentValue;
217
+ }
218
+ }
219
+ /**
220
+ * Fired before cell edit is committed - can be canceled or value modified
221
+ */
222
+ export class BeforeCellEditCommitEventArgs extends CancelableRowEventArgs {
223
+ /** The column being edited */
224
+ column;
225
+ /** Original value before edit */
226
+ oldValue;
227
+ /** New value being committed */
228
+ newValue;
229
+ /** Set to modify the value before committing */
230
+ modifiedValue;
231
+ constructor(grid, row, rowIndex, rowKey, column, oldValue, newValue) {
232
+ super(grid, row, rowIndex, rowKey);
233
+ this.column = column;
234
+ this.oldValue = oldValue;
235
+ this.newValue = newValue;
236
+ }
237
+ }
238
+ /**
239
+ * Fired after cell edit is committed
240
+ */
241
+ export class AfterCellEditCommitEventArgs extends RowEventArgs {
242
+ /** The column that was edited */
243
+ column;
244
+ /** Original value before edit */
245
+ oldValue;
246
+ /** New value that was committed */
247
+ newValue;
248
+ constructor(grid, row, rowIndex, rowKey, column, oldValue, newValue) {
249
+ super(grid, row, rowIndex, rowKey);
250
+ this.column = column;
251
+ this.oldValue = oldValue;
252
+ this.newValue = newValue;
253
+ }
254
+ }
255
+ /**
256
+ * Fired before cell edit is canceled - can be canceled (forcing commit instead)
257
+ */
258
+ export class BeforeCellEditCancelEventArgs extends CancelableRowEventArgs {
259
+ /** The column being edited */
260
+ column;
261
+ /** Original value */
262
+ originalValue;
263
+ /** The edited value that would be discarded */
264
+ editedValue;
265
+ constructor(grid, row, rowIndex, rowKey, column, originalValue, editedValue) {
266
+ super(grid, row, rowIndex, rowKey);
267
+ this.column = column;
268
+ this.originalValue = originalValue;
269
+ this.editedValue = editedValue;
270
+ }
271
+ }
272
+ /**
273
+ * Fired after cell edit is canceled
274
+ */
275
+ export class AfterCellEditCancelEventArgs extends RowEventArgs {
276
+ /** The column that was being edited */
277
+ column;
278
+ /** Original value that was restored */
279
+ originalValue;
280
+ /** The edited value that was discarded */
281
+ editedValue;
282
+ constructor(grid, row, rowIndex, rowKey, column, originalValue, editedValue) {
283
+ super(grid, row, rowIndex, rowKey);
284
+ this.column = column;
285
+ this.originalValue = originalValue;
286
+ this.editedValue = editedValue;
287
+ }
288
+ }
289
+ // ========================================
290
+ // Row Save/Delete Events
291
+ // ========================================
292
+ /**
293
+ * Fired before row save - can be canceled or values modified
294
+ */
295
+ export class BeforeRowSaveEventArgs extends CancelableRowEventArgs {
296
+ /** The changes being saved */
297
+ changes;
298
+ /** Set to modify values before saving */
299
+ modifiedValues;
300
+ constructor(grid, row, rowIndex, rowKey, changes) {
301
+ super(grid, row, rowIndex, rowKey);
302
+ this.changes = { ...changes };
303
+ }
304
+ }
305
+ /**
306
+ * Fired after row save
307
+ */
308
+ export class AfterRowSaveEventArgs extends RowEventArgs {
309
+ /** The changes that were saved */
310
+ changes;
311
+ /** Whether the save was successful */
312
+ success;
313
+ /** Error message if save failed */
314
+ error;
315
+ constructor(grid, row, rowIndex, rowKey, changes, success, error) {
316
+ super(grid, row, rowIndex, rowKey);
317
+ this.changes = { ...changes };
318
+ this.success = success;
319
+ this.error = error;
320
+ }
321
+ }
322
+ /**
323
+ * Fired before row delete - can be canceled
324
+ */
325
+ export class BeforeRowDeleteEventArgs extends CancelableRowEventArgs {
326
+ /** Whether this is part of a batch delete */
327
+ isBatch;
328
+ constructor(grid, row, rowIndex, rowKey, isBatch) {
329
+ super(grid, row, rowIndex, rowKey);
330
+ this.isBatch = isBatch;
331
+ }
332
+ }
333
+ /**
334
+ * Fired after row delete
335
+ */
336
+ export class AfterRowDeleteEventArgs extends RowEventArgs {
337
+ /** Whether the delete was successful */
338
+ success;
339
+ /** Error message if delete failed */
340
+ error;
341
+ constructor(grid, row, rowIndex, rowKey, success, error) {
342
+ super(grid, row, rowIndex, rowKey);
343
+ this.success = success;
344
+ this.error = error;
345
+ }
346
+ }
347
+ // ========================================
348
+ // Data Loading Events
349
+ // ========================================
350
+ /**
351
+ * Fired before data load - can be canceled or params modified
352
+ */
353
+ export class BeforeDataLoadEventArgs extends CancelableGridEventArgs {
354
+ /** The RunView parameters that will be used */
355
+ params;
356
+ /** Set to modify the parameters before loading */
357
+ modifiedParams;
358
+ constructor(grid, params) {
359
+ super(grid);
360
+ this.params = { ...params };
361
+ }
362
+ }
363
+ /**
364
+ * Fired after data load
365
+ */
366
+ export class AfterDataLoadEventArgs extends GridEventArgs {
367
+ /** The RunView parameters that were used */
368
+ params;
369
+ /** Whether the load was successful */
370
+ success;
371
+ /** Total number of rows matching the query */
372
+ totalRowCount;
373
+ /** Number of rows actually loaded (may be limited by maxRows) */
374
+ loadedRowCount;
375
+ /** Time taken to load in milliseconds */
376
+ loadTimeMs;
377
+ /** Error message if load failed */
378
+ error;
379
+ constructor(grid, params, success, totalRowCount, loadedRowCount, loadTimeMs, error) {
380
+ super(grid);
381
+ this.params = { ...params };
382
+ this.success = success;
383
+ this.totalRowCount = totalRowCount;
384
+ this.loadedRowCount = loadedRowCount;
385
+ this.loadTimeMs = loadTimeMs;
386
+ this.error = error;
387
+ }
388
+ }
389
+ /**
390
+ * Fired before data refresh (reload) - can be canceled
391
+ */
392
+ export class BeforeDataRefreshEventArgs extends CancelableGridEventArgs {
393
+ /** Whether this is an auto-refresh from parameter changes */
394
+ isAutoRefresh;
395
+ constructor(grid, isAutoRefresh) {
396
+ super(grid);
397
+ this.isAutoRefresh = isAutoRefresh;
398
+ }
399
+ }
400
+ /**
401
+ * Fired after data refresh
402
+ */
403
+ export class AfterDataRefreshEventArgs extends GridEventArgs {
404
+ /** Whether the refresh was successful */
405
+ success;
406
+ /** Total number of rows after refresh */
407
+ totalRowCount;
408
+ /** Time taken to refresh in milliseconds */
409
+ loadTimeMs;
410
+ constructor(grid, success, totalRowCount, loadTimeMs) {
411
+ super(grid);
412
+ this.success = success;
413
+ this.totalRowCount = totalRowCount;
414
+ this.loadTimeMs = loadTimeMs;
415
+ }
416
+ }
417
+ // ========================================
418
+ // Sorting Events
419
+ // ========================================
420
+ /**
421
+ * Fired before sort - can be canceled
422
+ */
423
+ export class BeforeSortEventArgs extends CancelableGridEventArgs {
424
+ /** The column being sorted */
425
+ column;
426
+ /** The new sort direction */
427
+ direction;
428
+ /** Whether this is a multi-sort operation (shift+click) */
429
+ isMultiSort;
430
+ /** Current sort state before change */
431
+ currentSortState;
432
+ constructor(grid, column, direction, isMultiSort, currentSortState) {
433
+ super(grid);
434
+ this.column = column;
435
+ this.direction = direction;
436
+ this.isMultiSort = isMultiSort;
437
+ this.currentSortState = [...currentSortState];
438
+ }
439
+ }
440
+ /**
441
+ * Fired after sort
442
+ */
443
+ export class AfterSortEventArgs extends GridEventArgs {
444
+ /** The column that was sorted */
445
+ column;
446
+ /** The new sort direction */
447
+ direction;
448
+ /** New sort state */
449
+ newSortState;
450
+ constructor(grid, column, direction, newSortState) {
451
+ super(grid);
452
+ this.column = column;
453
+ this.direction = direction;
454
+ this.newSortState = [...newSortState];
455
+ }
456
+ }
457
+ // ========================================
458
+ // Column Events
459
+ // ========================================
460
+ /**
461
+ * Fired before column reorder - can be canceled
462
+ */
463
+ export class BeforeColumnReorderEventArgs extends CancelableGridEventArgs {
464
+ /** The column being moved */
465
+ column;
466
+ /** Original index */
467
+ fromIndex;
468
+ /** Target index */
469
+ toIndex;
470
+ constructor(grid, column, fromIndex, toIndex) {
471
+ super(grid);
472
+ this.column = column;
473
+ this.fromIndex = fromIndex;
474
+ this.toIndex = toIndex;
475
+ }
476
+ }
477
+ /**
478
+ * Fired after column reorder
479
+ */
480
+ export class AfterColumnReorderEventArgs extends GridEventArgs {
481
+ /** The column that was moved */
482
+ column;
483
+ /** Original index */
484
+ fromIndex;
485
+ /** New index */
486
+ toIndex;
487
+ constructor(grid, column, fromIndex, toIndex) {
488
+ super(grid);
489
+ this.column = column;
490
+ this.fromIndex = fromIndex;
491
+ this.toIndex = toIndex;
492
+ }
493
+ }
494
+ /**
495
+ * Fired before column resize - can be canceled
496
+ */
497
+ export class BeforeColumnResizeEventArgs extends CancelableGridEventArgs {
498
+ /** The column being resized */
499
+ column;
500
+ /** Original width */
501
+ oldWidth;
502
+ /** New width */
503
+ newWidth;
504
+ constructor(grid, column, oldWidth, newWidth) {
505
+ super(grid);
506
+ this.column = column;
507
+ this.oldWidth = oldWidth;
508
+ this.newWidth = newWidth;
509
+ }
510
+ }
511
+ /**
512
+ * Fired after column resize
513
+ */
514
+ export class AfterColumnResizeEventArgs extends GridEventArgs {
515
+ /** The column that was resized */
516
+ column;
517
+ /** Original width */
518
+ oldWidth;
519
+ /** New width */
520
+ newWidth;
521
+ constructor(grid, column, oldWidth, newWidth) {
522
+ super(grid);
523
+ this.column = column;
524
+ this.oldWidth = oldWidth;
525
+ this.newWidth = newWidth;
526
+ }
527
+ }
528
+ /**
529
+ * Fired before column visibility change - can be canceled
530
+ */
531
+ export class BeforeColumnVisibilityChangeEventArgs extends CancelableGridEventArgs {
532
+ /** The column being shown/hidden */
533
+ column;
534
+ /** New visibility state */
535
+ newVisibility;
536
+ constructor(grid, column, newVisibility) {
537
+ super(grid);
538
+ this.column = column;
539
+ this.newVisibility = newVisibility;
540
+ }
541
+ }
542
+ /**
543
+ * Fired after column visibility change
544
+ */
545
+ export class AfterColumnVisibilityChangeEventArgs extends GridEventArgs {
546
+ /** The column that was shown/hidden */
547
+ column;
548
+ /** New visibility state */
549
+ newVisibility;
550
+ constructor(grid, column, newVisibility) {
551
+ super(grid);
552
+ this.column = column;
553
+ this.newVisibility = newVisibility;
554
+ }
555
+ }
556
+ //# sourceMappingURL=grid-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-events.js","sourceRoot":"","sources":["../../../../src/lib/entity-data-grid/events/grid-events.ts"],"names":[],"mappings":"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"}