@memberjunction/ng-dashboards 2.133.0 → 3.1.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 (222) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.js +1 -1
  2. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  3. package/dist/AI/components/agents/agent-editor.component.js +1 -1
  4. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  5. package/dist/AI/components/agents/agent-filter-panel.component.js +1 -1
  6. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  7. package/dist/AI/components/charts/performance-heatmap.component.js +1 -1
  8. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  9. package/dist/AI/components/charts/time-series-chart.component.js +1 -1
  10. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  11. package/dist/AI/components/execution-monitoring.component.js +1 -1
  12. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  13. package/dist/AI/components/models/model-management.component.js +1 -1
  14. package/dist/AI/components/models/model-management.component.js.map +1 -1
  15. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +1 -1
  16. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  17. package/dist/AI/components/prompts/prompt-filter-panel.component.js +1 -1
  18. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  19. package/dist/AI/components/prompts/prompt-management.component.js +1 -1
  20. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  21. package/dist/AI/components/prompts/prompt-version-control.component.js +1 -1
  22. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  23. package/dist/AI/components/system/system-config-filter-panel.component.js +1 -1
  24. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  25. package/dist/AI/components/system/system-configuration.component.js +1 -1
  26. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  27. package/dist/AI/components/widgets/kpi-card.component.js +1 -1
  28. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  29. package/dist/AI/components/widgets/live-execution-widget.component.js +1 -1
  30. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  31. package/dist/AI/services/ai-instrumentation.service.js +1 -1
  32. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  33. package/dist/Actions/components/actions-list-view.component.js +1 -1
  34. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  35. package/dist/Actions/components/actions-overview.component.js +1 -1
  36. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  37. package/dist/Actions/components/categories-list-view.component.js +1 -1
  38. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  39. package/dist/Actions/components/code-management.component.js +1 -1
  40. package/dist/Actions/components/code-management.component.js.map +1 -1
  41. package/dist/Actions/components/entity-integration.component.js +1 -1
  42. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  43. package/dist/Actions/components/execution-monitoring.component.js +1 -1
  44. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  45. package/dist/Actions/components/executions-list-view.component.js +1 -1
  46. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  47. package/dist/Actions/components/scheduled-actions.component.js +1 -1
  48. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  49. package/dist/Actions/components/security-permissions.component.js +1 -1
  50. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  51. package/dist/Communication/communication-dashboard.component.js +1 -1
  52. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  53. package/dist/Communication/communication-logs-resource.component.js +1 -1
  54. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  55. package/dist/Communication/communication-monitor-resource.component.js +1 -1
  56. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  57. package/dist/Communication/communication-providers-resource.component.js +1 -1
  58. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  59. package/dist/Communication/communication-runs-resource.component.js +1 -1
  60. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  61. package/dist/ComponentStudio/component-studio-dashboard.component.js +1 -1
  62. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  63. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +1 -1
  64. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  65. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +1 -1
  66. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  67. package/dist/ComponentStudio/components/text-import-dialog.component.js +1 -1
  68. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  69. package/dist/Credentials/components/credential-category-edit-panel.component.js +1 -1
  70. package/dist/Credentials/components/credential-category-edit-panel.component.js.map +1 -1
  71. package/dist/Credentials/components/credential-edit-panel.component.js +1 -1
  72. package/dist/Credentials/components/credential-edit-panel.component.js.map +1 -1
  73. package/dist/Credentials/components/credential-type-edit-panel.component.js +1 -1
  74. package/dist/Credentials/components/credential-type-edit-panel.component.js.map +1 -1
  75. package/dist/Credentials/components/credentials-audit-resource.component.js +1 -1
  76. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  77. package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
  78. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  79. package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
  80. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  81. package/dist/Credentials/components/credentials-overview-resource.component.js +1 -1
  82. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  83. package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
  84. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  85. package/dist/Credentials/credentials-dashboard.component.js +1 -1
  86. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  87. package/dist/Credentials/pipes/group-by.pipe.js +1 -1
  88. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  89. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +225 -0
  90. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -0
  91. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +1038 -0
  92. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -0
  93. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts +116 -0
  94. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -0
  95. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +549 -0
  96. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -0
  97. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +1 -1
  98. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  99. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  100. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +1 -1
  101. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  102. package/dist/DataExplorer/components/view-selector/view-selector.component.js +1 -1
  103. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  104. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +30 -1
  105. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  106. package/dist/DataExplorer/data-explorer-dashboard.component.js +362 -209
  107. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  108. package/dist/DataExplorer/data-explorer-resource.component.d.ts +38 -0
  109. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -0
  110. package/dist/DataExplorer/data-explorer-resource.component.js +153 -0
  111. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -0
  112. package/dist/DataExplorer/index.d.ts +1 -0
  113. package/dist/DataExplorer/index.d.ts.map +1 -1
  114. package/dist/DataExplorer/index.js +2 -0
  115. package/dist/DataExplorer/index.js.map +1 -1
  116. package/dist/DataExplorer/services/explorer-state.service.js +1 -1
  117. package/dist/DataExplorer/services/explorer-state.service.js.map +1 -1
  118. package/dist/EntityAdmin/entity-admin-dashboard.component.js +1 -1
  119. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  120. package/dist/Home/home-application.d.ts +53 -0
  121. package/dist/Home/home-application.d.ts.map +1 -0
  122. package/dist/Home/home-application.js +148 -0
  123. package/dist/Home/home-application.js.map +1 -0
  124. package/dist/Home/home-dashboard.component.d.ts +10 -10
  125. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  126. package/dist/Home/home-dashboard.component.js +43 -41
  127. package/dist/Home/home-dashboard.component.js.map +1 -1
  128. package/dist/Lists/components/lists-browse-resource.component.d.ts +89 -10
  129. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  130. package/dist/Lists/components/lists-browse-resource.component.js +1528 -256
  131. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  132. package/dist/Lists/components/lists-categories-resource.component.js +1 -1
  133. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  134. package/dist/Lists/components/lists-my-lists-resource.component.js +1 -1
  135. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  136. package/dist/Lists/components/lists-operations-resource.component.d.ts +150 -0
  137. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -0
  138. package/dist/Lists/components/lists-operations-resource.component.js +1532 -0
  139. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -0
  140. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +96 -0
  141. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -0
  142. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +709 -0
  143. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -0
  144. package/dist/Lists/index.d.ts +3 -0
  145. package/dist/Lists/index.d.ts.map +1 -1
  146. package/dist/Lists/index.js +6 -0
  147. package/dist/Lists/index.js.map +1 -1
  148. package/dist/Lists/services/list-set-operations.service.d.ts +128 -0
  149. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -0
  150. package/dist/Lists/services/list-set-operations.service.js +322 -0
  151. package/dist/Lists/services/list-set-operations.service.js.map +1 -0
  152. package/dist/QueryBrowser/query-browser-resource.component.d.ts +101 -0
  153. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -0
  154. package/dist/QueryBrowser/query-browser-resource.component.js +662 -0
  155. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -0
  156. package/dist/Scheduling/components/scheduling-health-resource.component.js +1 -1
  157. package/dist/Scheduling/components/scheduling-health-resource.component.js.map +1 -1
  158. package/dist/Scheduling/components/scheduling-health.component.js +1 -1
  159. package/dist/Scheduling/components/scheduling-health.component.js.map +1 -1
  160. package/dist/Scheduling/components/scheduling-history-resource.component.js +1 -1
  161. package/dist/Scheduling/components/scheduling-history-resource.component.js.map +1 -1
  162. package/dist/Scheduling/components/scheduling-history.component.js +1 -1
  163. package/dist/Scheduling/components/scheduling-history.component.js.map +1 -1
  164. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +1 -1
  165. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  166. package/dist/Scheduling/components/scheduling-jobs.component.js +1 -1
  167. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  168. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +1 -1
  169. package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +1 -1
  170. package/dist/Scheduling/components/scheduling-monitoring.component.js +1 -1
  171. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -1
  172. package/dist/Scheduling/components/scheduling-types-resource.component.js +1 -1
  173. package/dist/Scheduling/components/scheduling-types-resource.component.js.map +1 -1
  174. package/dist/Scheduling/components/scheduling-types.component.js +1 -1
  175. package/dist/Scheduling/components/scheduling-types.component.js.map +1 -1
  176. package/dist/Scheduling/scheduling-dashboard.component.js +1 -1
  177. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  178. package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -1
  179. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  180. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +3 -3
  181. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  182. package/dist/SystemDiagnostics/system-diagnostics.component.js +6 -19
  183. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  184. package/dist/Testing/components/testing-analytics-resource.component.js +1 -1
  185. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  186. package/dist/Testing/components/testing-analytics.component.js +1 -1
  187. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  188. package/dist/Testing/components/testing-execution-resource.component.js +1 -1
  189. package/dist/Testing/components/testing-execution-resource.component.js.map +1 -1
  190. package/dist/Testing/components/testing-execution.component.js +1 -1
  191. package/dist/Testing/components/testing-execution.component.js.map +1 -1
  192. package/dist/Testing/components/testing-feedback-resource.component.js +1 -1
  193. package/dist/Testing/components/testing-feedback-resource.component.js.map +1 -1
  194. package/dist/Testing/components/testing-feedback.component.js +1 -1
  195. package/dist/Testing/components/testing-feedback.component.js.map +1 -1
  196. package/dist/Testing/components/testing-overview-resource.component.js +1 -1
  197. package/dist/Testing/components/testing-overview-resource.component.js.map +1 -1
  198. package/dist/Testing/components/testing-overview.component.js +1 -1
  199. package/dist/Testing/components/testing-overview.component.js.map +1 -1
  200. package/dist/Testing/components/testing-version-comparison.component.js +1 -1
  201. package/dist/Testing/components/testing-version-comparison.component.js.map +1 -1
  202. package/dist/Testing/components/testing-version-resource.component.js +1 -1
  203. package/dist/Testing/components/testing-version-resource.component.js.map +1 -1
  204. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +1 -1
  205. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  206. package/dist/Testing/components/widgets/suite-tree.component.js +2 -2
  207. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  208. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +1 -1
  209. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  210. package/dist/Testing/services/testing-instrumentation.service.js +1 -1
  211. package/dist/Testing/services/testing-instrumentation.service.js.map +1 -1
  212. package/dist/Testing/testing-dashboard.component.js +1 -1
  213. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  214. package/dist/module.d.ts +61 -53
  215. package/dist/module.d.ts.map +1 -1
  216. package/dist/module.js +65 -12
  217. package/dist/module.js.map +1 -1
  218. package/dist/public-api.d.ts +5 -0
  219. package/dist/public-api.d.ts.map +1 -1
  220. package/dist/public-api.js +25 -1
  221. package/dist/public-api.js.map +1 -1
  222. package/package.json +39 -37
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venn-diagram.component.js","sourceRoot":"","sources":["../../../../src/Lists/components/venn-diagram/venn-diagram.component.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  export * from './components/lists-my-lists-resource.component';
2
2
  export * from './components/lists-browse-resource.component';
