@memberjunction/ng-conversations 2.104.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 (226) hide show
  1. package/README.md +197 -0
  2. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +20 -0
  3. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -0
  4. package/dist/lib/components/active-tasks/active-tasks-panel.component.js +125 -0
  5. package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -0
  6. package/dist/lib/components/agent/active-agent-indicator.component.d.ts +48 -0
  7. package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -0
  8. package/dist/lib/components/agent/active-agent-indicator.component.js +199 -0
  9. package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -0
  10. package/dist/lib/components/agent/agent-process-panel.component.d.ts +30 -0
  11. package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -0
  12. package/dist/lib/components/agent/agent-process-panel.component.js +333 -0
  13. package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -0
  14. package/dist/lib/components/artifact/artifact-panel.component.d.ts +22 -0
  15. package/dist/lib/components/artifact/artifact-panel.component.d.ts.map +1 -0
  16. package/dist/lib/components/artifact/artifact-panel.component.js +237 -0
  17. package/dist/lib/components/artifact/artifact-panel.component.js.map +1 -0
  18. package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts +39 -0
  19. package/dist/lib/components/artifact/artifact-upload-modal.component.d.ts.map +1 -0
  20. package/dist/lib/components/artifact/artifact-upload-modal.component.js +384 -0
  21. package/dist/lib/components/artifact/artifact-upload-modal.component.js.map +1 -0
  22. package/dist/lib/components/artifact/artifact-version-history.component.d.ts +28 -0
  23. package/dist/lib/components/artifact/artifact-version-history.component.d.ts.map +1 -0
  24. package/dist/lib/components/artifact/artifact-version-history.component.js +280 -0
  25. package/dist/lib/components/artifact/artifact-version-history.component.js.map +1 -0
  26. package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts +22 -0
  27. package/dist/lib/components/artifact/artifact-viewer-panel.component.d.ts.map +1 -0
  28. package/dist/lib/components/artifact/artifact-viewer-panel.component.js +182 -0
  29. package/dist/lib/components/artifact/artifact-viewer-panel.component.js.map +1 -0
  30. package/dist/lib/components/artifact/artifact-viewer.component.d.ts +27 -0
  31. package/dist/lib/components/artifact/artifact-viewer.component.d.ts.map +1 -0
  32. package/dist/lib/components/artifact/artifact-viewer.component.js +266 -0
  33. package/dist/lib/components/artifact/artifact-viewer.component.js.map +1 -0
  34. package/dist/lib/components/artifact/inline-artifact.component.d.ts +46 -0
  35. package/dist/lib/components/artifact/inline-artifact.component.d.ts.map +1 -0
  36. package/dist/lib/components/artifact/inline-artifact.component.js +447 -0
  37. package/dist/lib/components/artifact/inline-artifact.component.js.map +1 -0
  38. package/dist/lib/components/collection/collection-artifact-card.component.d.ts +18 -0
  39. package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -0
  40. package/dist/lib/components/collection/collection-artifact-card.component.js +147 -0
  41. package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -0
  42. package/dist/lib/components/collection/collection-form-modal.component.d.ts +33 -0
  43. package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -0
  44. package/dist/lib/components/collection/collection-form-modal.component.js +245 -0
  45. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -0
  46. package/dist/lib/components/collection/collection-tree.component.d.ts +42 -0
  47. package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -0
  48. package/dist/lib/components/collection/collection-tree.component.js +482 -0
  49. package/dist/lib/components/collection/collection-tree.component.js.map +1 -0
  50. package/dist/lib/components/collection/collection-view.component.d.ts +31 -0
  51. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -0
  52. package/dist/lib/components/collection/collection-view.component.js +254 -0
  53. package/dist/lib/components/collection/collection-view.component.js.map +1 -0
  54. package/dist/lib/components/collection/collections-full-view.component.d.ts +55 -0
  55. package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -0
  56. package/dist/lib/components/collection/collections-full-view.component.js +578 -0
  57. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -0
  58. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +160 -0
  59. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -0
  60. package/dist/lib/components/conversation/conversation-chat-area.component.js +891 -0
  61. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -0
  62. package/dist/lib/components/conversation/conversation-list.component.d.ts +29 -0
  63. package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -0
  64. package/dist/lib/components/conversation/conversation-list.component.js +255 -0
  65. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -0
  66. package/dist/lib/components/dialogs/input-dialog.component.d.ts +17 -0
  67. package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -0
  68. package/dist/lib/components/dialogs/input-dialog.component.js +122 -0
  69. package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -0
  70. package/dist/lib/components/export/export-modal.component.d.ts +37 -0
  71. package/dist/lib/components/export/export-modal.component.d.ts.map +1 -0
  72. package/dist/lib/components/export/export-modal.component.js +414 -0
  73. package/dist/lib/components/export/export-modal.component.js.map +1 -0
  74. package/dist/lib/components/library/library-full-view.component.d.ts +36 -0
  75. package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -0
  76. package/dist/lib/components/library/library-full-view.component.js +270 -0
  77. package/dist/lib/components/library/library-full-view.component.js.map +1 -0
  78. package/dist/lib/components/members/members-modal.component.d.ts +42 -0
  79. package/dist/lib/components/members/members-modal.component.d.ts.map +1 -0
  80. package/dist/lib/components/members/members-modal.component.js +352 -0
  81. package/dist/lib/components/members/members-modal.component.js.map +1 -0
  82. package/dist/lib/components/mention/mention-dropdown.component.d.ts +44 -0
  83. package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -0
  84. package/dist/lib/components/mention/mention-dropdown.component.js +194 -0
  85. package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -0
  86. package/dist/lib/components/message/message-input.component.d.ts +137 -0
  87. package/dist/lib/components/message/message-input.component.d.ts.map +1 -0
  88. package/dist/lib/components/message/message-input.component.js +1159 -0
  89. package/dist/lib/components/message/message-input.component.js.map +1 -0
  90. package/dist/lib/components/message/message-item.component.d.ts +140 -0
  91. package/dist/lib/components/message/message-item.component.d.ts.map +1 -0
  92. package/dist/lib/components/message/message-item.component.js +817 -0
  93. package/dist/lib/components/message/message-item.component.js.map +1 -0
  94. package/dist/lib/components/message/message-list.component.d.ts +77 -0
  95. package/dist/lib/components/message/message-list.component.d.ts.map +1 -0
  96. package/dist/lib/components/message/message-list.component.js +316 -0
  97. package/dist/lib/components/message/message-list.component.js.map +1 -0
  98. package/dist/lib/components/navigation/conversation-navigation.component.d.ts +13 -0
  99. package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -0
  100. package/dist/lib/components/navigation/conversation-navigation.component.js +88 -0
  101. package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -0
  102. package/dist/lib/components/notification/activity-indicator.component.d.ts +11 -0
  103. package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -0
  104. package/dist/lib/components/notification/activity-indicator.component.js +56 -0
  105. package/dist/lib/components/notification/activity-indicator.component.js.map +1 -0
  106. package/dist/lib/components/notification/notification-badge.component.d.ts +27 -0
  107. package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -0
  108. package/dist/lib/components/notification/notification-badge.component.js +160 -0
  109. package/dist/lib/components/notification/notification-badge.component.js.map +1 -0
  110. package/dist/lib/components/project/project-form-modal.component.d.ts +34 -0
  111. package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -0
  112. package/dist/lib/components/project/project-form-modal.component.js +357 -0
  113. package/dist/lib/components/project/project-form-modal.component.js.map +1 -0
  114. package/dist/lib/components/project/project-selector.component.d.ts +36 -0
  115. package/dist/lib/components/project/project-selector.component.d.ts.map +1 -0
  116. package/dist/lib/components/project/project-selector.component.js +317 -0
  117. package/dist/lib/components/project/project-selector.component.js.map +1 -0
  118. package/dist/lib/components/search/search-panel.component.d.ts +120 -0
  119. package/dist/lib/components/search/search-panel.component.d.ts.map +1 -0
  120. package/dist/lib/components/search/search-panel.component.js +714 -0
  121. package/dist/lib/components/search/search-panel.component.js.map +1 -0
  122. package/dist/lib/components/share/share-modal.component.d.ts +46 -0
  123. package/dist/lib/components/share/share-modal.component.d.ts.map +1 -0
  124. package/dist/lib/components/share/share-modal.component.js +431 -0
  125. package/dist/lib/components/share/share-modal.component.js.map +1 -0
  126. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +18 -0
  127. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -0
  128. package/dist/lib/components/sidebar/conversation-sidebar.component.js +81 -0
  129. package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -0
  130. package/dist/lib/components/task/task-form-modal.component.d.ts +42 -0
  131. package/dist/lib/components/task/task-form-modal.component.d.ts.map +1 -0
  132. package/dist/lib/components/task/task-form-modal.component.js +329 -0
  133. package/dist/lib/components/task/task-form-modal.component.js.map +1 -0
  134. package/dist/lib/components/task/task-item.component.d.ts +22 -0
  135. package/dist/lib/components/task/task-item.component.d.ts.map +1 -0
  136. package/dist/lib/components/task/task-item.component.js +234 -0
  137. package/dist/lib/components/task/task-item.component.js.map +1 -0
  138. package/dist/lib/components/task/task-list.component.d.ts +32 -0
  139. package/dist/lib/components/task/task-list.component.d.ts.map +1 -0
  140. package/dist/lib/components/task/task-list.component.js +290 -0
  141. package/dist/lib/components/task/task-list.component.js.map +1 -0
  142. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +27 -0
  143. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -0
  144. package/dist/lib/components/tasks/tasks-dropdown.component.js +254 -0
  145. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -0
  146. package/dist/lib/components/thread/thread-panel.component.d.ts +65 -0
  147. package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -0
  148. package/dist/lib/components/thread/thread-panel.component.js +325 -0
  149. package/dist/lib/components/thread/thread-panel.component.js.map +1 -0
  150. package/dist/lib/components/toast/toast.component.d.ts +26 -0
  151. package/dist/lib/components/toast/toast.component.d.ts.map +1 -0
  152. package/dist/lib/components/toast/toast.component.js +108 -0
  153. package/dist/lib/components/toast/toast.component.js.map +1 -0
  154. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +75 -0
  155. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -0
  156. package/dist/lib/components/workspace/conversation-workspace.component.js +299 -0
  157. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -0
  158. package/dist/lib/conversations.module.d.ts +62 -0
  159. package/dist/lib/conversations.module.d.ts.map +1 -0
  160. package/dist/lib/conversations.module.js +248 -0
  161. package/dist/lib/conversations.module.js.map +1 -0
  162. package/dist/lib/directives/search-shortcut.directive.d.ts +17 -0
  163. package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -0
  164. package/dist/lib/directives/search-shortcut.directive.js +39 -0
  165. package/dist/lib/directives/search-shortcut.directive.js.map +1 -0
  166. package/dist/lib/models/conversation-state.model.d.ts +72 -0
  167. package/dist/lib/models/conversation-state.model.d.ts.map +1 -0
  168. package/dist/lib/models/conversation-state.model.js +2 -0
  169. package/dist/lib/models/conversation-state.model.js.map +1 -0
  170. package/dist/lib/models/notification.model.d.ts +89 -0
  171. package/dist/lib/models/notification.model.d.ts.map +1 -0
  172. package/dist/lib/models/notification.model.js +11 -0
  173. package/dist/lib/models/notification.model.js.map +1 -0
  174. package/dist/lib/services/active-tasks.service.d.ts +65 -0
  175. package/dist/lib/services/active-tasks.service.d.ts.map +1 -0
  176. package/dist/lib/services/active-tasks.service.js +95 -0
  177. package/dist/lib/services/active-tasks.service.js.map +1 -0
  178. package/dist/lib/services/agent-state.service.d.ts +78 -0
  179. package/dist/lib/services/agent-state.service.d.ts.map +1 -0
  180. package/dist/lib/services/agent-state.service.js +213 -0
  181. package/dist/lib/services/agent-state.service.js.map +1 -0
  182. package/dist/lib/services/artifact-state.service.d.ts +114 -0
  183. package/dist/lib/services/artifact-state.service.d.ts.map +1 -0
  184. package/dist/lib/services/artifact-state.service.js +288 -0
  185. package/dist/lib/services/artifact-state.service.js.map +1 -0
  186. package/dist/lib/services/conversation-agent.service.d.ts +79 -0
  187. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -0
  188. package/dist/lib/services/conversation-agent.service.js +259 -0
  189. package/dist/lib/services/conversation-agent.service.js.map +1 -0
  190. package/dist/lib/services/conversation-state.service.d.ts +122 -0
  191. package/dist/lib/services/conversation-state.service.d.ts.map +1 -0
  192. package/dist/lib/services/conversation-state.service.js +255 -0
  193. package/dist/lib/services/conversation-state.service.js.map +1 -0
  194. package/dist/lib/services/dialog.service.d.ts +54 -0
  195. package/dist/lib/services/dialog.service.d.ts.map +1 -0
  196. package/dist/lib/services/dialog.service.js +157 -0
  197. package/dist/lib/services/dialog.service.js.map +1 -0
  198. package/dist/lib/services/export.service.d.ts +25 -0
  199. package/dist/lib/services/export.service.d.ts.map +1 -0
  200. package/dist/lib/services/export.service.js +237 -0
  201. package/dist/lib/services/export.service.js.map +1 -0
  202. package/dist/lib/services/mention-autocomplete.service.d.ts +59 -0
  203. package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -0
  204. package/dist/lib/services/mention-autocomplete.service.js +160 -0
  205. package/dist/lib/services/mention-autocomplete.service.js.map +1 -0
  206. package/dist/lib/services/mention-parser.service.d.ts +46 -0
  207. package/dist/lib/services/mention-parser.service.d.ts.map +1 -0
  208. package/dist/lib/services/mention-parser.service.js +156 -0
  209. package/dist/lib/services/mention-parser.service.js.map +1 -0
  210. package/dist/lib/services/notification.service.d.ts +108 -0
  211. package/dist/lib/services/notification.service.d.ts.map +1 -0
  212. package/dist/lib/services/notification.service.js +431 -0
  213. package/dist/lib/services/notification.service.js.map +1 -0
  214. package/dist/lib/services/search.service.d.ts +144 -0
  215. package/dist/lib/services/search.service.d.ts.map +1 -0
  216. package/dist/lib/services/search.service.js +370 -0
  217. package/dist/lib/services/search.service.js.map +1 -0
  218. package/dist/lib/services/toast.service.d.ts +46 -0
  219. package/dist/lib/services/toast.service.d.ts.map +1 -0
  220. package/dist/lib/services/toast.service.js +76 -0
  221. package/dist/lib/services/toast.service.js.map +1 -0
  222. package/dist/public-api.d.ts +42 -0
  223. package/dist/public-api.d.ts.map +1 -0
  224. package/dist/public-api.js +49 -0
  225. package/dist/public-api.js.map +1 -0
  226. package/package.json +54 -0
