@memberjunction/ng-explorer-core 6.2.0-edge.0 → 6.2.0-edge.2
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/app-routing.module.d.ts +23 -1
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +50 -14
- package/dist/app-routing.module.js.map +1 -1
- package/dist/generated/lazy-feature-config.d.ts +1 -1
- package/dist/generated/lazy-feature-config.d.ts.map +1 -1
- package/dist/generated/lazy-feature-config.js +12 -1
- package/dist/generated/lazy-feature-config.js.map +1 -1
- package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
- package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
- package/dist/lib/command-palette/command-palette.component.js +28 -14
- package/dist/lib/command-palette/command-palette.component.js.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
- package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
- package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
- package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
- package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
- package/dist/lib/generic/resource-container-component.d.ts +19 -5
- package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
- package/dist/lib/generic/resource-container-component.js +43 -13
- package/dist/lib/generic/resource-container-component.js.map +1 -1
- package/dist/lib/guards/entities.guard.d.ts +4 -0
- package/dist/lib/guards/entities.guard.d.ts.map +1 -1
- package/dist/lib/guards/entities.guard.js +10 -2
- package/dist/lib/guards/entities.guard.js.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
- package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
- package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
- package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
- package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
- package/dist/lib/oauth/oauth-callback.component.js +10 -2
- package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
- package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
- package/dist/lib/profile/profile-dialog.component.js +194 -191
- package/dist/lib/profile/profile-dialog.component.js.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
- package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
- package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +199 -25
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +534 -182
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
- package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
- package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
- package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
- package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/compose-email-fallback.d.ts +46 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.js +62 -0
- package/dist/lib/resource-wrappers/compose-email-fallback.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +74 -11
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js +214 -68
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/services/server-connectivity.service.d.ts +9 -4
- package/dist/lib/services/server-connectivity.service.d.ts.map +1 -1
- package/dist/lib/services/server-connectivity.service.js +56 -12
- package/dist/lib/services/server-connectivity.service.js.map +1 -1
- package/dist/lib/services/startup-validation.service.d.ts +4 -0
- package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
- package/dist/lib/services/startup-validation.service.js +10 -2
- package/dist/lib/services/startup-validation.service.js.map +1 -1
- package/dist/lib/services/system-validation.service.d.ts +13 -1
- package/dist/lib/services/system-validation.service.d.ts.map +1 -1
- package/dist/lib/services/system-validation.service.js +29 -5
- package/dist/lib/services/system-validation.service.js.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
- package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
- package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-nav.component.js +56 -12
- package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
- package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
- package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
- package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
- package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +50 -6
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.js +95 -22
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +91 -9
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +257 -101
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/loading-themes.d.ts +16 -12
- package/dist/lib/shell/loading-themes.d.ts.map +1 -1
- package/dist/lib/shell/loading-themes.js +145 -137
- package/dist/lib/shell/loading-themes.js.map +1 -1
- package/dist/lib/shell/readiness-beacon.d.ts +2 -0
- package/dist/lib/shell/readiness-beacon.d.ts.map +1 -1
- package/dist/lib/shell/readiness-beacon.js +5 -1
- package/dist/lib/shell/readiness-beacon.js.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/about-dialog.service.js +16 -4
- package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/profile-dialog.service.js +16 -4
- package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
- package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
- package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +264 -39
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +697 -294
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
- package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
- package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
- package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
- package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
- package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
- package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
- package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
- package/dist/lib/single-query/single-query.component.d.ts +22 -2
- package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
- package/dist/lib/single-query/single-query.component.js +40 -10
- package/dist/lib/single-query/single-query.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +41 -3
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +71 -11
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +42 -12
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
- package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
- package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
- package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
- package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
- package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
- package/dist/lib/user-menu/user-menu.types.js +10 -2
- package/dist/lib/user-menu/user-menu.types.js.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +151 -47
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
- package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +5 -4
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- package/package.json +52 -52
|
@@ -7,12 +7,20 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export class SystemValidationService {
|
|
9
9
|
_validationIssues = new BehaviorSubject([]);
|
|
10
|
-
|
|
10
|
+
ValidationIssues$ = this._validationIssues.asObservable();
|
|
11
|
+
/** @deprecated Use {@link ValidationIssues$}. */
|
|
12
|
+
get validationIssues$() {
|
|
13
|
+
return this.ValidationIssues$;
|
|
14
|
+
}
|
|
15
|
+
/** @deprecated Use {@link ValidationIssues$}. */
|
|
16
|
+
set validationIssues$(value) {
|
|
17
|
+
this.ValidationIssues$ = value;
|
|
18
|
+
}
|
|
11
19
|
constructor() { }
|
|
12
20
|
/**
|
|
13
21
|
* Adds a new validation issue to the list
|
|
14
22
|
*/
|
|
15
|
-
|
|
23
|
+
AddIssue(issue) {
|
|
16
24
|
try {
|
|
17
25
|
const newIssue = {
|
|
18
26
|
...issue,
|
|
@@ -29,10 +37,14 @@ export class SystemValidationService {
|
|
|
29
37
|
console.error('Error adding validation issue', err);
|
|
30
38
|
}
|
|
31
39
|
}
|
|
40
|
+
/** @deprecated Use {@link AddIssue}. */
|
|
41
|
+
addIssue(issue) {
|
|
42
|
+
return this.AddIssue(issue);
|
|
43
|
+
}
|
|
32
44
|
/**
|
|
33
45
|
* Removes a validation issue by id
|
|
34
46
|
*/
|
|
35
|
-
|
|
47
|
+
RemoveIssue(id) {
|
|
36
48
|
try {
|
|
37
49
|
const currentIssues = this._validationIssues.getValue();
|
|
38
50
|
const updatedIssues = currentIssues.filter(issue => issue.id !== id);
|
|
@@ -44,18 +56,30 @@ export class SystemValidationService {
|
|
|
44
56
|
console.error('Error removing validation issue', err);
|
|
45
57
|
}
|
|
46
58
|
}
|
|
59
|
+
/** @deprecated Use {@link RemoveIssue}. */
|
|
60
|
+
removeIssue(id) {
|
|
61
|
+
return this.RemoveIssue(id);
|
|
62
|
+
}
|
|
47
63
|
/**
|
|
48
64
|
* Clears all validation issues
|
|
49
65
|
*/
|
|
50
|
-
|
|
66
|
+
ClearIssues() {
|
|
51
67
|
this._validationIssues.next([]);
|
|
52
68
|
}
|
|
69
|
+
/** @deprecated Use {@link ClearIssues}. */
|
|
70
|
+
clearIssues() {
|
|
71
|
+
return this.ClearIssues();
|
|
72
|
+
}
|
|
53
73
|
/**
|
|
54
74
|
* Checks if there are any validation issues with error severity
|
|
55
75
|
*/
|
|
56
|
-
|
|
76
|
+
HasErrors() {
|
|
57
77
|
return this._validationIssues.getValue().some(issue => issue.severity === 'error');
|
|
58
78
|
}
|
|
79
|
+
/** @deprecated Use {@link HasErrors}. */
|
|
80
|
+
hasErrors() {
|
|
81
|
+
return this.HasErrors();
|
|
82
|
+
}
|
|
59
83
|
static ɵfac = function SystemValidationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SystemValidationService)(); };
|
|
60
84
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SystemValidationService, factory: SystemValidationService.ɵfac, providedIn: 'root' });
|
|
61
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-validation.service.js","sourceRoot":"","sources":["../../../src/lib/services/system-validation.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAc,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;AAchD;;GAEG;AAIH,MAAM,OAAO,uBAAuB;IAC1B,iBAAiB,GAAG,IAAI,eAAe,CAA0B,EAAE,CAAC,CAAC;IAEtE,iBAAiB,GAAwC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IAEtG,gBAAgB,CAAC;IAEjB;;OAEG;IACI,QAAQ,CAAC,KAA+C;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAA0B;gBACtC,GAAG,KAAK;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAExD,wCAAwC;YACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC1D,QAAQ,CAAC,4BAA4B,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,EAAU;QAC3B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAErE,IAAI,aAAa,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,SAAS;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACrF,CAAC;
|
|
1
|
+
{"version":3,"file":"system-validation.service.js","sourceRoot":"","sources":["../../../src/lib/services/system-validation.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { LogError } from '@memberjunction/core';\n\n/**\n * Represents a system validation issue with its severity level\n */\nexport interface SystemValidationIssue {\n id: string;\n message: string;\n details?: string;\n severity: 'error' | 'warning' | 'info';\n help?: string;\n timestamp: Date;\n}\n\n/**\n * Service for checking system validation issues and displaying error messages to users\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemValidationService {\n private _validationIssues = new BehaviorSubject<SystemValidationIssue[]>([]);\n \n public ValidationIssues$: Observable<SystemValidationIssue[]> = this._validationIssues.asObservable();\n\n /** @deprecated Use {@link ValidationIssues$}. */\n public get validationIssues$(): Observable<SystemValidationIssue[]> {\n return this.ValidationIssues$;\n }\n /** @deprecated Use {@link ValidationIssues$}. */\n public set validationIssues$(value: Observable<SystemValidationIssue[]>) {\n this.ValidationIssues$ = value;\n }\n\n constructor() { }\n\n /**\n * Adds a new validation issue to the list\n */\n public AddIssue(issue: Omit<SystemValidationIssue, 'timestamp'>): void {\n try {\n const newIssue: SystemValidationIssue = {\n ...issue,\n timestamp: new Date()\n };\n\n const currentIssues = this._validationIssues.getValue();\n \n // Don't add duplicates with the same ID\n if (!currentIssues.some(i => i.id === issue.id)) {\n this._validationIssues.next([...currentIssues, newIssue]);\n LogError(`System Validation Issue: ${issue.message} (${issue.id})`);\n }\n } catch (err) {\n console.error('Error adding validation issue', err);\n }\n }\n\n /** @deprecated Use {@link AddIssue}. */\n public addIssue(issue: Omit<SystemValidationIssue, 'timestamp'>): void {\n return this.AddIssue(issue);\n }\n\n /**\n * Removes a validation issue by id\n */\n public RemoveIssue(id: string): void {\n try {\n const currentIssues = this._validationIssues.getValue();\n const updatedIssues = currentIssues.filter(issue => issue.id !== id);\n \n if (updatedIssues.length !== currentIssues.length) {\n this._validationIssues.next(updatedIssues);\n }\n } catch (err) {\n console.error('Error removing validation issue', err);\n }\n }\n\n /** @deprecated Use {@link RemoveIssue}. */\n public removeIssue(id: string): void {\n return this.RemoveIssue(id);\n }\n\n /**\n * Clears all validation issues\n */\n public ClearIssues(): void {\n this._validationIssues.next([]);\n }\n\n /** @deprecated Use {@link ClearIssues}. */\n public clearIssues(): void {\n return this.ClearIssues();\n }\n\n /**\n * Checks if there are any validation issues with error severity\n */\n public HasErrors(): boolean {\n return this._validationIssues.getValue().some(issue => issue.severity === 'error');\n }\n\n /** @deprecated Use {@link HasErrors}. */\n public hasErrors(): boolean {\n return this.HasErrors();\n }\n}"]}
|
|
@@ -26,22 +26,54 @@ export interface AppAccessDialogResult {
|
|
|
26
26
|
*/
|
|
27
27
|
export declare class AppAccessDialogComponent implements OnDestroy {
|
|
28
28
|
private cdr;
|
|
29
|
-
|
|
29
|
+
Visible: boolean;
|
|
30
|
+
/** @deprecated Use {@link Visible}. */
|
|
31
|
+
set visible(value: AppAccessDialogComponent['Visible']);
|
|
32
|
+
/** @deprecated Use {@link Visible}. */
|
|
33
|
+
get visible(): AppAccessDialogComponent['Visible'];
|
|
34
|
+
VisibleChange: EventEmitter<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use {@link VisibleChange}.
|
|
37
|
+
*
|
|
38
|
+
* The same emitter under the old binding name, so a template still binding
|
|
39
|
+
* (visibleChange) keeps working. Must stay AFTER VisibleChange: class fields
|
|
40
|
+
* initialise in order, and the other way round this captures undefined.
|
|
41
|
+
*/
|
|
30
42
|
visibleChange: EventEmitter<boolean>;
|
|
43
|
+
Result: EventEmitter<AppAccessDialogResult>;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated Use {@link Result}.
|
|
46
|
+
*
|
|
47
|
+
* The same emitter under the old binding name, so a template still binding
|
|
48
|
+
* (result) keeps working. Must stay AFTER Result: class fields
|
|
49
|
+
* initialise in order, and the other way round this captures undefined.
|
|
50
|
+
*/
|
|
31
51
|
result: EventEmitter<AppAccessDialogResult>;
|
|
32
52
|
config: AppAccessDialogConfig | null;
|
|
33
|
-
|
|
53
|
+
IsProcessing: boolean;
|
|
54
|
+
/** @deprecated Use {@link IsProcessing}. */
|
|
55
|
+
get isProcessing(): boolean;
|
|
56
|
+
/** @deprecated Use {@link IsProcessing}. */
|
|
57
|
+
set isProcessing(value: boolean);
|
|
34
58
|
private countdownInterval;
|
|
35
|
-
|
|
59
|
+
CountdownSeconds: number;
|
|
60
|
+
/** @deprecated Use {@link CountdownSeconds}. */
|
|
61
|
+
get countdownSeconds(): number;
|
|
62
|
+
/** @deprecated Use {@link CountdownSeconds}. */
|
|
63
|
+
set countdownSeconds(value: number);
|
|
36
64
|
private readonly AUTO_DISMISS_SECONDS;
|
|
37
65
|
constructor(cdr: ChangeDetectorRef);
|
|
38
66
|
/**
|
|
39
67
|
* Show the dialog with the specified configuration
|
|
40
68
|
*/
|
|
69
|
+
Show(config: AppAccessDialogConfig): void;
|
|
70
|
+
/** @deprecated Use {@link Show}. */
|
|
41
71
|
show(config: AppAccessDialogConfig): void;
|
|
42
72
|
/**
|
|
43
73
|
* Hide the dialog
|
|
44
74
|
*/
|
|
75
|
+
Hide(): void;
|
|
76
|
+
/** @deprecated Use {@link Hide}. */
|
|
45
77
|
hide(): void;
|
|
46
78
|
ngOnDestroy(): void;
|
|
47
79
|
/**
|
|
@@ -51,10 +83,14 @@ export declare class AppAccessDialogComponent implements OnDestroy {
|
|
|
51
83
|
/**
|
|
52
84
|
* Get the dialog icon based on type
|
|
53
85
|
*/
|
|
86
|
+
get Icon(): string;
|
|
87
|
+
/** @deprecated Use {@link Icon}. */
|
|
54
88
|
get icon(): string;
|
|
55
89
|
/**
|
|
56
90
|
* Get the dialog icon color based on type
|
|
57
91
|
*/
|
|
92
|
+
get IconColor(): string;
|
|
93
|
+
/** @deprecated Use {@link IconColor}. */
|
|
58
94
|
get iconColor(): string;
|
|
59
95
|
/**
|
|
60
96
|
* Get the main message based on type
|
|
@@ -63,20 +99,28 @@ export declare class AppAccessDialogComponent implements OnDestroy {
|
|
|
63
99
|
/**
|
|
64
100
|
* Get the secondary/help message based on type
|
|
65
101
|
*/
|
|
102
|
+
get HelpMessage(): string;
|
|
103
|
+
/** @deprecated Use {@link HelpMessage}. */
|
|
66
104
|
get helpMessage(): string;
|
|
67
105
|
/**
|
|
68
106
|
* Check if the primary action button should be shown
|
|
69
107
|
*/
|
|
108
|
+
get ShowPrimaryAction(): boolean;
|
|
109
|
+
/** @deprecated Use {@link ShowPrimaryAction}. */
|
|
70
110
|
get showPrimaryAction(): boolean;
|
|
71
111
|
/**
|
|
72
112
|
* Get the primary action button text
|
|
73
113
|
*/
|
|
114
|
+
get PrimaryActionText(): string;
|
|
115
|
+
/** @deprecated Use {@link PrimaryActionText}. */
|
|
74
116
|
get primaryActionText(): string;
|
|
75
117
|
/**
|
|
76
118
|
* Get the secondary/dismiss button text with countdown if applicable
|
|
77
119
|
* For actionable dialogs (install/enable), show "Cancel"
|
|
78
120
|
* For non-actionable dialogs (errors), show "OK" with countdown
|
|
79
121
|
*/
|
|
122
|
+
get DismissButtonText(): string;
|
|
123
|
+
/** @deprecated Use {@link DismissButtonText}. */
|
|
80
124
|
get dismissButtonText(): string;
|
|
81
125
|
/**
|
|
82
126
|
* Check if this dialog type should auto-dismiss
|
|
@@ -93,14 +137,20 @@ export declare class AppAccessDialogComponent implements OnDestroy {
|
|
|
93
137
|
/**
|
|
94
138
|
* Handle primary action (install/enable)
|
|
95
139
|
*/
|
|
140
|
+
OnPrimaryAction(): Promise<void>;
|
|
141
|
+
/** @deprecated Use {@link OnPrimaryAction}. */
|
|
96
142
|
onPrimaryAction(): Promise<void>;
|
|
97
143
|
/**
|
|
98
144
|
* Handle dismiss/redirect action
|
|
99
145
|
*/
|
|
146
|
+
OnDismiss(): void;
|
|
147
|
+
/** @deprecated Use {@link OnDismiss}. */
|
|
100
148
|
onDismiss(): void;
|
|
101
149
|
/**
|
|
102
150
|
* Mark processing as complete (called by parent after install/enable)
|
|
103
151
|
*/
|
|
152
|
+
CompleteProcessing(): void;
|
|
153
|
+
/** @deprecated Use {@link CompleteProcessing}. */
|
|
104
154
|
completeProcessing(): void;
|
|
105
155
|
/**
|
|
106
156
|
* Handle keyboard events for the dialog
|
|
@@ -109,6 +159,6 @@ export declare class AppAccessDialogComponent implements OnDestroy {
|
|
|
109
159
|
*/
|
|
110
160
|
handleKeyDown(event: KeyboardEvent): void;
|
|
111
161
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppAccessDialogComponent, never>;
|
|
112
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AppAccessDialogComponent, "mj-app-access-dialog", never, { "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; "result": "result"; }, never, never, false, never>;
|
|
162
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppAccessDialogComponent, "mj-app-access-dialog", never, { "Visible": { "alias": "Visible"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "VisibleChange": "VisibleChange"; "visibleChange": "visibleChange"; "Result": "Result"; "result": "result"; }, never, never, false, never>;
|
|
113
163
|
}
|
|
114
164
|
//# sourceMappingURL=app-access-dialog.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-access-dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shell/components/dialogs/app-access-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;;AAEnH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,UAAU,GACV,WAAW,GACX,WAAW,GACX,UAAU,GACV,SAAS,GACT,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAMa,wBAAyB,YAAW,SAAS;
|
|
1
|
+
{"version":3,"file":"app-access-dialog.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/shell/components/dialogs/app-access-dialog.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,14 +94,54 @@ function AppAccessDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
94
94
|
*/
|
|
95
95
|
export class AppAccessDialogComponent {
|
|
96
96
|
cdr;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
Visible = false;
|
|
98
|
+
/** @deprecated Use {@link Visible}. */
|
|
99
|
+
set visible(value) {
|
|
100
|
+
this.Visible = value;
|
|
101
|
+
}
|
|
102
|
+
/** @deprecated Use {@link Visible}. */
|
|
103
|
+
get visible() {
|
|
104
|
+
return this.Visible;
|
|
105
|
+
}
|
|
106
|
+
VisibleChange = new EventEmitter();
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated Use {@link VisibleChange}.
|
|
109
|
+
*
|
|
110
|
+
* The same emitter under the old binding name, so a template still binding
|
|
111
|
+
* (visibleChange) keeps working. Must stay AFTER VisibleChange: class fields
|
|
112
|
+
* initialise in order, and the other way round this captures undefined.
|
|
113
|
+
*/
|
|
114
|
+
visibleChange = this.VisibleChange;
|
|
115
|
+
Result = new EventEmitter();
|
|
116
|
+
/**
|
|
117
|
+
* @deprecated Use {@link Result}.
|
|
118
|
+
*
|
|
119
|
+
* The same emitter under the old binding name, so a template still binding
|
|
120
|
+
* (result) keeps working. Must stay AFTER Result: class fields
|
|
121
|
+
* initialise in order, and the other way round this captures undefined.
|
|
122
|
+
*/
|
|
123
|
+
result = this.Result;
|
|
100
124
|
config = null;
|
|
101
|
-
|
|
125
|
+
IsProcessing = false;
|
|
126
|
+
/** @deprecated Use {@link IsProcessing}. */
|
|
127
|
+
get isProcessing() {
|
|
128
|
+
return this.IsProcessing;
|
|
129
|
+
}
|
|
130
|
+
/** @deprecated Use {@link IsProcessing}. */
|
|
131
|
+
set isProcessing(value) {
|
|
132
|
+
this.IsProcessing = value;
|
|
133
|
+
}
|
|
102
134
|
// Auto-dismiss countdown
|
|
103
135
|
countdownInterval = null;
|
|
104
|
-
|
|
136
|
+
CountdownSeconds = 0;
|
|
137
|
+
/** @deprecated Use {@link CountdownSeconds}. */
|
|
138
|
+
get countdownSeconds() {
|
|
139
|
+
return this.CountdownSeconds;
|
|
140
|
+
}
|
|
141
|
+
/** @deprecated Use {@link CountdownSeconds}. */
|
|
142
|
+
set countdownSeconds(value) {
|
|
143
|
+
this.CountdownSeconds = value;
|
|
144
|
+
}
|
|
105
145
|
AUTO_DISMISS_SECONDS = 5;
|
|
106
146
|
constructor(cdr) {
|
|
107
147
|
this.cdr = cdr;
|
|
@@ -109,26 +149,34 @@ export class AppAccessDialogComponent {
|
|
|
109
149
|
/**
|
|
110
150
|
* Show the dialog with the specified configuration
|
|
111
151
|
*/
|
|
112
|
-
|
|
152
|
+
Show(config) {
|
|
113
153
|
this.config = config;
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
this.
|
|
154
|
+
this.Visible = true;
|
|
155
|
+
this.IsProcessing = false;
|
|
156
|
+
this.VisibleChange.emit(true);
|
|
117
157
|
// Start countdown for types that auto-dismiss
|
|
118
158
|
if (this.shouldAutoDismiss()) {
|
|
119
159
|
this.startCountdown();
|
|
120
160
|
}
|
|
121
161
|
this.cdr.detectChanges();
|
|
122
162
|
}
|
|
163
|
+
/** @deprecated Use {@link Show}. */
|
|
164
|
+
show(config) {
|
|
165
|
+
return this.Show(config);
|
|
166
|
+
}
|
|
123
167
|
/**
|
|
124
168
|
* Hide the dialog
|
|
125
169
|
*/
|
|
126
|
-
|
|
170
|
+
Hide() {
|
|
127
171
|
this.stopCountdown();
|
|
128
|
-
this.
|
|
129
|
-
this.
|
|
172
|
+
this.Visible = false;
|
|
173
|
+
this.VisibleChange.emit(false);
|
|
130
174
|
this.cdr.detectChanges();
|
|
131
175
|
}
|
|
176
|
+
/** @deprecated Use {@link Hide}. */
|
|
177
|
+
hide() {
|
|
178
|
+
return this.Hide();
|
|
179
|
+
}
|
|
132
180
|
ngOnDestroy() {
|
|
133
181
|
this.stopCountdown();
|
|
134
182
|
}
|
|
@@ -160,7 +208,7 @@ export class AppAccessDialogComponent {
|
|
|
160
208
|
/**
|
|
161
209
|
* Get the dialog icon based on type
|
|
162
210
|
*/
|
|
163
|
-
get
|
|
211
|
+
get Icon() {
|
|
164
212
|
if (!this.config)
|
|
165
213
|
return 'fa-circle-info';
|
|
166
214
|
switch (this.config.type) {
|
|
@@ -181,10 +229,14 @@ export class AppAccessDialogComponent {
|
|
|
181
229
|
return 'fa-circle-info';
|
|
182
230
|
}
|
|
183
231
|
}
|
|
232
|
+
/** @deprecated Use {@link Icon}. */
|
|
233
|
+
get icon() {
|
|
234
|
+
return this.Icon;
|
|
235
|
+
}
|
|
184
236
|
/**
|
|
185
237
|
* Get the dialog icon color based on type
|
|
186
238
|
*/
|
|
187
|
-
get
|
|
239
|
+
get IconColor() {
|
|
188
240
|
if (!this.config)
|
|
189
241
|
return 'var(--mj-text-secondary)';
|
|
190
242
|
switch (this.config.type) {
|
|
@@ -203,6 +255,10 @@ export class AppAccessDialogComponent {
|
|
|
203
255
|
return 'var(--mj-text-secondary)';
|
|
204
256
|
}
|
|
205
257
|
}
|
|
258
|
+
/** @deprecated Use {@link IconColor}. */
|
|
259
|
+
get iconColor() {
|
|
260
|
+
return this.IconColor;
|
|
261
|
+
}
|
|
206
262
|
/**
|
|
207
263
|
* Get the main message based on type
|
|
208
264
|
*/
|
|
@@ -231,7 +287,7 @@ export class AppAccessDialogComponent {
|
|
|
231
287
|
/**
|
|
232
288
|
* Get the secondary/help message based on type
|
|
233
289
|
*/
|
|
234
|
-
get
|
|
290
|
+
get HelpMessage() {
|
|
235
291
|
if (!this.config)
|
|
236
292
|
return '';
|
|
237
293
|
switch (this.config.type) {
|
|
@@ -250,18 +306,26 @@ export class AppAccessDialogComponent {
|
|
|
250
306
|
return '';
|
|
251
307
|
}
|
|
252
308
|
}
|
|
309
|
+
/** @deprecated Use {@link HelpMessage}. */
|
|
310
|
+
get helpMessage() {
|
|
311
|
+
return this.HelpMessage;
|
|
312
|
+
}
|
|
253
313
|
/**
|
|
254
314
|
* Check if the primary action button should be shown
|
|
255
315
|
*/
|
|
256
|
-
get
|
|
316
|
+
get ShowPrimaryAction() {
|
|
257
317
|
if (!this.config)
|
|
258
318
|
return false;
|
|
259
319
|
return this.config.type === 'not_installed' || this.config.type === 'disabled';
|
|
260
320
|
}
|
|
321
|
+
/** @deprecated Use {@link ShowPrimaryAction}. */
|
|
322
|
+
get showPrimaryAction() {
|
|
323
|
+
return this.ShowPrimaryAction;
|
|
324
|
+
}
|
|
261
325
|
/**
|
|
262
326
|
* Get the primary action button text
|
|
263
327
|
*/
|
|
264
|
-
get
|
|
328
|
+
get PrimaryActionText() {
|
|
265
329
|
if (!this.config)
|
|
266
330
|
return '';
|
|
267
331
|
switch (this.config.type) {
|
|
@@ -272,22 +336,30 @@ export class AppAccessDialogComponent {
|
|
|
272
336
|
return 'OK';
|
|
273
337
|
}
|
|
274
338
|
}
|
|
339
|
+
/** @deprecated Use {@link PrimaryActionText}. */
|
|
340
|
+
get primaryActionText() {
|
|
341
|
+
return this.PrimaryActionText;
|
|
342
|
+
}
|
|
275
343
|
/**
|
|
276
344
|
* Get the secondary/dismiss button text with countdown if applicable
|
|
277
345
|
* For actionable dialogs (install/enable), show "Cancel"
|
|
278
346
|
* For non-actionable dialogs (errors), show "OK" with countdown
|
|
279
347
|
*/
|
|
280
|
-
get
|
|
348
|
+
get DismissButtonText() {
|
|
281
349
|
// For actionable dialogs, use "Cancel"
|
|
282
|
-
if (this.
|
|
350
|
+
if (this.ShowPrimaryAction) {
|
|
283
351
|
return 'Cancel';
|
|
284
352
|
}
|
|
285
353
|
// For non-actionable dialogs, show countdown if active
|
|
286
|
-
if (this.
|
|
287
|
-
return `OK (${this.
|
|
354
|
+
if (this.CountdownSeconds > 0) {
|
|
355
|
+
return `OK (${this.CountdownSeconds})`;
|
|
288
356
|
}
|
|
289
357
|
return 'OK';
|
|
290
358
|
}
|
|
359
|
+
/** @deprecated Use {@link DismissButtonText}. */
|
|
360
|
+
get dismissButtonText() {
|
|
361
|
+
return this.DismissButtonText;
|
|
362
|
+
}
|
|
291
363
|
/**
|
|
292
364
|
* Check if this dialog type should auto-dismiss
|
|
293
365
|
*/
|
|
@@ -301,12 +373,12 @@ export class AppAccessDialogComponent {
|
|
|
301
373
|
*/
|
|
302
374
|
startCountdown() {
|
|
303
375
|
this.stopCountdown();
|
|
304
|
-
this.
|
|
376
|
+
this.CountdownSeconds = this.AUTO_DISMISS_SECONDS;
|
|
305
377
|
this.countdownInterval = setInterval(() => {
|
|
306
|
-
this.
|
|
378
|
+
this.CountdownSeconds--;
|
|
307
379
|
this.cdr.detectChanges();
|
|
308
|
-
if (this.
|
|
309
|
-
this.
|
|
380
|
+
if (this.CountdownSeconds <= 0) {
|
|
381
|
+
this.OnDismiss();
|
|
310
382
|
}
|
|
311
383
|
}, 1000);
|
|
312
384
|
}
|
|
@@ -318,37 +390,49 @@ export class AppAccessDialogComponent {
|
|
|
318
390
|
clearInterval(this.countdownInterval);
|
|
319
391
|
this.countdownInterval = null;
|
|
320
392
|
}
|
|
321
|
-
this.
|
|
393
|
+
this.CountdownSeconds = 0;
|
|
322
394
|
}
|
|
323
395
|
/**
|
|
324
396
|
* Handle primary action (install/enable)
|
|
325
397
|
*/
|
|
326
|
-
async
|
|
398
|
+
async OnPrimaryAction() {
|
|
327
399
|
if (!this.config)
|
|
328
400
|
return;
|
|
329
|
-
this.
|
|
401
|
+
this.IsProcessing = true;
|
|
330
402
|
this.cdr.detectChanges();
|
|
331
403
|
const action = this.config.type === 'not_installed' ? 'install' : 'enable';
|
|
332
|
-
this.
|
|
404
|
+
this.Result.emit({
|
|
333
405
|
action,
|
|
334
406
|
appId: this.config.appId
|
|
335
407
|
});
|
|
336
408
|
// Don't hide yet - let the parent component handle the result and close when ready
|
|
337
409
|
}
|
|
410
|
+
/** @deprecated Use {@link OnPrimaryAction}. */
|
|
411
|
+
async onPrimaryAction() {
|
|
412
|
+
return this.OnPrimaryAction();
|
|
413
|
+
}
|
|
338
414
|
/**
|
|
339
415
|
* Handle dismiss/redirect action
|
|
340
416
|
*/
|
|
341
|
-
|
|
417
|
+
OnDismiss() {
|
|
342
418
|
this.stopCountdown();
|
|
343
|
-
this.
|
|
344
|
-
this.
|
|
419
|
+
this.Result.emit({ action: 'redirect' });
|
|
420
|
+
this.Hide();
|
|
421
|
+
}
|
|
422
|
+
/** @deprecated Use {@link OnDismiss}. */
|
|
423
|
+
onDismiss() {
|
|
424
|
+
return this.OnDismiss();
|
|
345
425
|
}
|
|
346
426
|
/**
|
|
347
427
|
* Mark processing as complete (called by parent after install/enable)
|
|
348
428
|
*/
|
|
429
|
+
CompleteProcessing() {
|
|
430
|
+
this.IsProcessing = false;
|
|
431
|
+
this.Hide();
|
|
432
|
+
}
|
|
433
|
+
/** @deprecated Use {@link CompleteProcessing}. */
|
|
349
434
|
completeProcessing() {
|
|
350
|
-
this.
|
|
351
|
-
this.hide();
|
|
435
|
+
return this.CompleteProcessing();
|
|
352
436
|
}
|
|
353
437
|
/**
|
|
354
438
|
* Handle keyboard events for the dialog
|
|
@@ -356,27 +440,27 @@ export class AppAccessDialogComponent {
|
|
|
356
440
|
* Escape key dismisses the dialog
|
|
357
441
|
*/
|
|
358
442
|
handleKeyDown(event) {
|
|
359
|
-
if (!this.
|
|
443
|
+
if (!this.Visible || this.IsProcessing)
|
|
360
444
|
return;
|
|
361
445
|
if (event.key === 'Enter') {
|
|
362
446
|
// Enter triggers primary action if available
|
|
363
|
-
if (this.
|
|
447
|
+
if (this.ShowPrimaryAction) {
|
|
364
448
|
event.preventDefault();
|
|
365
449
|
event.stopPropagation();
|
|
366
|
-
this.
|
|
450
|
+
this.OnPrimaryAction();
|
|
367
451
|
}
|
|
368
452
|
}
|
|
369
453
|
else if (event.key === 'Escape') {
|
|
370
454
|
// Escape dismisses the dialog
|
|
371
455
|
event.preventDefault();
|
|
372
456
|
event.stopPropagation();
|
|
373
|
-
this.
|
|
457
|
+
this.OnDismiss();
|
|
374
458
|
}
|
|
375
459
|
}
|
|
376
460
|
static ɵfac = function AppAccessDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AppAccessDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
377
461
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppAccessDialogComponent, selectors: [["mj-app-access-dialog"]], hostBindings: function AppAccessDialogComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
378
462
|
i0.ɵɵlistener("keydown", function AppAccessDialogComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); }, i0.ɵɵresolveDocument);
|
|
379
|
-
} }, inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange", result: "result" }, standalone: false, decls: 1, vars: 1, consts: [[1, "dialog-overlay"], [1, "dialog-overlay", 3, "click"], [1, "dialog-container", 3, "click"], [1, "dialog-icon"], [1, "fa-solid", 3, "ngClass"], [1, "dialog-title"], [1, "dialog-message"], [1, "dialog-help"], [1, "dialog-actions"], [1, "dialog-btn", "primary", 3, "disabled"], [1, "dialog-btn", 3, "click", "disabled"], [1, "dialog-btn", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"]], template: function AppAccessDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
463
|
+
} }, inputs: { Visible: "Visible", visible: "visible" }, outputs: { VisibleChange: "VisibleChange", visibleChange: "visibleChange", Result: "Result", result: "result" }, standalone: false, decls: 1, vars: 1, consts: [[1, "dialog-overlay"], [1, "dialog-overlay", 3, "click"], [1, "dialog-container", 3, "click"], [1, "dialog-icon"], [1, "fa-solid", 3, "ngClass"], [1, "dialog-title"], [1, "dialog-message"], [1, "dialog-help"], [1, "dialog-actions"], [1, "dialog-btn", "primary", 3, "disabled"], [1, "dialog-btn", 3, "click", "disabled"], [1, "dialog-btn", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"]], template: function AppAccessDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
380
464
|
i0.ɵɵconditionalCreate(0, AppAccessDialogComponent_Conditional_0_Template, 13, 11, "div", 0);
|
|
381
465
|
} if (rf & 2) {
|
|
382
466
|
i0.ɵɵconditional(ctx.visible ? 0 : -1);
|
|
@@ -385,10 +469,16 @@ export class AppAccessDialogComponent {
|
|
|
385
469
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppAccessDialogComponent, [{
|
|
386
470
|
type: Component,
|
|
387
471
|
args: [{ standalone: false, selector: 'mj-app-access-dialog', template: "@if (visible) {\n <div class=\"dialog-overlay\" (click)=\"onDismiss()\">\n <div class=\"dialog-container\" (click)=\"$event.stopPropagation()\">\n <!-- Icon -->\n <div class=\"dialog-icon\" [style.color]=\"iconColor\">\n <i class=\"fa-solid\" [ngClass]=\"icon\"></i>\n </div>\n <!-- Title -->\n <h2 class=\"dialog-title\">{{ title }}</h2>\n <!-- Message -->\n <p class=\"dialog-message\">{{ message }}</p>\n <!-- Help message -->\n @if (helpMessage) {\n <p class=\"dialog-help\">{{ helpMessage }}</p>\n }\n <!-- Actions -->\n <div class=\"dialog-actions\">\n @if (showPrimaryAction) {\n <button\n class=\"dialog-btn primary\"\n [disabled]=\"isProcessing\"\n (click)=\"onPrimaryAction()\">\n @if (isProcessing) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n @if (!isProcessing) {\n <span>{{ primaryActionText }}</span>\n }\n @if (isProcessing) {\n <span>Processing...</span>\n }\n </button>\n }\n <button\n class=\"dialog-btn\"\n [class.secondary]=\"showPrimaryAction\"\n [disabled]=\"isProcessing\"\n (click)=\"onDismiss()\">\n {{ dismissButtonText }}\n </button>\n </div>\n </div>\n </div>\n}\n", styles: [".dialog-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10001; /* Higher than loading screen (10000) */\n animation: fadeIn 0.2s ease-out;\n padding: 16px; /* Ensure padding on small screens */\n box-sizing: border-box;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n.dialog-container {\n background: var(--mj-bg-surface-card);\n border-radius: 12px;\n padding: 32px;\n max-width: 420px;\n width: 90%;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n text-align: center;\n animation: slideUp 0.3s ease-out;\n}\n\n@keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.dialog-icon {\n font-size: 48px;\n margin-bottom: 16px;\n}\n\n.dialog-title {\n margin: 0 0 12px 0;\n font-size: 20px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.dialog-message {\n margin: 0 0 8px 0;\n font-size: 14px;\n line-height: 1.5;\n color: var(--mj-text-secondary);\n}\n\n.dialog-help {\n margin: 0 0 20px 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.dialog-actions {\n display: flex;\n gap: 12px;\n justify-content: center;\n margin-top: 24px;\n}\n\n.dialog-btn {\n padding: 10px 24px;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n border: none;\n min-width: 100px;\n}\n\n.dialog-btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.dialog-btn.primary {\n background: var(--mj-brand-primary);\n color: white;\n}\n\n.dialog-btn.primary:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.dialog-btn.primary:active:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n}\n\n.dialog-btn.secondary,\n.dialog-btn:not(.primary):not(.secondary) {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-primary);\n border: 1px solid var(--mj-border-default);\n}\n\n.dialog-btn.secondary:hover:not(:disabled),\n.dialog-btn:not(.primary):not(.secondary):hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n}\n\n.dialog-btn.secondary:active:not(:disabled),\n.dialog-btn:not(.primary):not(.secondary):active:not(:disabled) {\n background: var(--mj-bg-surface-active);\n}\n\n/* Spinner animation */\n.fa-spin {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Responsive - Tablet */\n@media (max-width: 768px) {\n .dialog-container {\n max-width: 380px;\n }\n\n .dialog-message {\n font-size: 13px;\n }\n}\n\n/* Responsive - Mobile */\n@media (max-width: 480px) {\n .dialog-container {\n padding: 20px;\n margin: 0;\n max-width: none;\n width: 100%;\n border-radius: 8px;\n }\n\n .dialog-icon {\n font-size: 36px;\n margin-bottom: 12px;\n }\n\n .dialog-title {\n font-size: 17px;\n margin-bottom: 10px;\n }\n\n .dialog-message {\n font-size: 13px;\n margin-bottom: 6px;\n }\n\n .dialog-help {\n font-size: 11px;\n margin-bottom: 16px;\n }\n\n .dialog-actions {\n flex-direction: column;\n gap: 10px;\n margin-top: 20px;\n }\n\n .dialog-btn {\n width: 100%;\n padding: 12px 20px;\n font-size: 15px;\n }\n}\n\n/* Very small screens */\n@media (max-width: 360px) {\n .dialog-container {\n padding: 16px;\n }\n\n .dialog-icon {\n font-size: 32px;\n }\n\n .dialog-title {\n font-size: 16px;\n }\n}\n"] }]
|
|
388
|
-
}], () => [{ type: i0.ChangeDetectorRef }], {
|
|
472
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { Visible: [{
|
|
473
|
+
type: Input
|
|
474
|
+
}], visible: [{
|
|
389
475
|
type: Input
|
|
476
|
+
}], VisibleChange: [{
|
|
477
|
+
type: Output
|
|
390
478
|
}], visibleChange: [{
|
|
391
479
|
type: Output
|
|
480
|
+
}], Result: [{
|
|
481
|
+
type: Output
|
|
392
482
|
}], result: [{
|
|
393
483
|
type: Output
|
|
394
484
|
}], handleKeyDown: [{
|