3
3
  export * from './components/lists-categories-resource.component';
4
+ export * from './components/lists-operations-resource.component';
5
+ export * from './components/venn-diagram/venn-diagram.component';
6
+ export * from './services/list-set-operations.service';
4
7
  export declare function LoadListsResources(): void;
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Lists/index.ts"],"names":[],"mappings":"AACA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AAOjE,wBAAgB,kBAAkB,SAIjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Lists/index.ts"],"names":[],"mappings":"AACA,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AAGjE,cAAc,wCAAwC,CAAC;AAQvD,wBAAgB,kBAAkB,SAKjC"}
@@ -2,13 +2,19 @@
2
2
  export * from './components/lists-my-lists-resource.component';
3
3
  export * from './components/lists-browse-resource.component';
4
4
  export * from './components/lists-categories-resource.component';
5
+ export * from './components/lists-operations-resource.component';
6
+ export * from './components/venn-diagram/venn-diagram.component';
7
+ // Services
8
+ export * from './services/list-set-operations.service';
5
9
  // Loader function to prevent tree shaking
6
10
  import { LoadListsMyListsResource } from './components/lists-my-lists-resource.component';
7
11
  import { LoadListsBrowseResource } from './components/lists-browse-resource.component';
8
12
  import { LoadListsCategoriesResource } from './components/lists-categories-resource.component';
