@memberjunction/ng-dashboards 5.38.0 → 5.40.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 (321) hide show
  1. package/README.md +14 -7
  2. package/dist/AI/components/agents/agent-configuration.component.js +199 -198
  3. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  4. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  5. package/dist/AI/components/analytics/ai-analytics-resource.component.js +20 -17
  6. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  7. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +15 -0
  8. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  9. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +166 -58
  10. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  11. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  12. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +2 -1
  13. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  14. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +1 -0
  15. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  16. package/dist/AI/components/analytics/model-performance/model-performance.component.js +55 -36
  17. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  18. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts +9 -1
  19. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  20. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +158 -117
  21. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  22. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts +1 -0
  23. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  24. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +22 -8
  25. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  26. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +217 -860
  27. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  28. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +1717 -7802
  29. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  30. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts +56 -0
  31. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.d.ts.map +1 -0
  32. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js +423 -0
  33. package/dist/AI/components/autotagging/components/classify-item-drilldown.component.js.map +1 -0
  34. package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts +70 -0
  35. package/dist/AI/components/autotagging/components/classify-item-grid.component.d.ts.map +1 -0
  36. package/dist/AI/components/autotagging/components/classify-item-grid.component.js +308 -0
  37. package/dist/AI/components/autotagging/components/classify-item-grid.component.js.map +1 -0
  38. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts +29 -0
  39. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.d.ts.map +1 -0
  40. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js +186 -0
  41. package/dist/AI/components/autotagging/components/classify-org-context-editor.component.js.map +1 -0
  42. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts +69 -0
  43. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.d.ts.map +1 -0
  44. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js +278 -0
  45. package/dist/AI/components/autotagging/components/classify-overview-analytics.component.js.map +1 -0
  46. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts +73 -0
  47. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.d.ts.map +1 -0
  48. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js +393 -0
  49. package/dist/AI/components/autotagging/components/classify-seed-taxonomy.component.js.map +1 -0
  50. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts +122 -0
  51. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.d.ts.map +1 -0
  52. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js +908 -0
  53. package/dist/AI/components/autotagging/dialogs/classify-setup-wizard.component.js.map +1 -0
  54. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts +87 -0
  55. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.d.ts.map +1 -0
  56. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js +475 -0
  57. package/dist/AI/components/autotagging/dialogs/dry-run-preview.dialog.component.js.map +1 -0
  58. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts +29 -0
  59. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.d.ts.map +1 -0
  60. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js +208 -0
  61. package/dist/AI/components/autotagging/dialogs/item-detail.dialog.component.js.map +1 -0
  62. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts +21 -0
  63. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.d.ts.map +1 -0
  64. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js +70 -0
  65. package/dist/AI/components/autotagging/dialogs/no-content-type-warning.dialog.component.js.map +1 -0
  66. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts +333 -0
  67. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.d.ts.map +1 -0
  68. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js +2125 -0
  69. package/dist/AI/components/autotagging/dialogs/source-type-form.dialog.component.js.map +1 -0
  70. package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts +61 -0
  71. package/dist/AI/components/autotagging/shared/classify.dryrun.d.ts.map +1 -0
  72. package/dist/AI/components/autotagging/shared/classify.dryrun.js +78 -0
  73. package/dist/AI/components/autotagging/shared/classify.dryrun.js.map +1 -0
  74. package/dist/AI/components/autotagging/shared/classify.format.d.ts +58 -0
  75. package/dist/AI/components/autotagging/shared/classify.format.d.ts.map +1 -0
  76. package/dist/AI/components/autotagging/shared/classify.format.js +260 -0
  77. package/dist/AI/components/autotagging/shared/classify.format.js.map +1 -0
  78. package/dist/AI/components/autotagging/shared/classify.types.d.ts +319 -0
  79. package/dist/AI/components/autotagging/shared/classify.types.d.ts.map +1 -0
  80. package/dist/AI/components/autotagging/shared/classify.types.js +6 -0
  81. package/dist/AI/components/autotagging/shared/classify.types.js.map +1 -0
  82. package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts +103 -0
  83. package/dist/AI/components/autotagging/tabs/health-tab.component.d.ts.map +1 -0
  84. package/dist/AI/components/autotagging/tabs/health-tab.component.js +571 -0
  85. package/dist/AI/components/autotagging/tabs/health-tab.component.js.map +1 -0
  86. package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts +77 -0
  87. package/dist/AI/components/autotagging/tabs/history-tab.component.d.ts.map +1 -0
  88. package/dist/AI/components/autotagging/tabs/history-tab.component.js +519 -0
  89. package/dist/AI/components/autotagging/tabs/history-tab.component.js.map +1 -0
  90. package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts +107 -0
  91. package/dist/AI/components/autotagging/tabs/inbox-tab.component.d.ts.map +1 -0
  92. package/dist/AI/components/autotagging/tabs/inbox-tab.component.js +719 -0
  93. package/dist/AI/components/autotagging/tabs/inbox-tab.component.js.map +1 -0
  94. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts +131 -0
  95. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.d.ts.map +1 -0
  96. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js +813 -0
  97. package/dist/AI/components/autotagging/tabs/pipeline-tab.component.js.map +1 -0
  98. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts +177 -0
  99. package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -0
  100. package/dist/AI/components/autotagging/tabs/sources-tab.component.js +1465 -0
  101. package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -0
  102. package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts +78 -0
  103. package/dist/AI/components/autotagging/tabs/tags-tab.component.d.ts.map +1 -0
  104. package/dist/AI/components/autotagging/tabs/tags-tab.component.js +492 -0
  105. package/dist/AI/components/autotagging/tabs/tags-tab.component.js.map +1 -0
  106. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts +397 -0
  107. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.d.ts.map +1 -0
  108. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js +3490 -0
  109. package/dist/AI/components/autotagging/tabs/taxonomy-tab.component.js.map +1 -0
  110. package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts +56 -0
  111. package/dist/AI/components/autotagging/tabs/types-tab.component.d.ts.map +1 -0
  112. package/dist/AI/components/autotagging/tabs/types-tab.component.js +271 -0
  113. package/dist/AI/components/autotagging/tabs/types-tab.component.js.map +1 -0
  114. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +3 -0
  115. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  116. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +306 -290
  117. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  118. package/dist/AI/components/execution-monitoring.component.js +1 -1
  119. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  120. package/dist/AI/components/models/model-management.component.js +209 -208
  121. package/dist/AI/components/models/model-management.component.js.map +1 -1
  122. package/dist/AI/components/prompts/prompt-management.component.js +130 -128
  123. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  124. package/dist/AI/components/requests/agent-requests-resource.component.js +61 -61
  125. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  126. package/dist/AI/components/system/system-configuration.component.js +17 -17
  127. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  128. package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
  129. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  130. package/dist/AI/components/tags/tags-resource.component.js +578 -538
  131. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  132. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +3 -0
  133. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  134. package/dist/AI/components/vectors/vector-management-resource.component.js +331 -303
  135. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  136. package/dist/AI/services/ai-instrumentation.service.d.ts +5 -0
  137. package/dist/AI/services/ai-instrumentation.service.d.ts.map +1 -1
  138. package/dist/AI/services/ai-instrumentation.service.js +14 -2
  139. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  140. package/dist/AI/services/cache-metrics.d.ts +50 -0
  141. package/dist/AI/services/cache-metrics.d.ts.map +1 -0
  142. package/dist/AI/services/cache-metrics.js +43 -0
  143. package/dist/AI/services/cache-metrics.js.map +1 -0
  144. package/dist/APIKeys/api-applications-panel.component.js +2 -2
  145. package/dist/APIKeys/api-key-create-dialog.component.js +2 -2
  146. package/dist/APIKeys/api-key-edit-panel.component.js +2 -2
  147. package/dist/APIKeys/api-keys-resource.component.js +132 -131
  148. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  149. package/dist/Actions/components/actions-overview.component.js +141 -141
  150. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  151. package/dist/Actions/components/execution-monitoring.component.js +15 -15
  152. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  153. package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -5
  154. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  155. package/dist/Actions/components/explorer/action-explorer.component.js +139 -212
  156. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  157. package/dist/Admin/admin-data-schema.component.js +2 -2
  158. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  159. package/dist/Admin/admin-dev-tools-resource.component.js +2 -2
  160. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  161. package/dist/Admin/admin-identity-access.component.js +2 -2
  162. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  163. package/dist/Admin/admin-monitoring.component.js +2 -2
  164. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  165. package/dist/ApplicationRoles/application-roles-resource.component.js +54 -49
  166. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  167. package/dist/Communication/communication-logs-resource.component.d.ts +6 -0
  168. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  169. package/dist/Communication/communication-logs-resource.component.js +72 -50
  170. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  171. package/dist/Communication/communication-monitor-resource.component.js +103 -102
  172. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  173. package/dist/Communication/communication-providers-resource.component.js +52 -51
  174. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  175. package/dist/Communication/communication-runs-resource.component.js +39 -38
  176. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  177. package/dist/Communication/communication-templates-resource.component.d.ts +6 -0
  178. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  179. package/dist/Communication/communication-templates-resource.component.js +92 -89
  180. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  181. package/dist/Credentials/components/credentials-audit-resource.component.js +136 -135
  182. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  183. package/dist/Credentials/components/credentials-categories-resource.component.js +155 -152
  184. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  185. package/dist/Credentials/components/credentials-list-resource.component.js +119 -118
  186. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  187. package/dist/Credentials/components/credentials-overview-resource.component.js +129 -128
  188. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  189. package/dist/Credentials/components/credentials-types-resource.component.js +107 -106
  190. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  191. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +31 -340
  192. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  193. package/dist/DataExplorer/data-explorer-dashboard.component.js +468 -1958
  194. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  195. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  196. package/dist/DataExplorer/data-explorer-resource.component.js +10 -0
  197. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  198. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +1 -1
  199. package/dist/DatabaseDesigner/components/entity-list.component.js +115 -114
  200. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  201. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +5 -6
  202. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  203. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +4 -5
  204. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  205. package/dist/DevTools/app-state-inspector.component.js +18 -17
  206. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  207. package/dist/DevTools/class-registry.component.js +88 -85
  208. package/dist/DevTools/class-registry.component.js.map +1 -1
  209. package/dist/DevTools/event-monitor.component.js +155 -150
  210. package/dist/DevTools/event-monitor.component.js.map +1 -1
  211. package/dist/DevTools/graphql-console.component.js +245 -243
  212. package/dist/DevTools/graphql-console.component.js.map +1 -1
  213. package/dist/DevTools/layout-inspector.component.js +18 -17
  214. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  215. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -19
  216. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  217. package/dist/Home/home-dashboard.component.js +2 -2
  218. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  219. package/dist/Integration/components/activity/activity.component.js +236 -229
  220. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  221. package/dist/Integration/components/connections/connections.component.js +390 -389
  222. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  223. package/dist/Integration/components/overview/overview.component.js +2 -2
  224. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  225. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +14 -11
  226. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  227. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts +27 -2
  228. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.d.ts.map +1 -1
  229. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +244 -119
  230. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  231. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +293 -291
  232. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  233. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +62 -61
  234. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  235. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts +65 -0
  236. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.d.ts.map +1 -0
  237. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js +176 -0
  238. package/dist/KnowledgeHub/components/visualize/record-drilldown/record-drilldown.component.js.map +1 -0
  239. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts +81 -0
  240. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.d.ts.map +1 -0
  241. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js +308 -0
  242. package/dist/KnowledgeHub/components/visualize/tag-cloud/tag-cloud.component.js.map +1 -0
  243. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts +85 -0
  244. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.d.ts.map +1 -0
  245. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js +362 -0
  246. package/dist/KnowledgeHub/components/visualize/visualize-resource.component.js.map +1 -0
  247. package/dist/KnowledgeHub/index.d.ts +3 -0
  248. package/dist/KnowledgeHub/index.d.ts.map +1 -1
  249. package/dist/KnowledgeHub/index.js +3 -0
  250. package/dist/KnowledgeHub/index.js.map +1 -1
  251. package/dist/Lists/components/lists-browse-resource.component.d.ts +6 -2
  252. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  253. package/dist/Lists/components/lists-browse-resource.component.js +525 -566
  254. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  255. package/dist/Lists/components/lists-categories-resource.component.js +135 -134
  256. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  257. package/dist/Lists/components/lists-my-lists-resource.component.js +199 -198
  258. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  259. package/dist/MCP/components/mcp-server-dialog.component.js +2 -2
  260. package/dist/MCP/mcp-dashboard.component.js +443 -438
  261. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  262. package/dist/QueryBrowser/query-browser-resource.component.js +1 -1
  263. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  264. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  265. package/dist/Scheduling/components/scheduling-activity.component.js +146 -147
  266. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  267. package/dist/Scheduling/components/scheduling-jobs.component.js +76 -75
  268. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  269. package/dist/Scheduling/components/scheduling-overview.component.js +97 -96
  270. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  271. package/dist/Scheduling/scheduling-dashboard.component.js +24 -22
  272. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  273. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +2 -0
  274. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  275. package/dist/Scheduling/services/scheduling-instrumentation.service.js +1 -0
  276. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  277. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +1 -1
  278. package/dist/Testing/components/testing-explorer.component.d.ts +14 -4
  279. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  280. package/dist/Testing/components/testing-explorer.component.js +436 -427
  281. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  282. package/dist/Testing/components/testing-runs-resource.component.js +1 -1
  283. package/dist/Testing/components/testing-runs.component.js +116 -115
  284. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  285. package/dist/Testing/testing-dashboard.component.js +6 -7
  286. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  287. package/dist/VersionHistory/components/labels-resource.component.js +173 -172
  288. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  289. package/dist/VersionHistory/components/restore-resource.component.d.ts +6 -0
  290. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -1
  291. package/dist/VersionHistory/components/restore-resource.component.js +116 -92
  292. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  293. package/dist/ai-dashboards.module.d.ts +57 -35
  294. package/dist/ai-dashboards.module.d.ts.map +1 -1
  295. package/dist/ai-dashboards.module.js +80 -1
  296. package/dist/ai-dashboards.module.js.map +1 -1
  297. package/dist/communication-dashboards.module.d.ts +1 -1
  298. package/dist/communication-dashboards.module.d.ts.map +1 -1
  299. package/dist/communication-dashboards.module.js +7 -1
  300. package/dist/communication-dashboards.module.js.map +1 -1
  301. package/dist/data-explorer-dashboards.module.d.ts +12 -14
  302. package/dist/data-explorer-dashboards.module.d.ts.map +1 -1
  303. package/dist/data-explorer-dashboards.module.js +5 -14
  304. package/dist/data-explorer-dashboards.module.js.map +1 -1
  305. package/dist/public-api.d.ts +3 -0
  306. package/dist/public-api.d.ts.map +1 -1
  307. package/dist/public-api.js +3 -0
  308. package/dist/public-api.js.map +1 -1
  309. package/dist/testing-dashboards.module.d.ts +4 -5
  310. package/dist/testing-dashboards.module.d.ts.map +1 -1
  311. package/dist/testing-dashboards.module.js +7 -5
  312. package/dist/testing-dashboards.module.js.map +1 -1
  313. package/package.json +57 -54
  314. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts +0 -79
  315. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +0 -1
  316. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +0 -195
  317. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +0 -1
  318. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +0 -226
  319. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +0 -1
  320. package/dist/DataExplorer/components/view-selector/view-selector.component.js +0 -861
  321. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"data-explorer-resource.component.d.ts","sourceRoot":"","sources":["../../src/DataExplorer/data-explorer-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAwD,MAAM,eAAe,CAAC;AAGtI,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAsC,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,YAAY,EAAqB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;;AACvE;;;;GAIG;AACH,qBA8Ba,6BAA8B,SAAQ,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAqB7F,OAAO,CAAC,GAAG;IAhBR,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,oEAAoE;IAC7D,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEZ,YAAY,EAAG,8BAA8B,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,WAAW,CAAS;gBAOhB,GAAG,EAAE,iBAAiB;IAQlC,IAAa,IAAI,CAAC,KAAK,EAAE,YAAY,EAWpC;IAED,IAAa,IAAI,IAAI,YAAY,CAEhC;IAMD,QAAQ,IAAI,IAAI;IAKhB;;;;OAIG;cACgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAM9G,WAAW,IAAI,IAAI;IAUb,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D,OAAO,CAAC,iBAAiB;IAoDlB,kBAAkB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAMjF,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;yCAlJtC,6BAA6B;2CAA7B,6BAA6B;CAqJzC"}
