@memberjunction/ng-explorer-core 5.34.1 → 5.36.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/dist/generated/lazy-feature-config.d.ts +1 -1
  2. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  3. package/dist/generated/lazy-feature-config.js +5 -3
  4. package/dist/generated/lazy-feature-config.js.map +1 -1
  5. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  6. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +9 -2
  7. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  8. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +8 -0
  9. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  10. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +25 -0
  11. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  12. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  13. package/dist/lib/resource-wrappers/dashboard-resource.component.js +23 -1
  14. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  15. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +6 -0
  16. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  17. package/dist/lib/resource-wrappers/search-results-resource.component.js +21 -0
  18. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  19. package/dist/lib/resource-wrappers/view-resource.component.d.ts +12 -0
  20. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  21. package/dist/lib/resource-wrappers/view-resource.component.js +107 -15
  22. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  23. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +11 -0
  24. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  25. package/dist/lib/shell/components/tabs/component-cache-manager.js +26 -0
  26. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  27. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +26 -0
  28. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  29. package/dist/lib/shell/components/tabs/tab-container.component.js +75 -3
  30. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  31. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  32. package/dist/lib/shell/shell.component.js +42 -7
  33. package/dist/lib/shell/shell.component.js.map +1 -1
  34. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +153 -3
  35. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  36. package/dist/lib/single-list-detail/single-list-detail.component.js +1479 -271
  37. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  38. package/dist/module.d.ts +4 -3
  39. package/dist/module.d.ts.map +1 -1
  40. package/dist/module.js +4 -0
  41. package/dist/module.js.map +1 -1
  42. package/package.json +44 -42
@@ -3,6 +3,9 @@ import { MJListEntity, MJUserViewEntityExtended } from '@memberjunction/core-ent
3
3
  import { SharedService } from '@memberjunction/ng-shared';
4
4
  import { ListDetailGridComponent, ListGridRowClickedEvent } from '@memberjunction/ng-list-detail-grid';
5
5
  import { GridToolbarConfig } from '@memberjunction/ng-entity-viewer';
6
+ import { type ListCapabilities, type ListDelta, type ListRefreshMode, type SharePermissionLevel } from '@memberjunction/lists-base';
7
+ import { ListSharingService } from '@memberjunction/ng-list-management';
8
+ import { ExportService } from '@memberjunction/ng-export-service';
6
9
  import { NewItemOption } from '../../generic/Item.types';
7
10
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
8
11
  import * as i0 from "@angular/core";
@@ -19,10 +22,50 @@ export declare class SingleListDetailComponent extends BaseAngularComponent impl
19
22
  private sharedService;
20
23
  private cdr;
21
24
  private elementRef;
25
+ private exportService;
26
+ private listSharingService;
22
27
  ListID: string;
28
+ /**
29
+ * Bumped on every list-membership mutation so the Usage stats sidebar
30
+ * re-queries member count / growth / last-activity. Without this nudge,
31
+ * those numbers drift from reality until a full page reload because the
32
+ * stats component otherwise only loads on init.
33
+ */
34
+ statsRefreshTrigger: number;
35
+ private bumpStatsRefresh;
23
36
  listDetailGrid: ListDetailGridComponent | undefined;
24
37
  listRecord: MJListEntity | null;
25
38
  showLoader: boolean;
39
+ capabilities: ListCapabilities;
40
+ currentLevel: SharePermissionLevel | null;
41
+ sourceViewName: string | null;
42
+ bulkStatus: 'Active' | 'Complete' | 'Disabled' | 'Pending' | 'Rejected' | '';
43
+ isApplyingBulkStatus: boolean;
44
+ showMoveCopyDialog: boolean;
45
+ moveCopyMode: 'move' | 'copy';
46
+ moveCopyTargetSearch: string;
47
+ moveCopyTargetCandidates: MJListEntity[];
48
+ moveCopyTargetCandidatesLoading: boolean;
49
+ moveCopySelectedTarget: MJListEntity | null;
50
+ isApplyingMoveCopy: boolean;
51
+ moveCopyProgress: number;
52
+ moveCopyTotal: number;
53
+ moveDeltaConfirmVisible: boolean;
54
+ moveDelta: ListDelta | null;
55
+ showExportDialog: boolean;
56
+ exportFormat: 'excel' | 'csv' | 'json';
57
+ exportFields: Array<{
58
+ Name: string;
59
+ DisplayName: string;
60
+ Selected: boolean;
61
+ }>;
62
+ exportRecordCount: number;
63
+ isExporting: boolean;
64
+ refreshMode: ListRefreshMode;
65
+ isPreviewingRefresh: boolean;
66
+ isApplyingRefresh: boolean;
67
+ refreshDelta: ListDelta | null;
68
+ refreshConfirmVisible: boolean;
26
69
  selectedKeys: string[];