13
+ import { LoadListsOperationsResource } from './components/lists-operations-resource.component';
9
14
  export function LoadListsResources() {
10
15
  LoadListsMyListsResource();
11
16
  LoadListsBrowseResource();
12
17
  LoadListsCategoriesResource();
18
+ LoadListsOperationsResource();
13
19
  }
14
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Lists/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AAEjE,0CAA0C;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,MAAM,UAAU,kBAAkB;IAC9B,wBAAwB,EAAE,CAAC;IAC3B,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Lists/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AACjE,cAAc,kDAAkD,CAAC;AAEjE,WAAW;AACX,cAAc,wCAAwC,CAAC;AAEvD,0CAA0C;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE/F,MAAM,UAAU,kBAAkB;IAC9B,wBAAwB,EAAE,CAAC;IAC3B,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAC9B,2BAA2B,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { ListEntity } from '@memberjunction/core-entities';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Represents a set (list) in the Venn diagram
6
+ */
7
+ export interface VennSet {
8
+ listId: string;
9
+ listName: string;
10
+ color: string;
11
+ recordIds: Set<string>;
12
+ size: number;
13
+ }
14
+ /**
15
+ * Represents an intersection region in the Venn diagram
16
+ */
17
+ export interface VennIntersection {
18
+ /**
19
+ * IDs of lists that participate in this intersection
20
+ */
21
+ setIds: string[];
22
+ /**
23
+ * Labels of lists that participate in this intersection
24
+ */
25
+ setLabels: string[];
26
+ /**
27
+ * Number of records in this intersection
28
+ */
29
+ size: number;
30
+ /**
31
+ * Actual record IDs in this intersection
32
+ */
33
+ recordIds: string[];
34
+ /**
35
+ * Display label for this region
36
+ */
37
+ label: string;
38
+ /**
39
+ * Whether this region is currently selected
40
+ */
41
+ isSelected: boolean;
42
+ }
43
+ /**
44
+ * Complete Venn data for visualization
45
+ */
46
+ export interface VennData {
47
+ sets: VennSet[];
48
+ intersections: VennIntersection[];
49
+ entityId?: string;
50
+ entityName?: string;
51
+ }
52
+ /**
53
+ * Set operation types
54
+ */
55
+ export type SetOperation = 'union' | 'intersection' | 'difference' | 'symmetric_difference' | 'complement';
56
+ /**
57
+ * Result of a set operation
58
+ */
59
+ export interface SetOperationResult {
60
+ operation: SetOperation;
61
+ inputSetIds: string[];
62
+ resultRecordIds: string[];
63
+ resultCount: number;
64
+ }
65
+ /**
66
+ * Service for performing set operations on lists and preparing data for Venn visualization.
67
+ */
68
+ export declare class ListSetOperationsService {
69
+ private loadingSubject;
70
+ loading$: Observable<boolean>;
71
+ private listDetailsCache;
72
+ constructor();
73
+ /**
74
+ * Load list data and calculate all intersections for Venn visualization
75
+ */
76
+ calculateVennData(lists: ListEntity[]): Promise<VennData>;
77
+ /**
78
+ * Calculate all possible intersections between the given sets
79
+ */
80
+ private calculateAllIntersections;
81
+ /**
82
+ * Calculate records that are in ALL of the specified sets but NONE of the other sets
83
+ */
84
+ private calculateExclusiveIntersection;
85
+ /**
86
+ * Build a display label for an intersection
87
+ */
88
+ private buildIntersectionLabel;
89
+ /**
90
+ * Perform a set operation on multiple lists
91
+ */
92
+ performOperation(operation: SetOperation, listIds: string[], allListIds?: string[]): Promise<SetOperationResult>;
93
+ /**
94
+ * Ensure list details are loaded for the given list IDs
95
+ */
96
+ private ensureListsLoaded;
97
+ /**
98
+ * Set intersection of two sets
99
+ */
100
+ private intersect;
101
+ /**
102
+ * Set difference (a - b)
103
+ */
104
+ private difference;
105
+ /**
106
+ * Union of multiple sets
107
+ */
108
+ private unionAll;
109
+ /**
110
+ * Intersection of multiple sets
111
+ */
112
+ private intersectAll;
113
+ /**
114
+ * Symmetric difference of multiple sets (items in exactly one set)
115
+ */
116
+ private symmetricDifferenceAll;
117
+ /**
118
+ * Get the color for a list by its index
119
+ */
120
+ getColorForIndex(index: number): string;
121
+ /**
122
+ * Clear the cache
123
+ */
124
+ clearCache(): void;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListSetOperationsService, never>;
126
+ static ɵprov: i0.ɵɵInjectableDeclaration<ListSetOperationsService>;
127
+ }
128
+ //# sourceMappingURL=list-set-operations.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-set-operations.service.d.ts","sourceRoot":"","sources":["../../../src/Lists/services/list-set-operations.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAoB,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;;AAEnD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,sBAAsB,GAAG,YAAY,CAAC;AAE3G;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD;;GAEG;AACH,qBAGa,wBAAwB;IACnC,OAAO,CAAC,cAAc,CAAuC;IACtD,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAG1E,OAAO,CAAC,gBAAgB,CAAkC;;IAI1D;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8D/D;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqCjC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAoBtC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,kBAAkB,CAAC;IAgE9B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACH,UAAU,IAAI,IAAI;yCAlVP,wBAAwB;6CAAxB,wBAAwB;CAqVpC"}
@@ -0,0 +1,322 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { RunView } from '@memberjunction/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ // Predefined color palette for Venn sets
6
+ const VENN_COLORS = [
7
+ '#2196F3', // Blue
8
+ '#4CAF50', // Green
9
+ '#FF9800', // Orange
10
+ '#E91E63', // Pink
11
+ '#9C27B0', // Purple
12
+ '#00BCD4', // Cyan
13
+ '#F44336', // Red
14
+ '#8BC34A' // Light Green
15
+ ];
16
+ /**
17
+ * Service for performing set operations on lists and preparing data for Venn visualization.
18
+ */
19
+ export class ListSetOperationsService {
20
+ loadingSubject = new BehaviorSubject(false);
21
+ loading$ = this.loadingSubject.asObservable();
22
+ // Cache for list details
23
+ listDetailsCache = new Map();
24
+ constructor() { }
25
+ /**
26
+ * Load list data and calculate all intersections for Venn visualization
27
+ */
28
+ async calculateVennData(lists) {
29
+ if (lists.length === 0) {
30
+ return { sets: [], intersections: [] };
31
+ }
32
+ this.loadingSubject.next(true);
33
+ try {
34
+ // Load all list details in a single query
35
+ const listIds = lists.map(l => l.ID);
36
+ const listIdFilter = listIds.map(id => `'${id}'`).join(',');
37
+ const rv = new RunView();
38
+ const result = await rv.RunView({
39
+ EntityName: 'List Details',
40
+ ExtraFilter: `ListID IN (${listIdFilter})`,
41
+ Fields: ['ListID', 'RecordID'],
42
+ ResultType: 'simple'
43
+ });
44
+ // Build sets per list
45
+ const setsMap = new Map();
46
+ for (const listId of listIds) {
47
+ setsMap.set(listId, new Set());
48
+ }
49
+ if (result.Success && result.Results) {
50
+ for (const detail of result.Results) {
51
+ const set = setsMap.get(detail.ListID);
52
+ if (set) {
53
+ set.add(detail.RecordID);
54
+ }
55
+ }
56
+ }
57
+ // Update cache
58
+ for (const [listId, records] of setsMap) {
59
+ this.listDetailsCache.set(listId, records);
60
+ }
61
+ // Build VennSet objects
62
+ const sets = lists.map((list, index) => ({
63
+ listId: list.ID,
64
+ listName: list.Name,
65
+ color: VENN_COLORS[index % VENN_COLORS.length],
66
+ recordIds: setsMap.get(list.ID) || new Set(),
67
+ size: setsMap.get(list.ID)?.size || 0
68
+ }));
69
+ // Calculate all possible intersections
70
+ const intersections = this.calculateAllIntersections(sets);
71
+ // Get entity info from the first list (assuming all lists are same entity)
72
+ const entityId = lists[0]?.EntityID;
73
+ const entityName = lists[0]?.Entity;
74
+ return { sets, intersections, entityId, entityName };
75
+ }
76
+ finally {
77
+ this.loadingSubject.next(false);
78
+ }
79
+ }
80
+ /**
81
+ * Calculate all possible intersections between the given sets
82
+ */
83
+ calculateAllIntersections(sets) {
84
+ const intersections = [];
85
+ const n = sets.length;
86
+ // Generate all non-empty subsets of sets
87
+ for (let mask = 1; mask < (1 << n); mask++) {
88
+ const subset = [];
89
+ for (let i = 0; i < n; i++) {
90
+ if (mask & (1 << i)) {
91
+ subset.push(sets[i]);
92
+ }
93
+ }
94
+ // Calculate exclusive intersection (records in exactly these sets)
95
+ const recordIds = this.calculateExclusiveIntersection(subset, sets);
96
+ if (recordIds.length > 0 || subset.length === 1) {
97
+ const setIds = subset.map(s => s.listId);
98
+ const setLabels = subset.map(s => s.listName);
99
+ intersections.push({
100
+ setIds,
101
+ setLabels,
102
+ size: recordIds.length,
103
+ recordIds,
104
+ label: this.buildIntersectionLabel(setLabels),
105
+ isSelected: false
106
+ });
107
+ }
108
+ }
109
+ // Sort by number of sets (single sets first, then pairs, etc.)
110
+ intersections.sort((a, b) => a.setIds.length - b.setIds.length);
111
+ return intersections;
112
+ }
113
+ /**
114
+ * Calculate records that are in ALL of the specified sets but NONE of the other sets
115
+ */
116
+ calculateExclusiveIntersection(includedSets, allSets) {
117
+ if (includedSets.length === 0)
118
+ return [];
119
+ // Start with records in the first included set
120
+ let result = new Set(includedSets[0].recordIds);
121
+ // Intersect with all other included sets
122
+ for (let i = 1; i < includedSets.length; i++) {
123
+ result = this.intersect(result, includedSets[i].recordIds);
124
+ }
125
+ // Remove records that are in excluded sets
126
+ const excludedSets = allSets.filter(s => !includedSets.includes(s));
127
+ for (const excluded of excludedSets) {
128
+ result = this.difference(result, excluded.recordIds);
129
+ }
130
+ return Array.from(result);
131
+ }
132
+ /**
133
+ * Build a display label for an intersection
134
+ */
135
+ buildIntersectionLabel(setLabels) {
136
+ if (setLabels.length === 1) {
137
+ return `Only in ${setLabels[0]}`;
138
+ }
139
+ return setLabels.join(' ∩ ');
140
+ }
141
+ /**
142
+ * Perform a set operation on multiple lists
143
+ */
144
+ async performOperation(operation, listIds, allListIds) {
145
+ this.loadingSubject.next(true);
146
+ try {
147
+ // Ensure we have the list details loaded
148
+ await this.ensureListsLoaded(listIds);
149
+ const sets = listIds.map(id => this.listDetailsCache.get(id) || new Set());
150
+ let resultSet;
151
+ switch (operation) {
152
+ case 'union':
153
+ resultSet = this.unionAll(sets);
154
+ break;
155
+ case 'intersection':
156
+ resultSet = this.intersectAll(sets);
157
+ break;
158
+ case 'difference':
159
+ // A - B - C - ... (first set minus all others)
160
+ if (sets.length < 2) {
161
+ resultSet = sets[0] || new Set();
162
+ }
163
+ else {
164
+ resultSet = new Set(sets[0]);
165
+ for (let i = 1; i < sets.length; i++) {
166
+ resultSet = this.difference(resultSet, sets[i]);
167
+ }
168
+ }
169
+ break;
170
+ case 'symmetric_difference':
171
+ // Records that are in exactly one of the sets
172
+ resultSet = this.symmetricDifferenceAll(sets);
173
+ break;
174
+ case 'complement':
175
+ // Records NOT in any of the selected sets (requires allListIds)
176
+ if (allListIds) {
177
+ await this.ensureListsLoaded(allListIds);
178
+ const allSets = allListIds.map(id => this.listDetailsCache.get(id) || new Set());
179
+ const allRecords = this.unionAll(allSets);
180
+ const selectedRecords = this.unionAll(sets);
181
+ resultSet = this.difference(allRecords, selectedRecords);
182
+ }
183
+ else {
184
+ resultSet = new Set();
185
+ }
186
+ break;
187
+ default:
188
+ resultSet = new Set();
189
+ }
190
+ return {
191
+ operation,
192
+ inputSetIds: listIds,
193
+ resultRecordIds: Array.from(resultSet),
194
+ resultCount: resultSet.size
195
+ };
196
+ }
197
+ finally {
198
+ this.loadingSubject.next(false);
199
+ }
200
+ }
201
+ /**
202
+ * Ensure list details are loaded for the given list IDs
203
+ */
204
+ async ensureListsLoaded(listIds) {
205
+ const missingIds = listIds.filter(id => !this.listDetailsCache.has(id));
206
+ if (missingIds.length === 0)
207
+ return;
208
+ const listIdFilter = missingIds.map(id => `'${id}'`).join(',');
209
+ const rv = new RunView();
210
+ const result = await rv.RunView({
211
+ EntityName: 'List Details',
212
+ ExtraFilter: `ListID IN (${listIdFilter})`,
213
+ Fields: ['ListID', 'RecordID'],
214
+ ResultType: 'simple'
215
+ });
216
+ // Initialize sets for missing lists
217
+ for (const id of missingIds) {
218
+ this.listDetailsCache.set(id, new Set());
219
+ }
220
+ if (result.Success && result.Results) {
221
+ for (const detail of result.Results) {
222
+ const set = this.listDetailsCache.get(detail.ListID);
223
+ if (set) {
224
+ set.add(detail.RecordID);
225
+ }
226
+ }
227
+ }
228
+ }
229
+ /**
230
+ * Set intersection of two sets
231
+ */
232
+ intersect(a, b) {
233
+ const result = new Set();
234
+ for (const item of a) {
235
+ if (b.has(item)) {
236
+ result.add(item);
237
+ }
238
+ }
239
+ return result;
240
+ }
241
+ /**
242
+ * Set difference (a - b)
243
+ */
244
+ difference(a, b) {
245
+ const result = new Set();
246
+ for (const item of a) {
247
+ if (!b.has(item)) {
248
+ result.add(item);
249
+ }
250
+ }
251
+ return result;
252
+ }
253
+ /**
254
+ * Union of multiple sets
255
+ */
256
+ unionAll(sets) {
257
+ const result = new Set();
258
+ for (const set of sets) {
259
+ for (const item of set) {
260
+ result.add(item);
261
+ }
262
+ }
263
+ return result;
264
+ }
265
+ /**
266
+ * Intersection of multiple sets
267
+ */
268
+ intersectAll(sets) {
269
+ if (sets.length === 0)
270
+ return new Set();
271
+ if (sets.length === 1)
272
+ return new Set(sets[0]);
273
+ let result = new Set(sets[0]);
274
+ for (let i = 1; i < sets.length; i++) {
275
+ result = this.intersect(result, sets[i]);
276
+ }
277
+ return result;
278
+ }
279
+ /**
280
+ * Symmetric difference of multiple sets (items in exactly one set)
281
+ */
282
+ symmetricDifferenceAll(sets) {
283
+ if (sets.length === 0)
284
+ return new Set();
285
+ // Count occurrences of each item
286
+ const counts = new Map();
287
+ for (const set of sets) {
288
+ for (const item of set) {
289
+ counts.set(item, (counts.get(item) || 0) + 1);
290
+ }
291
+ }
292
+ // Keep only items that appear exactly once
293
+ const result = new Set();
294
+ for (const [item, count] of counts) {
295
+ if (count === 1) {
296
+ result.add(item);
297
+ }
298
+ }
299
+ return result;
300
+ }
301
+ /**
302
+ * Get the color for a list by its index
303
+ */
304
+ getColorForIndex(index) {
305
+ return VENN_COLORS[index % VENN_COLORS.length];
306
+ }
307
+ /**
308
+ * Clear the cache
309
+ */
310
+ clearCache() {
311
+ this.listDetailsCache.clear();
312
+ }
313
+ static ɵfac = function ListSetOperationsService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListSetOperationsService)(); };
314
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ListSetOperationsService, factory: ListSetOperationsService.ɵfac, providedIn: 'root' });
315
+ }
316
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListSetOperationsService, [{
317
+ type: Injectable,
318
+ args: [{
319
+ providedIn: 'root'
320
+ }]
321
+ }], () => [], null); })();
322
+ //# sourceMappingURL=list-set-operations.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-set-operations.service.js","sourceRoot":"","sources":["../../../src/Lists/services/list-set-operations.service.ts"],"names":[],"mappings":"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"}