1
+ {"version":3,"file":"data-explorer-resource.component.d.ts","sourceRoot":"","sources":["../../src/DataExplorer/data-explorer-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAwD,MAAM,eAAe,CAAC;AAGtI,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAsC,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,YAAY,EAAqB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;;AACvE;;;;GAIG;AACH,qBA8Ba,6BAA8B,SAAQ,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAqB7F,OAAO,CAAC,GAAG;IAhBR,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,oEAAoE;IAC7D,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEZ,YAAY,EAAG,8BAA8B,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,WAAW,CAAS;gBAOhB,GAAG,EAAE,iBAAiB;IAQlC,IAAa,IAAI,CAAC,KAAK,EAAE,YAAY,EAWpC;IAED,IAAa,IAAI,IAAI,YAAY,CAEhC;IAMD,QAAQ,IAAI,IAAI;IAKhB;;;;OAIG;cACgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAM9G,WAAW,IAAI,IAAI;IAUb,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D,OAAO,CAAC,iBAAiB;IA+DlB,kBAAkB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAMjF,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;yCA7JtC,6BAA6B;2CAA7B,6BAA6B;CAgKzC"}
@@ -122,6 +122,16 @@ let DataExplorerResourceComponent = class DataExplorerResourceComponent extends
122
122
  };
