@memberjunction/ng-explorer-core 2.121.0 → 2.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +0 -1
  2. package/dist/app-routing.module.d.ts +6 -5
  3. package/dist/app-routing.module.d.ts.map +1 -1
  4. package/dist/app-routing.module.js +266 -132
  5. package/dist/app-routing.module.js.map +1 -1
  6. package/dist/lib/app-view/application-view.component.js +10 -10
  7. package/dist/lib/app-view/application-view.component.js.map +1 -1
  8. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +11 -12
  9. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  10. package/dist/lib/data-browser-component/data-browser.component.js +8 -8
  11. package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
  12. package/dist/lib/generic-browse-list/generic-browse-list.component.js +10 -7
  13. package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
  14. package/dist/lib/generic-browser-list/generic-browser-list.component.js +14 -11
  15. package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
  16. package/dist/lib/list-view/list-view.component.js +24 -21
  17. package/dist/lib/list-view/list-view.component.js.map +1 -1
  18. package/dist/lib/navigation/navigation.component.d.ts +0 -1
  19. package/dist/lib/navigation/navigation.component.d.ts.map +1 -1
  20. package/dist/lib/navigation/navigation.component.js +11 -19
  21. package/dist/lib/navigation/navigation.component.js.map +1 -1
  22. package/dist/lib/resource-browser/resource-browser.component.js +14 -11
  23. package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
  24. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -0
  25. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -0
  26. package/dist/lib/resource-wrappers/artifact-resource.component.js +92 -0
  27. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -0
  28. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +119 -0
  29. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -0
  30. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +500 -0
  31. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -0
  32. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +87 -0
  33. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -0
  34. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +345 -0
  35. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -0
  36. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +67 -0
  37. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -0
  38. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +244 -0
  39. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -0
  40. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +46 -3
  41. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/dashboard-resource.component.js +298 -21
  43. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/list-detail-resource.component.js +1 -1
  45. package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
  46. package/dist/lib/resource-wrappers/query-resource.component.js +1 -1
  47. package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
  49. package/dist/lib/resource-wrappers/record-resource.component.js +22 -5
  50. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  51. package/dist/lib/resource-wrappers/report-resource.component.js +1 -1
  52. package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -1
  53. package/dist/lib/resource-wrappers/resource-wrappers-loader.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/resource-wrappers-loader.js +15 -0
  55. package/dist/lib/resource-wrappers/resource-wrappers-loader.js.map +1 -1
  56. package/dist/lib/resource-wrappers/search-results-resource.component.js +1 -1
  57. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  58. package/dist/lib/resource-wrappers/view-resource.component.js +1 -1
  59. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  60. package/dist/lib/shell/components/header/app-nav.component.d.ts +45 -0
  61. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -0
  62. package/dist/lib/shell/components/header/app-nav.component.js +127 -0
  63. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -0
  64. package/dist/lib/shell/components/header/app-switcher.component.d.ts +53 -0
  65. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -0
  66. package/dist/lib/shell/components/header/app-switcher.component.js +190 -0
  67. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -0
  68. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +83 -0
  69. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -0
  70. package/dist/lib/shell/components/tabs/component-cache-manager.js +175 -0
  71. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -0
  72. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +138 -0
  73. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -0
  74. package/dist/lib/shell/components/tabs/tab-container.component.js +920 -0
  75. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -0
  76. package/dist/lib/shell/services/settings-dialog.service.d.ts +28 -0
  77. package/dist/lib/shell/services/settings-dialog.service.d.ts.map +1 -0
  78. package/dist/lib/shell/services/settings-dialog.service.js +67 -0
  79. package/dist/lib/shell/services/settings-dialog.service.js.map +1 -0
  80. package/dist/lib/shell/shell.component.d.ts +166 -0
  81. package/dist/lib/shell/shell.component.d.ts.map +1 -0
  82. package/dist/lib/shell/shell.component.js +1173 -0
  83. package/dist/lib/shell/shell.component.js.map +1 -0
  84. package/dist/lib/shell/shell.module.d.ts +14 -0
  85. package/dist/lib/shell/shell.module.d.ts.map +1 -0
  86. package/dist/lib/shell/shell.module.js +42 -0
  87. package/dist/lib/shell/shell.module.js.map +1 -0
  88. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +17 -13
  89. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  90. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +2 -1
  91. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  92. package/dist/lib/single-dashboard/single-dashboard.component.js +6 -1
  93. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  94. package/dist/lib/single-entity/single-entity.component.js +21 -17
  95. package/dist/lib/single-entity/single-entity.component.js.map +1 -1
  96. package/dist/lib/single-list-detail/single-list-detail.component.js +36 -30
  97. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  98. package/dist/lib/single-record/single-record.component.d.ts +1 -0
  99. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  100. package/dist/lib/single-record/single-record.component.js +16 -9
  101. package/dist/lib/single-record/single-record.component.js.map +1 -1
  102. package/dist/lib/single-report/single-report.component.d.ts +1 -7
  103. package/dist/lib/single-report/single-report.component.d.ts.map +1 -1
  104. package/dist/lib/single-report/single-report.component.js +16 -37
  105. package/dist/lib/single-report/single-report.component.js.map +1 -1
  106. package/dist/lib/single-view/single-view.component.d.ts +1 -2
  107. package/dist/lib/single-view/single-view.component.d.ts.map +1 -1
  108. package/dist/lib/single-view/single-view.component.js +35 -43
  109. package/dist/lib/single-view/single-view.component.js.map +1 -1
  110. package/dist/lib/style-guide-test/style-guide-test.component.js +20 -13
  111. package/dist/lib/style-guide-test/style-guide-test.component.js.map +1 -1
  112. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts +1 -1
  113. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.d.ts.map +1 -1
  114. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +8 -11
  115. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
  116. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  117. package/dist/lib/user-notifications/user-notifications.component.js +0 -5
  118. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  119. package/dist/module.d.ts +50 -46
  120. package/dist/module.d.ts.map +1 -1
  121. package/dist/module.js +23 -11
  122. package/dist/module.js.map +1 -1
  123. package/dist/public-api.d.ts +4 -0
  124. package/dist/public-api.d.ts.map +1 -1
  125. package/dist/public-api.js +5 -0
  126. package/dist/public-api.js.map +1 -1
  127. package/package.json +36 -35
