@memberjunction/ng-explorer-core 2.122.2 → 2.123.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +83 -18
  2. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  3. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +297 -93
  4. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  5. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +12 -0
  6. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  7. package/dist/lib/resource-wrappers/dashboard-resource.component.js +91 -5
  8. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  9. package/dist/lib/resource-wrappers/view-resource.component.d.ts +57 -3
  10. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  11. package/dist/lib/resource-wrappers/view-resource.component.js +247 -30
  12. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  13. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +5 -0
  14. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  15. package/dist/lib/shell/components/tabs/tab-container.component.js +65 -31
  16. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  17. package/dist/lib/shell/shell.component.d.ts +4 -0
  18. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  19. package/dist/lib/shell/shell.component.js +25 -9
  20. package/dist/lib/shell/shell.component.js.map +1 -1
  21. package/dist/module.d.ts +2 -1
  22. package/dist/module.d.ts.map +1 -1
  23. package/dist/module.js +7 -3
  24. package/dist/module.js.map +1 -1
  25. package/package.json +36 -34
@@ -1,8 +1,8 @@
1
- import { OnDestroy } from '@angular/core';
1
+ import { OnDestroy, ChangeDetectorRef } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
3
  import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
4
- import { ResourceData } from '@memberjunction/core-entities';
5
- import { ConversationStateService, ArtifactStateService } from '@memberjunction/ng-conversations';
4
+ import { ResourceData, ConversationEntity } from '@memberjunction/core-entities';
5
+ import { ConversationDataService, ConversationChatAreaComponent, ConversationListComponent, MentionAutocompleteService } from '@memberjunction/ng-conversations';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare function LoadChatConversationsResource(): void;
8
8
  /**
@@ -10,37 +10,66 @@ export declare function LoadChatConversationsResource(): void;
10
10
  * Extends BaseResourceComponent to work with the resource type system
11
11
  * Displays conversation list sidebar + active conversation chat interface
12
12
  * Designed to work with the tab system for multi-tab conversation management
13
+ *
14
+ * This component manages its own selection state locally, following the encapsulation pattern:
15
+ * - Services (ConversationDataService) are used for shared DATA (caching, loading, saving)
16
+ * - Local state variables manage SELECTION state (which conversation is active)
17
+ * - State flows down to children via @Input, events flow up via @Output
13
18
  */
