@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
|
@@ -27,13 +27,29 @@ function ChatTasksResource_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
27
27
|
* Supports URL deep-linking via taskId query parameter
|
|
28
28
|
*/
|
|
29
29
|
let ChatTasksResource = class ChatTasksResource extends BaseResourceComponent {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
TasksView;
|
|
31
|
+
/** @deprecated Use {@link TasksView}. */
|
|
32
|
+
get tasksView() {
|
|
33
|
+
return this.TasksView;
|
|
34
|
+
}
|
|
35
|
+
/** @deprecated Use {@link TasksView}. */
|
|
36
|
+
set tasksView(value) {
|
|
37
|
+
this.TasksView = value;
|
|
38
|
+
}
|
|
39
|
+
CurrentUser = null;
|
|
40
|
+
/** @deprecated Use {@link CurrentUser}. */
|
|
41
|
+
get currentUser() {
|
|
42
|
+
return this.CurrentUser;
|
|
43
|
+
}
|
|
44
|
+
/** @deprecated Use {@link CurrentUser}. */
|
|
45
|
+
set currentUser(value) {
|
|
46
|
+
this.CurrentUser = value;
|
|
47
|
+
}
|
|
48
|
+
activeTaskId; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
|
|
33
49
|
ngOnInit() {
|
|
34
50
|
super.ngOnInit();
|
|
35
51
|
const md = this.ProviderToUse;
|
|
36
|
-
this.
|
|
52
|
+
this.CurrentUser = md.CurrentUser;
|
|
37
53
|
// Apply initial state from query params or tab config
|
|
38
54
|
const params = this.GetQueryParams();
|
|
39
55
|
const config = this.Data?.Configuration;
|
|
@@ -57,16 +73,24 @@ let ChatTasksResource = class ChatTasksResource extends BaseResourceComponent {
|
|
|
57
73
|
/**
|
|
58
74
|
* Handle task selection from the tasks view.
|
|
59
75
|
*/
|
|
60
|
-
|
|
76
|
+
OnTaskSelected(taskId) {
|
|
61
77
|
this.activeTaskId = taskId || undefined;
|
|
62
78
|
this.UpdateQueryParams({ taskId: this.activeTaskId ?? null });
|
|
63
79
|
}
|
|
80
|
+
/** @deprecated Use {@link OnTaskSelected}. */
|
|
81
|
+
onTaskSelected(taskId) {
|
|
82
|
+
return this.OnTaskSelected(taskId);
|
|
83
|
+
}
|
|
64
84
|
/**
|
|
65
85
|
* Get the environment ID from configuration or use default
|
|
66
86
|
*/
|
|
67
|
-
get
|
|
87
|
+
get EnvironmentId() {
|
|
68
88
|
return this.Data?.Configuration?.environmentId || MJEnvironmentEntityExtended.DefaultEnvironmentID;
|
|
69
89
|
}
|
|
90
|
+
/** @deprecated Use {@link EnvironmentId}. */
|
|
91
|
+
get environmentId() {
|
|
92
|
+
return this.EnvironmentId;
|
|
93
|
+
}
|
|
70
94
|
/**
|
|
71
95
|
* Get the display name for chat tasks
|
|
72
96
|
*/
|
|
@@ -84,7 +108,7 @@ let ChatTasksResource = class ChatTasksResource extends BaseResourceComponent {
|
|
|
84
108
|
i0.ɵɵviewQuery(_c0, 5);
|
|
85
109
|
} if (rf & 2) {
|
|
86
110
|
let _t;
|
|
87
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.
|
|
111
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.TasksView = _t.first);
|
|
88
112
|
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [["tasksView", ""], [1, "chat-tasks-container"], [2, "height", "100%", 3, "environmentId", "currentUser", "baseFilter", "activeTaskId"], [2, "height", "100%", 3, "taskSelected", "environmentId", "currentUser", "baseFilter", "activeTaskId"]], template: function ChatTasksResource_Template(rf, ctx) { if (rf & 1) {
|
|
89
113
|
i0.ɵɵelementStart(0, "div", 1);
|
|
90
114
|
i0.ɵɵconditionalCreate(1, ChatTasksResource_Conditional_1_Template, 2, 4, "mj-tasks-full-view", 2);
|
|
@@ -115,7 +139,7 @@ export { ChatTasksResource };
|
|
|
115
139
|
}
|
|
116
140
|
</div>
|
|
117
141
|
`, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .chat-tasks-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n flex: 1;\n overflow: hidden;\n }\n "] }]
|
|
118
|
-
}], null, {
|
|
142
|
+
}], null, { TasksView: [{
|
|
119
143
|
type: ViewChild,
|
|
120
144
|
args: ['tasksView']
|
|
121
145
|
}] }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-tasks-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-tasks-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAa,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AAErF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;;;;;;IAgBpE,gDAOwB;IADtB,qNAAgB,6BAA4B,KAAC;IAE/C,iBAAqB;;;IAHnB,AADA,AADA,AADA,oDAA+B,mCACJ,qBACP,qCACS;;AAlBvC;;;;;GAKG;AAuCI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,qBAAqB;IAClC,SAAS,CAA0B;
|
|
1
|
+
{"version":3,"file":"chat-tasks-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-tasks-resource.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ViewEncapsulation, OnDestroy, ViewChild } from '@angular/core';\nimport { Metadata } from '@memberjunction/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { MJEnvironmentEntityExtended } from '@memberjunction/core-entities';\nimport { TasksFullViewComponent } from '@memberjunction/ng-conversations';\nimport { Subject } from 'rxjs';\n/**\n * Chat Tasks Resource - displays the tasks full view for tab-based display\n * Extends BaseResourceComponent to work with the resource type system\n * Shows all tasks associated with conversations and artifacts\n * Supports URL deep-linking via taskId query parameter\n */\n@RegisterClass(BaseResourceComponent, 'ChatTasksResource')\n@Component({\n standalone: false,\n selector: 'mj-chat-tasks-resource',\n template: `\n <div class=\"chat-tasks-container\">\n @if (currentUser) {\n <mj-tasks-full-view\n #tasksView\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n [baseFilter]=\"'1=1'\"\n [activeTaskId]=\"activeTaskId\"\n (taskSelected)=\"onTaskSelected($any($event))\"\n style=\"height: 100%;\">\n </mj-tasks-full-view>\n }\n </div>\n `,\n styles: [`\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .chat-tasks-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n flex: 1;\n overflow: hidden;\n }\n `],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChatTasksResource extends BaseResourceComponent implements OnDestroy {\n @ViewChild('tasksView') TasksView?: TasksFullViewComponent;\n\n /** @deprecated Use {@link TasksView}. */\n get tasksView(): TasksFullViewComponent | undefined {\n return this.TasksView;\n }\n /** @deprecated Use {@link TasksView}. */\n set tasksView(value: TasksFullViewComponent | undefined) {\n this.TasksView = value;\n }\n\n public CurrentUser: any = null;\n\n /** @deprecated Use {@link CurrentUser}. */\n public get currentUser(): any {\n return this.CurrentUser;\n }\n /** @deprecated Use {@link CurrentUser}. */\n public set currentUser(value: any) {\n this.CurrentUser = value;\n }\n public activeTaskId?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member\n\n ngOnInit() {\n super.ngOnInit();\n const md = this.ProviderToUse;\n this.CurrentUser = md.CurrentUser;\n\n // Apply initial state from query params or tab config\n const params = this.GetQueryParams();\n const config = this.Data?.Configuration;\n const taskId = params['taskId'] || (config?.taskId as string);\n if (taskId) {\n this.activeTaskId = taskId;\n }\n\n // Push initial state to URL\n this.UpdateQueryParams({ taskId: this.activeTaskId ?? null });\n\n // Notify load complete after user is set\n setTimeout(() => {\n this.NotifyLoadComplete();\n }, 100);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n protected override OnQueryParamsChanged(params: Record<string, string>, source: 'popstate' | 'deeplink'): void {\n this.activeTaskId = params['taskId'] || undefined;\n }\n\n /**\n * Handle task selection from the tasks view.\n */\n OnTaskSelected(taskId: string | null): void {\n this.activeTaskId = taskId || undefined;\n this.UpdateQueryParams({ taskId: this.activeTaskId ?? null });\n }\n\n /** @deprecated Use {@link OnTaskSelected}. */\n onTaskSelected(taskId: string | null): void {\n return this.OnTaskSelected(taskId);\n }\n\n\n /**\n * Get the environment ID from configuration or use default\n */\n get EnvironmentId(): string {\n return this.Data?.Configuration?.environmentId || MJEnvironmentEntityExtended.DefaultEnvironmentID;\n }\n\n /** @deprecated Use {@link EnvironmentId}. */\n get environmentId(): string {\n return this.EnvironmentId;\n }\n\n /**\n * Get the display name for chat tasks\n */\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Tasks';\n }\n\n /**\n * Get the icon class for chat tasks\n */\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-tasks';\n }\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { LazyArtifactInfo } from '@memberjunction/ng-conversations';
|
|
2
|
+
/** The fields of a loaded conversation artifact the compose:email fallback reads. */
|
|
3
|
+
export type ComposeEmailDraftArtifact = Pick<LazyArtifactInfo, 'ArtifactId' | 'ArtifactVersionId' | 'ArtifactName'>;
|
|
4
|
+
/**
|
|
5
|
+
* Which artifact, if any, the compose:email over-length fallback opens.
|
|
6
|
+
*
|
|
7
|
+
* - `stated`: the artifact the command names, found among the conversation's loaded artifacts.
|
|
8
|
+
* - `most-recent`: the command names no artifact, so the conversation's latest one opens. For a
|
|
9
|
+
* single-artifact turn that IS the draft; the notice names it so the user can tell if it is not.
|
|
10
|
+
* - `stated-not-loaded`: the command names an artifact that is not loaded. Nothing opens: a
|
|
11
|
+
* different artifact would be passed off as the draft.
|
|
12
|
+
* - `none`: the command names no artifact and the conversation has none.
|
|
13
|
+
*/
|
|
14
|
+
export type ComposeEmailDraftTarget = {
|
|
15
|
+
Kind: 'stated';
|
|
16
|
+
Artifact: ComposeEmailDraftArtifact;
|
|
17
|
+
} | {
|
|
18
|
+
Kind: 'most-recent';
|
|
19
|
+
Artifact: ComposeEmailDraftArtifact;
|
|
20
|
+
} | {
|
|
21
|
+
Kind: 'stated-not-loaded';
|
|
22
|
+
} | {
|
|
23
|
+
Kind: 'none';
|
|
24
|
+
};
|
|
25
|
+
/** What to tell the user, in the style MJNotificationService.CreateSimpleNotification takes. */
|
|
26
|
+
export interface ComposeEmailFallbackNotice {
|
|
27
|
+
Message: string;
|
|
28
|
+
Style: 'info' | 'warning';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the artifact to open when a compose:email draft is too long for a mailto: URL.
|
|
32
|
+
*
|
|
33
|
+
* @param artifactLists the conversation's loaded artifacts, one list per message, oldest first
|
|
34
|
+
* (the values of the chat area's ArtifactsByDetailId)
|
|
35
|
+
* @param artifactId the command's optional artifactId
|
|
36
|
+
*/
|
|
37
|
+
export declare function ResolveComposeEmailDraft(artifactLists: Iterable<readonly ComposeEmailDraftArtifact[]>, artifactId?: string): ComposeEmailDraftTarget;
|
|
38
|
+
/**
|
|
39
|
+
* The one notification the compose:email over-length fallback shows.
|
|
40
|
+
*
|
|
41
|
+
* Without it the user clicks "Open draft in Mail", their mail client does not open, and their
|
|
42
|
+
* clipboard has been overwritten, all without a word. The clipboard sentence appears only when
|
|
43
|
+
* the copy actually happened.
|
|
44
|
+
*/
|
|
45
|
+
export declare function BuildComposeEmailFallbackNotice(target: ComposeEmailDraftTarget, copiedToClipboard: boolean): ComposeEmailFallbackNotice;
|
|
46
|
+
//# sourceMappingURL=compose-email-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-email-fallback.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/compose-email-fallback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,qFAAqF;AACrF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,mBAAmB,GAAG,cAAc,CAAC,CAAC;AAEpH;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,gGAAgG;AAChG,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,QAAQ,CAAC,SAAS,yBAAyB,EAAE,CAAC,EAC7D,UAAU,CAAC,EAAE,MAAM,GAClB,uBAAuB,CAsBzB;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,uBAAuB,EAC/B,iBAAiB,EAAE,OAAO,GACzB,0BAA0B,CAmB5B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { UUIDsEqual } from '@memberjunction/global';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the artifact to open when a compose:email draft is too long for a mailto: URL.
|
|
4
|
+
*
|
|
5
|
+
* @param artifactLists the conversation's loaded artifacts, one list per message, oldest first
|
|
6
|
+
* (the values of the chat area's ArtifactsByDetailId)
|
|
7
|
+
* @param artifactId the command's optional artifactId
|
|
8
|
+
*/
|
|
9
|
+
export function ResolveComposeEmailDraft(artifactLists, artifactId) {
|
|
10
|
+
const lists = Array.from(artifactLists);
|
|
11
|
+
if (artifactId) {
|
|
12
|
+
// UUIDsEqual, not ===: SQL Server returns UUIDs upper-case and PostgreSQL lower-case, so a
|
|
13
|
+
// string comparison silently misses across providers.
|
|
14
|
+
for (const artifacts of lists) {
|
|
15
|
+
const match = artifacts.find((a) => UUIDsEqual(a.ArtifactId, artifactId));
|
|
16
|
+
if (match) {
|
|
17
|
+
return { Kind: 'stated', Artifact: match };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return { Kind: 'stated-not-loaded' };
|
|
21
|
+
}
|
|
22
|
+
for (let i = lists.length - 1; i >= 0; i--) {
|
|
23
|
+
const artifacts = lists[i];
|
|
24
|
+
if (artifacts.length > 0) {
|
|
25
|
+
return { Kind: 'most-recent', Artifact: artifacts[artifacts.length - 1] };
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return { Kind: 'none' };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The one notification the compose:email over-length fallback shows.
|
|
32
|
+
*
|
|
33
|
+
* Without it the user clicks "Open draft in Mail", their mail client does not open, and their
|
|
34
|
+
* clipboard has been overwritten, all without a word. The clipboard sentence appears only when
|
|
35
|
+
* the copy actually happened.
|
|
36
|
+
*/
|
|
37
|
+
export function BuildComposeEmailFallbackNotice(target, copiedToClipboard) {
|
|
38
|
+
const lead = 'Draft too long for your mail client';
|
|
39
|
+
const clipboard = copiedToClipboard ? ' The text is on your clipboard.' : '';
|
|
40
|
+
switch (target.Kind) {
|
|
41
|
+
case 'stated': {
|
|
42
|
+
const name = quotedName(target.Artifact);
|
|
43
|
+
return { Message: `${lead}, so ${name ?? 'the draft artifact'} opened instead.${clipboard}`, Style: 'info' };
|
|
44
|
+
}
|
|
45
|
+
case 'most-recent': {
|
|
46
|
+
// Named because it is a guess: the user can see at once if the latest artifact is not the draft.
|
|
47
|
+
const name = quotedName(target.Artifact);
|
|
48
|
+
const opened = name ? `this conversation's latest artifact, ${name},` : `this conversation's latest artifact`;
|
|
49
|
+
return { Message: `${lead}, so ${opened} opened instead.${clipboard}`, Style: 'info' };
|
|
50
|
+
}
|
|
51
|
+
case 'stated-not-loaded':
|
|
52
|
+
return { Message: `${lead}, and its draft artifact is not loaded in this conversation.${clipboard}`, Style: 'warning' };
|
|
53
|
+
case 'none':
|
|
54
|
+
return { Message: `${lead}, and this conversation has no draft artifact to open.${clipboard}`, Style: 'warning' };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** The artifact's name in quotes, or null when it has none worth showing. */
|
|
58
|
+
function quotedName(artifact) {
|
|
59
|
+
const name = artifact.ArtifactName?.trim();
|
|
60
|
+
return name ? `"${name}"` : null;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=compose-email-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-email-fallback.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/compose-email-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4BpD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,aAA6D,EAC7D,UAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAExC,IAAI,UAAU,EAAE,CAAC;QACf,2FAA2F;QAC3F,sDAAsD;QACtD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAA+B,EAC/B,iBAA0B;IAE1B,MAAM,IAAI,GAAG,qCAAqC,CAAC;IACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,QAAQ,IAAI,IAAI,oBAAoB,mBAAmB,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC/G,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,iGAAiG;YACjG,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,wCAAwC,IAAI,GAAG,CAAC,CAAC,CAAC,qCAAqC,CAAC;YAC9G,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,QAAQ,MAAM,mBAAmB,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzF,CAAC;QACD,KAAK,mBAAmB;YACtB,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,+DAA+D,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC1H,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,yDAAyD,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACtH,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,QAAmC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC","sourcesContent":["import { UUIDsEqual } from '@memberjunction/global';\nimport type { LazyArtifactInfo } from '@memberjunction/ng-conversations';\n\n/** The fields of a loaded conversation artifact the compose:email fallback reads. */\nexport type ComposeEmailDraftArtifact = Pick<LazyArtifactInfo, 'ArtifactId' | 'ArtifactVersionId' | 'ArtifactName'>;\n\n/**\n * Which artifact, if any, the compose:email over-length fallback opens.\n *\n * - `stated`: the artifact the command names, found among the conversation's loaded artifacts.\n * - `most-recent`: the command names no artifact, so the conversation's latest one opens. For a\n * single-artifact turn that IS the draft; the notice names it so the user can tell if it is not.\n * - `stated-not-loaded`: the command names an artifact that is not loaded. Nothing opens: a\n * different artifact would be passed off as the draft.\n * - `none`: the command names no artifact and the conversation has none.\n */\nexport type ComposeEmailDraftTarget =\n | { Kind: 'stated'; Artifact: ComposeEmailDraftArtifact }\n | { Kind: 'most-recent'; Artifact: ComposeEmailDraftArtifact }\n | { Kind: 'stated-not-loaded' }\n | { Kind: 'none' };\n\n/** What to tell the user, in the style MJNotificationService.CreateSimpleNotification takes. */\nexport interface ComposeEmailFallbackNotice {\n Message: string;\n Style: 'info' | 'warning';\n}\n\n/**\n * Resolve the artifact to open when a compose:email draft is too long for a mailto: URL.\n *\n * @param artifactLists the conversation's loaded artifacts, one list per message, oldest first\n * (the values of the chat area's ArtifactsByDetailId)\n * @param artifactId the command's optional artifactId\n */\nexport function ResolveComposeEmailDraft(\n artifactLists: Iterable<readonly ComposeEmailDraftArtifact[]>,\n artifactId?: string\n): ComposeEmailDraftTarget {\n const lists = Array.from(artifactLists);\n\n if (artifactId) {\n // UUIDsEqual, not ===: SQL Server returns UUIDs upper-case and PostgreSQL lower-case, so a\n // string comparison silently misses across providers.\n for (const artifacts of lists) {\n const match = artifacts.find((a) => UUIDsEqual(a.ArtifactId, artifactId));\n if (match) {\n return { Kind: 'stated', Artifact: match };\n }\n }\n return { Kind: 'stated-not-loaded' };\n }\n\n for (let i = lists.length - 1; i >= 0; i--) {\n const artifacts = lists[i];\n if (artifacts.length > 0) {\n return { Kind: 'most-recent', Artifact: artifacts[artifacts.length - 1] };\n }\n }\n return { Kind: 'none' };\n}\n\n/**\n * The one notification the compose:email over-length fallback shows.\n *\n * Without it the user clicks \"Open draft in Mail\", their mail client does not open, and their\n * clipboard has been overwritten, all without a word. The clipboard sentence appears only when\n * the copy actually happened.\n */\nexport function BuildComposeEmailFallbackNotice(\n target: ComposeEmailDraftTarget,\n copiedToClipboard: boolean\n): ComposeEmailFallbackNotice {\n const lead = 'Draft too long for your mail client';\n const clipboard = copiedToClipboard ? ' The text is on your clipboard.' : '';\n switch (target.Kind) {\n case 'stated': {\n const name = quotedName(target.Artifact);\n return { Message: `${lead}, so ${name ?? 'the draft artifact'} opened instead.${clipboard}`, Style: 'info' };\n }\n case 'most-recent': {\n // Named because it is a guess: the user can see at once if the latest artifact is not the draft.\n const name = quotedName(target.Artifact);\n const opened = name ? `this conversation's latest artifact, ${name},` : `this conversation's latest artifact`;\n return { Message: `${lead}, so ${opened} opened instead.${clipboard}`, Style: 'info' };\n }\n case 'stated-not-loaded':\n return { Message: `${lead}, and its draft artifact is not loaded in this conversation.${clipboard}`, Style: 'warning' };\n case 'none':\n return { Message: `${lead}, and this conversation has no draft artifact to open.${clipboard}`, Style: 'warning' };\n }\n}\n\n/** The artifact's name in quotes, or null when it has none worth showing. */\nfunction quotedName(artifact: ComposeEmailDraftArtifact): string | null {\n const name = artifact.ArtifactName?.trim();\n return name ? `\"${name}\"` : null;\n}\n"]}
|
|
@@ -20,26 +20,58 @@ export declare class DashboardResource extends BaseResourceComponent {
|
|
|
20
20
|
*/
|
|
21
21
|
protected onTabIdRebound(tabId: string): void;
|
|
22
22
|
private dataLoaded;
|
|
23
|
-
|
|
23
|
+
ContainerElement: ElementRef<HTMLDivElement>;
|
|
24
|
+
/** @deprecated Use {@link ContainerElement}. */
|
|
25
|
+
get containerElement(): ElementRef<HTMLDivElement>;
|
|
26
|
+
/** @deprecated Use {@link ContainerElement}. */
|
|
27
|
+
set containerElement(value: ElementRef<HTMLDivElement>);
|
|
24
28
|
/** Error message to display when dashboard fails to load */
|
|
25
29
|
errorMessage: string | null;
|
|
26
30
|
/** Technical error details (shown in expandable section) */
|
|
27
|
-
|
|
31
|
+
ErrorDetails: string | null;
|
|
32
|
+
/** @deprecated Use {@link ErrorDetails}. */
|
|
33
|
+
get errorDetails(): string | null;
|
|
34
|
+
/** @deprecated Use {@link ErrorDetails}. */
|
|
35
|
+
set errorDetails(value: string | null);
|
|
28
36
|
/** Cached dashboard categories for breadcrumb navigation */
|
|
29
37
|
private categories;
|
|
30
38
|
/** Reference to the dashboard viewer component (for config-based dashboards) */
|
|
31
39
|
private viewerInstance;
|
|
32
40
|
/** The config-based dashboard entity (null for code-based dashboards) */
|
|
33
|
-
|
|
41
|
+
ConfigDashboard: MJDashboardEntity | null;
|
|
42
|
+
/** @deprecated Use {@link ConfigDashboard}. */
|
|
43
|
+
get configDashboard(): MJDashboardEntity | null;
|
|
44
|
+
/** @deprecated Use {@link ConfigDashboard}. */
|
|
45
|
+
set configDashboard(value: MJDashboardEntity | null);
|
|
34
46
|
/** Whether we're in edit mode */
|
|
35
|
-
|
|
47
|
+
IsEditMode: boolean;
|
|
48
|
+
/** @deprecated Use {@link IsEditMode}. */
|
|
49
|
+
get isEditMode(): boolean;
|
|
50
|
+
/** @deprecated Use {@link IsEditMode}. */
|
|
51
|
+
set isEditMode(value: boolean);
|
|
36
52
|
/** Editing fields */
|
|
37
|
-
|
|
38
|
-
|
|
53
|
+
EditingName: string;
|
|
54
|
+
/** @deprecated Use {@link EditingName}. */
|
|
55
|
+
get editingName(): string;
|
|
56
|
+
/** @deprecated Use {@link EditingName}. */
|
|
57
|
+
set editingName(value: string);
|
|
58
|
+
EditingDescription: string;
|
|
59
|
+
/** @deprecated Use {@link EditingDescription}. */
|
|
60
|
+
get editingDescription(): string;
|
|
61
|
+
/** @deprecated Use {@link EditingDescription}. */
|
|
62
|
+
set editingDescription(value: string);
|
|
39
63
|
/** Current user's permissions for this dashboard */
|
|
40
|
-
|
|
64
|
+
DashboardPermissions: DashboardUserPermissions;
|
|
65
|
+
/** @deprecated Use {@link DashboardPermissions}. */
|
|
66
|
+
get dashboardPermissions(): DashboardUserPermissions;
|
|
67
|
+
/** @deprecated Use {@link DashboardPermissions}. */
|
|
68
|
+
set dashboardPermissions(value: DashboardUserPermissions);
|
|
41
69
|
/** Whether the share dialog is visible */
|
|
42
|
-
|
|
70
|
+
ShowShareDialog: boolean;
|
|
71
|
+
/** @deprecated Use {@link ShowShareDialog}. */
|
|
72
|
+
get showShareDialog(): boolean;
|
|
73
|
+
/** @deprecated Use {@link ShowShareDialog}. */
|
|
74
|
+
set showShareDialog(value: boolean);
|
|
43
75
|
/**
|
|
44
76
|
* Sets the error state with a user-friendly message and optional technical details
|
|
45
77
|
*/
|
|
@@ -55,6 +87,8 @@ export declare class DashboardResource extends BaseResourceComponent {
|
|
|
55
87
|
/**
|
|
56
88
|
* Toggle between view and edit mode
|
|
57
89
|
*/
|
|
90
|
+
ToggleEditMode(): void;
|
|
91
|
+
/** @deprecated Use {@link ToggleEditMode}. */
|
|
58
92
|
toggleEditMode(): void;
|
|
59
93
|
/**
|
|
60
94
|
* Enter edit mode
|
|
@@ -63,26 +97,38 @@ export declare class DashboardResource extends BaseResourceComponent {
|
|
|
63
97
|
/**
|
|
64
98
|
* Cancel edit mode and discard changes
|
|
65
99
|
*/
|
|
100
|
+
CancelEdit(): void;
|
|
101
|
+
/** @deprecated Use {@link CancelEdit}. */
|
|
66
102
|
cancelEdit(): void;
|
|
67
103
|
/**
|
|
68
104
|
* Save dashboard changes
|
|
69
105
|
*/
|
|
106
|
+
SaveDashboard(): Promise<void>;
|
|
107
|
+
/** @deprecated Use {@link SaveDashboard}. */
|
|
70
108
|
saveDashboard(): Promise<void>;
|
|
71
109
|
/**
|
|
72
110
|
* Open the add panel dialog
|
|
73
111
|
*/
|
|
112
|
+
OpenAddPartDialog(): void;
|
|
113
|
+
/** @deprecated Use {@link OpenAddPartDialog}. */
|
|
74
114
|
openAddPartDialog(): void;
|
|
75
115
|
/**
|
|
76
116
|
* Open the share dialog for this dashboard
|
|
77
117
|
*/
|
|
118
|
+
OpenShareDialog(): void;
|
|
119
|
+
/** @deprecated Use {@link OpenShareDialog}. */
|
|
78
120
|
openShareDialog(): void;
|
|
79
121
|
/**
|
|
80
122
|
* Close the share dialog
|
|
81
123
|
*/
|
|
124
|
+
CloseShareDialog(): void;
|
|
125
|
+
/** @deprecated Use {@link CloseShareDialog}. */
|
|
82
126
|
closeShareDialog(): void;
|
|
83
127
|
/**
|
|
84
128
|
* Handle share dialog result
|
|
85
129
|
*/
|
|
130
|
+
OnShareDialogResult(result: ShareDialogResult): void;
|
|
131
|
+
/** @deprecated Use {@link OnShareDialogResult}. */
|
|
86
132
|
onShareDialogResult(result: ShareDialogResult): void;
|
|
87
133
|
/**
|
|
88
134
|
* Load the appropriate dashboard component based on dashboard type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/dashboard-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAA2B,UAAU,EAAE,iBAAiB,EAAU,MAAM,eAAe,CAAC;AAC5H,OAAO,EAAE,qBAAqB,EAAqD,MAAM,2BAA2B,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAmB,0BAA0B,EAAwD,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAI7M,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;;AAE9F;;;;GAIG;AACH,qBA4Ya,iBAAkB,SAAQ,qBAAqB;
|
|
1
|
+
{"version":3,"file":"dashboard-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/dashboard-resource.component.ts"],"names":[],"mappings":"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"}
|