@@ -0,0 +1,345 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component, ViewEncapsulation } from '@angular/core';
8
+ import { NavigationEnd } from '@angular/router';
9
+ import { Metadata } from '@memberjunction/core';
10
+ import { RegisterClass } from '@memberjunction/global';
11
+ import { BaseResourceComponent } from '@memberjunction/ng-shared';
12
+ import { EnvironmentEntityExtended } from '@memberjunction/core-entities';
13
+ import { Subject, takeUntil, distinctUntilChanged, combineLatest, filter } from 'rxjs';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@memberjunction/ng-shared";
16
+ import * as i2 from "@memberjunction/ng-conversations";
17
+ import * as i3 from "@angular/router";
18
+ import * as i4 from "@angular/common";
19
+ function ChatConversationsResource_mj_conversation_list_2_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelement(0, "mj-conversation-list", 5);
21
+ } if (rf & 2) {
22
+ const ctx_r0 = i0.ɵɵnextContext();
23
+ i0.ɵɵproperty("environmentId", ctx_r0.environmentId)("currentUser", ctx_r0.currentUser);
24
+ } }
25
+ function ChatConversationsResource_mj_conversation_chat_area_4_Template(rf, ctx) { if (rf & 1) {
26
+ const _r2 = i0.ɵɵgetCurrentView();
27
+ i0.ɵɵelementStart(0, "mj-conversation-chat-area", 6);
28
+ i0.ɵɵlistener("artifactLinkClicked", function ChatConversationsResource_mj_conversation_chat_area_4_Template_mj_conversation_chat_area_artifactLinkClicked_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactLinkClicked($event)); });
29
+ i0.ɵɵelementEnd();
30
+ } if (rf & 2) {
31
+ const ctx_r0 = i0.ɵɵnextContext();
32
+ i0.ɵɵproperty("environmentId", ctx_r0.environmentId)("currentUser", ctx_r0.currentUser);
33
+ } }
34
+ export function LoadChatConversationsResource() {
35
+ // Force inclusion in production builds (tree shaking workaround)
36
+ // Using null placeholders since Angular DI provides actual instances
37
+ const test = new ChatConversationsResource(null, null, null, null);
38
+ }
39
+ /**
40
+ * Chat Conversations Resource - wraps the conversation chat area for tab-based display
41
+ * Extends BaseResourceComponent to work with the resource type system
42
+ * Displays conversation list sidebar + active conversation chat interface
43
+ * Designed to work with the tab system for multi-tab conversation management
44
+ */
45
+ let ChatConversationsResource = class ChatConversationsResource extends BaseResourceComponent {
46
+ navigationService;
47
+ conversationState;
48
+ artifactState;
49
+ router;
50
+ currentUser = null;
51
+ destroy$ = new Subject();
52
+ skipUrlUpdate = true; // Skip URL updates during initialization
53
+ lastNavigatedUrl = ''; // Track URL to avoid reacting to our own navigation
54
+ constructor(navigationService, conversationState, artifactState, router) {
55
+ super();
56
+ this.navigationService = navigationService;
57
+ this.conversationState = conversationState;
58
+ this.artifactState = artifactState;
59
+ this.router = router;
60
+ }
61
+ ngOnInit() {
62
+ const md = new Metadata();
63
+ this.currentUser = md.CurrentUser;
64
+ // Parse URL first and apply state
65
+ const urlState = this.parseUrlState();
66
+ if (urlState) {
67
+ this.applyUrlState(urlState);
68
+ }
69
+ else {
70
+ // Check if we have navigation params from config (e.g., from Collections linking here)
71
+ this.applyNavigationParams();
72
+ }
73
+ // Subscribe to state changes to update URL
74
+ this.subscribeToStateChanges();
75
+ // Subscribe to router NavigationEnd events for back/forward button support
76
+ this.router.events
77
+ .pipe(filter((event) => event instanceof NavigationEnd), takeUntil(this.destroy$))
78
+ .subscribe(event => {
79
+ const currentUrl = event.urlAfterRedirects || event.url;
80
+ if (currentUrl !== this.lastNavigatedUrl) {
81
+ this.onExternalNavigation(currentUrl);
82
+ }
83
+ });
84
+ // Enable URL updates after initialization
85
+ this.skipUrlUpdate = false;
86
+ // Update URL to reflect current state
87
+ this.updateUrl();
88
+ // Notify load complete after user is set
89
+ setTimeout(() => {
90
+ this.NotifyLoadComplete();
91
+ }, 100);
92
+ }
93
+ ngOnDestroy() {
94
+ this.destroy$.next();
95
+ this.destroy$.complete();
96
+ }
97
+ /**
98
+ * Parse URL query string for conversation state.
99
+ * Query params: conversationId, artifactId, versionNumber
100
+ */
101
+ parseUrlState() {
102
+ const url = this.router.url;
103
+ const queryIndex = url.indexOf('?');
104
+ if (queryIndex === -1)
105
+ return null;
106
+ const queryString = url.substring(queryIndex + 1);
107
+ const params = new URLSearchParams(queryString);
108
+ const conversationId = params.get('conversationId');
109
+ const artifactId = params.get('artifactId');
110
+ const versionNumber = params.get('versionNumber');
111
+ if (!conversationId && !artifactId)
112
+ return null;
113
+ return {
114
+ conversationId: conversationId || undefined,
115
+ artifactId: artifactId || undefined,
116
+ versionNumber: versionNumber ? parseInt(versionNumber, 10) : undefined
117
+ };
118
+ }
119
+ /**
120
+ * Apply URL state to conversation services.
121
+ */
122
+ applyUrlState(state) {
123
+ // Set pending artifact if provided (must be set before activating conversation)
124
+ if (state.artifactId) {
125
+ this.conversationState.pendingArtifactId = state.artifactId;
126
+ this.conversationState.pendingArtifactVersionNumber = state.versionNumber || null;
127
+ }
128
+ // Activate the target conversation if specified
129
+ if (state.conversationId) {
130
+ this.conversationState.setActiveConversation(state.conversationId);
131
+ }
132
+ }
133
+ /**
134
+ * Apply navigation parameters from configuration.
135
+ * This handles deep-linking from other resources (e.g., clicking a link in Collections).
136
+ */
137
+ applyNavigationParams() {
138
+ const config = this.Data?.Configuration;
139
+ if (!config)
140
+ return;
141
+ // Set pending artifact if provided (must be set before activating conversation)
142
+ if (config.artifactId) {
143
+ this.conversationState.pendingArtifactId = config.artifactId;
144
+ this.conversationState.pendingArtifactVersionNumber = config.versionNumber || null;
145
+ }
146
+ // Activate the target conversation if specified
147
+ if (config.conversationId) {
148
+ this.conversationState.setActiveConversation(config.conversationId);
149
+ }
150
+ }
151
+ /**
152
+ * Subscribe to state changes from services to update URL.
153
+ */
154
+ subscribeToStateChanges() {
155
+ // Combine conversation and artifact state changes
156
+ combineLatest([
157
+ this.conversationState.activeConversationId$.pipe(distinctUntilChanged()),
158
+ this.artifactState.activeArtifactId$.pipe(distinctUntilChanged()),
159
+ this.artifactState.activeVersionNumber$.pipe(distinctUntilChanged())
160
+ ])
161
+ .pipe(takeUntil(this.destroy$))
162
+ .subscribe(() => {
163
+ if (!this.skipUrlUpdate) {
164
+ this.updateUrl();
165
+ }
166
+ });
167
+ }
168
+ /**
169
+ * Update URL query string to reflect current state.
170
+ * Uses Angular Router for proper browser history integration.
171
+ */
172
+ updateUrl() {
173
+ const params = new URLSearchParams();
174
+ // Add conversation ID
175
+ const conversationId = this.conversationState.activeConversationId;
176
+ if (conversationId) {
177
+ params.set('conversationId', conversationId);
178
+ }
179
+ // Add artifact ID if panel is open
180
+ const artifactId = this.artifactState['_activeArtifactId$']?.value;
181
+ if (artifactId) {
182
+ params.set('artifactId', artifactId);
183
+ const versionNumber = this.artifactState['_activeVersionNumber$']?.value;
184
+ if (versionNumber) {
185
+ params.set('versionNumber', versionNumber.toString());
186
+ }
187
+ }
188
+ // Get current path without query string
189
+ const currentUrl = this.router.url;
190
+ const currentPath = currentUrl.split('?')[0];
191
+ const queryString = params.toString();
192
+ const newUrl = queryString ? `${currentPath}?${queryString}` : currentPath;
193
+ // Track this URL so we don't react to our own navigation
194
+ this.lastNavigatedUrl = newUrl;
195
+ // Use Angular Router for proper browser history integration
196
+ this.router.navigateByUrl(newUrl, { replaceUrl: false });
197
+ }
198
+ /**
199
+ * Handle external navigation (back/forward buttons).
200
+ * Parses the URL and applies the state without triggering a new navigation.
201
+ */
202
+ onExternalNavigation(url) {
203
+ // Check if this URL is for our component (contains our base path)
204
+ const currentPath = this.router.url.split('?')[0];
205
+ const newPath = url.split('?')[0];
206
+ // Only handle if we're still on the same base path (same component instance)
207
+ if (currentPath !== newPath) {
208
+ return; // Different route entirely, shell will handle it
209
+ }
210
+ // Parse the new URL state
211
+ const urlState = this.parseUrlFromString(url);
212
+ // Apply the state without triggering URL updates
213
+ this.skipUrlUpdate = true;
214
+ if (urlState) {
215
+ this.applyUrlState(urlState);
216
+ }
217
+ else {
218
+ // No params means clear state
219
+ this.conversationState.setActiveConversation(null);
220
+ this.artifactState.closeArtifact();
221
+ }
222
+ this.skipUrlUpdate = false;
223
+ // Update the tracked URL
224
+ this.lastNavigatedUrl = url;
225
+ }
226
+ /**
227
+ * Parse URL state from a URL string (used for external navigation).
228
+ */
229
+ parseUrlFromString(url) {
230
+ const queryIndex = url.indexOf('?');
231
+ if (queryIndex === -1)
232
+ return null;
233
+ const queryString = url.substring(queryIndex + 1);
234
+ const params = new URLSearchParams(queryString);
235
+ const conversationId = params.get('conversationId');
236
+ const artifactId = params.get('artifactId');
237
+ const versionNumber = params.get('versionNumber');
238
+ if (!conversationId && !artifactId)
239
+ return null;
240
+ return {
241
+ conversationId: conversationId || undefined,
242
+ artifactId: artifactId || undefined,
243
+ versionNumber: versionNumber ? parseInt(versionNumber, 10) : undefined
244
+ };
245
+ }
246
+ /**
247
+ * Get the environment ID from configuration or use default
248
+ */
249
+ get environmentId() {
250
+ return this.Data?.Configuration?.environmentId || EnvironmentEntityExtended.DefaultEnvironmentID;
251
+ }
252
+ /**
253
+ * Get the active conversation ID from configuration (if specified)
254
+ */
255
+ get activeConversationId() {
256
+ return this.Data?.Configuration?.conversationId;
257
+ }
258
+ /**
259
+ * Get the display name for chat conversations
260
+ */
261
+ async GetResourceDisplayName(data) {
262
+ // If we have a specific conversation ID, we could load the conversation name
263
+ // For now, just return a generic name
264
+ if (data.Configuration?.conversationId) {
265
+ return `Conversation: ${data.Configuration.conversationId.substring(0, 8)}...`;
266
+ }
267
+ return 'Conversations';
268
+ }
269
+ /**
270
+ * Get the icon class for chat conversations
271
+ */
272
+ async GetResourceIconClass(data) {
273
+ return 'fa-solid fa-comments';
274
+ }
275
+ /**
276
+ * Handle navigation request from artifact viewer panel within the chat area.
277
+ * Converts the link event to a generic navigation request and uses NavigationService.
278
+ */
279
+ onArtifactLinkClicked(event) {
280
+ // Map the link type to the nav item name
281
+ const navItemName = event.type === 'conversation' ? 'Conversations' : 'Collections';
282
+ // Build configuration params to pass to the target resource
283
+ const params = {};
284
+ if (event.type === 'conversation') {
285
+ params['conversationId'] = event.id;
286
+ }
287
+ else {
288
+ params['collectionId'] = event.id;
289
+ }
290
+ // Include artifact info so destination can open it
291
+ if (event.artifactId) {
292
+ params['artifactId'] = event.artifactId;
293
+ if (event.versionNumber) {
294
+ params['versionNumber'] = event.versionNumber;
295
+ }
296
+ }
297
+ // Navigate using the generic nav item method
298
+ this.navigationService.OpenNavItemByName(navItemName, params);
299
+ }
300
+ static ɵfac = function ChatConversationsResource_Factory(t) { return new (t || ChatConversationsResource)(i0.ɵɵdirectiveInject(i1.NavigationService), i0.ɵɵdirectiveInject(i2.ConversationStateService), i0.ɵɵdirectiveInject(i2.ArtifactStateService), i0.ɵɵdirectiveInject(i3.Router)); };
301
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ChatConversationsResource, selectors: [["mj-chat-conversations-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 2, consts: [[1, "chat-conversations-container"], [1, "conversation-sidebar"], [3, "environmentId", "currentUser", 4, "ngIf"], [1, "conversation-main"], [3, "environmentId", "currentUser", "artifactLinkClicked", 4, "ngIf"], [3, "environmentId", "currentUser"], [3, "artifactLinkClicked", "environmentId", "currentUser"]], template: function ChatConversationsResource_Template(rf, ctx) { if (rf & 1) {
302
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
303
+ i0.ɵɵtemplate(2, ChatConversationsResource_mj_conversation_list_2_Template, 1, 2, "mj-conversation-list", 2);
304
+ i0.ɵɵelementEnd();
305
+ i0.ɵɵelementStart(3, "div", 3);
306
+ i0.ɵɵtemplate(4, ChatConversationsResource_mj_conversation_chat_area_4_Template, 1, 2, "mj-conversation-chat-area", 4);
307
+ i0.ɵɵelementEnd()();
308
+ } if (rf & 2) {
309
+ i0.ɵɵadvance(2);
310
+ i0.ɵɵproperty("ngIf", ctx.currentUser);
311
+ i0.ɵɵadvance(2);
312
+ i0.ɵɵproperty("ngIf", ctx.currentUser);
313
+ } }, dependencies: [i4.NgIf, i2.ConversationListComponent, i2.ConversationChatAreaComponent], styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .chat-conversations-container {\n display: flex;\n width: 100%;\n height: 100%;\n flex: 1;\n overflow: hidden;\n }\n\n .conversation-sidebar {\n width: 300px;\n flex-shrink: 0;\n border-right: 1px solid #e0e0e0;\n overflow-y: auto;\n background: #f5f5f5;\n }\n\n .conversation-main {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n "], encapsulation: 2 });
314
+ };
315
+ ChatConversationsResource = __decorate([
316
+ RegisterClass(BaseResourceComponent, 'ChatConversationsResource')
317
+ ], ChatConversationsResource);
318
+ export { ChatConversationsResource };
319
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChatConversationsResource, [{
320
+ type: Component,
321
+ args: [{ selector: 'mj-chat-conversations-resource', template: `
322
+ <div class="chat-conversations-container">
323
+ <!-- Left sidebar: Conversation list -->
324
+ <div class="conversation-sidebar">
325
+ <mj-conversation-list
326
+ *ngIf="currentUser"
327
+ [environmentId]="environmentId"
328
+ [currentUser]="currentUser">
329
+ </mj-conversation-list>
330
+ </div>
331
+
332
+ <!-- Main area: Chat interface -->
333
+ <div class="conversation-main">
334
+ <mj-conversation-chat-area
335
+ *ngIf="currentUser"
336
+ [environmentId]="environmentId"
337
+ [currentUser]="currentUser"
338
+ (artifactLinkClicked)="onArtifactLinkClicked($event)">
339
+ </mj-conversation-chat-area>
340
+ </div>
341
+ </div>
342
+ `, encapsulation: ViewEncapsulation.None, styles: ["\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .chat-conversations-container {\n display: flex;\n width: 100%;\n height: 100%;\n flex: 1;\n overflow: hidden;\n }\n\n .conversation-sidebar {\n width: 300px;\n flex-shrink: 0;\n border-right: 1px solid #e0e0e0;\n overflow-y: auto;\n background: #f5f5f5;\n }\n\n .conversation-main {\n flex: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n "] }]
343
+ }], () => [{ type: i1.NavigationService }, { type: i2.ConversationStateService }, { type: i2.ArtifactStateService }, { type: i3.Router }], null); })();
344
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChatConversationsResource, { className: "ChatConversationsResource", filePath: "src/lib/resource-wrappers/chat-conversations-resource.component.ts", lineNumber: 80 }); })();
345
+ //# sourceMappingURL=chat-conversations-resource.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-conversations-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-conversations-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAa,MAAM,eAAe,CAAC;AACxE,OAAO,EAAU,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAgB,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAExF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;;;;;;;IAqB/E,0CAIuB;;;IADrB,AADA,oDAA+B,mCACJ;;;;IAM7B,oDAIwD;IAAtD,gQAAuB,oCAA6B,KAAC;IACvD,iBAA4B;;;IAF1B,AADA,oDAA+B,mCACJ;;AA/BrC,MAAM,UAAU,6BAA6B;IAC3C,iEAAiE;IACjE,qEAAqE;IACrE,MAAM,IAAI,GAAG,IAAI,yBAAyB,CAAC,IAAK,EAAE,IAAK,EAAE,IAAK,EAAE,IAAK,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AA2DI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,qBAAqB;IAOxD;IACA;IACA;IACA;IATH,WAAW,GAAQ,IAAI,CAAC;IACvB,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC/B,aAAa,GAAG,IAAI,CAAC,CAAC,yCAAyC;IAC/D,gBAAgB,GAAW,EAAE,CAAC,CAAC,oDAAoD;IAE3F,YACU,iBAAoC,EACpC,iBAA2C,EAC3C,aAAmC,EACnC,MAAc;QAEtB,KAAK,EAAE,CAAC;QALA,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,kBAAa,GAAb,aAAa,CAAsB;QACnC,WAAM,GAAN,MAAM,CAAQ;IAGxB,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;QAElC,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,uFAAuF;YACvF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,2EAA2E;QAC3E,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CACH,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,YAAY,aAAa,CAAC,EACzE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;aACA,SAAS,CAAC,KAAK,CAAC,EAAE;YACjB,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,GAAG,CAAC;YACxD,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,0CAA0C;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,sCAAsC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,yCAAyC;QACzC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,aAAa;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAEhD,OAAO;YACL,cAAc,EAAE,cAAc,IAAI,SAAS;YAC3C,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAA+E;QACnG,gFAAgF;QAChF,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;QACpF,CAAC;QAED,gDAAgD;QAChD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,gFAAgF;QAChF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAoB,CAAC;YACvE,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,GAAI,MAAM,CAAC,aAAwB,IAAI,IAAI,CAAC;QACjG,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAwB,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,kDAAkD;QAClD,aAAa,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACjE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACrE,CAAC;aACC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;QACnE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC/C,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;QACnE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC;YACzE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAE3E,yDAAyD;QACzD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAE/B,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,GAAW;QACtC,kEAAkE;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElC,6EAA6E;QAC7E,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,iDAAiD;QAC3D,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE9C,iDAAiD;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAyB,CAAC,CAAC;YACxE,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,yBAAyB;QACzB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAW;QACpC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAEhD,OAAO;YACL,cAAc,EAAE,cAAc,IAAI,SAAS;YAC3C,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,IAAI,yBAAyB,CAAC,oBAAoB,CAAC;IACnG,CAAC;IAED;;OAEG;IACH,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC7C,6EAA6E;QAC7E,sCAAsC;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC;YACvC,OAAO,iBAAiB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QACjF,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,KAKrB;QACC,yCAAyC;QACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;QAEpF,4DAA4D;QAC5D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QACpC,CAAC;QAED,mDAAmD;QACnD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;YACxC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;YAChD,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;mFArSU,yBAAyB;6DAAzB,yBAAyB;YApDhC,AAFF,8BAA0C,aAEN;YAChC,4GAG8B;YAEhC,iBAAM;YAGN,8BAA+B;YAC7B,sHAIwD;YAG5D,AADE,iBAAM,EACF;;YAfC,eAAiB;YAAjB,sCAAiB;YASjB,eAAiB;YAAjB,sCAAiB;;;AAyCf,yBAAyB;IA1DrC,aAAa,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;GA0DrD,yBAAyB,CAsSrC;;iFAtSY,yBAAyB;cAzDrC,SAAS;2BACE,gCAAgC,YAChC;;;;;;;;;;;;;;;;;;;;;GAqBT,iBAgCc,iBAAiB,CAAC,IAAI;;kFAE1B,yBAAyB"}
@@ -0,0 +1,67 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { BaseResourceComponent } from '@memberjunction/ng-shared';
4
+ import { ResourceData } from '@memberjunction/core-entities';
5
+ import { TasksFullViewComponent } from '@memberjunction/ng-conversations';
6
+ import * as i0 from "@angular/core";
7
+ export declare function LoadChatTasksResource(): void;
8
+ /**
9
+ * Chat Tasks Resource - displays the tasks full view for tab-based display
10
+ * Extends BaseResourceComponent to work with the resource type system
11
+ * Shows all tasks associated with conversations and artifacts
12
+ * Supports URL deep-linking via taskId query parameter
13
+ */
14
+ export declare class ChatTasksResource extends BaseResourceComponent implements OnDestroy {
15
+ private router;
16
+ tasksView?: TasksFullViewComponent;
17
+ currentUser: any;
18
+ activeTaskId?: string;
19
+ private skipUrlUpdate;
20
+ private destroy$;
21
+ private lastNavigatedUrl;
22
+ constructor(router: Router);
23
+ ngOnInit(): void;
24
+ ngOnDestroy(): void;
25
+ /**
26
+ * Parse URL query string for task state.
27
+ * Query params: taskId
28
+ */
29
+ private parseUrlState;
30
+ /**
31
+ * Apply navigation parameters from configuration.
32
+ */
33
+ private applyNavigationParams;
34
+ /**
35
+ * Handle task selection from the tasks view.
36
+ */
37
+ onTaskSelected(taskId: string | null): void;
38
+ /**
39
+ * Update URL query string to reflect current state.
40
+ * Uses Angular Router for proper browser history integration.
41
+ */
42
+ private updateUrl;
43
+ /**
44
+ * Handle external navigation (back/forward buttons).
45
+ * Parses the URL and applies the state without triggering a new navigation.
46
+ */
47
+ private onExternalNavigation;
48
+ /**
49
+ * Parse URL state from a URL string (used for external navigation).
50
+ */
51
+ private parseUrlFromString;
52
+ /**
53
+ * Get the environment ID from configuration or use default
54
+ */
55
+ get environmentId(): string;
56
+ /**
57
+ * Get the display name for chat tasks
58
+ */
59
+ GetResourceDisplayName(data: ResourceData): Promise<string>;
60
+ /**
61
+ * Get the icon class for chat tasks
62
+ */
63
+ GetResourceIconClass(data: ResourceData): Promise<string>;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<ChatTasksResource, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChatTasksResource, "mj-chat-tasks-resource", never, {}, {}, never, never, false, never>;
66
+ }
67
+ //# sourceMappingURL=chat-tasks-resource.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tasks-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-tasks-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,SAAS,EAAa,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;;AAG1E,wBAAgB,qBAAqB,SAEpC;AAED;;;;;GAKG;AACH,qBAoCa,iBAAkB,SAAQ,qBAAsB,YAAW,SAAS;IASnE,OAAO,CAAC,MAAM;IARF,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAEpD,WAAW,EAAE,GAAG,CAAQ;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,gBAAgB,CAAc;gBAElB,MAAM,EAAE,MAAM;IAIlC,QAAQ;IAsCR,WAAW;IAKX;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAO3C;;;OAGG;IACH,OAAO,CAAC,SAAS;IAoBjB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACG,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjE;;OAEG;IACG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCA/LpD,iBAAiB;2CAAjB,iBAAiB;CAkM7B"}