27
70
  rowCount: number;
28
71
  gridToolbarConfig: GridToolbarConfig;
@@ -45,16 +88,53 @@ export declare class SingleListDetailComponent extends BaseAngularComponent impl
45
88
  userViewsToAdd: MJUserViewEntityExtended[];
46
89
  addFromViewProgress: number;
47
90
  addFromViewTotal: number;
91
+ /**
92
+ * Stored percent (0–100) for the progress bar. Backed instead of computed
93
+ * via getter because the original getter recomputed on every Angular CD
94
+ * read and the async save loop mutated addFromViewProgress between the
95
+ * initial check and dev-mode re-check — producing NG0100
96
+ * ExpressionChangedAfterItHasBeenCheckedError floods in the console.
97
+ * Updated via setAddFromViewProgress(...) at controlled points.
98
+ */
99
+ addFromViewProgressPercent: number;
48
100
  fetchingRecordsToSave: boolean;
49
101
  showAddDropdown: boolean;
50
102
  addOptions: NewItemOption[];
51
103
  onDocumentClick(event: MouseEvent): void;
52
- constructor(sharedService: SharedService, cdr: ChangeDetectorRef, elementRef: ElementRef);
53
- ngOnInit(): Promise<void>;
104
+ constructor(sharedService: SharedService, cdr: ChangeDetectorRef, elementRef: ElementRef, exportService: ExportService, listSharingService: ListSharingService);
105
+ ngOnInit(): void;
54
106
  /**
55
107
  * Load the list entity record
56
108
  */
57
109
  private loadListRecord;
110
+ /**
111
+ * Load lineage context for the refresh-from-source UI:
112
+ * - Resolve the source view's display name for the lineage badge.
113
+ * - Initialize the refresh-mode dropdown from per-user last-used
114
+ * preference, falling back to the list's RefreshMode field.
115
+ * Silent on failure — the badge / refresh button just won't render
116
+ * rather than blocking the rest of the detail view.
117
+ */
118
+ private loadLineageContext;
119
+ /**
120
+ * Resolve the caller's permission level for this list (Owner / Edit /
121
+ * View / null) and derive UI capability flags. Best-effort — if the
122
+ * resolve fails we conservatively default to no-mutation (Viewer-like)
123
+ * so we don't accidentally surface buttons the server will reject.
124
+ */
125
+ private loadCapabilities;
126
+ get hasLineage(): boolean;
127
+ private loadLastUsedMode;
128
+ private saveLastUsedMode;
129
+ /**
130
+ * Kick off a refresh-from-source preview. Builds the delta server-side
131
+ * and opens the confirm dialog when it returns. The dialog enforces the
132
+ * acknowledgement UX; the server enforces the actual drop guard.
133
+ */
134
+ onRefreshFromSource(): Promise<void>;
135
+ onRefreshConfirmCancel(): void;
136
+ onRefreshConfirmCommit(deltaToken: string): Promise<void>;
137
+ onRefreshModeChange(mode: ListRefreshMode): void;
58
138
  onRowClicked(_event: ListGridRowClickedEvent): void;
59
139
  onRowDoubleClicked(_event: ListGridRowClickedEvent): void;
60
140
  onSelectionChange(keys: string[]): void;
@@ -64,11 +144,81 @@ export declare class SingleListDetailComponent extends BaseAngularComponent impl
64
144
  refreshGrid(): void;
65
145
  get removeProgressPercent(): number;
66
146
  get addProgressPercent(): number;
67
- get addFromViewProgressPercent(): number;
147
+ /** Update progress + recompute the stored percent atomically. Call this
148
+ * from inside the save loop so the bound value is set in lockstep with
149
+ * the underlying counter (avoids NG0100). */
150
+ private setAddFromViewProgress;
68
151
  onRefreshClick(): void;