@@ -0,0 +1,270 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { RunView } from '@memberjunction/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ function LibraryFullViewComponent_span_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
7
+ const _r1 = i0.ɵɵgetCurrentView();
8
+ i0.ɵɵelementContainerStart(0);
9
+ i0.ɵɵelement(1, "i", 19);
10
+ i0.ɵɵelementStart(2, "a", 5);
11
+ i0.ɵɵlistener("click", function LibraryFullViewComponent_span_7_ng_container_1_Template_a_click_2_listener() { const crumb_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.navigateTo(crumb_r2)); });
12
+ i0.ɵɵtext(3);
13
+ i0.ɵɵelementEnd();
14
+ i0.ɵɵelementContainerEnd();
15
+ } if (rf & 2) {
16
+ const crumb_r2 = ctx.$implicit;
17
+ const last_r4 = ctx.last;
18
+ i0.ɵɵadvance(2);
19
+ i0.ɵɵclassProp("active", last_r4);
20
+ i0.ɵɵadvance();
21
+ i0.ɵɵtextInterpolate1(" ", crumb_r2.name, " ");
22
+ } }
23
+ function LibraryFullViewComponent_span_7_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "span", 17);
25
+ i0.ɵɵtemplate(1, LibraryFullViewComponent_span_7_ng_container_1_Template, 4, 3, "ng-container", 18);
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ const ctx_r2 = i0.ɵɵnextContext();
29
+ i0.ɵɵadvance();
30
+ i0.ɵɵproperty("ngForOf", ctx_r2.breadcrumbs);
31
+ } }
32
+ function LibraryFullViewComponent_div_15_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "div", 20);
34
+ i0.ɵɵelement(1, "i", 21);
35
+ i0.ɵɵelementStart(2, "p");
36
+ i0.ɵɵtext(3, "Loading collections...");
37
+ i0.ɵɵelementEnd()();
38
+ } }
39
+ function LibraryFullViewComponent_div_16_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "div", 22);
41
+ i0.ɵɵelement(1, "i", 23);
42
+ i0.ɵɵelementStart(2, "p");
43
+ i0.ɵɵtext(3);
44
+ i0.ɵɵelementEnd()();
45
+ } if (rf & 2) {
46
+ const ctx_r2 = i0.ɵɵnextContext();
47
+ i0.ɵɵadvance(3);
48
+ i0.ɵɵtextInterpolate(ctx_r2.searchQuery ? "No collections found" : "No collections yet");
49
+ } }
50
+ function LibraryFullViewComponent_div_17_div_1_div_6_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelementStart(0, "div", 32);
52
+ i0.ɵɵtext(1);
53
+ i0.ɵɵelementEnd();
54
+ } if (rf & 2) {
55
+ const collection_r6 = i0.ɵɵnextContext().$implicit;
56
+ i0.ɵɵadvance();
57
+ i0.ɵɵtextInterpolate1(" ", collection_r6.Description, " ");
58
+ } }
59
+ function LibraryFullViewComponent_div_17_div_1_Template(rf, ctx) { if (rf & 1) {
60
+ const _r5 = i0.ɵɵgetCurrentView();
61
+ i0.ɵɵelementStart(0, "div", 26);
62
+ i0.ɵɵlistener("click", function LibraryFullViewComponent_div_17_div_1_Template_div_click_0_listener() { const collection_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openCollection(collection_r6)); });
63
+ i0.ɵɵelementStart(1, "div", 27);
64
+ i0.ɵɵelement(2, "i", 28);
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(3, "div", 29)(4, "div", 30);
67
+ i0.ɵɵtext(5);
68
+ i0.ɵɵelementEnd();
69
+ i0.ɵɵtemplate(6, LibraryFullViewComponent_div_17_div_1_div_6_Template, 2, 1, "div", 31);
70
+ i0.ɵɵelementEnd()();
71
+ } if (rf & 2) {
72
+ const collection_r6 = ctx.$implicit;
73
+ i0.ɵɵadvance(5);
74
+ i0.ɵɵtextInterpolate(collection_r6.Name);
75
+ i0.ɵɵadvance();
76
+ i0.ɵɵproperty("ngIf", collection_r6.Description);
77
+ } }
78
+ function LibraryFullViewComponent_div_17_Template(rf, ctx) { if (rf & 1) {
79
+ i0.ɵɵelementStart(0, "div", 24);
80
+ i0.ɵɵtemplate(1, LibraryFullViewComponent_div_17_div_1_Template, 7, 2, "div", 25);
81
+ i0.ɵɵelementEnd();
82
+ } if (rf & 2) {
83
+ const ctx_r2 = i0.ɵɵnextContext();
84
+ i0.ɵɵadvance();
85
+ i0.ɵɵproperty("ngForOf", ctx_r2.filteredCollections);
86
+ } }
87
+ /**
88
+ * Full-panel Collections view component
89
+ * Replaces the main content area when Collections tab is selected
90
+ */
91
+ export class LibraryFullViewComponent {
92
+ environmentId;
93
+ currentUser;
94
+ collections = [];
95
+ filteredCollections = [];
96
+ searchQuery = '';
97
+ isLoading = false;
98
+ breadcrumbs = [];
99
+ currentCollectionId = null;
100
+ constructor() { }
101
+ ngOnInit() {
102
+ this.loadCollections();
103
+ }
104
+ async loadCollections() {
105
+ this.isLoading = true;
106
+ try {
107
+ const rv = new RunView();
108
+ const filter = `EnvironmentID='${this.environmentId}'` +
109
+ (this.currentCollectionId ? ` AND ParentID='${this.currentCollectionId}'` : ' AND ParentID IS NULL');
110
+ const result = await rv.RunView({
111
+ EntityName: 'MJ: Collections',
112
+ ExtraFilter: filter,
113
+ OrderBy: 'Name ASC',
114
+ MaxRows: 1000,
115
+ ResultType: 'entity_object'
116
+ }, this.currentUser);
117
+ if (result.Success) {
118
+ this.collections = result.Results || [];
119
+ this.applySearch();
120
+ }
121
+ }
122
+ catch (error) {
123
+ console.error('Failed to load collections:', error);
124
+ }
125
+ finally {
126
+ this.isLoading = false;
127
+ }
128
+ }
129
+ onSearchChange(query) {
130
+ this.applySearch();
131
+ }
132
+ applySearch() {
133
+ if (!this.searchQuery.trim()) {
134
+ this.filteredCollections = [...this.collections];
135
+ }
136
+ else {
137
+ const query = this.searchQuery.toLowerCase();
138
+ this.filteredCollections = this.collections.filter(c => c.Name.toLowerCase().includes(query) ||
139
+ (c.Description && c.Description.toLowerCase().includes(query)));
140
+ }
141
+ }
142
+ openCollection(collection) {
143
+ this.breadcrumbs.push({ id: collection.ID, name: collection.Name });
144
+ this.currentCollectionId = collection.ID;
145
+ this.searchQuery = '';
146
+ this.loadCollections();
147
+ }
148
+ navigateTo(crumb) {
149
+ const index = this.breadcrumbs.findIndex(b => b.id === crumb.id);
150
+ if (index !== -1) {
151
+ this.breadcrumbs = this.breadcrumbs.slice(0, index + 1);
152
+ this.currentCollectionId = crumb.id;
153
+ this.searchQuery = '';
154
+ this.loadCollections();
155
+ }
156
+ }
157
+ navigateToRoot() {
158
+ this.breadcrumbs = [];
159
+ this.currentCollectionId = null;
160
+ this.searchQuery = '';
161
+ this.loadCollections();
162
+ }
163
+ refresh() {
164
+ this.loadCollections();
165
+ }
166
+ static ɵfac = function LibraryFullViewComponent_Factory(t) { return new (t || LibraryFullViewComponent)(); };
167
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LibraryFullViewComponent, selectors: [["mj-library-full-view"]], inputs: { environmentId: "environmentId", currentUser: "currentUser" }, decls: 18, vars: 5, consts: [[1, "collections-view"], [1, "collections-header"], [1, "collections-breadcrumb"], [1, "breadcrumb-item"], [1, "fas", "fa-home"], [1, "breadcrumb-link", 3, "click"], ["class", "breadcrumb-path", 4, "ngIf"], [1, "collections-search"], [1, "fas", "fa-search"], ["type", "text", "placeholder", "Search collections and artifacts...", 1, "library-search-input", 3, "ngModelChange", "ngModel"], [1, "collections-actions"], ["title", "Refresh", 1, "btn-secondary", 3, "click"], [1, "fas", "fa-sync"], [1, "collections-content"], ["class", "loading-state", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], ["class", "library-folders", 4, "ngIf"], [1, "breadcrumb-path"], [4, "ngFor", "ngForOf"], [1, "fas", "fa-chevron-right", "breadcrumb-separator"], [1, "loading-state"], [1, "fas", "fa-spinner", "fa-spin"], [1, "empty-state"], [1, "fas", "fa-folder-open"], [1, "library-folders"], ["class", "library-folder", 3, "click", 4, "ngFor", "ngForOf"], [1, "library-folder", 3, "click"], [1, "folder-icon"], [1, "fas", "fa-folder"], [1, "folder-info"], [1, "folder-name"], ["class", "folder-meta", 4, "ngIf"], [1, "folder-meta"]], template: function LibraryFullViewComponent_Template(rf, ctx) { if (rf & 1) {
168
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
169
+ i0.ɵɵelement(4, "i", 4);
170
+ i0.ɵɵelementStart(5, "a", 5);
171
+ i0.ɵɵlistener("click", function LibraryFullViewComponent_Template_a_click_5_listener() { return ctx.navigateToRoot(); });
172
+ i0.ɵɵtext(6, "Collections");
173
+ i0.ɵɵelementEnd()();
174
+ i0.ɵɵtemplate(7, LibraryFullViewComponent_span_7_Template, 2, 1, "span", 6);
175
+ i0.ɵɵelementEnd();
176
+ i0.ɵɵelementStart(8, "div", 7);
177
+ i0.ɵɵelement(9, "i", 8);
178
+ i0.ɵɵelementStart(10, "input", 9);
179
+ i0.ɵɵtwoWayListener("ngModelChange", function LibraryFullViewComponent_Template_input_ngModelChange_10_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.searchQuery, $event) || (ctx.searchQuery = $event); return $event; });
180
+ i0.ɵɵlistener("ngModelChange", function LibraryFullViewComponent_Template_input_ngModelChange_10_listener($event) { return ctx.onSearchChange($event); });
181
+ i0.ɵɵelementEnd()();
182
+ i0.ɵɵelementStart(11, "div", 10)(12, "button", 11);
183
+ i0.ɵɵlistener("click", function LibraryFullViewComponent_Template_button_click_12_listener() { return ctx.refresh(); });
184
+ i0.ɵɵelement(13, "i", 12);
185
+ i0.ɵɵelementEnd()()();
186
+ i0.ɵɵelementStart(14, "div", 13);
187
+ i0.ɵɵtemplate(15, LibraryFullViewComponent_div_15_Template, 4, 0, "div", 14)(16, LibraryFullViewComponent_div_16_Template, 4, 1, "div", 15)(17, LibraryFullViewComponent_div_17_Template, 2, 1, "div", 16);
188
+ i0.ɵɵelementEnd()();
189
+ } if (rf & 2) {
190
+ i0.ɵɵadvance(7);
191
+ i0.ɵɵproperty("ngIf", ctx.breadcrumbs.length > 0);
192
+ i0.ɵɵadvance(3);
193
+ i0.ɵɵtwoWayProperty("ngModel", ctx.searchQuery);
194
+ i0.ɵɵadvance(5);
195
+ i0.ɵɵproperty("ngIf", ctx.isLoading);
196
+ i0.ɵɵadvance();
197
+ i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.filteredCollections.length === 0);
198
+ i0.ɵɵadvance();
199
+ i0.ɵɵproperty("ngIf", !ctx.isLoading && ctx.filteredCollections.length > 0);
200
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel], styles: [".collections-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n }\n\n .collections-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 16px 24px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n }\n\n .collections-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6B7280;\n font-size: 14px;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%] {\n color: #111827;\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n }\n\n .breadcrumb-link[_ngcontent-%COMP%]:hover {\n color: #1e40af;\n }\n\n .breadcrumb-link.active[_ngcontent-%COMP%] {\n color: #6B7280;\n cursor: default;\n }\n\n .breadcrumb-path[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-search[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n padding: 8px 12px;\n min-width: 300px;\n }\n\n .collections-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #9CA3AF;\n font-size: 14px;\n }\n\n .library-search-input[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n outline: none;\n font-size: 14px;\n flex: 1;\n color: #111827;\n }\n\n .library-search-input[_ngcontent-%COMP%]::placeholder {\n color: #9CA3AF;\n }\n\n .collections-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n }\n\n .btn-secondary[_ngcontent-%COMP%] {\n padding: 8px 12px;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n }\n\n .btn-secondary[_ngcontent-%COMP%]:hover {\n background: #F9FAFB;\n color: #111827;\n }\n\n .collections-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .loading-state[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n }\n\n .loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n\n .loading-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n }\n\n .library-folders[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .library-folder[_ngcontent-%COMP%] {\n display: flex;\n align-items: start;\n gap: 16px;\n padding: 20px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .library-folder[_ngcontent-%COMP%]:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n }\n\n .folder-icon[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #EFF6FF;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n .folder-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: #1e40af;\n }\n\n .folder-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n }\n\n .folder-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 500;\n color: #111827;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .folder-meta[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6B7280;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }"] });
201
+ }
202
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LibraryFullViewComponent, [{
203
+ type: Component,
204
+ args: [{ selector: 'mj-library-full-view', template: `
205
+ <div class="collections-view">
206
+ <div class="collections-header">
207
+ <div class="collections-breadcrumb">
208
+ <div class="breadcrumb-item">
209
+ <i class="fas fa-home"></i>
210
+ <a class="breadcrumb-link" (click)="navigateToRoot()">Collections</a>
211
+ </div>
212
+ <span class="breadcrumb-path" *ngIf="breadcrumbs.length > 0">
213
+ <ng-container *ngFor="let crumb of breadcrumbs; let last = last">
214
+ <i class="fas fa-chevron-right breadcrumb-separator"></i>
215
+ <a class="breadcrumb-link"
216
+ [class.active]="last"
217
+ (click)="navigateTo(crumb)">
218
+ {{ crumb.name }}
219
+ </a>
220
+ </ng-container>
221
+ </span>
222
+ </div>
223
+ <div class="collections-search">
224
+ <i class="fas fa-search"></i>
225
+ <input type="text"
226
+ [(ngModel)]="searchQuery"
227
+ (ngModelChange)="onSearchChange($event)"
228
+ placeholder="Search collections and artifacts..."
229
+ class="library-search-input">
230
+ </div>
231
+ <div class="collections-actions">
232
+ <button class="btn-secondary" (click)="refresh()" title="Refresh">
233
+ <i class="fas fa-sync"></i>
234
+ </button>
235
+ </div>
236
+ </div>
237
+ <div class="collections-content">
238
+ <div *ngIf="isLoading" class="loading-state">
239
+ <i class="fas fa-spinner fa-spin"></i>
240
+ <p>Loading collections...</p>
241
+ </div>
242
+ <div *ngIf="!isLoading && filteredCollections.length === 0" class="empty-state">
243
+ <i class="fas fa-folder-open"></i>
244
+ <p>{{ searchQuery ? 'No collections found' : 'No collections yet' }}</p>
245
+ </div>
246
+ <div *ngIf="!isLoading && filteredCollections.length > 0" class="library-folders">
247
+ <div *ngFor="let collection of filteredCollections"
248
+ class="library-folder"
249
+ (click)="openCollection(collection)">
250
+ <div class="folder-icon">
251
+ <i class="fas fa-folder"></i>
252
+ </div>
253
+ <div class="folder-info">
254
+ <div class="folder-name">{{ collection.Name }}</div>
255
+ <div class="folder-meta" *ngIf="collection.Description">
256
+ {{ collection.Description }}
257
+ </div>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ `, styles: ["\n .collections-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n }\n\n .collections-header {\n display: flex;\n align-items: center;\n padding: 16px 24px;\n border-bottom: 1px solid #E5E7EB;\n gap: 16px;\n }\n\n .collections-breadcrumb {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n }\n\n .breadcrumb-item {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .breadcrumb-item i {\n color: #6B7280;\n font-size: 14px;\n }\n\n .breadcrumb-link {\n color: #111827;\n font-weight: 500;\n cursor: pointer;\n text-decoration: none;\n white-space: nowrap;\n transition: color 150ms ease;\n }\n\n .breadcrumb-link:hover {\n color: #1e40af;\n }\n\n .breadcrumb-link.active {\n color: #6B7280;\n cursor: default;\n }\n\n .breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 8px;\n overflow-x: auto;\n }\n\n .breadcrumb-separator {\n color: #D1D5DB;\n font-size: 10px;\n }\n\n .collections-search {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #F9FAFB;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n padding: 8px 12px;\n min-width: 300px;\n }\n\n .collections-search i {\n color: #9CA3AF;\n font-size: 14px;\n }\n\n .library-search-input {\n border: none;\n background: transparent;\n outline: none;\n font-size: 14px;\n flex: 1;\n color: #111827;\n }\n\n .library-search-input::placeholder {\n color: #9CA3AF;\n }\n\n .collections-actions {\n display: flex;\n gap: 8px;\n }\n\n .btn-secondary {\n padding: 8px 12px;\n background: transparent;\n border: 1px solid #E5E7EB;\n border-radius: 6px;\n cursor: pointer;\n color: #6B7280;\n transition: all 150ms ease;\n }\n\n .btn-secondary:hover {\n background: #F9FAFB;\n color: #111827;\n }\n\n .collections-content {\n flex: 1;\n overflow-y: auto;\n padding: 24px;\n }\n\n .loading-state, .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #9CA3AF;\n }\n\n .loading-state i, .empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n\n .loading-state p, .empty-state p {\n margin: 0;\n font-size: 14px;\n }\n\n .library-folders {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 16px;\n }\n\n .library-folder {\n display: flex;\n align-items: start;\n gap: 16px;\n padding: 20px;\n background: white;\n border: 1px solid #E5E7EB;\n border-radius: 8px;\n cursor: pointer;\n transition: all 150ms ease;\n }\n\n .library-folder:hover {\n border-color: #1e40af;\n box-shadow: 0 2px 8px rgba(0,0,0,0.08);\n }\n\n .folder-icon {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #EFF6FF;\n border-radius: 8px;\n flex-shrink: 0;\n }\n\n .folder-icon i {\n font-size: 20px;\n color: #1e40af;\n }\n\n .folder-info {\n flex: 1;\n min-width: 0;\n }\n\n .folder-name {\n font-size: 15px;\n font-weight: 500;\n color: #111827;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .folder-meta {\n font-size: 13px;\n color: #6B7280;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n "] }]
264
+ }], () => [], { environmentId: [{
265
+ type: Input
266
+ }], currentUser: [{
267
+ type: Input
268
+ }] }); })();
269
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LibraryFullViewComponent, { className: "LibraryFullViewComponent", filePath: "src/lib/components/library/library-full-view.component.ts", lineNumber: 275 }); })();
270
+ //# sourceMappingURL=library-full-view.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-full-view.component.js","sourceRoot":"","sources":["../../../../src/lib/components/library/library-full-view.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ConversationEntity } from '@memberjunction/core-entities';
3
+ import { UserInfo } from '@memberjunction/core';
4
+ import { DialogService } from '../../services/dialog.service';
5
+ import * as i0 from "@angular/core";
6
+ interface ConversationMember {
7
+ id: string;
8
+ userId: string;
9
+ userName: string;
10
+ userEmail: string;
11
+ role: 'owner' | 'member';
12
+ addedAt: Date;
13
+ }
14
+ export declare class MembersModalComponent {
15
+ private dialogService;
16
+ isVisible: boolean;
17
+ conversation?: ConversationEntity;
18
+ currentUser: UserInfo;
19
+ cancelled: EventEmitter<void>;
20
+ membersChanged: EventEmitter<void>;
21
+ members: ConversationMember[];
22
+ newMemberEmail: string;
23
+ newMemberRole: 'member' | 'owner';
24
+ isLoading: boolean;
25
+ errorMessage: string;
26
+ get modalTitle(): string;
27
+ roleOptions: {
28
+ value: string;
29
+ label: string;
30
+ }[];
31
+ constructor(dialogService: DialogService);
32
+ ngOnChanges(): void;
33
+ private loadMembers;
34
+ onAddMember(): Promise<void>;
35
+ onRemoveMember(member: ConversationMember): Promise<void>;
36
+ onCancel(): void;
37
+ private resetForm;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<MembersModalComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<MembersModalComponent, "mj-members-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "conversation": { "alias": "conversation"; "required": false; }; "currentUser": { "alias": "currentUser"; "required": false; }; }, { "cancelled": "cancelled"; "membersChanged": "membersChanged"; }, never, never, false, never>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=members-modal.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members-modal.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/members/members-modal.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAE9D,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,qBA0Na,qBAAqB;IAsBpB,OAAO,CAAC,aAAa;IArBxB,SAAS,UAAS;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,WAAW,EAAG,QAAQ,CAAC;IACtB,SAAS,qBAA4B;IACrC,cAAc,qBAA4B;IAEpD,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,cAAc,SAAM;IACpB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAY;IAC7C,SAAS,UAAS;IAClB,YAAY,SAAM;IAElB,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,WAAW;;;QAGT;gBAEkB,aAAa,EAAE,aAAa;IAEhD,WAAW,IAAI,IAAI;YAML,WAAW;IA2BnB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/D,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,SAAS;yCAjIN,qBAAqB;2CAArB,qBAAqB;CAuIjC"}