@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.
- package/README.md +317 -124
- package/dist/lib/entity-cards/entity-cards.component.js +2 -2
- package/dist/lib/entity-cards/entity-cards.component.js.map +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts +793 -0
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts.map +1 -0
- package/dist/lib/entity-data-grid/entity-data-grid.component.js +3781 -0
- package/dist/lib/entity-data-grid/entity-data-grid.component.js.map +1 -0
- package/dist/lib/entity-data-grid/events/grid-events.d.ts +398 -0
- package/dist/lib/entity-data-grid/events/grid-events.d.ts.map +1 -0
- package/dist/lib/entity-data-grid/events/grid-events.js +556 -0
- package/dist/lib/entity-data-grid/events/grid-events.js.map +1 -0
- package/dist/lib/entity-data-grid/models/grid-types.d.ts +437 -0
- package/dist/lib/entity-data-grid/models/grid-types.d.ts.map +1 -0
- package/dist/lib/entity-data-grid/models/grid-types.js +37 -0
- package/dist/lib/entity-data-grid/models/grid-types.js.map +1 -0
- package/dist/lib/entity-grid/entity-grid.component.js +1 -1
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js +2 -2
- package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts +136 -2
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.js +321 -94
- package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
- package/dist/lib/pagination/pagination.component.js +2 -2
- package/dist/lib/pagination/pagination.component.js.map +1 -1
- package/dist/lib/pill/pill.component.js +2 -2
- package/dist/lib/pill/pill.component.js.map +1 -1
- package/dist/lib/types.d.ts +14 -31
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts +363 -0
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts.map +1 -0
- package/dist/lib/view-config-panel/view-config-panel.component.js +2006 -0
- package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -0
- package/dist/module.d.ts +16 -13
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +25 -15
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +4 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +6 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +15 -11
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
|
|
3
|
+
import { UserViewEntityExtended, ViewGridState, ColumnFormat, ColumnTextStyle } from '@memberjunction/core-entities';
|
|
4
|
+
import { CompositeFilterDescriptor, FilterFieldInfo } from '@memberjunction/ng-filter-builder';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Column configuration for the view (internal use)
|
|
8
|
+
*/
|
|
9
|
+
export interface ColumnConfig {
|
|
10
|
+
fieldId: string;
|
|
11
|
+
fieldName: string;
|
|
12
|
+
/** Original display name from entity metadata */
|
|
13
|
+
displayName: string;
|
|
14
|
+
/** User-defined custom display name (overrides displayName when set) */
|
|
15
|
+
userDisplayName?: string;
|
|
16
|
+
visible: boolean;
|
|
17
|
+
width: number | null;
|
|
18
|
+
orderIndex: number;
|
|
19
|
+
field: EntityFieldInfo;
|
|
20
|
+
/** Column formatting configuration */
|
|
21
|
+
format?: ColumnFormat;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Event emitted when saving the view
|
|
25
|
+
*/
|
|
26
|
+
export interface ViewSaveEvent {
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
isShared: boolean;
|
|
30
|
+
saveAsNew: boolean;
|
|
31
|
+
columns: ColumnConfig[];
|
|
32
|
+
sortField: string | null;
|
|
33
|
+
sortDirection: 'asc' | 'desc';
|
|
34
|
+
smartFilterEnabled: boolean;
|
|
35
|
+
smartFilterPrompt: string;
|
|
36
|
+
/** Traditional filter state in Kendo-compatible JSON format */
|
|
37
|
+
filterState: CompositeFilterDescriptor | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* ViewConfigPanelComponent - Sliding panel for configuring view settings
|
|
41
|
+
*
|
|
42
|
+
* Features:
|
|
43
|
+
* - Column visibility and ordering with drag-drop
|
|
44
|
+
* - Column formatting (number, currency, date, etc.)
|
|
45
|
+
* - Sort configuration
|
|
46
|
+
* - View name and description editing
|
|
47
|
+
* - Share settings
|
|
48
|
+
* - Save / Save As New / Cancel actions
|
|
49
|
+
*/
|
|
50
|
+
export declare class ViewConfigPanelComponent implements OnInit, OnChanges {
|
|
51
|
+
private cdr;
|
|
52
|
+
/**
|
|
53
|
+
* The entity being viewed
|
|
54
|
+
*/
|
|
55
|
+
entity: EntityInfo | null;
|
|
56
|
+
/**
|
|
57
|
+
* The current view entity (null for default view)
|
|
58
|
+
*/
|
|
59
|
+
viewEntity: UserViewEntityExtended | null;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the panel is open
|
|
62
|
+
*/
|
|
63
|
+
isOpen: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Current grid state from the grid (includes live column widths/order from user interaction)
|
|
66
|
+
* This takes precedence over viewEntity.Columns for showing current state
|
|
67
|
+
*/
|
|
68
|
+
currentGridState: ViewGridState | null;
|
|
69
|
+
/**
|
|
70
|
+
* Sample data for column format preview (first few records)
|
|
71
|
+
*/
|
|
72
|
+
sampleData: Record<string, unknown>[];
|
|
73
|
+
/**
|
|
74
|
+
* Emitted when the panel should close
|
|
75
|
+
*/
|
|
76
|
+
close: EventEmitter<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Emitted when the view should be saved
|
|
79
|
+
*/
|
|
80
|
+
save: EventEmitter<ViewSaveEvent>;
|
|
81
|
+
/**
|
|
82
|
+
* Emitted when default view settings should be saved to user settings
|
|
83
|
+
* (Used for dynamic/default views that persist to MJ: User Settings)
|
|
84
|
+
*/
|
|
85
|
+
saveDefaults: EventEmitter<ViewSaveEvent>;
|
|
86
|
+
/**
|
|
87
|
+
* Emitted when the view should be deleted
|
|
88
|
+
*/
|
|
89
|
+
delete: EventEmitter<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Emitted when filter dialog should be opened (at dashboard level for full width)
|
|
92
|
+
*/
|
|
93
|
+
openFilterDialogRequest: EventEmitter<{
|
|
94
|
+
filterState: CompositeFilterDescriptor;
|
|
95
|
+
filterFields: FilterFieldInfo[];
|
|
96
|
+
}>;
|
|
97
|
+
/**
|
|
98
|
+
* Filter state from external dialog (set by parent after dialog closes)
|
|
99
|
+
*/
|
|
100
|
+
externalFilterState: CompositeFilterDescriptor | null;
|
|
101
|
+
viewName: string;
|
|
102
|
+
viewDescription: string;
|
|
103
|
+
isShared: boolean;
|
|
104
|
+
columns: ColumnConfig[];
|
|
105
|
+
sortField: string | null;
|
|
106
|
+
sortDirection: 'asc' | 'desc';
|
|
107
|
+
smartFilterEnabled: boolean;
|
|
108
|
+
smartFilterPrompt: string;
|
|
109
|
+
smartFilterExplanation: string;
|
|
110
|
+
filterState: CompositeFilterDescriptor;
|
|
111
|
+
filterFields: FilterFieldInfo[];
|
|
112
|
+
filterMode: 'smart' | 'traditional';
|
|
113
|
+
activeTab: 'columns' | 'filters' | 'settings';
|
|
114
|
+
isSaving: boolean;
|
|
115
|
+
columnSearchText: string;
|
|
116
|
+
draggedColumn: ColumnConfig | null;
|
|
117
|
+
dropTargetColumn: ColumnConfig | null;
|
|
118
|
+
dropPosition: 'before' | 'after' | null;
|
|
119
|
+
formatEditingColumn: ColumnConfig | null;
|
|
120
|
+
isResizing: boolean;
|
|
121
|
+
panelWidth: number;
|
|
122
|
+
private readonly MIN_PANEL_WIDTH;
|
|
123
|
+
private readonly MAX_PANEL_WIDTH;
|
|
124
|
+
private readonly DEFAULT_PANEL_WIDTH;
|
|
125
|
+
private resizeStartX;
|
|
126
|
+
private resizeStartWidth;
|
|
127
|
+
private metadata;
|
|
128
|
+
constructor(cdr: ChangeDetectorRef);
|
|
129
|
+
/**
|
|
130
|
+
* Handle keyboard shortcuts
|
|
131
|
+
* Escape: Close the panel or format sub-panel
|
|
132
|
+
*/
|
|
133
|
+
handleEscape(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Start resizing the panel
|
|
136
|
+
*/
|
|
137
|
+
onResizeStart(event: MouseEvent): void;
|
|
138
|
+
/**
|
|
139
|
+
* Handle resize movement (bound to document)
|
|
140
|
+
*/
|
|
141
|
+
private onResizeMove;
|
|
142
|
+
/**
|
|
143
|
+
* End resizing the panel (bound to document)
|
|
144
|
+
*/
|
|
145
|
+
private onResizeEnd;
|
|
146
|
+
ngOnInit(): void;
|
|
147
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
148
|
+
/**
|
|
149
|
+
* Initialize form state from entity and view
|
|
150
|
+
* Priority for column state: currentGridState > viewEntity.Columns > entity defaults
|
|
151
|
+
*/
|
|
152
|
+
private initializeFromEntity;
|
|
153
|
+
/**
|
|
154
|
+
* Build filter fields from entity fields (including __mj_ fields for filtering by timestamps)
|
|
155
|
+
*/
|
|
156
|
+
private buildFilterFields;
|
|
157
|
+
/**
|
|
158
|
+
* Map entity field type to filter field type
|
|
159
|
+
*/
|
|
160
|
+
private mapFieldType;
|
|
161
|
+
/**
|
|
162
|
+
* Parse the filter state from JSON string
|
|
163
|
+
*/
|
|
164
|
+
private parseFilterState;
|
|
165
|
+
/**
|
|
166
|
+
* Handle filter state change from filter builder
|
|
167
|
+
*/
|
|
168
|
+
onFilterChange(filter: CompositeFilterDescriptor): void;
|
|
169
|
+
/**
|
|
170
|
+
* Open the filter dialog - emits event to parent (dashboard) which renders the dialog at viewport level
|
|
171
|
+
*/
|
|
172
|
+
openFilterDialog(): void;
|
|
173
|
+
/**
|
|
174
|
+
* Get the count of active filter rules
|
|
175
|
+
*/
|
|
176
|
+
getFilterCount(): number;
|
|
177
|
+
/**
|
|
178
|
+
* Count filters recursively
|
|
179
|
+
*/
|
|
180
|
+
private countFilters;
|
|
181
|
+
/**
|
|
182
|
+
* Get a human-readable summary of the filter state
|
|
183
|
+
*/
|
|
184
|
+
getFilterSummary(): string;
|
|
185
|
+
/**
|
|
186
|
+
* Clear all filters
|
|
187
|
+
*/
|
|
188
|
+
clearFilters(): void;
|
|
189
|
+
/**
|
|
190
|
+
* Apply grid state column settings to the columns array
|
|
191
|
+
*/
|
|
192
|
+
private applyGridStateToColumns;
|
|
193
|
+
/**
|
|
194
|
+
* Get visible columns
|
|
195
|
+
*/
|
|
196
|
+
get visibleColumns(): ColumnConfig[];
|
|
197
|
+
/**
|
|
198
|
+
* Get hidden columns
|
|
199
|
+
*/
|
|
200
|
+
get hiddenColumns(): ColumnConfig[];
|
|
201
|
+
/**
|
|
202
|
+
* Get filtered columns for search
|
|
203
|
+
*/
|
|
204
|
+
get filteredHiddenColumns(): ColumnConfig[];
|
|
205
|
+
/**
|
|
206
|
+
* Get sortable fields for dropdown (including __mj_ fields for sorting by timestamps)
|
|
207
|
+
*/
|
|
208
|
+
get sortableFields(): EntityFieldInfo[];
|
|
209
|
+
/**
|
|
210
|
+
* Check if the current user can edit the view
|
|
211
|
+
*/
|
|
212
|
+
get canEdit(): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Check if the current user can delete the view
|
|
215
|
+
*/
|
|
216
|
+
get canDelete(): boolean;
|
|
217
|
+
/**
|
|
218
|
+
* Toggle column visibility
|
|
219
|
+
*/
|
|
220
|
+
toggleColumnVisibility(column: ColumnConfig): void;
|
|
221
|
+
/**
|
|
222
|
+
* Move column up in order
|
|
223
|
+
*/
|
|
224
|
+
moveColumnUp(column: ColumnConfig): void;
|
|
225
|
+
/**
|
|
226
|
+
* Move column down in order
|
|
227
|
+
*/
|
|
228
|
+
moveColumnDown(column: ColumnConfig): void;
|
|
229
|
+
/**
|
|
230
|
+
* Handle drag start for column reordering
|
|
231
|
+
*/
|
|
232
|
+
onDragStart(event: DragEvent, column: ColumnConfig): void;
|
|
233
|
+
/**
|
|
234
|
+
* Handle drag over for column reordering - determines drop position
|
|
235
|
+
*/
|
|
236
|
+
onDragOver(event: DragEvent, column: ColumnConfig): void;
|
|
237
|
+
/**
|
|
238
|
+
* Handle drag leave - clear drop indicator
|
|
239
|
+
*/
|
|
240
|
+
onDragLeave(event: DragEvent): void;
|
|
241
|
+
/**
|
|
242
|
+
* Handle drop for column reordering
|
|
243
|
+
*/
|
|
244
|
+
onDrop(event: DragEvent, targetColumn: ColumnConfig): void;
|
|
245
|
+
/**
|
|
246
|
+
* Handle drag end
|
|
247
|
+
*/
|
|
248
|
+
onDragEnd(event: DragEvent): void;
|
|
249
|
+
/**
|
|
250
|
+
* Clear all drag state
|
|
251
|
+
*/
|
|
252
|
+
private clearDragState;
|
|
253
|
+
/**
|
|
254
|
+
* Reorder a column to a new position
|
|
255
|
+
*/
|
|
256
|
+
private reorderColumn;
|
|
257
|
+
/**
|
|
258
|
+
* Check if drop indicator should show before a column
|
|
259
|
+
*/
|
|
260
|
+
isDropBefore(column: ColumnConfig): boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Check if drop indicator should show after a column
|
|
263
|
+
*/
|
|
264
|
+
isDropAfter(column: ColumnConfig): boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Open the format editor for a column
|
|
267
|
+
*/
|
|
268
|
+
openFormatEditor(column: ColumnConfig): void;
|
|
269
|
+
/**
|
|
270
|
+
* Close the format editor
|
|
271
|
+
*/
|
|
272
|
+
closeFormatEditor(): void;
|
|
273
|
+
/**
|
|
274
|
+
* Get default format based on field type
|
|
275
|
+
*/
|
|
276
|
+
private getDefaultFormat;
|
|
277
|
+
/**
|
|
278
|
+
* Check if a column has custom formatting applied
|
|
279
|
+
*/
|
|
280
|
+
hasCustomFormat(column: ColumnConfig): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* Clear formatting for a column
|
|
283
|
+
*/
|
|
284
|
+
clearColumnFormat(column: ColumnConfig): void;
|
|
285
|
+
/**
|
|
286
|
+
* Get sample values for preview
|
|
287
|
+
*/
|
|
288
|
+
getSampleValues(column: ColumnConfig): unknown[];
|
|
289
|
+
/**
|
|
290
|
+
* Get placeholder sample values when no data available
|
|
291
|
+
*/
|
|
292
|
+
private getPlaceholderSamples;
|
|
293
|
+
/**
|
|
294
|
+
* Format a value for preview display
|
|
295
|
+
*/
|
|
296
|
+
formatPreviewValue(value: unknown, format: ColumnFormat | undefined): string;
|
|
297
|
+
private formatNumber;
|
|
298
|
+
private formatCurrency;
|
|
299
|
+
private formatPercent;
|
|
300
|
+
private formatDate;
|
|
301
|
+
private formatBoolean;
|
|
302
|
+
/**
|
|
303
|
+
* Close the panel
|
|
304
|
+
*/
|
|
305
|
+
onClose(): void;
|
|
306
|
+
/**
|
|
307
|
+
* Check if filter state has any active filters
|
|
308
|
+
*/
|
|
309
|
+
private hasActiveFilters;
|
|
310
|
+
/**
|
|
311
|
+
* Save the view
|
|
312
|
+
*/
|
|
313
|
+
onSave(): void;
|
|
314
|
+
/**
|
|
315
|
+
* Save as a new view
|
|
316
|
+
*/
|
|
317
|
+
onSaveAsNew(): void;
|
|
318
|
+
/**
|
|
319
|
+
* Save default view settings to user settings
|
|
320
|
+
* Used for dynamic/default views that don't have a stored view entity
|
|
321
|
+
*/
|
|
322
|
+
onSaveDefaults(): void;
|
|
323
|
+
/**
|
|
324
|
+
* Delete the view
|
|
325
|
+
*/
|
|
326
|
+
onDelete(): void;
|
|
327
|
+
/**
|
|
328
|
+
* Set the active tab
|
|
329
|
+
*/
|
|
330
|
+
setActiveTab(tab: 'columns' | 'filters' | 'settings'): void;
|
|
331
|
+
/**
|
|
332
|
+
* Set the filter mode (smart or traditional)
|
|
333
|
+
* When switching modes, clear the other mode's settings
|
|
334
|
+
*/
|
|
335
|
+
setFilterMode(mode: 'smart' | 'traditional'): void;
|
|
336
|
+
/**
|
|
337
|
+
* Apply a smart filter example to the prompt field
|
|
338
|
+
*/
|
|
339
|
+
applySmartFilterExample(example: string): void;
|
|
340
|
+
/**
|
|
341
|
+
* Toggle a header style property
|
|
342
|
+
*/
|
|
343
|
+
toggleHeaderStyle(prop: keyof ColumnTextStyle): void;
|
|
344
|
+
/**
|
|
345
|
+
* Update the user-defined display name for a column
|
|
346
|
+
*/
|
|
347
|
+
updateUserDisplayName(value: string): void;
|
|
348
|
+
/**
|
|
349
|
+
* Update a header style color property
|
|
350
|
+
*/
|
|
351
|
+
updateHeaderColor(prop: 'color' | 'backgroundColor', value: string): void;
|
|
352
|
+
/**
|
|
353
|
+
* Toggle a cell style property
|
|
354
|
+
*/
|
|
355
|
+
toggleCellStyle(prop: keyof ColumnTextStyle): void;
|
|
356
|
+
/**
|
|
357
|
+
* Update a cell style color property
|
|
358
|
+
*/
|
|
359
|
+
updateCellColor(prop: 'color' | 'backgroundColor', value: string): void;
|
|
360
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ViewConfigPanelComponent, never>;
|
|
361
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ViewConfigPanelComponent, "mj-view-config-panel", never, { "entity": { "alias": "entity"; "required": false; }; "viewEntity": { "alias": "viewEntity"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "currentGridState": { "alias": "currentGridState"; "required": false; }; "sampleData": { "alias": "sampleData"; "required": false; }; "externalFilterState": { "alias": "externalFilterState"; "required": false; }; "isSaving": { "alias": "isSaving"; "required": false; }; }, { "close": "close"; "save": "save"; "saveDefaults": "saveDefaults"; "delete": "delete"; "openFilterDialogRequest": "openFilterDialogRequest"; }, never, never, false, never>;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=view-config-panel.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-config-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/view-config-panel/view-config-panel.component.ts"],"names":[],"mappings":"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"}
|