@memberjunction/ng-explorer-core 2.122.2 → 2.123.1
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/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +83 -18
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +297 -93
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +12 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +91 -5
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +57 -3
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +247 -30
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +5 -0
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +65 -31
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +4 -0
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +25 -9
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/module.d.ts +2 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -3
- package/dist/module.js.map +1 -1
- package/package.json +36 -34
|
@@ -14,6 +14,37 @@ import { DataExplorerDashboardComponent } from '@memberjunction/ng-dashboards';
|
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "@memberjunction/ng-shared";
|
|
16
16
|
const _c0 = ["container"];
|
|
17
|
+
function DashboardResource_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelementStart(0, "details", 7)(1, "summary");
|
|
19
|
+
i0.ɵɵtext(2, "Technical Details");
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
i0.ɵɵelementStart(3, "pre");
|
|
22
|
+
i0.ɵɵtext(4);
|
|
23
|
+
i0.ɵɵelementEnd()();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
26
|
+
i0.ɵɵadvance(4);
|
|
27
|
+
i0.ɵɵtextInterpolate(ctx_r0.errorDetails);
|
|
28
|
+
} }
|
|
29
|
+
function DashboardResource_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3);
|
|
31
|
+
i0.ɵɵelement(2, "i", 4);
|
|
32
|
+
i0.ɵɵelementEnd();
|
|
33
|
+
i0.ɵɵelementStart(3, "h2", 5);
|
|
34
|
+
i0.ɵɵtext(4, "Unable to Load Dashboard");
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
i0.ɵɵelementStart(5, "p", 6);
|
|
37
|
+
i0.ɵɵtext(6);
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
i0.ɵɵtemplate(7, DashboardResource_Conditional_2_Conditional_7_Template, 5, 1, "details", 7);
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
43
|
+
i0.ɵɵadvance(6);
|
|
44
|
+
i0.ɵɵtextInterpolate(ctx_r0.errorMessage);
|
|
45
|
+
i0.ɵɵadvance();
|
|
46
|
+
i0.ɵɵconditional(ctx_r0.errorDetails ? 7 : -1);
|
|
47
|
+
} }
|
|
17
48
|
export function LoadDashboardResource() {
|
|
18
49
|
}
|
|
19
50
|
/**
|
|
@@ -27,6 +58,32 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
27
58
|
componentRef = null;
|
|
28
59
|
dataLoaded = false;
|
|
29
60
|
containerElement;
|
|
61
|
+
/** Error message to display when dashboard fails to load */
|
|
62
|
+
errorMessage = null;
|
|
63
|
+
/** Technical error details (shown in expandable section) */
|
|
64
|
+
errorDetails = null;
|
|
65
|
+
/**
|
|
66
|
+
* Sets the error state with a user-friendly message and optional technical details
|
|
67
|
+
*/
|
|
68
|
+
setError(message, error) {
|
|
69
|
+
this.errorMessage = message;
|
|
70
|
+
if (error instanceof Error) {
|
|
71
|
+
this.errorDetails = error.message;
|
|
72
|
+
if (error.stack) {
|
|
73
|
+
this.errorDetails += '\n\nStack trace:\n' + error.stack;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (error) {
|
|
77
|
+
this.errorDetails = String(error);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Clears any previous error state
|
|
82
|
+
*/
|
|
83
|
+
clearError() {
|
|
84
|
+
this.errorMessage = null;
|
|
85
|
+
this.errorDetails = null;
|
|
86
|
+
}
|
|
30
87
|
constructor(viewContainer, navigationService) {
|
|
31
88
|
super();
|
|
32
89
|
this.viewContainer = viewContainer;
|
|
@@ -53,6 +110,8 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
53
110
|
* Routes between code-based dashboards (registered classes) and config-based dashboards
|
|
54
111
|
*/
|
|
55
112
|
async loadDashboard() {
|
|
113
|
+
// Clear any previous error state
|
|
114
|
+
this.clearError();
|
|
56
115
|
const data = this.Data;
|
|
57
116
|
console.log('[DashboardResource] loadDashboard called with:', data);
|
|
58
117
|
if (!data?.ResourceRecordID) {
|
|
@@ -89,6 +148,7 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
89
148
|
}
|
|
90
149
|
catch (error) {
|
|
91
150
|
console.error('Error loading dashboard:', error);
|
|
151
|
+
this.setError('The dashboard could not be loaded. This may be due to a missing component or configuration issue.', error);
|
|
92
152
|
this.NotifyLoadComplete();
|
|
93
153
|
}
|
|
94
154
|
}
|
|
@@ -140,6 +200,7 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
140
200
|
}
|
|
141
201
|
catch (error) {
|
|
142
202
|
console.error('Error loading Data Explorer:', error);
|
|
203
|
+
this.setError('The Data Explorer could not be loaded.', error);
|
|
143
204
|
this.NotifyLoadComplete();
|
|
144
205
|
}
|
|
145
206
|
}
|
|
@@ -202,6 +263,7 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
202
263
|
}
|
|
203
264
|
catch (error) {
|
|
204
265
|
console.error('Error loading code-based dashboard:', error);
|
|
266
|
+
this.setError(`The dashboard "${dashboard.Name}" could not be loaded. The dashboard class may not be registered or may have failed to initialize.`, error);
|
|
205
267
|
this.NotifyLoadComplete();
|
|
206
268
|
}
|
|
207
269
|
}
|
|
@@ -264,6 +326,7 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
264
326
|
}
|
|
265
327
|
catch (error) {
|
|
266
328
|
console.error('Error loading config-based dashboard:', error);
|
|
329
|
+
this.setError(`The dashboard "${dashboard.Name}" could not be loaded. There may be an issue with the dashboard configuration.`, error);
|
|
267
330
|
this.NotifyLoadComplete();
|
|
268
331
|
}
|
|
269
332
|
}
|
|
@@ -301,9 +364,14 @@ let DashboardResource = class DashboardResource extends BaseResourceComponent {
|
|
|
301
364
|
} if (rf & 2) {
|
|
302
365
|
let _t;
|
|
303
366
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerElement = _t.first);
|
|
304
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
305
|
-
i0.ɵɵ
|
|
306
|
-
|
|
367
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 1, consts: [["container", ""], [1, "dashboard-resource-container"], [1, "error-state"], [1, "error-icon"], [1, "fa-solid", "fa-triangle-exclamation"], [1, "error-title"], [1, "error-message"], [1, "error-details"]], template: function DashboardResource_Template(rf, ctx) { if (rf & 1) {
|
|
368
|
+
i0.ɵɵelementStart(0, "div", 1, 0);
|
|
369
|
+
i0.ɵɵtemplate(2, DashboardResource_Conditional_2_Template, 8, 2, "div", 2);
|
|
370
|
+
i0.ɵɵelementEnd();
|
|
371
|
+
} if (rf & 2) {
|
|
372
|
+
i0.ɵɵadvance(2);
|
|
373
|
+
i0.ɵɵconditional(ctx.errorMessage ? 2 : -1);
|
|
374
|
+
} }, styles: ["[_nghost-%COMP%] {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n .dashboard-resource-container[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: auto;\n }\n .error-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: #424242;\n }\n .error-icon[_ngcontent-%COMP%] {\n font-size: 64px;\n color: #f44336;\n margin-bottom: 24px;\n opacity: 0.8;\n }\n .error-title[_ngcontent-%COMP%] {\n font-size: 24px;\n font-weight: 500;\n margin: 0 0 12px 0;\n color: #212121;\n }\n .error-message[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #616161;\n margin: 0 0 24px 0;\n max-width: 500px;\n line-height: 1.5;\n }\n .error-details[_ngcontent-%COMP%] {\n background: #f5f5f5;\n border-radius: 8px;\n padding: 12px 16px;\n max-width: 600px;\n text-align: left;\n font-size: 13px;\n }\n .error-details[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] {\n cursor: pointer;\n font-weight: 500;\n color: #757575;\n margin-bottom: 8px;\n }\n .error-details[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n margin: 0;\n white-space: pre-wrap;\n word-break: break-word;\n color: #d32f2f;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 12px;\n }"] });
|
|
307
375
|
};
|
|
308
376
|
DashboardResource = __decorate([
|
|
309
377
|
RegisterClass(BaseResourceComponent, 'DashboardResource')
|
|
@@ -311,10 +379,28 @@ DashboardResource = __decorate([
|
|
|
311
379
|
export { DashboardResource };
|
|
312
380
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardResource, [{
|
|
313
381
|
type: Component,
|
|
314
|
-
args: [{ selector: 'mj-dashboard-resource', template:
|
|
382
|
+
args: [{ selector: 'mj-dashboard-resource', template: `
|
|
383
|
+
<div #container class="dashboard-resource-container">
|
|
384
|
+
@if (errorMessage) {
|
|
385
|
+
<div class="error-state">
|
|
386
|
+
<div class="error-icon">
|
|
387
|
+
<i class="fa-solid fa-triangle-exclamation"></i>
|
|
388
|
+
</div>
|
|
389
|
+
<h2 class="error-title">Unable to Load Dashboard</h2>
|
|
390
|
+
<p class="error-message">{{ errorMessage }}</p>
|
|
391
|
+
@if (errorDetails) {
|
|
392
|
+
<details class="error-details">
|
|
393
|
+
<summary>Technical Details</summary>
|
|
394
|
+
<pre>{{ errorDetails }}</pre>
|
|
395
|
+
</details>
|
|
396
|
+
}
|
|
397
|
+
</div>
|
|
398
|
+
}
|
|
399
|
+
</div>
|
|
400
|
+
`, styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n .dashboard-resource-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: auto;\n }\n .error-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: #424242;\n }\n .error-icon {\n font-size: 64px;\n color: #f44336;\n margin-bottom: 24px;\n opacity: 0.8;\n }\n .error-title {\n font-size: 24px;\n font-weight: 500;\n margin: 0 0 12px 0;\n color: #212121;\n }\n .error-message {\n font-size: 16px;\n color: #616161;\n margin: 0 0 24px 0;\n max-width: 500px;\n line-height: 1.5;\n }\n .error-details {\n background: #f5f5f5;\n border-radius: 8px;\n padding: 12px 16px;\n max-width: 600px;\n text-align: left;\n font-size: 13px;\n }\n .error-details summary {\n cursor: pointer;\n font-weight: 500;\n color: #757575;\n margin-bottom: 8px;\n }\n .error-details pre {\n margin: 0;\n white-space: pre-wrap;\n word-break: break-word;\n color: #d32f2f;\n font-family: 'Consolas', 'Monaco', monospace;\n font-size: 12px;\n }\n "] }]
|
|
315
401
|
}], () => [{ type: i0.ViewContainerRef }, { type: i1.NavigationService }], { containerElement: [{
|
|
316
402
|
type: ViewChild,
|
|
317
403
|
args: ['container', { static: true }]
|
|
318
404
|
}] }); })();
|
|
319
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardResource, { className: "DashboardResource", filePath: "src/lib/resource-wrappers/dashboard-resource.component.ts", lineNumber:
|
|
405
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardResource, { className: "DashboardResource", filePath: "src/lib/resource-wrappers/dashboard-resource.component.ts", lineNumber: 108 }); })();
|
|
320
406
|
//# sourceMappingURL=dashboard-resource.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/dashboard-resource.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/dashboard-resource.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
|
|
3
|
+
import { ResourceData, UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
4
|
+
import { EntityInfo } from '@memberjunction/core';
|
|
5
|
+
import { RecordOpenedEvent, ViewGridStateConfig } from '@memberjunction/ng-entity-viewer';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
7
|
export declare function LoadViewResource(): void;
|
|
8
|
+
/**
|
|
9
|
+
* UserViewResource - Resource wrapper for displaying User Views in tabs
|
|
10
|
+
*
|
|
11
|
+
* This component wraps the EntityViewerComponent to display view data.
|
|
12
|
+
* It loads the view configuration and entity, then renders the data grid/cards.
|
|
13
|
+
*
|
|
14
|
+
* Key features:
|
|
15
|
+
* - Loads view by ID from ResourceRecordID
|
|
16
|
+
* - Supports dynamic views by entity name + extra filter
|
|
17
|
+
* - Applies view's WhereClause, GridState, and SortState
|
|
18
|
+
* - Opens records in new tabs via NavigationService
|
|
19
|
+
*/
|
|
5
20
|
export declare class UserViewResource extends BaseResourceComponent {
|
|
21
|
+
private navigationService;
|
|
22
|
+
private cdr;
|
|
23
|
+
containerElement: ElementRef<HTMLDivElement>;
|
|
24
|
+
isLoading: boolean;
|
|
25
|
+
errorMessage: string | null;
|
|
26
|
+
entityInfo: EntityInfo | null;
|
|
27
|
+
viewEntity: UserViewEntityExtended | null;
|
|
28
|
+
gridState: ViewGridStateConfig | null;
|
|
29
|
+
private dataLoaded;
|
|
30
|
+
private metadata;
|
|
31
|
+
constructor(navigationService: NavigationService, cdr: ChangeDetectorRef);
|
|
32
|
+
set Data(value: ResourceData);
|
|
33
|
+
get Data(): ResourceData;
|
|
34
|
+
/**
|
|
35
|
+
* Load the view and entity based on ResourceData
|
|
36
|
+
*/
|
|
37
|
+
private loadView;
|
|
38
|
+
/**
|
|
39
|
+
* Load a saved view by its ID
|
|
40
|
+
*/
|
|
41
|
+
private loadViewById;
|
|
42
|
+
/**
|
|
43
|
+
* Load a dynamic view (no saved view, just entity + filter)
|
|
44
|
+
*/
|
|
45
|
+
private loadDynamicView;
|
|
46
|
+
/**
|
|
47
|
+
* Handle record opened event - open in new tab
|
|
48
|
+
*/
|
|
49
|
+
onRecordOpened(event: RecordOpenedEvent): void;
|
|
50
|
+
/**
|
|
51
|
+
* Handle data loaded event from entity-viewer
|
|
52
|
+
*/
|
|
53
|
+
onDataLoaded(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get display name for the resource tab
|
|
56
|
+
*/
|
|
6
57
|
GetResourceDisplayName(data: ResourceData): Promise<string>;
|
|
7
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Get icon class for the resource tab
|
|
60
|
+
*/
|
|
61
|
+
GetResourceIconClass(_data: ResourceData): Promise<string>;
|
|
8
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserViewResource, never>;
|
|
9
63
|
static ɵcmp: i0.ɵɵComponentDeclaration<UserViewResource, "mj-userview-resource", never, {}, {}, never, never, false, never>;
|
|
10
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAY,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAA0B,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;;AAE1F,wBAAgB,gBAAgB,SAE/B;AAED;;;;;;;;;;;GAWG;AACH,qBAyFa,gBAAiB,SAAQ,qBAAqB;IAanD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAb2B,gBAAgB,EAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEjF,SAAS,EAAE,OAAO,CAAS;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAQ;IACrC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IACjD,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAEpD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAkB;gBAGtB,iBAAiB,EAAE,iBAAiB,EACpC,GAAG,EAAE,iBAAiB;IAKlC,IAAa,IAAI,CAAC,KAAK,EAAE,YAAY,EAMpC;IAED,IAAa,IAAI,IAAI,YAAY,CAEhC;IAED;;OAEG;YACW,QAAQ;IA2CtB;;OAEG;YACW,YAAY;IAmC1B;;OAEG;YACW,eAAe;IAiB7B;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAMrD;;OAEG;IACI,YAAY,IAAI,IAAI;IAI3B;;OAEG;IACY,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1E;;OAEG;IACY,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCA3KhE,gBAAgB;2CAAhB,gBAAgB;CA8K5B"}
|
|
@@ -4,41 +4,236 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { Component } from '@angular/core';
|
|
7
|
+
import { Component, ViewChild } from '@angular/core';
|
|
8
8
|
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
9
|
+
import { ViewInfo } from '@memberjunction/core-entities';
|
|
9
10
|
import { RegisterClass } from '@memberjunction/global';
|
|
10
11
|
import { CompositeKey, Metadata } from '@memberjunction/core';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "
|
|
13
|
+
import * as i1 from "@memberjunction/ng-shared";
|
|
14
|
+
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
15
|
+
import * as i3 from "@memberjunction/ng-entity-viewer";
|
|
16
|
+
const _c0 = ["container"];
|
|
17
|
+
function UserViewResource_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
19
|
+
i0.ɵɵelement(1, "mj-loading", 4);
|
|
20
|
+
i0.ɵɵelementEnd();
|
|
21
|
+
} }
|
|
22
|
+
function UserViewResource_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
24
|
+
i0.ɵɵelement(1, "i", 5);
|
|
25
|
+
i0.ɵɵelementStart(2, "p");
|
|
26
|
+
i0.ɵɵtext(3);
|
|
27
|
+
i0.ɵɵelementEnd()();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
30
|
+
i0.ɵɵadvance(3);
|
|
31
|
+
i0.ɵɵtextInterpolate(ctx_r0.errorMessage);
|
|
32
|
+
} }
|
|
33
|
+
function UserViewResource_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵelementStart(0, "p", 8);
|
|
35
|
+
i0.ɵɵtext(1);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
} if (rf & 2) {
|
|
38
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
39
|
+
i0.ɵɵadvance();
|
|
40
|
+
i0.ɵɵtextInterpolate(ctx_r0.viewEntity.Description);
|
|
41
|
+
} }
|
|
42
|
+
function UserViewResource_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
44
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "h2", 7);
|
|
45
|
+
i0.ɵɵtext(2);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
i0.ɵɵtemplate(3, UserViewResource_Conditional_4_Conditional_3_Template, 2, 1, "p", 8);
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
i0.ɵɵelementStart(4, "mj-entity-viewer", 9);
|
|
50
|
+
i0.ɵɵlistener("recordOpened", function UserViewResource_Conditional_4_Template_mj_entity_viewer_recordOpened_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onRecordOpened($event)); })("dataLoaded", function UserViewResource_Conditional_4_Template_mj_entity_viewer_dataLoaded_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onDataLoaded()); });
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
} if (rf & 2) {
|
|
53
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
54
|
+
i0.ɵɵadvance(2);
|
|
55
|
+
i0.ɵɵtextInterpolate((ctx_r0.viewEntity == null ? null : ctx_r0.viewEntity.Name) || ctx_r0.entityInfo.Name);
|
|
56
|
+
i0.ɵɵadvance();
|
|
57
|
+
i0.ɵɵconditional((ctx_r0.viewEntity == null ? null : ctx_r0.viewEntity.Description) ? 3 : -1);
|
|
58
|
+
i0.ɵɵadvance();
|
|
59
|
+
i0.ɵɵproperty("entity", ctx_r0.entityInfo)("viewEntity", ctx_r0.viewEntity)("gridState", ctx_r0.gridState);
|
|
60
|
+
} }
|
|
13
61
|
export function LoadViewResource() {
|
|
14
|
-
|
|
62
|
+
// Force class to be included in production builds (tree shaking workaround)
|
|
15
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* UserViewResource - Resource wrapper for displaying User Views in tabs
|
|
66
|
+
*
|
|
67
|
+
* This component wraps the EntityViewerComponent to display view data.
|
|
68
|
+
* It loads the view configuration and entity, then renders the data grid/cards.
|
|
69
|
+
*
|
|
70
|
+
* Key features:
|
|
71
|
+
* - Loads view by ID from ResourceRecordID
|
|
72
|
+
* - Supports dynamic views by entity name + extra filter
|
|
73
|
+
* - Applies view's WhereClause, GridState, and SortState
|
|
74
|
+
* - Opens records in new tabs via NavigationService
|
|
75
|
+
*/
|
|
16
76
|
let UserViewResource = class UserViewResource extends BaseResourceComponent {
|
|
77
|
+
navigationService;
|
|
78
|
+
cdr;
|
|
79
|
+
containerElement;
|
|
80
|
+
isLoading = false;
|
|
81
|
+
errorMessage = null;
|
|
82
|
+
entityInfo = null;
|
|
83
|
+
viewEntity = null;
|
|
84
|
+
gridState = null;
|
|
85
|
+
dataLoaded = false;
|
|
86
|
+
metadata = new Metadata();
|
|
87
|
+
constructor(navigationService, cdr) {
|
|
88
|
+
super();
|
|
89
|
+
this.navigationService = navigationService;
|
|
90
|
+
this.cdr = cdr;
|
|
91
|
+
}
|
|
92
|
+
set Data(value) {
|
|
93
|
+
super.Data = value;
|
|
94
|
+
if (!this.dataLoaded) {
|
|
95
|
+
this.dataLoaded = true;
|
|
96
|
+
this.loadView();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
get Data() {
|
|
100
|
+
return super.Data;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Load the view and entity based on ResourceData
|
|
104
|
+
*/
|
|
105
|
+
async loadView() {
|
|
106
|
+
const data = this.Data;
|
|
107
|
+
if (!data) {
|
|
108
|
+
this.NotifyLoadComplete();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.isLoading = true;
|
|
112
|
+
this.errorMessage = null;
|
|
113
|
+
this.NotifyLoadStarted();
|
|
114
|
+
this.cdr.detectChanges();
|
|
115
|
+
try {
|
|
116
|
+
// Case 1: Load view by ID
|
|
117
|
+
if (data.ResourceRecordID) {
|
|
118
|
+
await this.loadViewById(data.ResourceRecordID);
|
|
119
|
+
}
|
|
120
|
+
// Case 2: Load dynamic view by entity name
|
|
121
|
+
else if (data.Configuration?.Entity) {
|
|
122
|
+
await this.loadDynamicView(data.Configuration.Entity, data.Configuration.ExtraFilter);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.errorMessage = 'No view ID or entity specified';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error('Error loading view:', error);
|
|
130
|
+
this.errorMessage = error instanceof Error ? error.message : 'Failed to load view';
|
|
131
|
+
}
|
|
132
|
+
finally {
|
|
133
|
+
this.isLoading = false;
|
|
134
|
+
this.cdr.detectChanges();
|
|
135
|
+
// If there was an error, notify load complete now
|
|
136
|
+
if (this.errorMessage) {
|
|
137
|
+
this.NotifyLoadComplete();
|
|
138
|
+
}
|
|
139
|
+
// Otherwise, wait for dataLoaded event from entity-viewer
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Load a saved view by its ID
|
|
144
|
+
*/
|
|
145
|
+
async loadViewById(viewId) {
|
|
146
|
+
// Load the view entity
|
|
147
|
+
const view = await ViewInfo.GetViewEntity(viewId);
|
|
148
|
+
if (!view) {
|
|
149
|
+
throw new Error(`View with ID ${viewId} not found`);
|
|
150
|
+
}
|
|
151
|
+
this.viewEntity = view;
|
|
152
|
+
// Check permissions
|
|
153
|
+
if (!this.viewEntity.UserCanView) {
|
|
154
|
+
throw new Error('You do not have permission to view this view');
|
|
155
|
+
}
|
|
156
|
+
// Load the entity info
|
|
157
|
+
const entity = this.metadata.Entities.find(e => e.ID === this.viewEntity.EntityID);
|
|
158
|
+
if (!entity) {
|
|
159
|
+
throw new Error(`Entity for view not found`);
|
|
160
|
+
}
|
|
161
|
+
this.entityInfo = entity;
|
|
162
|
+
// Parse grid state if available
|
|
163
|
+
if (this.viewEntity.GridState) {
|
|
164
|
+
try {
|
|
165
|
+
this.gridState = JSON.parse(this.viewEntity.GridState);
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
console.warn('Failed to parse GridState:', e);
|
|
169
|
+
this.gridState = null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Load a dynamic view (no saved view, just entity + filter)
|
|
175
|
+
*/
|
|
176
|
+
async loadDynamicView(entityName, _extraFilter) {
|
|
177
|
+
const entity = this.metadata.Entities.find(e => e.Name.trim().toLowerCase() === entityName.trim().toLowerCase());
|
|
178
|
+
if (!entity) {
|
|
179
|
+
throw new Error(`Entity '${entityName}' not found`);
|
|
180
|
+
}
|
|
181
|
+
this.entityInfo = entity;
|
|
182
|
+
this.viewEntity = null;
|
|
183
|
+
this.gridState = null;
|
|
184
|
+
// For dynamic views, we could create a synthetic viewEntity with just the WhereClause
|
|
185
|
+
// but for now, we'll rely on the entity-viewer's default behavior
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Handle record opened event - open in new tab
|
|
189
|
+
*/
|
|
190
|
+
onRecordOpened(event) {
|
|
191
|
+
if (event && event.entity && event.compositeKey) {
|
|
192
|
+
this.navigationService.OpenEntityRecord(event.entity.Name, event.compositeKey);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Handle data loaded event from entity-viewer
|
|
197
|
+
*/
|
|
198
|
+
onDataLoaded() {
|
|
199
|
+
this.NotifyLoadComplete();
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get display name for the resource tab
|
|
203
|
+
*/
|
|
17
204
|
async GetResourceDisplayName(data) {
|
|
18
|
-
const md = new Metadata();
|
|
19
205
|
if (data.ResourceRecordID) {
|
|
20
|
-
|
|
21
|
-
const name = await
|
|
206
|
+
const compositeKey = new CompositeKey([{ FieldName: 'ID', Value: data.ResourceRecordID }]);
|
|
207
|
+
const name = await this.metadata.GetEntityRecordName('User Views', compositeKey);
|
|
22
208
|
return name ? name : `View: ${data.ResourceRecordID}`;
|
|
23
209
|
}
|
|
24
|
-
else if (data.Configuration?.Entity
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return 'User Views [Error]';
|
|
210
|
+
else if (data.Configuration?.Entity) {
|
|
211
|
+
const entityName = data.Configuration.Entity;
|
|
212
|
+
const hasFilter = data.Configuration.ExtraFilter;
|
|
213
|
+
return `${entityName} [Dynamic${hasFilter ? ' - Filtered' : ' - All'}]`;
|
|
29
214
|
}
|
|
215
|
+
return 'User Views [Error]';
|
|
30
216
|
}
|
|
31
|
-
|
|
32
|
-
|
|
217
|
+
/**
|
|
218
|
+
* Get icon class for the resource tab
|
|
219
|
+
*/
|
|
220
|
+
async GetResourceIconClass(_data) {
|
|
221
|
+
return 'fa-solid fa-table-list';
|
|
33
222
|
}
|
|
34
|
-
static ɵfac =
|
|
35
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserViewResource, selectors: [["mj-userview-resource"]],
|
|
36
|
-
i0.ɵɵ
|
|
37
|
-
|
|
223
|
+
static ɵfac = function UserViewResource_Factory(t) { return new (t || UserViewResource)(i0.ɵɵdirectiveInject(i1.NavigationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
224
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserViewResource, selectors: [["mj-userview-resource"]], viewQuery: function UserViewResource_Query(rf, ctx) { if (rf & 1) {
|
|
225
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
226
|
+
} if (rf & 2) {
|
|
227
|
+
let _t;
|
|
228
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerElement = _t.first);
|
|
229
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 1, consts: [["container", ""], [1, "view-resource-container"], [1, "view-loading-state"], [1, "view-error-state"], ["text", "Loading view...", "size", "large"], [1, "fas", "fa-exclamation-triangle"], [1, "view-header"], [1, "view-title"], [1, "view-description"], [3, "recordOpened", "dataLoaded", "entity", "viewEntity", "gridState"]], template: function UserViewResource_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
+
i0.ɵɵelementStart(0, "div", 1, 0);
|
|
231
|
+
i0.ɵɵtemplate(2, UserViewResource_Conditional_2_Template, 2, 0, "div", 2)(3, UserViewResource_Conditional_3_Template, 4, 1, "div", 3)(4, UserViewResource_Conditional_4_Template, 5, 5);
|
|
38
232
|
i0.ɵɵelementEnd();
|
|
39
233
|
} if (rf & 2) {
|
|
40
|
-
i0.ɵɵ
|
|
41
|
-
|
|
234
|
+
i0.ɵɵadvance(2);
|
|
235
|
+
i0.ɵɵconditional(ctx.isLoading ? 2 : ctx.errorMessage ? 3 : ctx.entityInfo ? 4 : -1);
|
|
236
|
+
} }, dependencies: [i2.LoadingComponent, i3.EntityViewerComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n .view-resource-container[_ngcontent-%COMP%] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .view-header[_ngcontent-%COMP%] {\n padding: 16px 20px 8px 20px;\n flex-shrink: 0;\n }\n .view-title[_ngcontent-%COMP%] {\n margin: 0 0 4px 0;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--text-primary, #1a1a1a);\n }\n .view-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.875rem;\n color: var(--text-secondary, #666);\n }\n .view-loading-state[_ngcontent-%COMP%], \n .view-error-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 16px;\n }\n .view-error-state[_ngcontent-%COMP%] {\n color: var(--danger-color, #dc3545);\n }\n .view-error-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 2rem;\n }\n .view-error-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1rem;\n }\n mj-entity-viewer[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n }"] });
|
|
42
237
|
};
|
|
43
238
|
UserViewResource = __decorate([
|
|
44
239
|
RegisterClass(BaseResourceComponent, 'ViewResource')
|
|
@@ -46,15 +241,37 @@ UserViewResource = __decorate([
|
|
|
46
241
|
export { UserViewResource };
|
|
47
242
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserViewResource, [{
|
|
48
243
|
type: Component,
|
|
49
|
-
args: [{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
244
|
+
args: [{ selector: 'mj-userview-resource', template: `
|
|
245
|
+
<div #container class="view-resource-container">
|
|
246
|
+
@if (isLoading) {
|
|
247
|
+
<div class="view-loading-state">
|
|
248
|
+
<mj-loading text="Loading view..." size="large"></mj-loading>
|
|
249
|
+
</div>
|
|
250
|
+
} @else if (errorMessage) {
|
|
251
|
+
<div class="view-error-state">
|
|
252
|
+
<i class="fas fa-exclamation-triangle"></i>
|
|
253
|
+
<p>{{ errorMessage }}</p>
|
|
254
|
+
</div>
|
|
255
|
+
} @else if (entityInfo) {
|
|
256
|
+
<div class="view-header">
|
|
257
|
+
<h2 class="view-title">{{ viewEntity?.Name || entityInfo.Name }}</h2>
|
|
258
|
+
@if (viewEntity?.Description) {
|
|
259
|
+
<p class="view-description">{{ viewEntity!.Description }}</p>
|
|
260
|
+
}
|
|
261
|
+
</div>
|
|
262
|
+
<mj-entity-viewer
|
|
263
|
+
[entity]="entityInfo"
|
|
264
|
+
[viewEntity]="viewEntity"
|
|
265
|
+
[gridState]="gridState"
|
|
266
|
+
(recordOpened)="onRecordOpened($any($event))"
|
|
267
|
+
(dataLoaded)="onDataLoaded()">
|
|
268
|
+
</mj-entity-viewer>
|
|
269
|
+
}
|
|
270
|
+
</div>
|
|
271
|
+
`, styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n .view-resource-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .view-header {\n padding: 16px 20px 8px 20px;\n flex-shrink: 0;\n }\n .view-title {\n margin: 0 0 4px 0;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--text-primary, #1a1a1a);\n }\n .view-description {\n margin: 0;\n font-size: 0.875rem;\n color: var(--text-secondary, #666);\n }\n .view-loading-state,\n .view-error-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 16px;\n }\n .view-error-state {\n color: var(--danger-color, #dc3545);\n }\n .view-error-state i {\n font-size: 2rem;\n }\n .view-error-state p {\n margin: 0;\n font-size: 1rem;\n }\n mj-entity-viewer {\n flex: 1;\n min-height: 0;\n }\n "] }]
|
|
272
|
+
}], () => [{ type: i1.NavigationService }, { type: i0.ChangeDetectorRef }], { containerElement: [{
|
|
273
|
+
type: ViewChild,
|
|
274
|
+
args: ['container', { static: true }]
|
|
275
|
+
}] }); })();
|
|
276
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserViewResource, { className: "UserViewResource", filePath: "src/lib/resource-wrappers/view-resource.component.ts", lineNumber: 113 }); })();
|
|
60
277
|
//# sourceMappingURL=view-resource.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"view-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,11 @@ export declare class TabContainerComponent implements OnInit, OnDestroy, AfterVi
|
|
|
95
95
|
* Determine resource type from route
|
|
96
96
|
*/
|
|
97
97
|
private getResourceTypeFromRoute;
|
|
98
|
+
/**
|
|
99
|
+
* Count the number of component nodes in a layout tree.
|
|
100
|
+
* Used to validate that saved layout matches the tabs array before restoring.
|
|
101
|
+
*/
|
|
102
|
+
private countLayoutComponents;
|
|
98
103
|
/**
|
|
99
104
|
* Cleanup a tab's component
|
|
100
105
|
* Detaches from DOM but keeps in cache for potential reuse
|