69
152
  onExportClick(): void;
153
+ /**
154
+ * Open the format + column picker (mockup 26). Resolves the candidate
155
+ * field list from EntityInfo on the loaded provider — no extra
156
+ * RunView. Default selection is every non-virtual entity field, which
157
+ * matches what the underlying grid's "export all" path produced.
158
+ */
159
+ openExportDialog(): void;
160
+ closeExportDialog(): void;
161
+ selectAllExportFields(): void;
162
+ selectNoneExportFields(): void;
163
+ get selectedExportFieldCount(): number;
164
+ /**
165
+ * Run the export with the user's chosen format + columns. Resolves
166
+ * the list's member RecordIDs from the in-memory grid when possible
167
+ * (avoids an extra RunView), then bulk-loads the underlying entity
168
+ * rows restricted to the chosen Fields. Output is projected to
169
+ * exactly the user's selected columns + ordering.
170
+ */
171
+ executeExport(): Promise<void>;
70
172
  toggleAddDropdown(): void;
71
173
  onDropdownItemClick(item: NewItemOption): void;
174
+ /**
175
+ * Apply the chosen status to all selected list-detail rows. Re-uses
176
+ * the existing extract-record-id-from-composite-key logic to map
177
+ * `selectedKeys` to the actual `MJ: List Detail.RecordID` values.
178
+ */
179
+ applyBulkStatus(): Promise<void>;
180
+ openMoveDialog(): void;
181
+ openCopyDialog(): void;
182
+ private openMoveCopyDialog;
183
+ closeMoveCopyDialog(): void;
184
+ selectMoveCopyTarget(target: MJListEntity): void;
185
+ get filteredMoveCopyTargets(): MJListEntity[];
186
+ get moveCopyProgressPercent(): number;
187
+ /** Load candidate target lists — same Entity, owned by or shared with
188
+ * the current user, excluding the list we're standing on. One RunView
189
+ * on open; results stay in memory until the dialog closes. */
190
+ private loadMoveCopyTargets;
191
+ /**
192
+ * "Continue" / "Copy" click in the target picker. For Copy we apply
193
+ * immediately. For Move we build a local Delta and show the confirm
194
+ * dialog — the actual mutation fires from onMoveConfirmCommit().
195
+ */
196
+ confirmMoveCopy(): Promise<void>;
197
+ onMoveConfirmCancel(): void;
198
+ onMoveConfirmCommit(_deltaToken: string): Promise<void>;
199
+ /**
200
+ * Pull RecordIDs out of selectedKeys. selectedKeys arrive from the
201
+ * grid in concatenated-key format ("ID|<value>"). For single-PK entities
202
+ * MJ: List Details stores the raw value; for composite-PK entities it
203
+ * stores the full concatenated string. We normalize based on entity
204
+ * metadata — same logic as confirmRemoveFromList.
205
+ */
206
+ private extractSelectedRecordIds;
207
+ /**
208
+ * Build a synthetic ListDelta for the Move-confirm dialog. Token is
209
+ * a sentinel — we never call server-side ApplyDelta for this flow,
210
+ * the mutations run client-side inside a transaction group. The
211
+ * delta-confirm component only reads counts + ToAdd/ToRemove + Warnings;
212
+ * the token round-trips through the (Confirm) emit but is unused.
213
+ */
214
+ private buildMoveDelta;
215
+ /**
216
+ * Execute the move/copy. Insert all records into the target, and for
217
+ * Move also delete the matching MJ: List Details from the source. All
218
+ * mutations run in a single TransactionGroup so partial failures don't
219
+ * leave records duplicated in both lists.
220
+ */
221
+ private applyMoveCopy;
72
222
  openRemoveDialog(): void;
73
223
  closeRemoveDialog(): void;
74
224
  confirmRemoveFromList(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"single-list-detail.component.d.ts","sourceRoot":"","sources":["../../../src/lib/single-list-detail/single-list-detail.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-list-detail.component.d.ts","sourceRoot":"","sources":["../../../src/lib/single-list-detail/single-list-detail.component.ts"],"names":[],"mappings":"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"}