123
123
  this.dataExplorer.Config = dashboardConfig;
124
124
  this.dataExplorer.Refresh();
125
+ // RACE GUARD: BaseDashboard.ngOnInit() calls NotifyLoadComplete() almost immediately
126
+ // (after the no-op loadData), firing the inner dashboard's LoadCompleteEvent. But this
127
+ // wiring runs in a setTimeout(0) MACROtask, while the dashboard's NotifyLoadComplete runs
128
+ // in a MICROtask — so the dashboard finishes loading BEFORE we attach the handler above,
129
+ // and the completion signal is lost. The shell then waits forever ("Gathering your
130
+ // tools…" hangs) — reproduced on direct-URL refresh. If the dashboard already completed,
131
+ // forward completion to the shell now.
132
+ if (this.dataExplorer.LoadComplete) {
133
+ this.NotifyLoadComplete();
134
+ }
125
135
  }
126
136
  else {
127
137
  this.NotifyLoadComplete();
@@ -1 +1 @@
1
- {"version":3,"file":"data-explorer-resource.component.js","sourceRoot":"","sources":["../../src/DataExplorer/data-explorer-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAwC,uBAAuB,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAC;AACtI,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAsC,MAAM,2BAA2B,CAAC;AAEtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;;;AAErF;;;;GAIG;AA+BI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,qBAAqB;IAqBxD;IApBZ,2CAA2C;IAC3C,QAAQ;IACR,2CAA2C;IAEpC,YAAY,GAA8B,IAAI,CAAC;IAC/C,WAAW,GAAkB,IAAI,CAAC;IAClC,WAAW,GAAkB,IAAI,CAAC;IACzC,oEAAoE;IAC7D,kBAAkB,GAA2B,EAAE,CAAC;IAEZ,YAAY,CAAkC;IAExE,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;IACzC,WAAW,GAAG,KAAK,CAAC;IAE5B,2CAA2C;IAC3C,cAAc;IACd,2CAA2C;IAE3C,YACY,GAAsB;QAC9B,KAAK,EAAE,CAAC;QADA,QAAG,GAAH,GAAG,CAAmB;IAElC,CAAC;IAED,2CAA2C;IAC3C,yBAAyB;IACzB,2CAA2C;IAE3C,IAAa,IAAI,CAAC,KAAmB;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;QAE7D,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,IAAa,IAAI;QACb,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,2CAA2C;IAC3C,YAAY;IACZ,2CAA2C;IAE3C,QAAQ;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,uCAAuC;IAC3C,CAAC;IAED;;;;OAIG;IACgB,oBAAoB,CAAC,MAA8B,EAAE,MAA+B;QACnG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,WAAW;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,2CAA2C;IAC3C,uCAAuC;IACvC,2CAA2C;IAE3C,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC3C,OAAO,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QACzC,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAEnC,iBAAiB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;QAExC,gCAAgC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAuB,IAAI,IAAI,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAW,IAAI,IAAI,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAW,IAAI,IAAI,CAAC;QAEvD,0EAA0E;QAC1E,gFAAgF;QAChF,kFAAkF;QAClF,+DAA+D;QAC/D,MAAM,eAAe,GAAI,MAAM,CAAC,aAAa,CAA4B,IAAI,EAAE,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;QACtC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QAEjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAEzB,iDAAiD;QACjD,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,EAAE;oBACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,CAAC,CAAC;gBAEF,yDAAyD;gBACzD,MAAM,eAAe,GAAoB;oBACrC,SAAS,EAAE,IAAoC;oBAC/C,SAAS,EAAE,EAAE;iBAChB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;IACjB,2CAA2C;IAEpC,kBAAkB,CAAC,KAAuD;QAC7E,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACpC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;uHApJQ,6BAA6B;6DAA7B,6BAA6B;2BAW3B,8BAA8B;;;;;YAnCjC,AADJ,8BAA8C,oCAQc;YAApD,AADA,0JAAoB,8BAA0B,IAAC,iJACzB,gCAA4B,IAAC;YAE3D,AADI,iBAA6B,EAC3B;;YARE,cAA0B;YAI1B,AADA,AADA,AADA,AADA,4CAA0B,kCACG,gCACF,gCACA,8CACc;;;AAmB5C,6BAA6B;IA9BzC,aAAa,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;GA8BhD,6BAA6B,CAqJzC;;iFArJY,6BAA6B;cA7BzC,SAAS;6BACI,KAAK,YACL,2BAA2B,YAC3B;;;;;;;;;;;;KAYT,mBAYgB,uBAAuB,CAAC,MAAM;;kBAa9C,SAAS;mBAAC,8BAA8B;;kFAXhC,6BAA6B","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { RegisterClass } from '@memberjunction/global';\nimport { CompositeKey } from '@memberjunction/core';\nimport { BaseResourceComponent, NavigationService, DashboardConfig } from '@memberjunction/ng-shared';\nimport { ResourceData, MJDashboardEntity } from '@memberjunction/core-entities';\nimport { DataExplorerDashboardComponent } from './data-explorer-dashboard.component';\nimport { DataExplorerFilter } from './models/explorer-state.interface';\n/**\n * Resource component for the Data Explorer.\n * Wraps DataExplorerDashboardComponent as a BaseResourceComponent for use\n * in application nav items with ResourceType: \"Custom\".\n */\n@RegisterClass(BaseResourceComponent, 'DataExplorerResource')\n@Component({\n standalone: false,\n selector: 'mj-data-explorer-resource',\n template: `\n <div class=\"data-explorer-resource-container\">\n <mj-data-explorer-dashboard\n [ParentTabId]=\"getTabId()\"\n [entityFilter]=\"entityFilter\"\n [contextName]=\"contextName\"\n [contextIcon]=\"contextIcon\"\n [initialQueryParams]=\"initialQueryParams\"\n (OpenEntityRecord)=\"onOpenEntityRecord($event)\"\n (DisplayNameChanged)=\"onDisplayNameChanged($event)\">\n </mj-data-explorer-dashboard>\n </div>\n `,\n styles: [`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n .data-explorer-resource-container {\n width: 100%;\n height: 100%;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataExplorerResourceComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n // ========================================\n // State\n // ========================================\n\n public entityFilter: DataExplorerFilter | null = null;\n public contextName: string | null = null;\n public contextIcon: string | null = null;\n /** Initial query params from the URL, forwarded to the dashboard */\n public initialQueryParams: Record<string, string> = {};\n\n @ViewChild(DataExplorerDashboardComponent) dataExplorer!: DataExplorerDashboardComponent;\n\n private readonly _destroy$ = new Subject<void>();\n private _dataLoaded = false;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(\n private cdr: ChangeDetectorRef) {\n super();\n }\n\n // ========================================\n // Data Property Override\n // ========================================\n\n override set Data(value: ResourceData) {\n const previousConfig = JSON.stringify(super.Data?.Configuration || {});\n super.Data = value;\n\n const newConfig = JSON.stringify(value?.Configuration || {});\n\n // Load on first set, or when the configuration has changed\n if (!this._dataLoaded || previousConfig !== newConfig) {\n this._dataLoaded = true;\n this.loadConfiguration();\n }\n }\n\n override get Data(): ResourceData {\n return super.Data;\n }\n\n // ========================================\n // Lifecycle\n // ========================================\n\n ngOnInit(): void {\n super.ngOnInit();\n // Configuration loaded via Data setter\n }\n\n /**\n * Forward query param changes from the framework to the inner dashboard.\n * The shell delivers params here (on the resource wrapper), but the dashboard\n * needs them for deep linking (entity, viewId, filter, view mode, map mode).\n */\n protected override OnQueryParamsChanged(params: Record<string, string>, source: 'popstate' | 'deeplink'): void {\n if (this.dataExplorer) {\n this.dataExplorer.HandleQueryParamsChanged(params, source);\n }\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n // ========================================\n // BaseResourceComponent Implementation\n // ========================================\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return data.Name || 'Data';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-table-cells';\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private loadConfiguration(): void {\n const data = this.Data;\n if (!data) {\n this.NotifyLoadComplete();\n return;\n }\n\n const config = data.Configuration || {};\n\n // Extract configuration options\n this.entityFilter = config['entityFilter'] as DataExplorerFilter || null;\n this.contextName = config['appName'] as string || null;\n this.contextIcon = config['appIcon'] as string || null;\n\n // Build initial query params: start with workspace-saved params, then let\n // browser URL params override. The URL is the source of truth for user intent —\n // if the user navigates to a URL with specific params, those should take priority\n // over potentially stale workspace state from a prior session.\n const workspaceParams = (config['queryParams'] as Record<string, string>) || {};\n const browserParams = new URLSearchParams(window.location.search);\n const merged = { ...workspaceParams };\n browserParams.forEach((value, key) => {\n merged[key] = value;\n });\n this.initialQueryParams = merged;\n\n this.cdr.detectChanges();\n\n // Setup LoadCompleteEvent after view initializes\n setTimeout(() => {\n if (this.dataExplorer) {\n this.dataExplorer.LoadCompleteEvent = () => {\n this.NotifyLoadComplete();\n };\n\n // Initialize with minimal config (no database dashboard)\n const dashboardConfig: DashboardConfig = {\n dashboard: null as unknown as MJDashboardEntity,\n userState: {}\n };\n this.dataExplorer.Config = dashboardConfig;\n this.dataExplorer.Refresh();\n } else {\n this.NotifyLoadComplete();\n }\n }, 0);\n }\n\n // ========================================\n // Event Handlers\n // ========================================\n\n public onOpenEntityRecord(event: { EntityName: string; RecordPKey: CompositeKey }): void {\n if (event && event.EntityName && event.RecordPKey) {\n this.navigationService.OpenEntityRecord(event.EntityName, event.RecordPKey);\n }\n }\n\n public onDisplayNameChanged(name: string): void {\n this.NotifyDisplayNameChanged(name);\n }\n}\n"]}
1
+ {"version":3,"file":"data-explorer-resource.component.js","sourceRoot":"","sources":["../../src/DataExplorer/data-explorer-resource.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { RegisterClass } from '@memberjunction/global';\nimport { CompositeKey } from '@memberjunction/core';\nimport { BaseResourceComponent, NavigationService, DashboardConfig } from '@memberjunction/ng-shared';\nimport { ResourceData, MJDashboardEntity } from '@memberjunction/core-entities';\nimport { DataExplorerDashboardComponent } from './data-explorer-dashboard.component';\nimport { DataExplorerFilter } from './models/explorer-state.interface';\n/**\n * Resource component for the Data Explorer.\n * Wraps DataExplorerDashboardComponent as a BaseResourceComponent for use\n * in application nav items with ResourceType: \"Custom\".\n */\n@RegisterClass(BaseResourceComponent, 'DataExplorerResource')\n@Component({\n standalone: false,\n selector: 'mj-data-explorer-resource',\n template: `\n <div class=\"data-explorer-resource-container\">\n <mj-data-explorer-dashboard\n [ParentTabId]=\"getTabId()\"\n [entityFilter]=\"entityFilter\"\n [contextName]=\"contextName\"\n [contextIcon]=\"contextIcon\"\n [initialQueryParams]=\"initialQueryParams\"\n (OpenEntityRecord)=\"onOpenEntityRecord($event)\"\n (DisplayNameChanged)=\"onDisplayNameChanged($event)\">\n </mj-data-explorer-dashboard>\n </div>\n `,\n styles: [`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n .data-explorer-resource-container {\n width: 100%;\n height: 100%;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DataExplorerResourceComponent extends BaseResourceComponent implements OnInit, OnDestroy {\n // ========================================\n // State\n // ========================================\n\n public entityFilter: DataExplorerFilter | null = null;\n public contextName: string | null = null;\n public contextIcon: string | null = null;\n /** Initial query params from the URL, forwarded to the dashboard */\n public initialQueryParams: Record<string, string> = {};\n\n @ViewChild(DataExplorerDashboardComponent) dataExplorer!: DataExplorerDashboardComponent;\n\n private readonly _destroy$ = new Subject<void>();\n private _dataLoaded = false;\n\n // ========================================\n // Constructor\n // ========================================\n\n constructor(\n private cdr: ChangeDetectorRef) {\n super();\n }\n\n // ========================================\n // Data Property Override\n // ========================================\n\n override set Data(value: ResourceData) {\n const previousConfig = JSON.stringify(super.Data?.Configuration || {});\n super.Data = value;\n\n const newConfig = JSON.stringify(value?.Configuration || {});\n\n // Load on first set, or when the configuration has changed\n if (!this._dataLoaded || previousConfig !== newConfig) {\n this._dataLoaded = true;\n this.loadConfiguration();\n }\n }\n\n override get Data(): ResourceData {\n return super.Data;\n }\n\n // ========================================\n // Lifecycle\n // ========================================\n\n ngOnInit(): void {\n super.ngOnInit();\n // Configuration loaded via Data setter\n }\n\n /**\n * Forward query param changes from the framework to the inner dashboard.\n * The shell delivers params here (on the resource wrapper), but the dashboard\n * needs them for deep linking (entity, viewId, filter, view mode, map mode).\n */\n protected override OnQueryParamsChanged(params: Record<string, string>, source: 'popstate' | 'deeplink'): void {\n if (this.dataExplorer) {\n this.dataExplorer.HandleQueryParamsChanged(params, source);\n }\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n // ========================================\n // BaseResourceComponent Implementation\n // ========================================\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return data.Name || 'Data';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-table-cells';\n }\n\n // ========================================\n // Private Methods\n // ========================================\n\n private loadConfiguration(): void {\n const data = this.Data;\n if (!data) {\n this.NotifyLoadComplete();\n return;\n }\n\n const config = data.Configuration || {};\n\n // Extract configuration options\n this.entityFilter = config['entityFilter'] as DataExplorerFilter || null;\n this.contextName = config['appName'] as string || null;\n this.contextIcon = config['appIcon'] as string || null;\n\n // Build initial query params: start with workspace-saved params, then let\n // browser URL params override. The URL is the source of truth for user intent —\n // if the user navigates to a URL with specific params, those should take priority\n // over potentially stale workspace state from a prior session.\n const workspaceParams = (config['queryParams'] as Record<string, string>) || {};\n const browserParams = new URLSearchParams(window.location.search);\n const merged = { ...workspaceParams };\n browserParams.forEach((value, key) => {\n merged[key] = value;\n });\n this.initialQueryParams = merged;\n\n this.cdr.detectChanges();\n\n // Setup LoadCompleteEvent after view initializes\n setTimeout(() => {\n if (this.dataExplorer) {\n this.dataExplorer.LoadCompleteEvent = () => {\n this.NotifyLoadComplete();\n };\n\n // Initialize with minimal config (no database dashboard)\n const dashboardConfig: DashboardConfig = {\n dashboard: null as unknown as MJDashboardEntity,\n userState: {}\n };\n this.dataExplorer.Config = dashboardConfig;\n this.dataExplorer.Refresh();\n\n // RACE GUARD: BaseDashboard.ngOnInit() calls NotifyLoadComplete() almost immediately\n // (after the no-op loadData), firing the inner dashboard's LoadCompleteEvent. But this\n // wiring runs in a setTimeout(0) MACROtask, while the dashboard's NotifyLoadComplete runs\n // in a MICROtask — so the dashboard finishes loading BEFORE we attach the handler above,\n // and the completion signal is lost. The shell then waits forever (\"Gathering your\n // tools…\" hangs) — reproduced on direct-URL refresh. If the dashboard already completed,\n // forward completion to the shell now.\n if (this.dataExplorer.LoadComplete) {\n this.NotifyLoadComplete();\n }\n } else {\n this.NotifyLoadComplete();\n }\n }, 0);\n }\n\n // ========================================\n // Event Handlers\n // ========================================\n\n public onOpenEntityRecord(event: { EntityName: string; RecordPKey: CompositeKey }): void {\n if (event && event.EntityName && event.RecordPKey) {\n this.navigationService.OpenEntityRecord(event.EntityName, event.RecordPKey);\n }\n }\n\n public onDisplayNameChanged(name: string): void {\n this.NotifyDisplayNameChanged(name);\n }\n}\n"]}
@@ -26,7 +26,7 @@ import { DatabaseDesignerEngine } from '../services/database-designer.engine.js'
26
26
  import { DatabaseDesignerService } from '../services/database-designer.service.js';
27
27
  import { DatabaseModifyComponent } from './modify/database-modify.component.js';
28
28
  import * as i0 from "@angular/core";
29
- import * as i1 from "@memberjunction/ng-versions";
29
+ import * as i1 from "@memberjunction/ng-ui-components";
30
30
  import * as i2 from "./entity-list.component";
31
31
  import * as i3 from "./create-wizard/database-create-wizard.component";
32
32
  import * as i4 from "./modify/database-modify.component";