14
19
  export declare class ChatConversationsResource extends BaseResourceComponent implements OnDestroy {
15
20
  private navigationService;
16
- private conversationState;
17
- private artifactState;
21
+ private conversationData;
18
22
  private router;
23
+ private mentionAutocompleteService;
24
+ private cdr;
25
+ conversationList?: ConversationListComponent;
26
+ chatArea?: ConversationChatAreaComponent;
19
27
  currentUser: any;
20
28
  private destroy$;
21
29
  private skipUrlUpdate;
22
30
  private lastNavigatedUrl;
23
- constructor(navigationService: NavigationService, conversationState: ConversationStateService, artifactState: ArtifactStateService, router: Router);
24
- ngOnInit(): void;
31
+ isReady: boolean;
32
+ selectedConversationId: string | null;
33
+ selectedConversation: ConversationEntity | null;
34
+ selectedThreadId: string | null;
35
+ isNewUnsavedConversation: boolean;
36
+ renamedConversationId: string | null;
37
+ pendingArtifactId: string | null;
38
+ pendingArtifactVersionNumber: number | null;
39
+ pendingMessageToSend: string | null;
40
+ constructor(navigationService: NavigationService, conversationData: ConversationDataService, router: Router, mentionAutocompleteService: MentionAutocompleteService, cdr: ChangeDetectorRef);
41
+ ngOnInit(): Promise<void>;
25
42
  ngOnDestroy(): void;
43
+ /**
44
+ * Initialize AI Engine and mention autocomplete service BEFORE child components render.
45
+ * This prevents the slow first-load issue where initialization would block conversation loading.
46
+ * The `false` parameter means "don't force refresh if already initialized".
47
+ */
48
+ private initializeEngines;
26
49
  /**
27
50
  * Parse URL query string for conversation state.
28
51
  * Query params: conversationId, artifactId, versionNumber
29
52
  */
30
53
  private parseUrlState;
31
54
  /**
32
- * Apply URL state to conversation services.
55
+ * Load the conversation entity asynchronously (non-blocking).
56
+ * The conversationId is already set synchronously, this just loads the full entity.
57
+ */
58
+ private loadConversationEntity;
59
+ /**
60
+ * Apply configuration params from resource data (e.g., from deep-linking via Collections).
61
+ * Sets state synchronously so child components see values immediately.
33
62
  */
34
- private applyUrlState;
63
+ private applyConfigurationParams;
35
64
  /**
36
- * Apply navigation parameters from configuration.
37
- * This handles deep-linking from other resources (e.g., clicking a link in Collections).
65
+ * Apply navigation state to local selection state.
66
+ * Sets state synchronously so child components see values immediately.
38
67
  */
39
- private applyNavigationParams;
68
+ private applyNavigationState;
40
69
  /**
41
- * Subscribe to state changes from services to update URL.
70
+ * Select a conversation by ID - loads the entity and updates local state
42
71
  */
43
- private subscribeToStateChanges;
72
+ private selectConversation;
44
73
  /**
45
74
  * Update URL query string to reflect current state.
46
75
  * Uses Angular Router for proper browser history integration.
@@ -59,10 +88,6 @@ export declare class ChatConversationsResource extends BaseResourceComponent imp
59
88
  * Get the environment ID from configuration or use default
60
89
  */
61
90
  get environmentId(): string;
62
- /**
63
- * Get the active conversation ID from configuration (if specified)
64
- */
65
- get activeConversationId(): string | undefined;
66
91
  /**
67
92
  * Get the display name for chat conversations
68
93
  */
@@ -71,6 +96,46 @@ export declare class ChatConversationsResource extends BaseResourceComponent imp
71
96
  * Get the icon class for chat conversations
72
97
  */
73
98
  GetResourceIconClass(data: ResourceData): Promise<string>;
99
+ /**
100
+ * Handle conversation selection from the list
101
+ */
102
+ onConversationSelected(conversationId: string): Promise<void>;
103
+ /**
104
+ * Handle new conversation request from the list
105
+ */
106
+ onNewConversationRequested(): void;
107
+ /**
108
+ * Handle conversation created from chat area (after first message in new conversation)
109
+ */
110
+ onConversationCreated(conversation: ConversationEntity): Promise<void>;
111
+ /**
112
+ * Handle conversation rename event
113
+ */
114
+ onConversationRenamed(event: {
115
+ conversationId: string;
116
+ name: string;
117
+ description: string;
118
+ }): void;
119
+ /**
120
+ * Handle thread opened event
121
+ */
122
+ onThreadOpened(threadId: string): void;
123
+ /**
124
+ * Handle thread closed event
125
+ */
126
+ onThreadClosed(): void;
127
+ /**
128
+ * Handle pending artifact consumed event
129
+ */
130
+ onPendingArtifactConsumed(): void;
131
+ /**
132
+ * Handle pending message consumed event
133
+ */
134
+ onPendingMessageConsumed(): void;
135
+ /**
136
+ * Handle pending message requested event (from empty state creating conversation)
137
+ */
138
+ onPendingMessageRequested(message: string): void;
74
139
  /**
75
140
  * Handle navigation request from artifact viewer panel within the chat area.
76
141
  * Converts the link event to a generic navigation request and uses NavigationService.
@@ -1 +1 @@
1
- {"version":3,"file":"chat-conversations-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-conversations-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,SAAS,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAA6B,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;;AAGlG,wBAAgB,6BAA6B,SAI5C;AAED;;;;;GAKG;AACH,qBA0Da,yBAA0B,SAAQ,qBAAsB,YAAW,SAAS;IAOrF,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IATT,WAAW,EAAE,GAAG,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,gBAAgB,CAAc;gBAG5B,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,wBAAwB,EAC3C,aAAa,EAAE,oBAAoB,EACnC,MAAM,EAAE,MAAM;IAKxB,QAAQ;IAyCR,WAAW;IAKX;;;OAGG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAgCjB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED;;OAEG;IACG,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IASjE;;OAEG;IACG,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/D;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE;QAC3B,IAAI,EAAE,cAAc,GAAG,YAAY,CAAC;QACpC,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI;yCA/QG,yBAAyB;2CAAzB,yBAAyB;CAsSrC"}
1
+ {"version":3,"file":"chat-conversations-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/chat-conversations-resource.component.ts"],"names":[],"mappings":"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"}